Вечер пятницы в Эскишехире: пятеро за столом. Двое заказывают через QR, двое — через POS официанта, пятый звонит и добавляет блюдо на вынос. Три канала, один стол, один счёт — и 2300 заказов в месяц чисто сходятся в одной table_session.
Одна сессия, много источников
Каждый стол открывает table_session с TTL 1 час. QR, POS и телефон делят один session_token; поле order_source фиксирует источник.
Сверка после смены сократилась с 40–50 минут до 3 минут.
Атомарные записи
Одновременные POST решаются Idempotency-Key через crypto.randomUUID() и атомарным db.batch() в D1.
- QR и POS пишут без коллизий.
- Сервер задаёт каноническую цену.
- Shadowban проверяется отдельно для каждого источника.
Технический ответ на "Unified Orders"
Конкретно: order_source enum, общий FK table_session_id и KDS-карточки в цветах по источнику. Телефон — синий, QR — зелёный.
Возрастные гости предпочитают официанта, что даёт 18% использования, которое QR в одиночку потерял бы.
FAQ
Как телефонный заказ попадает в нужную сессию? Официант выбирает номер стола; используется открытая сессия или создаётся новая.
Два QR добавили одно блюдо одновременно? Две строки order_item, две карточки KDS — намеренно.
Что после истечения 1 часа TTL? Открытые счета сохраняются; cron 04:00 UTC чистит только закрытые сессии.
Было полезно? Поделитесь.
Похожие статьи
Что такое QR-меню? Полное руководство для ресторанов
QR-меню позволяет гостям мгновенно получить доступ к вашей карте блюд со смартфо…
Переход с бумажного меню на цифровое QR-меню: пошаговое руководство
Хотите перейти на QR-меню, но не знаете с чего начать? Это руководство охватывае…
Геотаргетированные QR-меню: разные языки по IP посетителя
Как 180-местный all-inclusive отель в Анталье направляет один QR на турецкое, не…