# Мини-ТЗ: Telegram-бот для агентства сопровождения
## 1. Цель проекта
Разработать Telegram-бота для приема заявок от клиентов, демонстрации анкет моделей/сопровождающих, консультации пользователей и передачи заявок администратору.
Бот должен упростить коммуникацию с клиентом, показать доступные анкеты, собрать параметры запроса и отправить заявку менеджеру.
## 2. Основные роли
### Клиент
Может:
* открыть меню бота;
* посмотреть каталог анкет;
* выбрать город/дату/формат встречи;
* оставить заявку;
* связаться с менеджером;
* получить правила сервиса.
### Администратор
Может:
* получать новые заявки;
* просматривать данные клиента;
* добавлять/редактировать/скрывать анкеты;
* менять статусы заявок;
* отправлять клиенту сообщения через бота.
## 3. Функционал клиентской части
### 3.1. Стартовое меню
При команде `/start` бот показывает приветствие и кнопки:
* Каталог
* Оставить заявку
* Правила
* Связаться с менеджером
* Мои заявки
### 3.2. Каталог анкет
В каталоге отображаются карточки анкет:
* имя/псевдоним;
* возраст 18+;
* город;
* краткое описание;
* фото;
* доступные форматы сопровождения;
* кнопка “Оставить заявку”.
Фильтры:
* город;
* дата;
* формат;
* бюджет/диапазон стоимости;
* доступность.
### 3.3. Создание заявки
Бот пошагово собирает:
* город;
* дату и время;
* формат сопровождения;
* выбранную анкету или “подобрать вариант”;
* пожелания клиента;
* контакт для связи;
* подтверждение возраста 18+;
* согласие с правилами сервиса.
После заполнения заявка отправляется администратору.
### 3.4. Связь с менеджером
Кнопка для связи:
* через Telegram-чат;
* либо отправка заявки “Нужна консультация”.
## 4. Админ-панель
Вариант 1: управление через отдельные команды в Telegram.
Вариант 2: простая веб-админка.
Функции администратора:
* список заявок;
* просмотр заявки;
* изменение статуса: новая / в работе / подтверждена / отменена / завершена;
* добавление анкеты;
* редактирование анкеты;
* скрытие анкеты из каталога;
* рассылка уведомлений клиентам;
* просмотр истории заявок.
## 5. Анкеты
Поля анкеты:
* имя/псевдоним;
* возраст 18+;
* город;
* описание;
* фото;
* доступность;
* форматы сопровождения;
* стоимость/диапазон;
* статус: активна / скрыта.
Контент должен проходить модерацию. Запрещается публикация откровенного, незаконного или вводящего в заблуждение контента.
## 6. Уведомления
Бот отправляет уведомления:
* администратору о новой заявке;
* клиенту о получении заявки;
* клиенту при изменении статуса заявки;
* администратору при сообщении от клиента.
## 7. Безопасность и ограничения
* Обязательное подтверждение возраста 18+.
* Хранение минимально необходимых данных.
* Возможность удалить данные клиента по запросу.
* Защита админ-функций по Telegram ID.
* Логирование действий администратора.
* Запрет на публикацию незаконных услуг и explicit-контента.
* Дисклеймер: сервис предоставляет только легальные услуги сопровождения, досуга и event-компаньонства.
## 8. Техническая часть
Рекомендуемый стек:
* Backend: Python FastAPI / Node.js / PHP Laravel;
* Telegram Bot API;
* База данных: PostgreSQL или MySQL;
* Хранение изображений: локально на сервере или S3-совместимое хранилище;
* Админка: Telegram-команды или веб-панель;
* Деплой: VPS + Docker/Nginx.
## 9. Этапы разработки
1. Проектирование логики бота и структуры БД.
2. Разработка клиентского сценария.
3. Разработка админ-функций.
4. Реализация каталога и заявок.
5. Подключение уведомлений.
6. Тестирование.
7. Деплой на сервер.
8. Инструкция для администратора.
## 10. MVP
В первую версию входит:
* стартовое меню;
* каталог анкет;
* создание заявки;
* отправка заявки администратору;
* базовое управление анкетами;
* статусы заявок;
* защита админ-доступа.
Дополнительно можно добавить:
* веб-админку;
* онлайн-оплату;
* CRM;
* интеграцию с Google Sheets;
* автоподбор анкет;
* мультиязычность;
* аналитику заявок.