Задачи чат-бота: информирование клиентов, сбор информации. Продукт: кафе. Техзадание есть. Пожелания и особенности: Ниже готовое понятное ТЗ, которое можно просто вставить в заявку на Профи.Ру и дописать бюджет/сроки. Описание проекта Нужно разработать Telegram?бота с Telegram Mini App (WebApp) для кафе/доставки еды. Пользователь оформляет заказ через мини?приложение, бот шлёт уведомления администратору и клиенту, есть роли: директор, администратор, курьер. Основные задачи Разработать Telegram?бота. Разработать Mini App (встроенное веб?приложение) с меню и корзиной. Реализовать роли и панель для директора, администраторов и курьеров. Настроить хранение данных (меню, заказы, пользователи, бонусы). Подготовить инструкцию по развёртыванию и запуску. Функционал для пользователя Команда /start: приветствие, автоматическое начисление 500 приветственных бонусов, краткая инструкция. Кнопка «Ваше меню», которая открывает Mini App. В Mini App: Поле ввода и редактирования адреса (улица, дом, подъезд, этаж, квартира, комментарий). Новостная лента/«истории» с акциями, новинками, промокодами, плюс «вечная история»?кнопка с переходом в Telegram?канал кафе. Меню одной непрерывной лентой, без переходов на отдельные страницы: категории кнопками/табами «Завтраки», «Закуски», «Салаты», «Основные блюда», «Напитки»; минимум лишних кнопок. Для каждой позиции: название, краткое описание (по возможности), цена, фото, кнопка «+» для добавления в корзину. Корзина внизу: список выбранных блюд, итоговая сумма, учёт бонусов, кнопка «Оформить заказ». При оформлении заказа Mini App передаёт данные в бота (состав заказа, адрес, комментарий). Бонусная система: Новым пользователям — 500 бонусов. Бонусы можно использовать только на оплату до 50% заказа и только при сумме заказа от 500 руб. Отображение текущего бонусного баланса пользователя. Логика заказа и уведомлений Пользователь оформляет заказ в Mini App. В боте создаётся заказ в БД со статусом «Новый», заказ уходит администратору. Администратор получает уведомление с деталями заказа и кнопками «Подтвердить» / «Отклонить». После подтверждения: Пользователю приходит сообщение, что заказ принят, и кнопка/инструкция для оплаты (можно предусмотреть готовность к интеграции с платёжкой или сделать оплату при получении — прошу отдельно указать, как считаете оптимально реализовать). После оплаты/подтверждения админом заказ переводится в следующий статус («Готовится», «Передан курьеру», «Доставлен»). Все ключевые изменения статуса (принят, готов, передан курьеру, доставлен) должны приходить пользователю в виде сообщений в боте. Роли и права доступа Директор Директором является Telegram?аккаунт с ID [Телефон скрыт] (жёстко зашит). Права: Добавление и удаление администраторов и курьеров по их Telegram ID. Просмотр списка всех пользователей с ролями. Все функции администратора. Администратор Возможности: Редактирование меню (добавление/удаление/изменение блюд, цен, доступности, фото). Редактирование контактных данных кафе. Получение уведомлений о новых заказах, подтверждение/отклонение заказов. Назначение курьера для заказа. Начисление бонусов конкретным пользователям вручную (по Telegram ID или выбору из списка). ? Курьер Получает список назначенных ему заказов с адресами и контактами. Для каждого заказа две кнопки статуса: «Забрал заказ». «Доставил заказ». После нажатия «Доставил» пользователю приходит уведомление, что заказ доставлен. Нефункциональные требования Язык интерфейса: русский. Бот и Mini App должны корректно работать на мобильных устройствах (iOS/Android Telegram). Минимум лишних кнопок в интерфейсе, всё максимально интуитивно. Хранение данных в БД (можно SQLite/PostgreSQL — жду предложения исполнителя). Надёжная структура кода, возможность дальнейшего расширения (ещё акции, промокоды и т.п.). ? Интеграции и развёртывание Нужно, чтобы бот и Mini App работали 24/7 без моего компьютера (хостинг/VPS/облако). Исполнитель должен: Предложить конкретный вариант хостинга (желательно недорогой или бесплатный на старте). Настроить деплой. Передать все доступы и инструкции: как перезапустить бота, как обновить меню, как менять тексты.