İçeriğe atla
ÖzelliklerFiyatlandırmaİş OrtaklığıBlogYardımHakkımızdaİletişim
BaşlaGiriş Yap
Bloga Dön
tips2026-07-296 dk okuma

Lightspeed K-Series Restoran Versiyonu: Stok 0 → Menüde Otomatik Gri Rozet

Amsterdam pokebowl zincirinin 18 lokasyonunda Lightspeed K-Series API ile thMenu menüsünde sub-second sold-out otomasyonu. WebSocket persist, garson iptal çelişkisi yönetimi.

th

thMenu Team

thmenu.com

Amsterdam'da 18 şubeli bir pokebowl zinciri, öğle servisinde somonun bitmesini her zaman 20 dakika geç fark ediyordu. thMenu + Lightspeed Restaurant K-Series WebSocket entegrasyonu sayesinde stok sıfırlandığı an menüde gri rozet ve disable durumu yansıdı, yanlış sipariş %94 düştü.

WebSocket Persist Mimarisi (5sn Polling Değil)

Lightspeed K-Series'in /inventory-events WebSocket kanalına Cloudflare Workers Durable Object üzerinden kalıcı bağlantı açıyoruz. Polling yerine push tabanlı: somon 0'a düştüğünde event 280ms içinde D1_MENU'ye yansır.

Her lokasyon için tek Durable Object instance — 18 şube × 1 bağlantı = 18 socket. CF Workers'ın 32 KB memory limiti yeterli çünkü sadece son SKU snapshot'ını tutuyoruz, geçmiş cache'lemiyoruz.

Menüde Gri Rozet UX Detayı

Stok 0 olunca ürün kartı silinmiyor, opaklık 0.5'e düşüyor ve "Bugün Yok" rozeti ekleniyor. Müşteri yine fotoğrafı görüyor — yarın geleceğini bilmesi için. Cart'a ekle butonu pointer-events:none ile devre dışı.

  • Rozet rengi: Soft kömür gri (#3a3a3a), kırmızı değil — agresif görünmesin.
  • Hızlı animasyon: 220ms cross-fade, scroll position korunur.
  • Allergen filtresi: Sold-out ürün gizlenmez, sadece sipariş edilemez.

Edge Case: Garson Sipariş İptali Çelişkisi

Klasik tuzak: garson 1 porsiyon somon'u iptal ettiğinde Lightspeed stoğu +1 yapar. Aynı anda mutfak son porsiyonu hazırlamış olabilir. Çelişki: stok teknik olarak 1 ama fiziksel olarak 0. Çözüm — "manuel sold-out lock" bayrağı. Yönetici menüde manuel "bugün yok" toggle açtığında WebSocket event'i göz ardı edilir, sadece yönetici kaldırırsa açılır.

Bu lock D1_MENU'de manual_soldout_until kolonu (timestamp). Servis sonunda 23:00'da CRON otomatik temizler.

FAQ

Lightspeed L-Series'te de çalışır mı? Hayır, L-Series farklı API. K-Series (Restaurant) WebSocket destekler, L-Series sadece REST polling.

WebSocket koparsa ne olur? Durable Object exponential backoff ile 1s, 2s, 4s, 8s yeniden bağlanır. Yedek olarak 5dk REST snapshot polling devreye girer.

Hangi thMenu planında var? Pro ve Platinum. Starter sadece manuel "stokta yok" toggle sunar.

Faydalı buldunuz mu? Paylaşın.