Hospitality RMS, revenue management para hoteles independientes
Un sistema que prevé la demanda y recomienda precios y restricciones de estancia, conectado a seis PMS y dos channel managers.
- Sector
- Hostelería
- Encargo
- Producto propio
- Mi papel
- Diseño de producto, arquitectura y desarrollo
- Duración
- En producción desde marzo de 2026
- Stack
- NestJS, Python, FastAPI, LightGBM, PostgreSQL, TimescaleDB, Redis, Next.js, Docker, Hetzner
El problema
Los hoteles independientes y los aparthoteles de 30 a 150 unidades suelen fijar precios con una hoja de cálculo y la intuición de quien lleva las reservas. Las herramientas de revenue management del mercado están pensadas para cadenas y cuestan en proporción.
Qué decidí
- El sistema recomienda y la persona decide. Cada precio o restricción propuesta (estancia mínima, cierre a la llegada) se aprueba, se ajusta o se rechaza. Mientras el hotel aprende a confiar en el sistema, eso importa más que automatizarlo todo.
- Un modelo de datos común y un adaptador por PMS. Conectar un PMS nuevo no obliga a tocar el motor de previsión.
- Un servidor por cliente, para que los datos de cada hotel queden aislados.
Qué construí
- Adaptadores para Sihot (XML), Apaleo (OAuth2), Noray sobre Business Central (OData), Amenitiz, Cloudbeds y Mews, y para los channel managers Channex y SiteMinder. Las credenciales se guardan cifradas.
- Un motor de previsión en Python con LightGBM, calibración de la incertidumbre y una explicación legible de cada recomendación.
- Comparación con los precios de la competencia, simulación de overbooking y un banco de pruebas que reproduce temporadas pasadas para validar cada cambio del motor.
- Panel en Next.js, backend en NestJS con PostgreSQL y TimescaleDB, y despliegue con GitHub Actions.
Resultado
Funciona en producción en un aparthotel desde marzo de 2026. Sobre unas 36.000 reservas reales, el error absoluto medio de la previsión es de 1,62 unidades.