Vardiya Değişimi ve Kullanılabilirlik İçin Mobil Uygulama Oluşturun
Vardiya değişimi ve kullanılabilirlik için mobil uygulama planlamayı ve inşa etmeyi öğrenin: özellikler, roller, kurallar, veri modeli, bildirimler, güvenlik ve lansman adımları.

Problemi ve Başarı Ölçütlerini Tanımlayın
Bir vardiya değişimi uygulaması, gerçek planlama sıkıntılarını çözmediğinde işe yaramaz: son dakika boşlukları bırakan işe gelmeme durumları, “kimi çağırabiliriz?” grup mesajları ve adaletsiz veya kuralları bozan değişimler. Önce iş gücünüzün bugünkü planlama sürecinde hangi spesifik problemlere sahip olduğunu yazın—nerede gecikmeler oluyor, nerede hatalar çıkıyor ve insanlar nerede sinirleniyor.
Kim fayda sağlar (ve onların ihtiyaçları)
Çalışanlar, kullanılabilirliği ayarlamayı, izin talep etmeyi ve müdürlerin peşinden koşmadan vardiya takası yapmayı kolaylaştıran bir uygulama ister.
Vardiya liderleri hızlı bir şekilde kapsama sağlamak ister; daha az gidip gelme.
Yöneticiler, politikaya uygun vardiya takas onayları ve sürpriz fazla mesai yaratmayan akışlar ister.
İK/maaş ekipleri, zaman takibi ve bordroya uyan temiz kayıtlarla ilgilenir.
Bu grupları erkenden hizalamazsanız, bir rol için “kolay” ama diğerleri için ağrılı bir mobil planlama uygulaması yaparsınız.
Hedeflenecek çıktılar
Maliyet, zaman ve adaletle bağlantılı sonuçları tanımlayın:
- Bir vardiyayı doldurmak için gereken mesaj/çağrı sayısının azalması (haftalık ölçüm).
- Açık vardiyalar için daha hızlı kapsama (yayın → kabul arasındaki süre).
- Daha hızlı onaylar (talep → onay/red arası süre).
- Takvim ve kullanılabilirlik uyumunun netleşmesi (zamın izin ve kullanılabilirlik kurallarıyla eşleşen swap yüzdesi).
İnşa etmeden önce başarı kriterlerine karar verin
Personel planlama MVP’niz için küçük bir başarı metriği seti seçin ve şu an temel değerlerini alın. Örnekler: açık-vardiya dolum oranını %20 artırmak, onay süresini 6 saatten 1 saate indirmek veya “kapsanmamış vardiya” olaylarını %30 azaltmak.
Bu hedefler ürün kararlarını yönlendirir, push bildirimleri gibi özellikleri önceliklendirir ve yayının işe yarayıp yaramadığını netleştirir.
Desteklemeniz Gereken Kullanım Durumunu ve Kuralları Seçin
Ekranları tasarlamadan veya özellikleri inşa etmeden önce uygulamanın tam olarak kim için olduğunu ve “geçerli bir takas”ın ne anlama geldiğini belirleyin. Vardiya değişimi uygulaması yüzeyde basit görünebilir, ama kurallar sektörler arasında büyük farklılık gösterir.
Birincil kullanıcılarınızı seçin (ve erken karıştırmayın)
Bir net hedef kitleyle başlayın:
- Saatlik perakende: çok sayıda yarı zamanlı personel, sık son dakika değişiklikleri, basit yetkinlikler.
- Restoranlar: rol bazlı görevler (garson/barmen/şef), bahşiş etkileri, hızlı onaylar.
- Sağlık: sıkı sertifika gereksinimleri, kıdem kuralları, fazla mesai kısıtları.
- Lojistik: kapsama gereksinimleri, güvenlik kuralları, zorunlu dinlenme süreleri.
Bu karar, çalışan kullanılabilirlik uygulamanızda toplayacağınız verileri, ihtiyaç duyacağınız onayları ve iş akışının ne kadar esnek olabileceğini etkiler.
Vardiyalar nasıl oluşturulur onu tanımlayın
İş gücü planlama modeliniz genellikle şunlardan biri olacaktır:
- Sabit şablonlar (tekrarlayan desenler): takas doğrulamayı kolaylaştırır, öngörülebilirliği artırır.
- Haftalık/günlük çizelgeler (yöneticiler tarafından oluşturulan): daha fazla değişkenlik, daha fazla kenar durumu.
Ayrıca takaslar için önemli olan vardiya özniteliklerini tanımlayın (konum, rol, ücret kodu, başlangıç/bitiş zamanı).
Takas onay stilini kararlaştırın
Nihai kontrolün kimde olduğunu açıkça belirtin:
- Eşler arası: çalışanlar doğrudan takas yapar; düşük riskli rollere uygundur.
- Yönetici onaylı (shift trade approvals): uyumluluk ağır ekipler için yaygın.
- Otomatik onay: kurallar sistemde güvenilir şekilde doğrulanabiliyorsa.
Desteklemeniz gereken kısıtları listeleyin
Kuralları şimdi yazın, lansmandan sonra değil:
- Sendika veya sözleşme kuralları (kıdem, ihale sistemleri, prim ödemeler)
- Sertifikasyonlar/beceriler (RN vs CNA, forklift lisansı)
- Vardiyalar arasında minimum dinlenme süresi
- Fazla mesai ve maksimum saat sınırları
Güçlü bir mobil planlama uygulaması, geçersiz swap’ların yapılmasını engelleyerek güven kazanır—sonrasında bordroyu düzeltmeye çalışmakla değil.
Kullanıcı Rolleri ve İzinler
Roller, vardiya değişimi uygulamanızda kimin ne yapabileceğini—ve belki daha da önemlisi kimin yapamayacağını—tanımlar. Net izinler kazara program değişikliklerini engeller, onay darboğazlarını azaltır ve ileride denetimleri kolaylaştırır.
Desteklenecek temel roller
Çalışan
Çalışanlar, kullanılabilirlik (ve izin) ayarlamak, swap talep etmek, swap tekliflerini kabul/ret etmek ve programlarını görmek için self-servis araçlara ihtiyaç duyarlar. Sadece kendi konum/ekipleriyle ilgili detayları görmeli ve yayınlanmış vardiyaları doğrudan düzenleyememelidirler.
Yönetici
Yöneticiler swap’leri onaylar veya reddeder, çatışmaları çözer (fazla mesai, yetkinlik gereksinimleri, eksiklik), vardiyaları oluşturur ve düzenler, kapsama takibini yapar. Çoğu işletmede yöneticilerin ayrıca kural uyarılarını görmesi (ör. “haftalık saat sınırını aşar”) ve kimlerin ne zaman talep edip onayladığına dair temiz bir geçmişe erişmesi gerekir.
Admin
Admin’ler sistem yapılandırmasını yönetir: konumlar, departmanlar, roller/sertifikalar, ücret kuralları, takas uygunluk kuralları ve izinler. Yöneticileri takımlara atayabilmeli, çalışanların neyi görebileceğini kontrol edebilmeli ve güvenlik politikalarını uygulayabilmelidir.
Sürtünmeyi azaltan isteğe bağlı roller
Vardiya lideri sınırlı kapsam içinde (örn. aynı rol, aynı gün) swap onaylayabilir, tam yönetici ayrıcalıkları olmadan.
Çizelgeleyici birden çok ekip için çizelgeler oluşturabilir ama bordro ayarlarına erişimi olmayabilir.
İK/bordro görüntüleyicisi vardiyeleri ve değişiklik geçmişini okuyabilir, vardiyaları düzenleme yetkisi yoktur.
İzin tasarım ipuçları
Rol tabanlı erişim kontrolünü kapsam (konum/ekip) ile birleştirin. “Görüntüle” ile “düzenle”yi ayrı tutun ve fazla mesaiye veya konumlar arası geçişe neden olan yüksek etkili işlemler için onay gerektirin.
Kullanılabilirlik: Hangi Verilere İhtiyacınız Var ve Nasıl Toplanır
Kullanılabilirlik, her çalışan kullanılabilirlik uygulamasının temelidir: belirsiz, güncel olmayan veya güncellenmesi zor ise vardiya takası tahmine dönüşür. Amacınız, birinin ne zaman çalışabileceğini (kesin kısıtlar) ve neyi tercih ettiğini (yumuşak tercihler) yakalamak ve bunu minimum çabayla güncel tutmaktır.
Desteklenecek kullanılabilirlik türleri
Çoğu ekip üç katmanlı kullanılabilirlik verisine ihtiyaç duyar:
- Tekrarlayan haftalık kullanılabilirlik (örn. “Pzt–Cum, 09:00–15:00”)
- Tek seferlik istisnalar (örn. “Gelecek Salı 13:00’ten sonra çalışamam”)
- İzin talepleri (tam gün veya kısmi; ideal olarak onay durumu ile)
Pratik bir model: haftalık desen varsayılan, istisnalar üzerine yazma ve izinleri yönetilmesi gereken “kullanılamaz” blok olarak ele almak.
Tercihler vs. zorunlu kısıtlar
Hem UI hem de veri modelinde net ayrım yapın:
- Kullanılamaz (zorunlu kısıt): çalışan çalışamaz.
- Kullanılabilir (nötr): çalışabilir.
- Tercih edilen (yumuşak tercih): bu saatleri ister ama zorunlu değildir.
Bu, planlama veya takas onay mantığı daha sonra bir takasın izin verilip verilmeyeceğini (zor kurallar) veya önerilip önerilmeyeceğini (tercihler) belirlerken önemlidir.
Kötü swap’ları önleyecek doğrulama kuralları
MVP aşamasında bile kullanılabilirliğin politika ile çakışmaması için koruyucular ekleyin:
- Bildirim süresi: değişiklikler X saat/gün önceden yapılmalı.
- Kara liste (blackout) tarihleri: kullanılabilirliğin değiştirilemeyeceği zamanlar (tatiller, yoğun dönemler).
- Haftalık maksimum saat: sonuç takviminin sınırları aşması durumunda uyar veya engelle.
Hem kullanılabilirliği kaydederken hem de swap uygularken doğrulayın.
UX ipucu: 30 saniyenin altında güncelleme
Haftalık ızgaralı tek bir “Kullanılabilirlik” ekranı ve hızlı eylemler kullanın:
- Bir güne dokun → Kullanılamaz/Kullanılabilir/Tercih edilen seçeneğini belirle
- “Tüm hafta kopyala” ve “Haftalık tekrarla” geçişleri
- Takvimden tek dokunuşla istisna ekleme
Kullanıcılar kullanılabilirliği hızlı güncelleyemezse yapmaz—bu yüzden v1’de derin özelleştirmeden ziyade hız öncelikli olsun.
Vardiya Değişimi İş Akışları
Vardiya değişimi uygulaması, iş akışı detaylarıyla ya başarır ya başarısız olur. En iyi akış çalışanlar için basit hissettirirken yöneticilerin takvime güvenmesini sağlayacak kadar katıdır.
Temel takas akışı
Çoğu ekip için öngörülebilir yol şöyledir:
- Talep: Çalışan bir vardiyayı seçer ve “Takas” (veya “Vardiyayı bırak”) tuşuna basar.
- Teklif / kabul: Takas uygun iş arkadaşlarına sunulur veya belirli bir iş arkadaşı davet edilir. Bir iş arkadaşı kabul edebilir (veya alternatif önerebilir).
- Onay (gerekliyse): Yönetici veya amir isteği inceler.
- Takvim güncellemesi: Onaylandıktan sonra atama takvimde değişir ve herkes anında güncellemeyi görür.
Geriye dönüşleri azaltmak için isteği yapan kişiye bir sonraki adımlar gösterin: “Alex’in kabulü bekleniyor” → “Yönetici onayı bekleniyor” → “Takas tamamlandı.”
Tam takas, bırakma/alma ve bölme
Her değişiklik temiz bir 1’e 1 takas değildir.
- Tam takas: A ve B tüm vardiyayı değiştirir.
- Bırak + alma: A vardiyayı serbest bırakır; B alır (saatlik rollerde yaygın).
- Kısmi takas / vardiya bölme: A vardiyanın bir kısmını tutar ve kalanını aktarır.
Bölmeyi destekliyorsanız, minimum segment uzunluğu ve net devir zamanları dayatın ki kapsama bozulmasın.
Kimse onaylamadan önce yapılan çatışma kontrolleri
“Onaylandı ama imkansız” swap’ları önlemek için otomatik kontrolleri erken çalıştırın:
- Çakışan vardiyalar (gerekirse seyahat/buffer süresi dahil)
- Rol uyumsuzluğu (çalışanın pozisyon için yeterliliği yok)
- Konum uyumsuzluğu (o mağazaya/ departmana atanmış değil)
Bir şey başarısız olursa, nedenini düz Türkçe açıklayın ve çözüm önerin (örn. “Bu vardiyayı sadece bar eğitimli personel alabilir”).
Denetim izi ve hesap verebilirlik
Her swap şu bilgileri oluşturmalı: kim başlattı, kim kabul etti, kim onayladı/reddetti, ayrıca zaman damgaları ve notlar. Bu, bordro, devam ve politika uygulamalarıyla ilgili sorular çıktığında hem çalışanları hem de yöneticileri korur.
Mobil UX: Ekranlar ve Kullanıcı Akışları
Bir vardiya değişimi uygulaması, netlik üzerine yaşamını sürdürür veya yok olur. İnsanlar uygulamayı görevler arasında, çoğunlukla tek elle açar ve “ne çalışacağım?” ve “istemde neler oluyor?” sorularına saniyeler içinde cevap almak ister.
Farklı soruları cevaplayan takvim görünümleri
Aşırı yüklü bir takvim yerine birkaç odaklı görünüm sunun:
- Kişisel ajanda: gelecek vardiyelerin basit listesi (bugün, bu hafta) başlangıç/bitiş, konum ve rol ile.
- Ekip ızgarası: rollere veya departmanlara göre kapsama hızlı bakış (liderler/yöneticiler için faydalı).
- Konum takvimi: bir mağaza/site filtreli takvim görünümü, boşlukları ve yoğun dönemleri görmek için.
Filtreleri sabit tutun (konum, rol, tarih aralığı) böylece kullanıcılar her seferinde yeniden kurmak zorunda kalmaz.
Sürtünmeyi azaltacak ana ekranlar
Ana eylemler etrafında tasarlayın ve takvime tutarlı bir dönüş yolu bırakın:
- Vardiya detayları: kim, nerede, ne zaman, rol, notlar ve politika ipuçları (örn. “Takas yönetici onayı gerektirir”).
- Takas isteği: hedef vardiya veya uygun iş arkadaşları seç, mesaj ekle ve göndermeden önce kural kontrollerini göster.
- Kullanılabilirlik düzenleyici: hızlı “çalışabilirim / çalışamam” geçişleri, tekrar eden desenler ve belirli tarihler için istisnalar.
- Gelen kutusu: onaylar, sorular ve güncellemeler için tek yer—kullanıcıların sekmeler arasında arama yapmaması gerekir.
Yanlış anlamaları önleyen durumlar
Küçük, tutarlı bir durum seti kullanın; açık ve zaman damgası ile:
- Beklemede (iş arkadaşı bekleniyor)
- Kabul edildi (iş arkadaşı kabul etti)
- Onaylandı (nihai; takvim güncellendi)
- Reddedildi (neden ve sonraki adım belirtilmeli)
Mevcut durumu isteğin göründüğü her yerde gösterin (vardiya kartı, detaylar, gelen kutu).
Erişilebilirlik temelleri
Okunabilir fontlar, güçlü renk kontrastı ve geniş dokunma hedefleri kullanın. Durumları sadece renge dayandırmayın—etiketler ve simgelerle eşleştirin. Hata mesajları ve onay ekranları ekleyin; takvimi değiştiren eylemler için net geri bildirim sağlayın.
Bildirimler ve Mesajlaşma
Bildirimler, bir takas isteğinin dakikalar içinde işlenmesi ile süresi dolup unutulması arasındaki farktır. Mesajlaşmayı iş akışının bir parçası olarak ele alın—not bir sonradan ek.
Bildirilecek kritik anlar
Günlük hayatı doğrudan değiştiren olaylara odaklanın:
- Yeni vardiya yayımlandı veya atandı (özellikle son dakika)
- Takas isteği alındı (vardiya alınması istenen kişiye)
- Onay kararı (yönetici veya otomatik kurallar tarafından onaylandı/reddedildi)
- Hatırlatmalar (takas süresi doluyor, vardiya X saat içinde başlıyor, yanıtlamadınız)
Her bildirim şu soruları cevaplamalı: Ne oldu? Ne yapmam gerekiyor? Ne zamana kadar? Özel ekrandaki ilgili bölüme yönlendiren derin bir bağlantı ekleyin (örn. “Takas isteğini incele”).
Kullanıcılara kanal seçme imkanı verin—kontrolden vazgeçmeden
Varsayılan olarak push sunun, sonra e-posta ve isteğe bağlı SMS (destekliyorsanız) seçeneklerini verin. İnsanlar farklı tercihler kullanır: sahadaki bir hemşire push’a güvenebilir, yarı zamanlı bir çalışan e-postayı tercih edebilir.
Tercihleri basit tutun:
- Olay bazlı geçişler (takas istekleri, onaylar, hatırlatmalar)
- Sessiz saatler (örn. 22:00–07:00 arası uyarı yok)
- Yükseltme seçenekleri (örn. “30 dakika içinde yanıt vermezsem SMS de gönder”)
Spam ve bildirim yorgunluğunu önleyin
Mümkünse birleştirin: “Bu hafta sonu 3 yeni açık vardiya” gibi tek bir bildirim üç ayrı ping yerine. Hatırlatmaları sade kullanın ve kullanıcı işlem yaptığında hemen durdurun.
Kullanıcı çevrimdışı veya push kapalı ise yedekler
Push başarısız olabilir varsayımında bulunun. Uygulama içi okunmamış sayısı gösteren bir gelen kutusu sunun ve acil öğeleri ana ekranda öne çıkarın. Kullanıcı push kapattıysa, zaman duyarlı takas istekleri durmaması için onlara (bir kez) e-posta/SMS seçmelerini hatırlatın.
Backend ve Veri Modeli Temelleri
Vardiya değişimi uygulaması telefonda basit görünür; ama backend “kim ne zaman, nerede, hangi şartlarda çalışabilir” konusunda katı olmak zorunda. Temiz bir veri modeli çoğu planlama hatasını kullanıcıya ulaşmadan önce engeller.
Saklayacağınız çekirdek varlıklar
En az şu yapı taşlarını planlayın:
- Kullanıcılar: çalışanlar ve yöneticiler (profil, iletişim bilgileri, durum)
- Konumlar: mağazalar, klinikler, sahalar (zaman dilimi önemli)
- Roller: kasiyer, hemşire, aşçı (beceriler/sertifikalar)
- Vardiyalar: tarih/saat, konum, gereken rol, atanan kullanıcı
- Kullanılabilirlik: çalışabilir / çalışamaz pencereleri ve izin blokları
- Swap istekleri: önerilen takasın kaydı, kararlar dahil
İlişkiler (parçaların nasıl bağlandığı)
Pratik bir başlangıç noktası:
- Bir kullanıcınin birçok vardiyası olur (zaman içindeki atamalar).
- Her vardiya bir konuma ait olur ve bir role ihtiyaç duyar.
- Bir swap isteği, iki kullanıcıyı (istekte bulunan + hedef) ve swap tipine bağlı olarak bir veya iki vardiyayı bağlar.
Basitleştirilmiş örnek:
Shift(id, location_id, role_id, starts_at, ends_at, assigned_user_id)
SwapRequest(id, offered_shift_id, requested_shift_id?, from_user_id, to_user_id, status)
Swap istek durumları (uygulamanızın “gerçeği”)
Swap’ları küçük bir durum makinesi olarak ele alın ki herkes aynı gerçeği görsün:
- pending → accepted veya declined
- accepted → approved (yönetici onayı gerekiyorsa)
- Her zaman: canceled (isteği iptal eden), expired (zaman aşımı)
Çift rezervasyonu önleme
Çift rezervasyon genellikle iki eylemin aynı anda gerçekleştiği durumlarda olur (iki swap veya swap + yönetici düzenlemesi). Bunu işlemsel güncellemeler ile çözün: bir swap onaylanırken her iki vardiya atamasını tek bir işlemde güncelleyin ve eğer herhangi bir vardiya değiştiyse reddedin.
Yüksek trafikli ekipler için hafif kilitleme (örn. vardiyalarda sürüm numarası) ekleyerek çakışmaları güvenilir şekilde tespit edin.
API’ler, Senkronizasyon ve Performans
Vardiya değişimi uygulaması, takvimin güncel hissettirilip hissettirilmemesine bağlıdır. Bu, net API’ler, tahmin edilebilir senkronizasyon davranışı ve bazı performans koruyucuları gerektirir—MVP’yi aşırı mühendislemeden.
Planlamanız gereken temel API uç noktaları
İlk versiyonu küçük ve görev odaklı tutun:
- Schedule: ekip takvimini al (konum/ekip/tarih aralığına göre), vardiya detayını al
- Availability: kullanılabilirlik bloklarını ayarla/güncelle, bir kullanıcı/tarih aralığı için kullanılabilirliği listele
- Swap actions: swap isteği oluştur, kabul/ret et, iptal et, swap durumunu görüntüle
- Approvals: bekleyen onayları listele (yönetici için), onayla/ret et ve neden ekle
Cevapları mobil uygulamanın hızlı render edebilmesi için tasarlayın (örn. vardiyaları ve görüntüleme için gereken minimum çalışan bilgisini döndürün).
Gerçek zamanlı güncellemeler: basit MVP senkronizasyonu
MVP için akıllı aralıklarla pollinge geçin (örn. uygulama açıldığında yenile, pull-to-refresh ve takvim ekranındayken birkaç dakikada bir). Sunucu tarafı updated_at zaman damgaları ekleyin ki uygulama artımlı fetch yapabilsin.
Webhook ve socket’ler, saniye saniye güncelleme gerçekten gerekli değilse bekleyebilir. Daha sonra socket ekleyecekseniz, önce sadece swap durum değişiklikleriyle başlayın.
Zaman dilimleri ve yaz saatleri (DST)
Vardiya başlangıç/bitişini kanonik formatta (UTC) ve ayrıca çalışma konumunun zaman dilimi ile saklayın. Her zaman görüntüleme zamanlarını o konumun zaman dilimini kullanarak hesaplayın.
DST geçişlerinde “yersel zamanlarda kayma”dan kaçının; kesin anları saklayın ve çakışmaları aynı bölge kurallarıyla doğrulayın.
Depolama tercihleri
Kural yoğun sorgular (kullanılabilirlik çakışmaları, uygunluk, onaylar) için ilişkisel veritabanı kullanın. Takvim görünümlerini hızlandırmak için tarih aralığı bazlı takım önbelleği ekleyin ve vardiya düzenlemeleri veya swap onaylarında cache invalidation yapın.
Güvenlik, Gizlilik ve Uyumluluk
Vardiya değişimi ve kullanılabilirlik hassas bilgileri dokunur: isimler, iletişim bilgileri, çalışma desenleri ve bazen izin nedenleri. Güvenlik ve gizliliği sadece teknik görev değil, ürün özelliği olarak ele alın.
Kimlik doğrulama ve oturum güvenliği
Kişilerin nasıl giriş yapacağına müşterinizin gerçekliğine göre karar verin:
- E-posta/şifre basit dağıtımlar için
- SSO (Google/Microsoft/Okta) büyük organizasyonlar için
- Davet kodları / magic link parola yönetimini azaltmak için
Seçtiğiniz ne olursa olsun oturumları dikkatle yönetin: kısa ömürlü erişim token’ları, yenileme token’ları ve şüpheli etkinlikte (uzak iki cihazdan token kullanımı gibi) otomatik çıkış.
Her istekte yetkilendirme
Eylemleri UI ile saklamaya güvenmeyin. Her API çağrısında izinleri zorlayın. Tipik kurallar:
- Çalışanlar swap isteyebilir ve kendi kullanılabilirliklerini düzenleyebilir
- Yöneticiler onay/ret yapabilir ve ekip kapsamasını görebilir
- Admin’ler konum, politika ve dışa aktarma yönetir
Bu, bir kullanıcının doğrudan onay endpoint’ini çağırıp işlem yapmasını engeller.
Kişisel verileri tasarım gereği koruyun
Planlama için gereken minimumu toplayın. Veriyi taşınırken (TLS) ve saklanırken şifreleyin. Telefon numaraları gibi hassas alanları ayırın ve kimlerin erişebileceğini kısıtlayın.
İzin ya da müsaitlik notları saklıyorsanız, bunları isteğe bağlı ve açıkça etiketlenmiş yapın ki kullanıcılar gereksiz paylaşım yapmasın.
Denetim kayıtları ve dışa aktarma kontrolleri
Yöneticiler hesap verebilirliğe ihtiyaç duyar. Temel olaylar için denetim kayıtları tutun: swap istekleri, onaylar, takvim düzenlemeleri, rol değişiklikleri ve dışa aktarmalar.
Ayrıca dışa aktarma kontrolleri ekleyin: kimlerin dışa aktarım yapabileceğini sınırlayın, CSV/PDF dışa aktarmalarına filigran ekleyin ve dışa aktarma etkinliğini denetim kaydına yazın. Bu iç politika ve uyum incelemeleri için sıklıkla gereklidir.
Entegrasyonlar: Bordro, Zaman Takibi ve Takvimler
Entegrasyonlar, vardiya değişimi uygulamasını operasyon ekipleri için “gerçek” hissettirir—çünkü takaslar yalnızca maaş, saatler ve devam doğruysa önemlidir. Anahtar, gerçekten ihtiyaç duyduğunuz veriyi senkronize etmek ve daha fazla sistemi sonradan eklemeyi kolaylaştıracak altyapıyı tasarlamaktır.
Bordro ve zaman takip: neyi senkronize etmeli
Çoğu bordro ve zaman sistemi çalışılan zamanı ve vardiya başlarken kim atanmıştı bilgisini ister, takas konuşmasının tüm geçmişini değil.
Minimum seti dışa aktarmayı planlayın:
- Çalışan tanımlayıcıları (iç ID + harici bordro/zaman ID)
- Konum/department/iş kodu (ücret ve kuralların doğru uygulanması için)
- Vardiya başlangıç/bitiş zamanları ve mola kuralları
- Nihai atanan kişi ve denetim izi referansı (swap ID, onay zaman damgaları)
Uygulamanız primleri (fazla mesai tetikleri, farklar, bonuslar) destekliyorsa, bunların bordro tarafından hesaplanması tercih edilir; belirsizlik varsa temiz saatleri gönderin ve bordroya bırakın.
Takvim senkronizasyonu (mahremiyete dikkat ederek)
Kişisel takvim erişimi, çalışanlara çatışma uyarısı vermek için faydalı olabilir.
Mahremiyete saygılı tutun: sadece “meşgul/boş” bloklarını saklayın (başlık/katılımcı yok), çatışmaları yerelde gösterin ve kullanıcı bazında isteğe bağlı hale getirin.
Webhook’lar, dışa aktarmalar ve “sonradan ekle” tasarımı
Bazı müşteriler gerçek zamanlı güncellemeler ister; diğerleri geceleyin dosya yeterli olur.
Bir entegrasyon katmanı oluşturun:
- Webhook’lar (
shift.updated,swap.approvedgibi) dış sistemler için - Planlı dışa aktarmalar (CSV/SFTP) eski bordro sistemleri için
İleride yeniden yazmamak için entegrasyonları sabit bir iç olay modeli ve eşleme tabloları (iç ID ↔ dış ID) arkasına alın. Böylece yeni bir sağlayıcı eklemek yapılandırma ve çeviri işi olur—çekirdek iş akışı değişmeden.
MVP Kapsamı ve Ürün Yol Haritası
Bir vardiya değişimi ve kullanılabilirlik uygulaması için MVP, bir şeyi kanıtlamalıdır: ekibiniz değişiklikleri güvenilir şekilde koordine edebiliyor mu, kapsama kurallarını bozuyor mu ya da bordroya sorun çıkarıyor mu. İlk sürümü dar, ölçülebilir ve pilotlaması kolay tutun.
MVP: Değer sağlayan en küçük set
Günlük döngüyü destekleyecek özellik setiyle başlayın:
- Takvimi görüntüleme (hafta/gün, rol ve konum bazlı)
- Kullanılabilirliği ayarlama (tercih edilen saatler, zorunlu “çalışamam” blokları)
- Takas isteği oluşturma (vardiya seç, bir meslektaş öner, not ekle)
- Onay/red akışları (yönetici onayı ve/veya meslektaş kabulü, kurallara göre)
- Bildirimler yeni istekler, onaylar ve son dakika değişiklikleri için
MVP ayrıca temel koruyucuları içermeli: rol gereksinimlerini, minimum dinlenmeyi veya fazla mesai eşiklerini (ilk etapta basit kurallarla) ihlal eden swap’leri engelleyin.
Hızlı hareket edip yığını daha sonra yeniden inşa etmemek için, Koder.ai gibi bir vibe-coding platformu mobil UI + backend + veritabanı iş akışını yapılandırılmış bir sohbet spesinden prototiplemenize yardımcı olabilir. Ekipler genellikle swap durum makinesini, izinleri ve bildirim tetiklerini erken doğrulamak için bunu kullanır—sonra derin özelleştirme gerektiğinde kaynak kodu dışa aktarır.
Sonradan eklenebilecek güzel özellikler (MVP stabil olduktan sonra)
Kullanıcılar çekirdeğe güvendiğinde, dolum oranını artıran ve yönetici iş yükünü azaltan özellikler ekleyin:
- Uygunluk ve niteliklere göre otomatik öneriler
- Personelin sahiplenebileceği açık vardiyalar panosu
- Vardiya teklifleri (shift bidding) (talep gören vardiyalar için faydalı, fakat net kurallar gerektirir)
Riski azaltan yol haritası
Pilotu tek bir konum veya tek bir ekip ile başlatın. Bu, kuralları tutarlı tutar, kenar durumları azaltır ve destek yönetimini kolaylaştırır.
Başarı metriklerini izleyin: vardiya doldurma süresi, kaçırılan vardiyaların azalması ve azalan mesaj trafiği gibi.
Kilometre taşları planlarken “hazır” olmanın ne anlama geldiğine dair kontrol listesi (izinler, kurallar, bildirimler, denetim kayıtları) tutun. Gerekirse, bkz. /blog/scheduling-mvp-checklist.
Test, Pilot ve Lansman
Vardiya değişimi uygulamasını test etmek sadece “buton çalışıyor mu?” sorusundan ibaret değildir—gerçek dünyada takvimin hatasız kaldığını kanıtlamaktır. Güveni zedeyen iş akışlarına odaklanın.
Yüksek etki yaratan test senaryoları
Gerçekçi verilerle uçtan uca testler yapın (birden çok konum, rol ve kural ile) ve her seferinde nihai takvimi doğrulayın:
- Çakışan vardiyalar: iki swap neredeyse aynı anda gönderildiğinde bile aynı çalışan için çift rezervasyon oluşmamalı.
- Süresi dolan istekler: bir swap isteğinin otomatik olarak belirgin bir kesitte (örn. vardiya başından 2 saat önce) süresinin dolduğunu ve bildirimlerin durduğunu doğrulayın.
- Yönetici geçersiz kılma: kesitten sonra yönetici onay/ret ettiğinde veya zorla atama yaptığında ne olduğuna bakın—denetim geçmişi kim neyi değiştirdiğini göstermeli.
- Zaman dilimi kenarları: yaz saati değişiklikleri, seyahat eden çalışanlar ve farklı zaman dilimlerinden onay veren yöneticilerle test edin; vardiya tutarlı biçimde görüntülenmeli ve güvenli formatta saklanmalı.
Dürüst geri bildirim alan bir pilot planı
Küçük bir grupla (bir ekip veya bir konum) 1–2 haftalık pilot yapın. Kısa geri bildirim döngüleri tutun: günlük kısa bildirim ve haftada bir 15 dakikalık değerlendirme.
Tek bir destek kanalı sağlayın (örn. özel bir e-posta adresi veya destek sayfası) ve yanıt sürelerine bağlı kalın ki kullanıcılar mesajlara ve yan konuşmalara dönmesin.
Benimseme ve çıktıları ölçün
Gerçek değeri yansıtan birkaç metriği izleyin:
- Aktif kullanıcılar (haftalık): kaç çalışan ve yönetici gerçekten kullanıyor?
- Swap tamamlama süresi: talep ile nihai karar arasındaki medyan süre.
- Takvim değişim oranı: yayından sonra takvim ne sıklıkla değişiyor (kaos mu yoksa sağlıklı esneklik mi olduğunu anlamaya yardımcı olur).
Lansman kontrol listesi
Herkese açmadan önce:
- Onboarding: 60 saniyelik bir giriş ve ilk kullanım yönlendirmeleri.
- Yardım dokümanları: basit “nasıl takas yapılır” ve “onaylar nasıl çalışır” sayfaları.
- Uygulama içi ipuçları: son teslim tarihler ve gerekli onaylar hakkında hatırlatmalar.
- Geri alma planı: swap isteklerini geçici olarak devre dışı bırakma ve bir sorun çıkarsa son sağlam takvime geri dönme yeteneği.
SSS
Bir vardiya değişimi uygulaması inşa etmeden önce hangi başarı metriklerini tanımlamalıyım?
Mevcut planlama sıkıntılarını (işe gelmeme, grup mesajları, yavaş onaylar) belgeleyerek başlayın ve birkaç metriği baz alın. Pratik MVP başarı metrikleri şunlar olabilir:
- Açık vardiyanın yayımlanmasından kabul edilmesine kadar geçen süre
- Swap isteğinin onaylanma/ret edilme süresi
- Açık vardiya dolum oranı
- Kullanılabilirlik/izin ve politika kurallarına uyan swap yüzdesi
Vardiya değişimi ve kullanılabilirlik uygulaması için hangi kullanım durumuyla başlamalıyım?
İlk başta birincil kullanıcı grubunu ve kural setini seçin (ör. saatlik perakende, restoranlar, sağlık, lojistik). Her sektör “geçerli” olanı farklı tanımlar—beceriler/sertifikalar, dinlenme süreleri, fazla mesai limitleri ve sendika kuralları—bu yüzden farklı modelleri erken karıştırmak kenar durumları artırır ve MVP’yi yavaşlatır.
Bir vardiya değişimi uygulamasında hangi roller ve izinler temel gereklidir?
Çoğu uygulama en az şunlara ihtiyaç duyar:
- Çalışan: takvimi görüntüleme, kullanılabilirliği ayarlama, swap isteği gönderme, teklifleri kabul/ret etme
- Yönetici: swap’leri onay/ret etme, vardiyaları düzenleme, kapsama izleme, kural uyarılarını görme
- Admin: konumları, roller/sertifikalar, ücret kuralları, uygunluk kuralları ve izinleri yapılandırma
Ayrıca kapsam (konum/ekip) ekleyin, böylece kişiler yalnızca sorumlu olduklarını görür ve yönetir.
Swap’ların güvenilir çalışması için uygulama hangi kullanılabilirlik verilerini toplamalı?
Üç katmanı yakalayın:
- Tekrarlayan haftalık kullanılabilirlik (varsayılan desen)
- Tek seferlik istisnalar (tarihe özel geçersiz kılmalar)
- İzin talepleri (onay durumlu kullanılmaz bloklar)
UI ve veri modelinde zorunlu kısıtlamalar (“kullanılamaz”) ile tercihler (“tercih edilir”)ı ayırın, böylece kurallar yalnızca engellenmesi gerekenleri bloke eder.
Vardiya değişimi için en iyi temel iş akışı nedir?
Yaygın, öngörülebilir bir akış şöyledir:
- Çalışan bir vardiyayı seçer ve swap isteği gönderir (veya vardiyayı bırakır).
- Uygun iş arkadaşlarına bildirim gider (veya belirli bir iş arkadaşı davet edilir).
- İş arkadaşı kabul/ret eder (veya alternatif önerir).
- Gerekirse yönetici onaylar/ret eder.
- Takvim güncellenir ve herkes son atamayı görür.
Her adımda net bir durum gösterin, böylece kullanıcılar sürecin nereye takıldığını bilirler.
Kötü veya uyumsuz swap’ları önlemek için hangi kurallar doğrulanmalı?
Onay/ kabul öncesinde şu kontrolleri çalıştırın, böylece “onaylandı ama imkansız” değişiklikler oluşmaz:
- Çakışan vardiyalar (gerekiyorsa seyahat/buffer süresi dahil)
- Rol/sertifika uyumsuzluğu
- Konum/ departman uygunluk uyuşmazlığı
- Minimum dinlenme zaman ihlalleri
- Fazla mesai/maks saat eşiklerinin aşılması
Engellendiğinde basit dille nedenini açıklayın ve düzeltme önerin (ör. “Bu vardiyayı yalnızca bar eğitimli personel alabilir”).
Uygulama hangi swap istek durumlarını desteklemeli?
Anlaşmazlıkları önleyecek asgari durumlar:
- Beklemede: iş arkadaşı yanıtını bekliyor
- Kabul edildi: iş arkadaşı kabul etti (hala yönetici onayı gerekebilir)
- Onaylandı: nihai; takvim güncellendi
- Reddedildi: neden ve sonraki adım belirtin
Ayrıca iptal edildi ve süresi doldu durumlarını destekleyin, böylece eski istekler takibi veya gereksiz hatırlatmaları tetiklemez.
Vardiya dolumunu hızlandırırken kullanıcıları spam yapmadan bildirimler nasıl tasarlanmalı?
Bildirimleri yalnızca eylemi veya takvimi değiştiren anlara odaklayın:
- Swap isteği alındı (hedef kullanıcı için)
- Onay kararı (onaylandı/ret edildi)
- Hatırlatmalar (süresi dolmak üzere, vardiya X saat içinde başlıyor, yanıtsız)
- Yeni/değişen vardiya atamaları (özellikle son dakika)
Bir uygulama içi gelen kutu her zaman yedek olarak bulunsun, basit kanal tercihleri (push/e-posta/SMS) sunun ve kullanıcı işlem yaptığında hatırlatmaları durdurun.
Vardiya swapping MVP’si için hangi backend varlıkları ve veri modeli gerekir?
En az şunları saklayın:
- Kullanıcılar, konumlar (zaman dilimi ile), roller/sertifikalar
- Vardiyalar (başlangıç/bitiş, konum, gereken rol, atanan kullanıcı)
- Kullanılabilirlik blokları ve izinler
- Swap istekleri (katılımcılar, bağlı vardiya(lar), durum, zaman damgaları)
Swap istekleri için basit bir durum makinesi kullanın ve işlemler eşzamanlı olduğunda çift rezervasyonu önlemek için işlemsel güncellemeler (veya vardiya sürüm numarası) uygulayın.
Vardiya değişimi uygulamasını tam dağıtımdan önce nasıl test edip pilotlamalıyım?
Bir veya birkaç konum/ekiple 1–2 haftalık pilot ile başlayın ve güveni zedeleyen senaryolara odaklanın:
- Çakışan vardiyalar ve eşzamanlılık (aynı anda gönderilen iki swap)
- Süre sonu kesimleri (ör. başlangıçtan 2 saat önce otomatik süresi dolma)
- Yönetici geçersiz kılmaları ve zorla atamalar (denetim kaydı doğru kalmalı)
- Zaman dilimi/DST kenar durumları
Benimsenmeyi (haftalık aktif kullanıcılar) ve sonuçları (medyan tamamlanma süresi, kapalı kalmış vardiyalar, mesaj hacmi) izleyin ve ölçeklendirmeden önce kural/UX’i ayarlayın.