Андрей globall.dev zallord Сбер ID
Telegram-боты, Mini App, SaaS и веб-сервисы под ключ
Рейтинг
1 756
№ 572 в каталоге
Отзывы
0
Профессионализм
-/10
Коммуникация
- /10
Город
Москва
Опыт работы
7 лет
На сайте с
2019 года
Юридический статус
ИП
Freelance.Boutique
Премиум-сервис для лучших исполнителей

Экспресс-магазин продуктов в Telegram - весовой товар с пересчётом по факту и слоты доставки

Используемые навыки PostgreSQL Python Telegram API Веб-приложение Обработка платежей

Описание

Локальный магазин продуктов с доставкой по своему району обратился за витриной в Telegram.
Заказ до этого выглядел как список в переписке - покупатель писал позиции текстом, сборщик читал и шёл по залу с телефоном в руке.
Пункты забывали, особенно в длинных списках на десять и больше строк.
Отдельная морока была с весом. Просят полкило сыра, кусок выходит на 620 грамм, дальше сумму пересчитывали руками уже по факту, и на пороге начинался разговор про деньги.
Продавали и то, чего на полке нет, потому что остатки никто не сверял до сборки.
Магазин обещает доставку за пятнадцать минут по району и хотел, чтобы это обещание держалось не на честном слове сборщика.

Решение

Витрина открывается из бота, каталог разбит по категориям, сверху поиск по названию.
Весовые товары считаются за килограмм, шаг в карточке - 100 грамм, цена выбранного количества видна сразу.
Под вес заложен допуск. Покупатель заранее помечает, что делать при расхождении - взять ближайший вес или позвонить. После сборки заказ пересчитывается по фактическому весу, разница возвращается на карту.
Замена позиции - если товара нет, сборщик предлагает аналог прямо в боте, покупатель подтверждает или убирает из заказа одной кнопкой.
Слоты доставки - ближайшие пятнадцать минут либо интервал на потом. Лимит заказов в слот привязан к числу курьеров на смене.
Остатки подтягиваются из учётной таблицы магазина раз в несколько минут и лежат в кеше. Ходить в таблицу на каждое открытие витрины нельзя - Google режет по лимитам запросов, и каталог начинает висеть у всех сразу.
Товар с нулевым остатком уходит вниз списка и помечается, то-есть с витрины не пропадает. Иначе постоянные покупатели пишут, что каталог сломался.
Оплата картой и СБП, чек уходит через кассу магазина.
Сборщику - список позиций с указанием стеллажа, собранное отмечается галочкой.
Стек - Python, aiogram 3, Mini App, PostgreSQL, Google Sheets API, VPS.

Результат

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

Оценили проект:

Другие проекты

Все проекты →
Веб-разработка и IT Магазин электроники в Telegram - характеристики, сравнение моделей и рассрочка
Магазин электроники в Telegram - характеристики, сравнение моделей и рассрочка
16
Веб-разработка и IT Интеграция с маркетплейсами - остатки, заказы и статусы в одном окне
Интеграция с маркетплейсами - остатки, заказы и статусы в одном окне
15
Веб-разработка и IT Бутик одежды в Telegram - лукбук, размеры и запись на примерку
Бутик одежды в Telegram - лукбук, размеры и запись на примерку
15
Маркетинг и Продвижение Сквозная аналитика для бота и сайта - источники заявок, воронка и окупаемость
Сквозная аналитика для бота и сайта - источники заявок, воронка и окупаемость
17