Ресторан: зал, меню и кухня
Компонент закрывает работу зала: гость сканирует QR-код на столе, открывает меню, заказывает сам, кухня видит заказ на экране, счёт закрывается на кассе. Приходит с бизнес-модулем Ресторан.
Меню — это не отдельный справочник, а тот же каталог. Позиция попадает в меню, если помечена видимой в нём, а её категория входит в список категорий меню.


Столы и зоны
Стол — носитель QR-кода. У него есть номер или имя, зона (веранда, второй этаж), вместимость и постоянный публичный токен, зашитый в ссылку. Токен неугадываемый — подобрать чужой стол по номеру нельзя.


Счёт стола
Пока гости сидят, на столе открыт один счёт — он копит все отправки заказа за посещение и проходит состояния: открыт → ожидает оплаты → закрыт.
У счёта свой публичный токен: гость видит, на сколько уже набрал, и может дозаказывать. Заказ навынос ведётся тем же счётом, только без стола.
Счёт «живой» ограниченное время — брошенный с вечера стол не подхватит утренний гость. Закрытие счёта и отправка новой позиции с телефона не могут произойти одновременно: стоит блокировка, иначе блюдо уехало бы в уже оплаченный счёт.
Тикеты и экран кухни
Каждая отправка заказа — отдельный тикет. Он идёт на станцию (кухня, бар или без станции) и проходит статусы: новый → подтверждён → готовится → готов → подан.


Экран филиальный: бар одного зала не видит заказы соседнего. Звук браузер разрешает только после первого касания экрана — поэтому KDS просит «нажмите, чтобы включить звук» при открытии.
Позиции тикета — снимок на момент заказа: название, цена, модификаторы и себестоимость фиксируются. Потом можно переименовать блюдо или поднять цену — старый счёт не изменится.
Предоплата и постоплата
- Постоплата — тикет уходит на кухню сразу, гость платит на выходе.
- Предоплата — тикет создаётся удержанным: на кухне он не появляется и не звучит, пока оплата не подтверждена.
Отдельно настраивается, подтверждает ли официант заказ гостя перед отправкой на кухню, и берётся ли процент за обслуживание.
Онлайн-оплата работает через платёжную сессию; до подключения реального эквайринга доступна оплата у кассы.
Позвать официанта
Гость вызывает официанта прямо из меню — сигнал приходит в зал. Функция включается настройкой: там, где официанта нет (кофейня со стойкой), кнопка только мешает.
Деньги
Закрытый счёт превращается в заказ с зафиксированной себестоимостью и участвует в общей отчётности наравне с продажами кассы. Отдельного «ресторанного» учёта денег нет — выручка зала и навынос считается вместе.
Связь с другими компонентами
- Каталог — позиции меню, варианты и модификаторы.
- Склад — списание ингредиентов по филиалу.
- Касса и продажи — закрытие счёта и оплата.
- Заказы — заказы навынос.
- Отчёты — выручка и себестоимость зала.