Saltar al contenido

Datos de reservas de varios hoteles, consolidados para informes

Los datos de reservas de doce hoteles dependían de listas mensuales revisadas a mano, así que el workflow incorpora las reservas de forma continua y mantiene un único conjunto de datos coherente e histórico para los informes de clientes.

Periodo
2026
Contexto
Trabajo profesional
Cliente
No revelado

Contexto

Las reservas de un grupo de hoteles se revisaban y consolidaban a mano, a partir de listas que la plataforma de reservas enviaba una vez al mes.

Hacía falta un workflow que recibiera los eventos de reserva a medida que ocurren, los mantuviera coherentes entre hoteles y dejara esa información lista para informes y seguimiento operativo.

Formato de mensaje
XML / SOAP
Alcance
Varios hoteles
Tipos de evento
Reserva · Modificación · Cancelación
Destino
Google Sheets

El reto

Los eventos de reserva de varios hoteles tenían que recibirse como mensajes XML/SOAP estructurados, autenticarse, normalizarse y enrutarse de forma coherente, preservando el estado correcto entre reservas, modificaciones y cancelaciones.

Mi responsabilidad

  1. Recepción y validación

    • Construí el flujo de ingesta y procesamiento de los mensajes de reserva XML/SOAP.
    • Implementé la autenticación y la validación de las peticiones.
  2. Tratamiento de datos

    • Normalicé los eventos de reserva, modificación y cancelación en una estructura interna coherente.
    • Implementé el enrutamiento por hotel hacia el destino adecuado.
    • Construí la lógica de conciliación de los eventos de modificación, para que los registros eliminados de una reserva actualizada se reflejaran correctamente en los datos de destino.
  3. Entrega y fiabilidad

    • Implementé el registro estructurado y la gestión de errores para las peticiones válidas e inválidas.
    • Conecté los datos de reserva procesados con Google Sheets.
    • Probé la integración y los flujos de mensajes con Postman.

Solución

Construí de principio a fin un workflow de n8n que recibe los eventos de reserva, analiza y valida los mensajes entrantes, transforma los datos relevantes en una estructura interna coherente y los enruta al destino adecuado. El workflow separa los eventos estándar de las modificaciones e incluye lógica de conciliación para mantener sincronizados los registros de reservas ya almacenados cuando cambia el estado entrante.

Decisiones

  • Elegí n8n para ejecutar el workflow y Google Sheets como destino, siguiendo el consejo de mi responsable.

  • Traté las modificaciones por separado de las reservas nuevas, de modo que los registros eliminados de una reserva actualizada se reflejen en los datos almacenados en lugar de quedarse atrás.

  • Validé cada flujo de mensajes externo en Postman antes de conectarlo al workflow.

Enfoque técnico

  1. Recepción

    Ingesta basada en eventos mediante webhooks.

  2. Análisis y autenticación

    Análisis de XML/SOAP y autenticación de las peticiones.

  3. Normalización

    Normalización de los datos de reserva en una estructura interna coherente.

  4. Enrutamiento

    Enrutamiento por hotel. Tratamiento separado de los eventos estándar y de modificación.

  5. Conciliación

    Conciliación de los registros existentes durante las modificaciones.

  6. Persistencia y respuesta

    Rutas de respuesta estructuradas para peticiones válidas e inválidas. Google Sheets como destino operativo.

El sistema

  1. Elige qué llega para ejecutarlo.

Se recibe y se analiza un evento de reserva externo. A continuación se valida la petición: las peticiones inválidas salen por una rama de rechazo y no avanzan más. Los datos de reserva válidos se normalizan en una estructura coherente y se enrutan según su destino. Después el flujo se divide por tipo de evento. Los eventos estándar, es decir, las reservas nuevas y las cancelaciones, se persisten directamente. Los eventos de modificación primero concilian el estado entrante con los registros existentes y luego actualizan los registros afectados antes de persistir los datos entrantes. Ambos caminos terminan devolviendo una respuesta.

Fig. 1 — Flujo abstracto de procesamiento de reservas que muestra la validación, la normalización, el enrutamiento y la conciliación de modificaciones.

La implementación en producción

Fig. 2 — Vista general del workflow en producción. La implementación completa se ejecuta como una automatización de n8n que procesa eventos de reserva de varios hoteles.

Resultado

  • El workflow funciona en producción desde 2026 y actualmente cubre doce hoteles.

  • Los datos de reservas pueden consultarse de forma continua y no solo a través de una lista mensual, y se conserva su historial.

  • Los datos consolidados son la fuente de los informes de clientes en Looker Studio, donde permiten hacer comparaciones a lo largo del tiempo.

  • Reduce parte de la revisión y consolidación manual que antes se hacía cada mes.

Lecciones aprendidas

  1. Este proyecto me dio experiencia en producción con SOAP además de REST: mensajes XML que tenían que convertirse en JSON dentro del workflow, las cabeceras que exige el servicio y la validación de cada flujo externo en Postman antes de conectarlo a n8n.

  2. También aprendí a diseñar para datos que cambian después de crearse. Las modificaciones y las cancelaciones necesitaban una conciliación construida alrededor de identificadores únicos y estados de reserva, para que los datos almacenados sigan coincidiendo con las reservas que describen.

  3. Ejecutar n8n en producción me enseñó a averiguar de antemano qué nodos, datos, credenciales y accesos necesita un workflow, a anticipar los casos de error y gestionarlos, y la diferencia entre un workflow que funciona en una prueba y uno que tiene que seguir funcionando en producción.

Tecnologías

WebhooksXMLJSONSOAPWS-SecurityGoogle SheetsPostman

Más de mi trabajo

Todos los proyectos
  1. 01 · Trabajo para clientesFormulario en dos pasos e integración con una APIUn formulario en dos pasos tenía que comprobar la elegibilidad de un vehículo en un servicio externo, convertir cada respuesta en un estado de resultado claro y llevar la atribución de campaña hasta el envío.Ver proyecto
  2. 02 · Trabajo para clientesBuscador interactivo de clubes de golf y flujo de inscripciónUna campaña estacional necesitaba un único flujo de inscripción para varios clubes, cada uno con reglas de disponibilidad fijadas por el cliente, de modo que cada lead llegara al club correcto con el siguiente paso correcto.Ver proyecto
  3. 03 · Trabajo para clientesReconstrucción en WordPress y sistema de contenido estructuradoUn nuevo sitio WordPress construido para que un equipo no técnico pueda publicar artículos, ebooks y webinars mediante contenido estructurado, con formularios de captación conectados al CRM que el cliente ya usaba.Ver proyecto

Abierto a puestos de integración, automatización e implementación técnica.