Microservice Telegram bot for booking villas, cars & fishing in Mauritius — AI-powered with RAG
# Mauritius Booking Bot
A microservice-based Telegram bot for booking villas, cars, and fishing trips in Mauritius. Powered by AI recommendations using RAG (Retrieval-Augmented Generation) with vector search.
## Architecture
```
+-------------------+
| Telegram User |
+--------+----------+
|
v
+-------------+-------------+
| Bot Service (aiogram) |
| :8000 |
| - Handlers & FSM |
| - Inline keyboards |
| - Media management |
| - i18n (RU/EN/FR) |
+------+----------+---------+
| |
+------------+ +-------------+
v v
+-------------+-------------+ +--------------+--------------+
| AI Service (FastAPI) | | Booking Service (FastAPI) |
| :8001 | | :8002 |
| - RAG pipeline | | - Availability calendar |
| - LlamaIndex retriever | | - Draft -> Hold -> Confirm |
| - OpenAI reranking | | - Price calculation |
| - Redis response cache | | - Payment processing |
| - Multi-domain prompts | | - Celery background tasks |
+------+----------+--------+ +------+----------+-----------+
| | | |
v v v v
+----+----+ +---+----+ +------+---+ +---+----+
| Qdrant | | Redis | | Postgres | | Redis |
| :6333 | | :6379 | | :5432 | | :6379 |
+---------+ +--------+ +----------+ +--------+
```
## Features
- **AI-Powered Recommendations** -- RAG pipeline with Qdrant vector search and GPT-4o-mini for intelligent property recommendations
- **Multi-Domain Knowledge Base** -- Separate vector collections for villa rentals, real estate purchases, fishing trips, residency permits, and general Mauritius info
- **Booking Management** -- Full booking lifecycle: Draft -> Hold -> Confirm/Cancel with automatic …