Soru: Restoranda İki Masa Birleştirildiğinde Adisyon Toplamı Neden Yanlış Hesaplanır veya Ürünler Kaybolur?
Cevap: Restoranlarda, kafelerde ve büyük bahçeli işletmelerde kalabalık müşteri grupları yer değiştirdiğinde garsonun SambaPOS ekranından Masa 5 i Masa 8 ile birleştirmek için ‘Masa Taşı / Birleştir’ butonuna bastığında, hedef masada adisyon tutarının eksik çıkması, bazı ürünlerin fiyatsız görünmesi veya kdv/kuver tutarının mükerrer hesaplanarak şişmesi kasa kapanışında büyük hesap krizlerine yol açar. Garson siparişlerin kaybolduğunu sanarak mutfağa tekrar mükerrer sipariş girer. Bu arıza veritabanının çökmesi değil; SambaPOS V5 otomasyon motorundaki Hesaplama Şablonlarının (Calculation Selectors) ve Masa Durumu (Entity State) kurallarının birleştirme anında ters tetiklenmesidir.
Masa Birleştirme Mekanizmasının (Ticket Merging) Veritabanı Mantığı
İki masa birleştirildiğinde SambaPOS arkada iki bağımsız adisyon kaydını konsolide eder:
- Kaynak Adisyon (Taşınan Masa): Kapanmalı ve içindeki sipariş satırları hedef adisyona aktarılmalıdır.
- Hesaplama Farkları: Kaynak masada önceden uygulanmış bir %10 İskonto, Yuvarlama veya Kuver ücreti varsa; birleştirme algoritması bu indirimi hedef masadaki ana yemeklerle orantılayamazsa tutar sapar.
- Sipariş Durumu Çakışması: Kaynak masadaki ürünler mutfağa gitmiş (Submitted), hedef masadaki ürünler ise henüz onaylanmamış (New) durumdaysa sistem fiyat matrisini kilitleyebilir.
1. Adım: SambaPOS Adisyon Birleştirme Kuralının İncelenmesi
Birleştirme eylemindeki kural sırası kontrol edilir:
- SambaPOS yönetim paneline girilerek Yönetim > Otomasyon > Kurallar menüsü açılır.
- ‘Masa Değiştirildiğinde’ (Entity Changed) ve ‘Adisyon Birleştirildiğinde’ kuralları bulunur.
- Kuralın altındaki eylemlerde ‘Hesaplamaları Güncelle’ (Update Ticket Calculations) komutunun en alt sırada olduğu doğrulanmalıdır; aksi halde indirimler ürünler aktarılmadan önce hesaplanır ve bakiye bozulur.
2. Adım: Veritabanında Askıda Kalan Çift Adisyon Kayıtlarını Kapatma
Masa taşınmasına rağmen eski masa boşalmamış görünüyorsa SQL üzerinden durum güncellenir:
USE [SAMBAPOS5];
GO
-- Birleştirme sonrası boşta kalan hayalet adisyonları temizleyin:
UPDATE Tickets
SET IsClosed = 1, IsLocked = 1
WHERE RemainingAmount = 0 AND IsClosed = 0;
GO
-- Masaların boş/dolu durum renklerini hafızada tazeleyin:
UPDATE EntityStateValues
SET EntityStates = REPLACE(EntityStates, 'New Orders', 'Available')
WHERE EntityStates LIKE '%New Orders%' AND EntityId NOT IN (SELECT DISTINCT EntityId FROM TicketEntities WHERE TicketId IN (SELECT Id FROM Tickets WHERE IsClosed = 0));
GO3. Adım: Garsonlar İçin Doğru Masa Taşıma Prosedürü
Personelin yaptığı en büyük hata adisyonun içinden tek tek ürünleri taşımaya çalışmaktır. Doğru yöntem: Ana salon planındayken önce ‘Masa Taşı’ butonuna basılmalı, kaynak masa (Masa 5) seçilmeli, ardından doğrudan hedef masa (Masa 8) tıklanarak sistemin tüm adisyonu tek blok halinde aktarması sağlanmalıdır.
Restoran otomasyonu, SambaPOS kural ve eylem optimizasyonu, masa ve adisyon takip sistemleri teknik desteğinde BaykalSoft Restoran Bilişim Teknolojileri ekibimizle iletişime geçebilirsiniz.