Gestión de movimientos

Gestión de movimientos

Movimientos

Tabla de contenidos

  • Introducción
  • Casos de uso
  • Métodos disponibles
  • Tabla de parámetros
  • Ejemplos
  • Petición (POST)
  • Respuesta (POST)
  • Petición (GET)
  • Respuesta (GET)
  • Petición (PATCH)
  • Respuesta (PATCH)


Introducción:

En este artículo hablamos sobre las peticiones de la API relacionadas con los Movimientos(Entries).
  • Crear  movimiento
  • Actualizar movimiento
  • Listar y filtrar movimientos

Se entiende por movimiento cualquier conjunto de datos que implique una acción de un cliente a través de una plataforma de terceros, como por ejemplo:
  • Una reserva desde el motor de la web.
  • Una estancia desde el PMS.
  • Una conexión desde el portal cautivo.
  • La compra de un servicio del hotel desde una aplicación de conserjería virtual...

El endpoint que utilizamos es: https://app.hoteldatahub.io/api/v1/entries/ y el apartado del Swagger es: https://app.hoteldatahub.io/swagger/#/entries


Casos de uso:

La gestión de movimientos resulta de gran utilidad para segmentar y automatizar el envío de campañas de email marketing, o para añadir puntos a la ficha de un contacto fidelizado.

  1. Gestión de campañas: en Fideltour, las campañas de email marketing pueden automatizarse en base a los datos de un movimiento. Por ejemplo, es posible enviar campañas según la fecha de entrada o salida de un huésped, también podemos utilizar la fecha de creación de la reserva para enviar un correo de agradecimiento, de venta cruzada o simplemente informativo.

  1. Programa de fidelización: si el cliente tiene contratado el módulo Loyalty de Fideltour,  se utilizan los movimientos para otorgar puntos de fidelización a los contactos.


Métodos disponibles:

Todos los métodos y filtros disponibles para trabajar con movimientos se pueden consultar aquí.
En este artículo nos centramos en los siguientes:

  1. GET: Consulta de datos de uno o varios movimientos
  2. POST: Creación de un nuevo movimiento
  3. PATCH: Actualización de los datos de un movimiento ya existente

En algunos métodos es necesario conocer el ID del entry, y para obtener dicho ID, recomendamos utilizar el endpoint https://app.hoteldatahub.io/api/v1/entries/ con los siguientes parámetros de URL:

  • Localizador (localizer)
  • ID del contacto al que pertenece (contact)
  • Canal de entrada del movimiento(input_channel)


Tabla de parámetros:


Campo
Tipo
Obl.
Descripción
hotel_chain
String
Si
Código de la empresa. 
Proporcionado por HotelDataHub.
contact
Integer
Si
Identificador en HotelDataHub, del contacto que realiza el movimiento.
date
Datetime
YYYY-MM-DDTHH:MM:SS
Si
Fecha del movimiento
entrance
Date YYYY-MM-DD
Si
Fecha de entrada
departure
Date YYYY-MM-DD
Si
Fecha de salida
localizer
String
Si
Localizador
hotel
Integer
Si
Identificador del hotel.
Proporcionado por HotelDataHub.
agency
String
No
Dos opciones:
  • Identificador de la agencia ya creada.
  • Nombre de la agencia. El sistema la crea si no existe ninguna con ese nombre
booking_type
Integer
No
Tipo de movimiento
  • 0 = Booking (Default)
  • 1 = Stay
  • 2 = Visitante
  • 3 = Otros
  • 4 = Mesa en restaurante
  • 5 = Acceso a gimnasio o SPA
  • 6 = Actividades de animación
  • 7 = Tratamiento de SPA
  • 8 = Cama balinesa
  • 9 = Excursión
  • 10 = Transfer
  • 11 = Room service
  • 12 = Reposición de minibar
  • 13 = Alquiler de vehiculo
  • 14 = Cotización
  • 15 = Bar
  • 16 = Restaurante
  • 17 = Acceso al Spa
  • 18 = Gimnasio
  • 19 = Actividad deportiva
  • 20 = Golf
  • 21 = Parking
amount
Float
No
Importe total.
currency
String
No
Moneda.
status
Integer
No
Estado del movimiento
  • Activa=1
  • Inactiva=0
Default= 1
sub_status
Integer
No
Estado del movimiento
  • Anulado=1
  • Confirmado=2
  • Pendiente=3
  • Cancelado=4
  • No show=5
  • Modificado=6
  • Cotización=7
  • Estancia=8
  • Salida=9
