Fooodo / Документация

Потоки заказов — Pay-First и Pay-Later

Когда использовать Pay-First и Pay-Later, как каждый из них работает от начала до конца, какие статусы заказов видят операторы в панели администратора и какие фоновые задания поддерживают синхронизацию заказов с POS.

Auto-translated · pending native review. The English version is canonical.

Fooodo поддерживает два различных потока заказов. Они отличаются тем, когда кухня видит заказ, и тем, когда происходит оплата. Выбор зависит от стиля обслуживания, а не от ресторана — один ресторан может использовать разные потоки на разных столах.

Pay-First
takeaway · quick service
  1. Guest scans QR, builds cart
  2. Guest pays
  3. Order is exported to R-Keeper
  4. Kitchen prepares
  5. Guest receives or collects
Pay-Later
dine-in · table service
  1. Guest scans QR, builds cart
  2. Items go to R-Keeper kitchen immediately
  3. Guest adds more rounds (each one syncs)
  4. Guest asks to pay
  5. Order locked → marked paid in R-Keeper
Order flows · side-by-side

Потоки заказов Fooodo взаимодействуют с вашим POS через контракт коннектора. R-Keeper — это действующий эталонный коннектор на сегодняшний день; описанная ниже механика отражает требования, которым должна соответствовать каждая реализация коннектора.

Pay-First

Используйте Pay-First, когда гости должны оплатить заказ до начала обслуживания: навынос, быстрое обслуживание, фудкорты. Кухня никогда не видит неоплаченный заказ; POS получает один экспорт заказа на корзину; если гость бросает корзину, ничего не попадает на линию.

Pay-Later

Используйте Pay-Later для обслуживания за столиками и многораундового обслуживания. Первый раунд поступает в POS в момент отправки; последующие раунды добавляются к тому же заказу в POS по одному. Заказ остаётся открытым в POS с первого раунда до момента оплаты. Внутри системы Fooodo отслеживает, какие позиции уже были отправлены, чтобы каждый раунд синхронизировался только один раз.

Почему потоки различаются

Механическое различие невелико — Pay-First делает один экспорт в POS, Pay-Later делает несколько. Операционное различие важнее:

  • В Pay-First кухня не выполняет лишней работы, если гость бросает корзину. Однако такой сценарий неудобен для обслуживания за столиками: люди ожидают оплатить в конце; просьба оплатить заранее воспринимается как транзакционный, а не гостеприимный подход.
  • В Pay-Later опыт гостя соответствует обычному ресторану. Оператор принимает небольшой риск того, что заказ может остаться неоплаченным (гость ушёл, карта не прошла) — тот же риск, который существует при любом обслуживании с бумажным счётом сегодня.

Многие сети начинают с Pay-First на стойках навынос, а затем добавляют Pay-Later на столики для обслуживания, когда персонал освоился с панелью администратора.

Настройка потока

Поток задаётся для каждого стола или как настройка ресторана по умолчанию в панели администратора. Ресторан может совмещать потоки — например, столики для обслуживания работают на Pay-Later, стойка навынос — на Pay-First, и оба варианта работают через одну установку Fooodo.

Статусы на практике

Заказы проходят через конечный автомат состояний. Приведённые ниже названия — это именно то, что отображается в панели администратора; они полезны как для операторов, просматривающих собственные заказы, так и для интеграторов, обрабатывающих события заказов.

Статусы, которые важны большинству операторов:

СтатусЧто означает
CreatedКорзина создана, позиции ещё не отправлены
InProgressПозиции отправлены в POS, ожидается продолжение или оплата
ReadyToBePaidГость завершил заказ, ожидается оплата
PaidОплата прошла успешно, POS отметил заказ оплаченным
FinishedЗаказ закрыт, финальный успешный статус

Статусы, связанные со сбоями:

СтатусЧто означает
LockedPOS держит заказ открытым (официант редактирует его). Автоматические повторные попытки с задержкой.
ErrorЭкспорт в POS завершился ошибкой после всех повторных попыток. Требуется ручное вмешательство.
CancelledЗаказ был отменён или истекло время ожидания оплаты

Большинство статусов Locked разрешаются за секунды. Устойчивый Locked обычно означает, что официант открыл заказ в POS и забыл его закрыть.

Error — единственный статус, требующий вмешательства человека. Журналы сбоев коннектора фиксируют причину ошибки; типичное решение — пересоздать заказ на терминале POS.

Что выполняется в фоновом режиме

Небольшой набор запланированных заданий поддерживает синхронизацию слоя заказов — операторам не нужно их запоминать, однако интеграторы, работающие с данными Fooodo, должны знать периодичность их выполнения:

ПериодичностьЗадание
Каждую минутуПроверка доступности ресторана
Каждую минутуОтмена заказов, у которых истекло время ожидания оплаты
Каждые 2 минПолучение обновлений заказов из POS
Каждые 4 минПолучение статуса столов из POS
Каждые 5 минСинхронизация доступности позиций меню
Ежедневно в 09:00Полная синхронизация меню

Если POS недоступен, задания повторяются с экспоненциальной задержкой; заказы остаются в текущем статусе и согласовываются после восстановления коннектора.

На этой странице