Restaurant Commerce — меню, Ordering, KDS, Kiosk и POS
Reven Ordering, KDS, Kiosk и POS используют одно меню, одинаковые правила ценообразования и общую запись заказа. Поэтому проданную или изменённую позицию меню не нужно вручную обновлять в каждом канале.
Проверено 2026-09-24
Reven Ordering, KDS, Kiosk и POS используют одно меню, одинаковые правила ценообразования и общую запись заказа. Поэтому проданную или изменённую позицию меню не нужно вручную обновлять в каждом канале.
Меню
Пользователь с правом menu:manage может управлять:
- локацией, меню, публикацией и порядком категорий;
- названием позиции, SKU, описанием, ценой, сравнительной ценой и изображением;
- метками Vege, Vegan, New и Bestseller и уровнем остроты;
- показом позиции в дополнительных категориях;
- станциями приготовления;
- группами модификаторов и минимальным/максимальным числом выборов;
- вариантами, доплатой, значением по умолчанию, активностью и статусом sold out;
- вместимостью заказов, базовым lead time и зонами доставки.
SKU важен для связей между локациями и ваучеров на конкретную позицию. Он должен быть стабильным и уникальным в выбранной клиентом модели.
Ordering и обработка заказа
Публичный клиент или оператор POS выбирает обслуживание на месте, самовывоз или доставку, доступную для адреса/зоны. В публичном Ordering, Kiosk и POS место этого выбора можно настроить перед меню или в конце корзины, если заведению нужно сначала собрать позиции. Позиции можно сразу добавлять в выбранном количестве, а затем менять количество кнопками минус/плюс в корзине или текущем POS-билете. Сервер заново рассчитывает цены, количество, модификаторы, стоимость доставки или другой сбор за выполнение, например упаковку навынос, минимум, купоны, ваучеры и сумму платежа. Расчёт нельзя основывать на значении, переданном только браузером.
14 августа 2026 года проверено визуальное изменение публичного Ordering на mobile: CTA-кнопки корзины и добавления позиции принудительно используют цвет текста primary-foreground, чтобы сохранять контраст в брендированных темах. Изменение не меняет логику корзины, checkout или статусы заказов.
14 августа 2026 года также проверено изменение навигации категорий в публичном Ordering на mobile: шапка заведения прокручивается вместе со страницей, а панель категорий остаётся закреплённой сверху экрана. Изменение улучшает доступ к категориям во время просмотра меню и не меняет корзину, checkout, оплату или статусы заказов.
После корректной оплаты заказ может быть принят автоматически или ожидать сотрудника. В ручном режиме сотрудник принимает его и указывает обещанное время. Типичная последовательность: оплачен → принят → готовится → готов → завершён. Возврат требует orders:manage и проверки каждого tender и использованного преимущества.
Страница статуса заказа приватная — вход по токену из URL, а токен не повторяется в метаданных — поэтому для неё задано noindex, nofollow. Она показывает сохранённые модификаторы и начисленные сборы из записи заказа, чтобы клиент мог проверить выбор после оплаты. Когда заказ достигает completed, страница показывает встроенную приватную анкету Guest Experience, но только если модуль guest_experience активен и включён триггер заказов. Статусы cancelled, refunded и все незавершённые анкету не показывают. Страница опрашивается каждые несколько секунд и останавливается на терминальном статусе, поэтому анкета появляется при завершении без ручного обновления. Покупка ваучера в киоске технически является заказом completed, но не реальным приёмом пищи, поэтому страница статуса и серверный resolver одинаково её пропускают.
KDS
KDS показывает активные заказы и позиции по станциям приготовления. Сотрудники с kds:operate обновляют этап работы. Экран должен работать на выделенном устройстве, а процедура заведения — учитывать потерю сети и ручную передачу заказа.
Kiosk
Гость может начать заказ еды или, если настроено, отдельную покупку ваучера. Для еды он выбирает или подтверждает способ получения, позиции и модификаторы, может отсканировать карту Loyalty, купон или ваучер, затем оплачивает оставшуюся сумму.
Панель Kiosks используется для однократной регистрации устройства и контроля соединения, терминала, фискального принтера, сканера, бумаги и последней ошибки. Локальный агент устанавливает исходящее соединение с Reven и хранит секрет устройства вне frontend-кода.
В production адаптер терминала должен поддерживать статус, идемпотентный старт, запрос результата, reversal и refund; фискальный адаптер — состояние устройства, бумагу, фискализацию и проверку результата. Неоднозначный результат необходимо проверить по reference провайдера. Нельзя «вслепую» запускать второй платёж. Оплаченный заказ передаётся в работу только после обязательной фискализации, если такой сценарий активен.
POS
POS использует общее меню для заказов у стойки, по телефону и вручную перенесённых из marketplace. Для пользователя с несколькими локациями POS открывает локацию с доступным меню; вручную выбранная локация без меню отправляет сотрудника в настройку меню. POS может иметь собственный config продукта pos и наследует отсутствующие поля из ordering, поэтому шаг выбора типа заказа и сборы можно держать общими или разделить специально для POS. Доступность терминальной оплаты зависит от установленного провайдера и устройства. При вводе внешнего заказа сотрудник должен сохранить его reference и не создавать параллельный онлайн-платёж.
Границы решения
Reven v1 сам по себе не является сертифицированной польской фискальной кассой. Клиент сохраняет требуемый законом фискальный процесс, если объём внедрения не включает конкретную утверждённую интеграцию. Драйверы в пакете агента могут быть симуляторами; production-статус подтверждается для конкретного терминала и принтера.
Проверки перед запуском
- Создайте заказ для обслуживания на месте, самовывоза и каждой зоны доставки.
- Проверьте базовую цену, модификаторы, сбор, минимум, ваучер/купон и остаток к оплате.
- Проверьте успешный и отклонённый платёж, повторный webhook и возврат.
- Проверьте автоматический и ручной режим, KDS и обещанное время.
- На реальном киоске проверьте idle/reset, сканер, терминал, фискализацию, отсутствие бумаги, потерю сети и восстановление.
При интеграции с LoyaltyPlant киоск хранит проверенную сессию клиента на сервере. В REGULAR можно начать с карты или корректного подарка; удалённый подарок не включается в итоговый чек. Ошибка оплаты не разрешает повторное списание: перед новым заказом нужно завершить предыдущую попытку и снова отсканировать карту. Фактическое начисление баллов проверяется у поставщика, а не по успешному ответу фонового задания.