Travel — Visión de Producto
Cuadrante 04_EXPLANATION — qué es Travel, qué hace, por qué existe.
1. Qué es Travel
Travel es el PMS (Property Management System) de Timeliber: el motor transaccional para propiedades de hospitalidad de nicho (eco-hoteles, glampings, posadas boutique, ecolodges).
Cobertura funcional
| Capacidad | Implementación |
|---|---|
| Inventario de habitaciones | room_types (categorías) + rooms (unidades físicas) |
| Disponibilidad multi-fecha | Algoritmo de solapamiento semiabierto + combinaciones multi-room para grupos |
| Precios estacionales | seasons con multiplicador (×1.00/×1.15/×1.30) + room_type_prices para overrides |
| Reservas con código único | KASIRI-A1B2C3, idempotente por natural key |
| CRM básico de huéspedes | guests con teléfono UNIQUE + soft delete |
| Catálogos del hotel | experiences, landmarks, contacts, payment_methods, policies |
| Conocimiento estructurado | hotel_knowledge (FAQs) + property_narratives (texto markdown para LightRAG) |
| Políticas de cancelación | cancellation_policies + cancellation_rules escalonadas |
Multi-tenant por property_id |
Aislamiento estricto a nivel de query SQL |
2. Para quién es
Cliente primario: dueños/operadores de propiedades de hospitalidad no-cadena (independientes), con foco en experiencias de naturaleza/eco/cultural. No es para resorts grandes, hoteles urbanos de cadena, ni hostels de mochileros.
Personas:
| Rol | Cómo usa Travel |
|---|---|
| Dueño/Gerente | Dashboard Travel Frontend para ver reservas, calendarios, precios. |
| Recepcionista | Idem dashboard, día a día. |
| Huésped | Conversación WhatsApp via AI Orchestrator (no interactúa con Travel directamente). |
| Pipeline RAG | Consume /knowledge (FAQs) y /properties/{id}/narratives para indexación. |
| AI Orchestrator | Consume /availability, /reservations/public, /properties/{id}/context. |
3. Por qué existe (motivación de negocio)
Los hoteles independientes están subatendidos por: - PMSs corporativos (Cloudbeds, Mews, SiteMinder) — costosos, configuración compleja, UI genérica. - Hojas de cálculo (Excel, Google Sheets) — invisible para integraciones, sin idempotencia, sobreventas frecuentes.
Timeliber Travel apunta a: 1. Configurable por archivo de texto (markdown del hotelero + YAML/CLI seed) — onboarding en minutos, no días. 2. API-first — cualquier canal (WhatsApp, web, OTA) puede consumir. 3. Multi-tenant — un solo deployment sirve N hoteles aislados. 4. Multi-canal: Conversación natural via AI Orchestrator es el canal principal — no un add-on.
4. Cómo se relaciona con el ecosistema Timeliber
Huésped/Cliente externo
│
▼
WhatsApp ◄──► n8n ◄──► AI Orchestrator (puerto 8002)
│
│ HTTP (X-Internal-Token)
▼
┌─────────────────────┐
│ Travel Backend │
│ :8001 │
└─────────┬───────────┘
│ HTTP (provisioning)
▲
│
┌─────────────────────┐
│ RAG Studio │
│ :8003 │
│ (LightRAG + Qdrant) │
└─────────────────────┘
▲
│ markdown del hotelero
│
┌─────────────────────┐
│ Hotelero │
│ (un solo .md │
│ canónico) │
└─────────────────────┘
Contratos clave
| Quién consume Travel | Qué consume | Auth |
|---|---|---|
| AI Orchestrator | /availability, /reservations/public, /properties/{id}/context, /knowledge/search |
X-Internal-Token |
| RAG Studio | /admin/properties/bulk-upsert (provisioning) |
red interna |
| Travel Frontend | CRUD admin de reservas, rooms, guests, room_types | JWT |
Qué Travel NO hace (por diseño)
- ❌ No hace embeddings ni búsqueda semántica — eso vive en RAG Studio.
- ❌ No llama a LLMs — eso vive en AI Orchestrator.
- ❌ No procesa pagos en línea — eso vive a futuro en M4 / OmniCortex.
- ❌ No envía mensajes WhatsApp directamente — eso lo hace Evolution API via n8n + AI Orchestrator.
5. Decisiones de producto firmes
| Decisión | Documento |
|---|---|
| Layered Architecture sobre SV Vertical Slicing | ADR-005 |
| Soft delete sobre hard delete | ADR-003 |
X-Internal-Token sobre JWT para /public |
ADR-001 |
| OTEL + Grafana LGTM sobre Datadog | ADR-004 |
| Schema canónico de ENUMs vive en RAG (no en Travel) | RAG ADR-004 |
6. Estado actual
- 🟢 Producción con
kasiri-01(Kasiri Glamping Eje Cafetero). - 🟡 Onboarding de
baum-01(segundo cliente). - 21 tablas en
travel_db, esquema v2 desde 2026-04-20. - 118 tests (91% cobertura) con SQLite in-memory.
- Deuda técnica priorizada en TECH_DEBT.md.
Versión de producto Travel 2.0.0 — ACS Standard 2026.