# GetSalonAI — готовый AI-администратор для салонов красоты
## Техническая и функциональная спецификация лота
> Для использования при размещении на Telderi. Числа/примеры — тестовые данные для иллюстрации, не выручка бизнеса.
---
## 1. Что это
Готовое, полностью протестированное решение: AI-администратор для салонов красоты и клиник эстетической косметологии, работающий в Telegram. Клиент переписывается с ботом обычным языком — бот понимает запрос, проверяет реальное расписание, записывает, напоминает о визите. Администратор салона управляет всем — ценами, услугами, мастерами, статистикой — тоже прямо в Telegram, без отдельной панели и без необходимости учиться новому интерфейсу.
**Позиционирование лота**: готовый код + инфраструктура для развёртывания под собственным брендом в любом городе/стране — не передача уже действующего бизнеса с клиентской базой.
---
## 2. Технический стек
- **n8n** — оркестрация логики и AI-агента (self-hosted, полный контроль над данными)
- **PostgreSQL 17** — база данных (22 таблицы, полная реляционная схема)
- **OpenAI (совместимо с любой LLM через n8n)** — языковая модель для понимания запросов
- **Telegram Bot API** — клиентский и админский интерфейс
- **Docker / Docker Compose** — контейнеризация, разворачивается на любом VPS одной командой
- **Cloudflare Tunnel** — постоянный HTTPS-домен без пробрасывания портов
Полностью портируемо — весь стек разворачивается на новом сервере за 1-2 часа (проверено на практике при переносе с локальной машины на VPS).
---
## 3. Клиентские функции (Telegram)
### Запись на услугу — разговорный интерфейс, не форма
- Понимает свободную речь: «хочу маникюр завтра вечером к Мадине» — без выбора из выпадающих меню
- Автоматически сопоставляет разговорные названия услуг с реальными позициями в базе («японка» → японский маникюр, «2д» → наращивание 2D)
- Держит контекст диалога: «а у топа?», «а ещё какие?» — понимает, о чём речь, без переспрашивания
- Проверяет **реальное** свободное время у конкретного мастера перед тем как предложить его — никогда не выдумывает доступность
- Если подходит несколько мастеров нужного уровня — сама проверяет доступность у всех и предлагает лучший вариант
- Запись создаётся только после явного подтверждения клиента
### Управление своей записью
- Просмотр своих актуальных записей
- Перенос записи (с повторной проверкой доступности нового времени — исключён сценарий, где клиент случайно остаётся без записи вообще)
- Отмена записи с подтверждением
### Подтверждение визита
- Автоматическое напоминание перед визитом с inline-кнопками «Подтверждаю» / «Не смогу прийти»
- Отказ клиента автоматически освобождает слот и уведомляет администратора
### Идентификация клиента
- При первом обращении бот сам вежливо запрашивает имя и телефон, дальше не переспрашивает
- Существующие клиенты узнаются автоматически по Telegram ID
### Мягкие допродажи (встроено, отключаемо)
- Аккуратное предложение дополнения к услуге после подтверждения записи — только на основе реальных данных, без давления, максимум один раз за диалог
---
## 4. Административные функции (тоже в Telegram, без сайта/панели)
### Просмотр и управление записями
- Все записи салона за любую дату
- Отметка визита как завершённого или неявки клиента (с защитой от ошибочной пометки — только для существующих подтверждённых записей)
### Клиенты
- Полная база: история визитов, количество посещений, статус
### Услуги и цены — управление разговором, не формами
- Добавление новой услуги (название, категория, длительность, цены по уровням мастера) — с подтверждением перед сохранением
- Изменение цены существующей услуги
- Деактивация услуги (мягкое скрытие — история старых записей не ломается, в отличие от физического удаления)
- Просмотр списка скрытых услуг
### Мастера
- Добавление, изменение уровня, деактивация — с проверкой будущих записей перед деактивацией (администратора предупреждают, если у мастера есть предстоящие визиты, прежде чем скрыть его)
### Статистика
- Показатели за любой период: количество записей, подтверждённые/завершённые/отменённые/неявки, выручка, средний чек
- Понимает произвольные формулировки периода («статистика за последние 3 дня», «за август»)
### Рабочие графики
- Постоянный график по дням недели
- Индивидуальные исключения (отпуск, больничный, изменённые часы на конкретную дату)
---
## 5. Безопасность и надёжность — это не прототип
### Разграничение прав — на уровне базы данных, не только текстом
Все административные функции защищены прямой проверкой в SQL-запросе против таблицы администраторов (whitelist по Telegram ID). Даже если модель ошибётся или клиент попытается манипулировать через промпт — база данных физически не выполнит изменение без прав.
### Защита от гонок (race condition)
Пересекающиеся записи на одного мастера физически исключены на уровне constraint базы данных (`EXCLUDE USING gist`), а не только логикой приложения. Проверено нагрузочным тестом с параллельными запросами.
### Идемпотентность
Повторная обработка одного Telegram-события (сетевые ретраи) не создаёт дублирующихся записей — реализована двухуровневая защита.
### Защита от prompt injection
Явные системные правила против попыток клиента заставить бота раскрыть внутренние инструкции, чужие данные или выполнить неавторизованные действия.
### Rate limiting
Защита от накрутки/спама — ограничение количества сообщений от одного пользователя в единицу времени.
### Автоматическое резервное копирование
Ежедневный автоматический бэкап базы данных по расписанию.
---
## 6. Что входит в лот
- Полный экспорт workflow n8n (JSON)
- Полная схема PostgreSQL (DDL всех 22 таблиц, индексов, constraint'ов)
- Системный промпт AI-агента (используемый в продакшене, полностью отлажен на реальных диалогах)
- Инструкция по развёртыванию на новом сервере (Docker Compose файл, пошаговая настройка Cloudflare Tunnel)
- Готовая презентация продукта (PDF/PPTX) для питча собственным клиентам
## 7. Что не входит
- Текущая клиентская база и активные интеграции в Ташкенте (продавец продолжает вести собственный локальный бизнес под тем же продуктом, права на бренд/название не передаются)
- Домен (покупатель разворачивает под собственным доменом/брендом)
---
## 8. Для кого этот лот
Готовый продукт для предпринимателя, который хочет запустить AI-автоматизацию для сферы услуг (салоны красоты, барбершопы, клиники, спа) в своём городе или стране — без необходимости проходить весь путь разработки и отладки с нуля. Вся сложная инженерная часть (защита от гонок, права доступа, идемпотентность, разговорный AI поверх реальной базы данных) уже решена и проверена на практике.