
Karşılanan sipariş sayısı, ortalama fiş tutarı, zamanında gelme oranı, iptal edilen ürünler ve müşteri puanları — hepsi personel bazında panellerde. Ayrı bir POS dışa aktarımı değil, her gece canlı sipariş verilerinizden derlenir.
Ordering.Tools'ta personel performansı, bir çalışanı müşteriye veya vardiyaya bağlayan her ölçümün günlük özetidir: karşıladığı siparişler, hazırladığı ürünler, sorumlu olduğu ciro, ortalama fiş büyüklüğü, zamanında/geç/gelmedi durumundaki vardiyalar, iptal edilen ürünler ve ortalama müşteri puanı. Her rakam platformun zaten topladığı verilerden gelir (Order.assignedWaiterId, OrderFeedback, ClockEvent, StaffShiftAssignment). Özetleme cron:nightly çalıştırıcısı üzerinden her gece yapılır; yöneticiler istedikleri tarih aralığını admin panelinden yeniden hesaplatabilir.
Amaç gözetlemek değil, koçluk yapmak. Kişi bazlı dosyalar önemli kalıpları gösterir: sürekli erken gelen kim, ortalama fişi en yüksek kim, akranlarından daha çok iptal yapan kim, düğünden sonraki cumartesi bile zamanında gelen kim. Bunu vardiya planlamasıyla birleştirince öğle yoğunluğuna kimi, geç saatteki terasa kimi koyacağınızı bilirsiniz. Yöneticiler için veri salt okunurdur — geçmiş ölçümler düzenlenemez; ham olaylar denetim kaydında durur, isteyen doğrulayabilir.
Her ölçüm mevcut kayıtlardan hesaplanır — Order, OrderFeedback, ClockEvent, StaffShiftAssignment. Ek sensör, ayrı POS dışa aktarımı ya da üçüncü taraf zaman takip entegrasyonu yok. Bağlantı anahtarı Order.assignedWaiterId.
Özetleme 03:00 UTC'de (cron:nightly) çalışır ve her (venue, staff, tarih) için bir StaffMetricsDaily satırı yazar. Bir dönemi yeniden hesaplamanız gerekiyorsa — örneğin geriye dönük veri girişinden sonra — /api/admin/staff/metrics/replay'e bir başlangıç/bitiş aralığı gönderirsiniz; upsert işlemi idempotenttir.
Personelin CLOCK_IN saatini planlanan StaffShiftAssignment.startTime ile karşılaştırıyoruz. 5 dakika içinde = zamanında; 5 dakikadan fazla = geç; vardiya bitene kadar giriş yoksa = gelmedi. Kişi bazlı hareketli ortalamalar tek kötü günü değil, genel eğilimi gösterir.
Ölçümler düzenlenemez — bir yönetici satırı daha 'iyi görünsün' diye değiştiremez. Ham olaylar denetim kaydında durur ve yeniden üretilebilir. Yanlış görünen bir satıra rastlarsanız, replay uç noktası onu yeniden hesaplar; sonuç aynıysa veri doğrudur.
Personel → Ayarlar'da enableStaffMetrics'i etkinleştirin. Gece cron'u 24 saat içinde özetlenmiş verileri üretmeye başlar; /admin/profile'daki kişi bazlı dosya sekmesi ilgili çalışana görünür olur.
03:00 UTC'de cron:nightly çalıştırıcısı staff-metrics adımını yürütür. Her etkin mekan için Order satırlarını assignedWaiterId'ye göre gruplar, saatler için ClockEvent'leri, puanlar için OrderFeedback'i birleştirir ve her (venue, user, tarih) için bir satır upsert eder.
Personel → Üyeler'e girip bir çalışana tıklayın. Dosya, son 30/90 gündeki günlük ölçümleri siparişler, ciro ve ortalama puan için sparkline grafikleriyle gösterir. Herhangi bir güne tıklayarak altındaki StaffShiftAssignment, ClockEvent ve siparişleri görebilirsiniz.
Her çalışan, mobil garson uygulamasındaki Benim İstatistiklerim ekranından kendi verisini görür — salt okundur. Koçluk görüşmeleri anekdota değil, iki tarafın da görebildiği verilere dayanır.
İdempotent upsert — aynı dönem yeniden çalıştırıldığında birebir aynı satırlar üretilir. Özetleme, cron-system-migration gruplu çalıştırıcı mimarisinin bir parçasıdır; yeni bir ölçüm eklemek yeni bir cron satırı açmak değil, tek bir adımı genişletmek demektir.
Çalışanın günün ilk CLOCK_IN kaydını StaffShiftAssignment.startTime ile karşılaştırıyoruz. Geç sayılma eşiği ayarlanabilir (varsayılan 5 dakika); vardiya bitene kadar giriş yoksa gelmedi sayılır. Sınıflandırma onTimeShifts / lateShifts / noShowShifts sayaçlarına yazılır.
Order.assignedWaiterId'ye bağlanan OrderFeedback satırları kişi bazlı müşteri puanları verir. Dosya feedbackAvg ve feedbackCount'u gösterir; üzerine tıklandığında (varsa) tekil yorumlar açılır, böylece koçlukta somut örnekler elinizde olur.
Geriye dönük veri girişi ya da bir hata geçmiş ölçümleri yanlış bıraktıysa, /api/admin/staff/metrics/replay'e başlangıç/bitiş tarihiyle istek atın. Uç nokta, gece cron'unun kullandığı mantığı aynen yeniden çalıştırır; upsert eski satırların üzerine güncel olanları yazar.
Üç ay önce işe başlayan bir garsonun feedbackAvg'i 3,8; ekip ortalaması ise 4,4. Dosyasını açıyorsunuz — düşük puanlar cumartesi geç saatlerinde kümeleniyor. Yönetici onu bu vardiyalarda kıdemli bir çalışanla eşleştiriyor; ortalama bir ay içinde 4,3'e çıkıyor.
Petar'ın noShowShifts sayısı son 30 günde artmış. Dosyayı açıyorsunuz — her gelmedi vakası pazar sabahı. Konuşma şu: 'Pazar sabahları zor geliyor, seni akşamlara alalım.' Sorun kimseyi işten çıkarmadan çözülüyor.
Baş garson pozisyonu için iki aday var. Dosyalarında ortalama fişler birbirine çok yakın, ama biri %92 zamanında gelirken diğeri %78'de kalıyor. Terfi ilki alıyor; ikincisi ise yeniden değerlendirilmeden önce dakiklik konusunda koçluk alıyor.
Mutfakta yeni başlayan birinin voidedItemCount'u ekip ortalamasının 3 katı. İptallerin çoğu yanlış pişmiş biftek. Konuşma: 'Pişirme derecesi tablosunu birlikte gözden geçirelim' — iki hafta içinde iptaller ekip ortalamasına iniyor.
Her mekanda doğal olarak üst satış yapan bir garson, bir de yapmayan vardır. avgTicketCents sütunu bunları sıralar. En iyi garsonun alışkanlıkları — şefin özel önerisini söylemek, bir yan ürün önermek — ekibin geri kalanına koçlukla aktarılır.
Personel kendi verisini görüp yönetici müdahalesi olmadan kendini düzeltir. Bir garson salı günleri ortalama fişinin düştüğünü fark eder — yeni makarna yemeğinden bahsetmeye başlar, ortalama toparlanır. İyileşme bir koçluk toplantısı olmadan gerçekleşir.
Çoğu restoran analiz platformu mekan seviyesinde toplar — toplam misafir sayısı, toplam ciro, toplam fiş — ve orada durur. Zor kısım mekan ortalamalarından kişi bazlı içgörüye geçmektir, çünkü bu her siparişte bir personel bağlantı sütunu gerektirir. Ordering.Tools'ta garson modülü çıktığından beri Order.assignedWaiterId var, yani kişi bazlı özetleme yeni bir izleme projesi değil, bir SQL group-by işlemi. Saatler için ClockEvent'i, puanlar için OrderFeedback'i, zamanında sınıflandırması için StaffShiftAssignment'ı ekleyin; elinizde yeni bir sensör gerektirmeyen eksiksiz bir dosya olur.
Kişi bazlı ölçümleri her panel açılışında canlı hesaplamak, 50 kişilik bir mekanın ana sayfasının her yüklemede 30 günlük siparişler üzerinden 50 satırlık bir toplama yapması demektir. İndeksler olsa bile bu yavaştır ve büyüdükçe kötüleşir. Gece özetlemesi her (venue, staff, tarih) için tek bir StaffMetricsDaily satırı yazar, paneller de o satırları doğrudan okur. Dosya yükleme sürelerinin P95 değeri saniyelerden milisaniyelere iner, veritabanı yükü kat kat azalır ve veri gerektiği kadar günceldir (dünkü rakamlar, 03:00 UTC'de hesaplanır).
Hoşgörülü olmakla (30 dakika geç = zamanında) katı olmak (1 dakika geç = geç) arasında bir gerilim vardır. Kültür farklı, rol farklı. Ordering.Tools varsayılan olarak 5 dakika kullanır — trafik ve durak hesapları iyi çalışanları geç diye damgalamayacak kadar cömert, sürekli 20 dakika geç başlamaları işaretleyecek kadar sıkı. Eşik mekan bazında ayarlanabilir. Sınıflandırma hareketlidir — tek kötü gün 30 günlük ortalamayı bozmaz — ve izin onaylı gelmemeler, tasarım gereği sayılmaz.
Düzenlenebilir performans ölçümleri güvensizlik doğurur. Bir yönetici düşük puanlı bir günü daha iyi görünsün diye 'düzeltebiliyorsa', personel panele güvenmeyi bırakır ve 'gerçek rakam neydi?' diye sormaya başlar. Ordering.Tools ölçümleri salt okunur olarak sunar — bunları değiştirmenin tek yolu ham olaylardan yeniden hesaplayan replay uç noktasıdır. Ham olayların kendisi de sadece eklenebilir niteliktedir (ClockEvent'te MANUAL_ADJUST deseni vardır; siparişler tamamlandıktan sonra düzenlenemez). Panelde görünen, bir yöneticinin yorumu değil, verinin söylediğidir.
Mevcut sipariş verinizle çalışan kişi bazlı dosyalar. Premium özellik, Personel Yönetimi paketine dahildir.
Restoranların bununla birlikte kullandığı diğer araçlar.
Her personel için saatlik ücret belirleyin, telefonlarından — isterseniz konum doğrulamasıyla — giriş-çıkış yapmalarını sağlayın ve puantajı tek tıkla CSV veya XLSX olarak dışa aktarın. Her ücret değişikliği geçmişiyle birlikte saklanır, her giriş-çıkış kaydı olduğu gibi kalır, her düzeltme bir iz bırakır.
Daha fazla bilgiBir dönem için bahşiş havuzu açın, role göre yüzde paylarını belirleyin (%60 garson / %30 mutfak / %10 bar); platform toplam tutarı her personelin o roldeki çalışma saatiyle orantılı şekilde dağıtır. Tek işlem, tek denetim kaydı, sıfır Excel tablosu.
Daha fazla bilgiBulgar işverenler için mevzuata uygun rapor üretimi: puantaj kayıtlarından çalışma saatlerini çekin, yılın resmi sigorta ve vergi oranlarını uygulayın, NRA portalına ve bankanıza yüklemeye hazır dosyaları indirin.
Daha fazla bilgiBir kez yükleyin, süresi dolmadan haber alın. Belgeleri yalnızca yöneticiler yükler (sosyal mühendislik riskine karşı); personel kendi kopyalarını telefonundan görür; süre takipçisi 30/14/3 gün kala sizi uyarır.
Daha fazla bilgi