Ко всем проектам

Автоматическое кафе

Гость выбирает и оплачивает заказ, а кухня и кофемашина готовят его сами: кассир и бариста в цепочке не участвуют

Автоматическое кафе
Выбрал, оплатил, забрал. Между этими действиями система сама отдаёт команды пищевому и кофейному оборудованию.

Коротко

  • Заказ превращается в команды для оборудования: продукт, температура, время
  • Еда и кофе готовятся параллельно и сходятся в один заказ
  • Оператор удалённо видит статусы устройств, ошибки и чеки

Задача

Сначала клиент описывал современное кафе самообслуживания: гость выбирает блюдо, платит в интерфейсе, а готовит бариста. Мы проектировали автоматизацию заказа и работы точки, человек в производстве оставался.

По ходу проекта модель сменилась. Клиент решил убрать бариста из цепочки целиком: от оплаты до готового заказа точка должна отработать сама. Вместе со сменой концепции пришлось искать оборудование, которое вообще умеет такой сценарий, и понять, как связать его с нашей системой. Это уже была не только разработка интерфейса.

Выбрали специализированные устройства из Китая для еды и кофе. Для каждого блюда система должна передать режим — температуру, время и другие параметры. Кофейная машина выполняет свою часть заказа сама. Цифровая позиция в корзине должна стать физическим действием устройства.

Итоговая задача: связать интерфейс гостя, оплату, сервер и несколько устройств в один цикл. От нажатия «Оплатить» до выдачи.

Автоматическое кафеАвтоматическое кафе

Решение

Гость проходит короткий self-service сценарий. Выбирает позиции, оплачивает и следит за статусом. Касса, официант и бариста в этом пути не участвуют.

После оплаты заказ раскладывается на команды. Система понимает, какая позиция на какое устройство уходит, и передаёт параметры приготовления.

Автоматическое кафе

Если в заказе и еда, и кофе, процессы идут параллельно. Один чек для гостя — несколько физических процессов, которые нужно снова собрать в один готовый заказ.

Оплата здесь только старт. Дальше система должна знать: устройство приняло команду, приготовление началось, операция закончилась, весь заказ можно забирать.

Автоматическое кафе

Интеграция с оборудованием

Самый тяжёлый кусок — разговор с устройствами. Это не публичный SaaS с понятной документацией, а промышленное оборудование китайского производителя.

Документация и большая часть переписки были на китайском. Пришлось разбирать и протокол, и то, как команда производителя описывает поведение машины.

Автоматическое кафе

С разработчиками оборудования сверяли команды, ответы, статусы приготовления и поведение в сбоях. Часть логики в документах не написана: её выясняли на совместных проверках.

Пограничные случаи здесь дороже, чем в обычном веб-сервисе. Устройство получило команду и не начало готовить. Связь оборвалась. Сервер считает заказ отправленным, машина его не приняла. На экране это легко показать ошибкой. На точке это оплаченный заказ, которого физически нет.

Автоматическое кафе

Команды, ответы и реальные статусы проверяли по очереди и под это переписывали серверную логику. Готовый API «подключили и забыли» здесь не существовал. Вокруг чужого оборудования собрали свой слой, который понимает, что происходит с заказом.

Связка software и оборудования

Интерфейс может показать правильную корзину, база — сохранить заказ, а продукт работает только когда устройство реально приготовило позицию.

Автоматическое кафе

У каждой позиции в каталоге есть физическое поведение: не только цена и фото, но и режим на оборудовании. Ошибки тоже часть модели. Устройство недоступно, команда не принята, статус неожиданный. Между «оплачено» и «можно забрать» десятки состояний, и гостю нужно честное из них, а оператору — причина.

Платежи и фискализация встроены в тот же цикл. Сквозной сценарий гоняли на реальной точке: платёжное устройство, чек, приготовление. Админка нужна даже пустому залу: оператор удалённо видит заказы, устройства, ошибки и этап приготовления.

Стек

  • Nest.js
  • Node.js
  • Интеграция API
  • Интеграция данных
  • Микросервисы

Результат

Проект вырос из «приложения для заказа еды» в контур автономной точки. Для гостя путь короткий: выбрал, оплатил, забрал. За ним стоят платёж, сервер, несколько устройств и физические процессы, которые должны сойтись в один заказ.

Отдельный результат — рабочая интеграция с оборудованием: от документации и переговоров с производителем до команды, которая меняет температуру и время на конкретной машине.

Для бизнеса это другая операционная модель точки. Система не подсказывает сотруднику, что готовить. Она управляет приготовлением. Ошибка в этой логике — уже не кривой пиксель, а оплаченный заказ, который не появился на выдаче. Поэтому статусы, повторы и расхождения между сервером и устройством проектировали так же внимательно, как сам экран меню.