Skip to content
FunkcjeCennikPartnerzyBlogPomocO nasKontakt
Zacznij terazZaloguj się
Powrót do Bloga
guides2026-09-256 min czytania

Wielokanalowe zamowienia: QR, kelner i telefon przy jednym stoliku

Eskisehir: grupa 5 osob, 2 przez QR, 2 przez POS kelnera, 1 telefonicznie. 2300 zamowien miesiecznie w jednej sesji. Atomic writes i race conditions.

th

thMenu Team

thmenu.com

Piatkowy wieczor w Eskisehir: piecioro gosci przy stole. Dwoje zamawia przez QR, dwoje przez POS kelnera, piaty dzwoni po dodatek na wynos. Trzy kanaly, jeden stol, jeden rachunek — i 2300 zamowien miesiecznie trafia czysto do jednej table_session.

Jedna sesja, wiele zrodel

Kazdy stol otwiera table_session z TTL 1 godziny. QR, POS i telefon dziela ten sam session_token; pole order_source rejestruje pochodzenie.

Uzgodnienie zamkniecia spadlo z 40–50 minut do 3 minut.

Atomic writes

Rownoczesne POST obsluguje Idempotency-Key z crypto.randomUUID() i atomic db.batch() w D1.

  • QR i POS bez kolizji.
  • Serwer wymusza cene kanoniczna.
  • Shadowban per zrodlo.

Techniczna odpowiedz na "Unified Orders"

Konkretnie: order_source enum, wspolny FK table_session_id i kolorowane karty KDS wedlug zrodla. Telefon niebieski, QR zielony.

Starsi goscie wola droge przez kelnera, zachowujac 18% uzycia.

FAQ

Jak zamowienie telefoniczne trafia do wlasciwej sesji? Kelner wybiera numer stolu; otwarta sesja jest reuse'owana lub tworzona nowa.

Dwa QR dodaja to samo jednoczesnie? Dwa wiersze order_item, dwie karty KDS — zamierzone.

Co po wygasnieciu TTL? Otwarte rachunki zachowane; cron 04:00 UTC sprzata tylko zamkniete sesje.

Czy to było pomocne? Udostępnij.