room_number
String
No
Número de habitación
adults
Integer
No
Cantidad de adultos en el movimiento
juniors
Integer
No
Cantidad de juniors en el movimiento
childs
Integer
No
Cantidad de niños en el movimiento
babies
Integer
No
Cantidad de bebés en el movimiento
input_channel
Integer
No
Canal de entrada del movimiento
  • 0 = Teléfono
  • 1 = WEB
  • 2 = APP
  • 3 = WiFi
  • 4 = PMS
  • 5 = API
  • 6 = IMPORT
  • 7 = BE
  • 8 = CHATBOT
  • 9 = CONCIERGE
  • 10 = CALL CENTER
is_checkin_realized
Booleano
No
Indica si se ha confirmado/realizado el checkin. Default: False
is_checkout_realized
Booleano
No
Indica si se ha confirmado/realizado el checkout. Default: False
url
String (máx. 1024 caracteres)
No
Permite enviar una URL asociada al movimiento. Este campo puede ser aprovechado en el editor de campañas gracias a la etiqueta [BOOKING_URL]. Utiliza este campo si quieres incluir en tus campañas un enlace a un servicio externo a Fideltour, como podría ser un enlace a un sistema de check-in online o un portal externo de encuestas de satisfacción, para el que además necesitas una URL única para cada reserva.
notes
String (máx. 1024 caracteres)
No
Comentarios sobre la reserva
regime
String
No
Dos opciones:
  • Identificador del régimen ya creado.
  • Nombre del régimen. El sistema la crea si no existe ninguno con ese nombre
room_type
String
No
Dos opciones:
  • Identificador del tipo de habitación ya creado.
  • Nombre del tipo de habitación. El sistema la crea si no existe ninguno con ese nombre
fare_type
String
No
Nombre del tipo de tarifa. El sistema la crea si no existe ninguna con ese nombre
offer
String
No
Nombre de la oferta. El sistema la crea si no existe ninguna con ese nombre
event_type
String
No
Nombre del tipo de evento. El sistema lo crea si no existe ninguno con ese nombre
package
String
No
Nombre del paquete. El sistema lo crea si no existe ninguno con ese nombre
category
String
No
Nombre de la categoría(segmento). El sistema la crea si no existe ninguna con ese nombre


Ejemplos:

A continuación mostramos algunos ejemplos de creación, actualización y visualización de movimientos.

Petición (POST):

En el siguiente ejemplo se muestra una solicitud para crear un movimiento de reserva del contacto con identificador 12345.

PROTOCOLO: HTTP/1.1
METODO: POST
HOST/ENDPOINT:  https://app.hoteldatahub.io/api/v1/entries/ 
HEADERS: 
Content-type: application/json
Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
BODY: se añade un ejemplo a continuación.
  1. {
  2.   "hotel_chain": "HotelChain",
  3.   "room_number": "315",
  4.   "input_channel": 1,
  5.   "status": 1,
  6.   "localizer": "XxXxXx-A",
  7.   "adults": 2,
  8.   "childs": 3,
  9.   "babies": 1,
  10.   "date": "2022-12-12T12:12:12",
  11.   "entrance": "2022-12-12",
  12.   "departure": "2022-12-12",
  13.   "amount": "576,56",
  14.   "booking_type": 0,
  15.   "is_checkout_realized": true,
  16.   "url": "urldelmoviento.com",
  17.   "currency": "euro",
  18.   "hotel": 50,
  19.   "contact": 12345,
  20.   "room_type": "Suite",
  21.   "regime": "Media pensión",
  22.   "agency": "Agencia de prueba"
  23. }


Respuesta (POST):

  1. {
  2.     "id": 71.8011,
  3.     "hotel_chain": "HotelChain",
  4.     "room_number": "315",
  5.     "input_channel": 1,
  6.     "status": 1,
  7.     "localizer": "XxXxXx-A",
  8.     "adults": 2,
  9.     "childs": 3,
  10.     "babies": 1,
  11.     "date": "2022-12-12T12:12:12",
  12.     "entrance": "2022-12-12",
  13.     "departure": "2022-12-12",
  14.     "amount": "576.56",
  15.     "booking_type": 0,
  16.     "is_checkout_realized": true,
  17.     "url": "urldelmoviento.com",
  18.     "currency": "euro",
  19.     "hotel": 1779,
  20.     "contact": 7272998,
  21.     "room_type": 98,
  22.     "regime": 34,
  23.     "agency": 4
  24. }


Petición (GET):

