Сеть кофеен на три точки пришла с утренней очередью.
С восьми до десяти у стойки скапливалось человек десять, часть разворачивалась и уходила - людям на работу, ждать восемь минут ради капучино они не готовы.
Бариста при этом работал на пределе, быстрее физически не выходило.
Пробовали принимать предзаказ в личку аккаунта кофейни, стало только хуже - сообщения надо читать между приготовлениями, деньги брать при выдаче, и очередь на кассе от этого не короче.
Бумажные карточки со штампами тоже мешали - их теряли, спорили на кассе, и посчитать по ним хоть что-то было нельзя.
Просили сервис, где гость закажет и оплатит заранее, придёт ко времени и заберёт стакан без ожидания.
Основа - Mini App с предзаказом на конкретное время.
Гость выбирает точку из трёх. У каждой своё меню и свой стоп-лист, на маленькой точке нет альтернативного молока, и это видно до оформления.
Напиток настраивается - объём, молоко, сироп, экстра-шот, с собой или на месте.
Слоты по пять минут, у каждого лимит по числу напитков. Это главное, что тут надо было решить - без лимита все выбирают 08:30, и утро встаёт колом. Лимит считается от реальной пропускной способности точки, то-есть от того, сколько бариста успевает за пять минут.
Оплата вперёд, картой или СБП. Неоплаченный заказ в очередь не встаёт, иначе слоты забиваются вхолостую.
Бонусы - процент от чека на внутренний счёт, счётчик виден в профиле. Списание ограничено долей чека, чтобы касса не уходила в ноль.
Экран бариста - веб-страница на планшете у стойки. Заказы отсортированы по времени, ближайший сверху, новый приходит со звуком. Кнопки Взял в работу и Готов, после Готов гостю падает уведомление, что стакан на стойке.
День закрывается отчётом - заказы по точкам, начисленные и списанные бонусы, средний чек.
Стек - Python, aiogram 3, Mini App, PostgreSQL, VPS. Страница бариста обновляется через веб-сокет, обновлять её руками не нужно.
Утренний пик растянулся. Часть гостей приходит к готовому напитку и в очереди не стоит вовсе.
На двух точках из трёх предзаказ занимает около четверти утренних чеков.
Бариста видит, что будет через десять минут, и начинает готовить заранее.
Штампы на картонках убрали, бонусы считаются сами, спорных ситуаций на кассе больше нет.
Владелец смотрит отчёт по точкам и видит, где загрузка выше и куда ставить второго человека утром.
У заказчика исходники, админка с меню и ценами по каждой точке, инструкция для бариста на одну страницу.
Через месяц добавили абонемент - десять напитков пакетом со скидкой, списывается по одному при заказе.