Служба вывоза строительного и бытового мусора заказала приложение для приёма заявок.
Диспетчер принимал всё по телефону и вёл заявки в тетради.
Адрес на слух, объём контейнера на слух, стоимость считали по прайсу в уме и потом расходились с суммой в счёте.
Клиент звонил второй раз узнать, когда подадут контейнер, диспетчер искал нужную строчку.
Заявки в выходные пропадали целиком - трубку никто не брал, человек уходил к следующему в выдаче.
Просили приложение внутри Telegram, чтобы заказ оформлялся с телефона за минуту и без звонка.
Mini App написан на React, бот - Python и aiogram 3, серверная часть на FastAPI, база PostgreSQL.
Первый экран - объём контейнера: 8, 20 и 27 кубов, к каждому картинка с габаритами и примером, что в него влезает.
Тип отходов отдельным шагом - строительный, грунт, бытовой, ветки. От него зависят цена и допуск, под грунт идёт другая машина.
Адрес вводится с подсказками и ставится точкой на карте, координаты уходят водителю ссылкой.
Дата и интервал подачи выбираются в календаре, занятые интервалы закрыты - расписание машин ведётся в админке.
Стоимость пересчитывается на экране на каждом шаге - объём, тип отходов, зона по удалённости от базы, простой контейнера сверх оплаченных суток.
Физлицу оплата картой и СБП, юрлицу - счёт с реквизитами, реквизиты подтягиваются в счёт из заявки.
Готовая заявка падает в чат диспетчеров карточкой с кнопками, статусы - принята, машина назначена, контейнер подан, вывезен.
Так-же клиент видит статус у себя в приложении и получает сообщение при каждой смене.
Деплой на VPS в Docker, домен с HTTPS обязателен - без него Telegram приложение не откроет.
Заявка оформляется за минуту с телефона, звонок диспетчеру нужен теперь только по нестандартным объёмам.
Тетрадь ушла, все заявки лежат в админке с историей и фильтром по датам и статусам.
Спор о цене снялся - клиент видит расчёт до оплаты, счёт юрлицу приходит на ту же сумму.
Выходные перестали быть дырой, заявки копятся в системе и разбираются с утра в порядке подачи.
Исходники, админка и инструкция по правке прайса и зон остались у службы, цены они меняют сами.
Уже после приёмки добавил кнопку повторить прошлый заказ - у службы много постоянных подрядчиков со стройки.
Демо приложения открыто по ссылке к работе.