En el siguiente ejemplo se muestra una solicitud para consultar la información de la reserva con localizador " XxXxXx-A", perteneciente al contacto 12345 y realizada por el canal de entrada 1(WEB).

PROTOCOLO: HTTP/1.1
METODO: GET
HOST/ENDPOINT:  https://app.hoteldatahub.io/api/v1/entries/?contact=12345&localizer=XxXxXx-A&input_cannel=1 
HEADERS: 
  • Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
BODY: En este caso al ser un método de tipo GET no incluimos datos en el cuerpo de la petición, ya que se incluyen en la url.


Respuesta (GET):

  1. {
  2.     "id": 71.8011,
  3.     "hotel_chain": "HotelChain",
  4.     "room_number": "315",
  5.     "input_channel": 1,
  6.     "status": 1,
  7.     "localizer": "XxXxXx-A",
  8.     "adults": 2,
  9.     "childs": 3,
  10.     "babies": 1,
  11.     "date": "2022-12-12T12:12:12",
  12.     "entrance": "2022-12-12",
  13.     "departure": "2022-12-12",
  14.     "amount": "576.56",
  15.     "booking_type": 0,
  16.     "is_checkout_realized": true,
  17.     "url": "urldelmoviento.com",
  18.     "currency": "euro",
  19.     "hotel": 1779,
  20.     "contact": 7272998,
  21.     "room_type": 98,
  22.     "regime": 34,
  23.     "agency": 4
  24. }

Petición (PATCH):

En el siguiente ejemplo se muestra una solicitud para actualizar la reserva con ID "71.8011".
PROTOCOLO: HTTP/1.1
METODO: PATCH
HOST/ENDPOINT:  https://app.hoteldatahub.io/api/v1/entries/
HEADERS: 
Content-type: application/json
Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

BODY: se añade un ejemplo a continuación.
  1. {
  2.   "hotel_chain": "HotelChain",
  3.   "room_number": "Suite Junior",
  4.   "adults": 5,
  5.   "childs": 3,
  6.   "babies": 0,
  7.   "date": "2022-12-12T12:12:12",
  8.   "entrance": "2022-12-22",
  9.   "departure": "2022-12-26",
  10.   "amount": "876,56",
  11.   "hotel": 50,
  12.   "contact": 12345
  13. }


Respuesta (PATCH):

  1. {
  2.     "id": 71.8011,
  3.     "hotel_chain": "HotelChain",
  4.     "room_number": "245",
  5.     "input_channel": 1,
  6.     "status": 1,
  7.     "localizer": "XxXxXx-A",
  8.     "adults": 5,
  9.     "childs": 3,
  10.     "babies": 0,
  11.     "date": "2022-12-12T12:12:12",
  12.     "entrance": "2022-12-22",
  13.     "departure": "2022-12-26",
  14.     "amount": "876.56",
  15.     "booking_type": 0,
  16.     "is_checkout_realized": true,
  17.     "url": "urldelmoviento.com",
  18.     "currency": "euro",
  19.     "hotel": 50,
  20.     "contact": 12345,
  21.     "room_type": 98,
  22.     "regime": 34,
  23.     "agency": 4
  24. }



    • Related Articles

    • Gestión de contactos

      Contactos Introducción: En este artículo hablamos sobre las peticiones de la API relacionadas con los Contactos. Crear contacto Actualizar contacto Listar y filtrar contactos El endpoint que utilizamos es: https://app.hoteldatahub.io/api/v1/contacts/ ...
    • Introducción

      Primeros pasos Introducción: En este artículo mostramos como consultar y utilizar la API de HotelDataHub/Fideltour a través de la plataforma Swagger. En ella, encontramos los diferentes endpoints(urls) y la información que debemos facilitar en cada ...
    • Otras conexiones

      Otros Introducción: En la API de Hotel Data Hub, encontraremos que se requieren varios valores de tipo numérico, los cuales identifican a un item u elemento en la base de datos de Fideltour. Podemos deducir, que si un item no existe en la base de ...
    • Consentimientos RGPD

      Consentimientos RGPD Introducción: En este artículo hablamos sobre las peticiones de la API, relacionadas con los consentimientos obligatorios del Registro General de Protección de Datos(RGPD o GDPR en inglés), y como gestionarlos en los contactos. ...
    • Loyalty

      Loyalty Introducción: En este artículo hablamos sobre las peticiones de la API relacionadas con el módulo Loyalty de Fideltour. Los apartados del Swagger que incluyen esta información son: https://app.hoteldatahub.io/swagger/#/contacts ...