Создать MVP сервиса (AI-агента), который автоматически формирует подборку туров на основе параметров клиента через API Слетать.ру и передаёт результат в qui-quo.
Система предназначена для внутреннего использования менеджерами, но архитектура должна позволять дальнейшее масштабирование.
Функционал MVP 1. Входные данные
Через web-интерфейс или API:
* страна / направление * город вылета * даты * состав туристов * бюджет * категория отеля * питание и доп. фильтры
2. Поиск туров
* Интеграция с API Слетать.ру (агентский доступ предоставляется) * Получение списка туров * Обработка пагинации и возможных лимитов
3. Алгоритм отбора
Система должна автоматически:
* исключать варианты выше бюджета * удалять дубликаты * сортировать по цене / рейтингу * формировать подборку из 5–10 лучших вариантов
Результат должен быть объяснимым (почему выбран именно этот вариант).
4. Формирование подборки
Передача выбранных вариантов в qui-quo:
* через существующую интеграцию или * через автоматизацию браузера (Playwright)
Менеджер получает ссылку на готовую подборку. Технические требования
* Backend: Python (FastAPI предпочтительно) * Работа с внешним API * Очередь задач (поддержка 5–10 параллельных подборок) * Модульная архитектура (разделение бизнес-логики и интеграций) * Docker-развёртывание * Логирование и обработка ошибок * Хранение задач и результатов (PostgreSQL или аналог)
Важно
Это MVP, но архитектура должна предусматривать:
* дальнейшее масштабирование * multi-tenant модель * увеличение количества параллельных задач * возможность добавления других поставщиков
Решение не должно быть одноразовым скриптом.
Результат работы
* Рабочий сервис * Возможность создать подборку через UI * 5 параллельных задач без падений * docker-compose для запуска * Документация по запуску
В отклике укажите пожалуйста: 1. Как обеспечите 5–10 параллельных задач? (очередь/воркеры/конкурентность) 2. Как устроите слои проекта? (модули/папки/интерфейсы) 3. Как будете хранить tenant_id с самого начала? 4. Как будет обрабатывать rate limit и ретраи? 5. Какой fallback, если qui-quo automation нестабильна? 6. Как будете ограничивать количество одновременных запросов к API Слетать, чтобы не словить бан?