Restoran POS'unda "internetsiz çalışır" gerçekte ne demek
Çevrimdışı mod iddia etmesi kolay, inşa etmesi zordur. Kasanın internetsiz yapmaya devam etmesi gerekenler, yapamayacakları ve kuyruğun sonradan güvenle nasıl yetiştiği.
Her bulut POS’u internetsiz çalıştığını söyler. Çok azı bu cümlenin neyi kapsadığını açıklar ve iddia ile davranış arasındaki boşluk yılın en kötü akşamında keşfedilir.
Çevrimdışı bir kuyruk sorunudur, ekran sorunu değil
Herhangi bir uygulama menüyü önbelleğe alıp bağlantısız bir ekran çizebilir. Kolay yarısı budur. Zor yarısı, hat kopukken oluşturulan yirmi sipariş, dört iade ve bir kapanan vardiyaya ne olduğudur.
Bunlar ekran değildir. Bunlar başkalarının rakamlarının dayandığı olgulardır — stok, mutfak, defterler, kasa çekmecesi. Onları doğru sırayla ve tam olarak bir kez geri getirmek, mühendislik probleminin tamamıdır.
Kasanın yapmaya devam etmesi gerekenler
İnternetsiz bir satış noktası hâlâ şunları yapabilmelidir:
- Vardiya açmak ve açılış kasası girmek.
- Fiyatları, seçenekleri, boyutları ve menüleriyle tüm menüyü göstermek.
- Sipariş almak, bekletmek, hesap bölmek, indirim ve promosyon kodu uygulamak.
- Nakit tahsilat yapmak ve yerel bağlı bir yazıcıdan fiş basmak.
- Aynı onay kurallarıyla iptal ve iade yapmak.
- Kapanışın tutması için çekmeceyi saymayı sürdürmek.
Bu, çalışan bir restorandır. Bu listedeki hiçbir şeyin doğru olması için sunucuya ihtiyaç yoktur.
Gerçekten çalışamayacak olanlar
Burada dürüstlük bir özelliktir, zayıflık değil:
- Kart ve çevrimiçi ödemeler. Yetkilendirme için ödeme geçidi gerekir. Ya nakit alırsınız ya da hat dönünce kart.
- Şubeler arası canlı görünüm. Başka bir şubenin stoğu sunucuda yaşayan bir olgudur.
- İkinci bir cihazın anında görmesi gereken her şey. Aynı yerel ağdaki bir mutfak ekranına hizmet verilebilir; mobil veri üzerindeki bir telefona veremezsiniz.
Bunların hepsinin çevrimdışı çalıştığını iddia eden bir sistem ya yanılıyordur ya da “çevrimdışı” kelimesini yeniden tanımlıyordur.
Yetişme işlemi nasıl güvenli kılınır
Bağlantı geri geldiğinde cihaz yalnızca yeniden göndermez. Her işlem, gerçekleştiği anda yerel olarak değiştirilemez bir kayıt olarak yazılmıştır ve şunları taşır:
| Alan | Neden var |
|---|---|
clientActionId | Cihazda üretilen bir UUID — işlemin kimliği |
deviceId | Hangi kasanın oluşturduğu |
actionType | Sipariş oluşturuldu, ödeme alındı, vardiya kapandı… |
payloadJson | İşlemin tamamı, gerçekleştiği andaki hâliyle dondurulmuş |
localCreatedAt | İşlemleri gerçekte olduğu sırayla yeniden oynatmak için |
Sunucu bunları (deviceId, clientActionId) üzerinde benzersiz bir anahtarla saklar. Aynı işlem iki kez gelirse — kararsız wifi, uygulama yeniden başlatma, sabırsız bir deneme — ikincisi tanınır ve ikinci bir sipariş oluşturmak yerine ilk sonuç döndürülür. Ödemeler aynı nedenle bir idempotency anahtarı taşır: yeniden deneme iki kez tahsil edemez.
Denemeler bağlantıyı dövmek yerine kademeli olarak seyrekleşir; eşiğin ötesinde hâlâ başarısız olan her şey, sessizce kaybolmak yerine bir yöneticinin görüp çözebileceği bir bekleme listesine düşer.
İki kasa çeliştiğinde
Her sağlayıcıya sorulmaya değer soru budur. İki kasa çevrimdışı. İkisi de günün yemeğinin son beş porsiyonunu satıyor. İkisi de aynı anda dönüyor.
Sihirli bir cevap yok — o porsiyonlar mevcut değil. Önemli olan, sistemin bu konuda belirlenimci olması ve size söylemesidir:
- Eksiye düşecek stok, sessizce kabul edilmek yerine uygulanabilir bir hatayla reddedilir.
- Sipariş durumu yalnızca geçerli geçişlerle ilerler; “servis edildi” fişi geç gelen bir kayıtla yeniden açılamaz.
- Sipariş toplamından büyük bir ödeme reddedilir.
- Masa durumu sunucunun yetkili sürümünü alır, çünkü 6 numaralı masada iki kişi oturamaz.
Yine de bir tabak ikram etmeniz gerekecek. Ama bunu çakışma anında bileceksiniz; üç hafta sonra eksi stok satırı bularak değil.
Bir dakikalık test
Kimseyle sözleşme imzalamadan önce demoda şunu yapın: tableti uçak moduna alın, dört sipariş girin, birini iade edin, vardiyayı kapatın, sonra bağlantıyı geri açın. Ardından üç ekrana bakın — stok, mutfak geçmişi ve günün satışları — ve dört siparişin de birer kez, doğru sırayla ve iadesi ters kaydedilmiş olarak orada olup olmadığını görün.
Bu test bir dakika sürer ve size herhangi bir özellik listesinden fazlasını söyler.
Tüm bunları tek bir sistemden yönetin
POS, mutfak, envanter, tarif maliyetlendirme, personel ve muhasebe — bağlı, ve başlamak ücretsiz.
Ücretsiz hesabınızı oluşturun