Gestión de movimientos

Gestión de movimientos

Introducción

Este endpoint del Webservice permite la creación y actualización de movimientos asociados a contactos en Fideltour de forma externa. Se entiende como movimiento cualquier conjunto de datos que implique una acción de un cliente a través de una plataforma de terceros -una reserva desde el motor de la web, una estancia desde el PMS, una conexión desde el portal cautivo, la compra de un masaje desde una aplicación de conserjería virtual, etc.


Casos de uso

El endpoint para la gestión de movimientos resulta de gran utilidad para automatizar el envío de campañas de email marketing o para añadir puntos a la ficha de un contacto fidelizado si estás utilizando el módulo loyalty de Fideltour.

  1. Gestión de campañas: las campañas de email marketing pueden automatizarse en base a los datos de un movimiento. Podemos enviar campañas según la fecha de entrada o salida de un huésped de un hotel, incluso indicando un offset de varios días anteriores o posteriores a esta fecha. También podemos utilizar la fecha de realización de la reserva para enviar un correo de agradecimiento, de venta cruzada o simplemente informativo.
  2. Programa de fidelización: Si tienes contratado el módulo loyalty de Fideltour puedes utilizar los datos de las reservas de un miembro del club para otorgarle puntos según su estancia. En Fideltour el programa de fidelización toma como referencia las reservas efectuadas -con checkout realizado en el hotel- para calcular los puntos que obtendrá el huésped. Utilizando este endpoint desde tu PMS puedes indicar a Fideltour cuándo un huésped ha abandonado tu establecimiento y añadirle automáticamente los puntos sin necesidad de añadirle los puntos de forma manual.

Métodos disponibles

  1. GET: Consulta de datos de una reserva
  2. POST: Inserción de una nueva reserva
  3. PATCH: Actualización de los datos de una reserva existente
Para el uso de los métodos GET y PATCH se debe indicar el ID interno del movimiento en Fideltour. Para obtener el ID del movimiento en Fideltour es posible filtrar estos movimientos utilizando el localizador del movimiento, enviándolo como un parámetro de la URL en el momento de realizar la petición:

GET {{backend_url}}/api/3rd-party/bookings/?localizer=localizadordelmovimiento

También es posible realizar este filtrado utilizando los parámetros opcionales email, date, checkin o checkout.

Se debe tener en cuenta también que en Fideltour hay distintos tipos de canales de entrada de movimientos:

Se debe tener en cuenta que en Fideltour hay diferentes tipos de canales de entrada para los movimientos -ver detalles del parámetro input_channel en la tabla a continuación- y, por tanto, cuando se introduce o modifica un movimiento se deberá revisar si ya existe el mismo movimiento para el canal de entrada correspondiente.


Tabla de parámetros

Campo

Tipo

Obl.

Descripción

hc

Cadena de caracteres

Si

Código de la empresa

email

Cadena de caracteres

Si

Email del contacto, campo único, usado como identificador del contacto.

date

Date YYYY-MM-DD

Si

Fecha del movimiento

checkin

Date YYYY-MM-DD

Si

Fecha de entrada

checkout

Date YYYY-MM-DD

Si

Fecha de salida

localizer

Cadena de caracteres

Si

Localizador

hotel

Cadena de caracteres

Si

Código del hotel

agency

Cadena de caracteres

No

Agencia

contact_first_name

Cadena de caracteres

No

Nombre del contacto

contact_last_name

Cadena de caracteres

No

Apellido del contacto

contact_email

Cadena de caracteres

No

Email del contacto

contact_phone

Cadena de caracteres

No

Teléfono del contacto

status

Numérico

No

Estado del movimiento: Activa=1; Inactiva=0; Defecto=1

room_number

Cadena de caracteres

No

Número de habitación

amount

Numérico (decimal)

No

Importe (€)

room_type

Cadena de caracteres

No

Código del tipo de habitación. Ha de coincidir con los códigos que tenga dados de alta la cadena hotelera.

regime

Cadena de caracteres (máx. 20 caracteres)

No

Código del tipo de régimen. Si el código no está dado de alta en la cuenta de la cadena, se creará uno nuevo en el momento del envío de la petición.

adults

Numérico

No

Cantidad de adultos en el movimiento

childs

Numérico

No

Cantidad de niños en el movimiento

babies

Numérico

No

Cantidad de bebés en el movimiento

input_channel

Numérico

No

Canal de entrada del movimiento

  1. 0 = Teléfono
  2. 1 = WEB
  3. 2 = APP
  4. 3 = WiFi
  5. 4 = PMS
  6. 5 = API
  7. 6 = IMPORT
  8. 7 = BE
  9. 8 = CHATBOT
  10. 9 = CONCIERGE
  11. 10 = CALL CENTER

is_checkout_realized

Booleano

No

Indica si se ha confirmado/realizado el checkout. Default: False

url
Cadena de caracteres (máx. 1024 caracteres)
No
Permite enviar una URL cualquiera 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.
booking_type
Numérico
No
Tipo de movimiento
  1. 0 = Booking (por defecto)
  2. 1 = Stay
  3. 2 = Visitante
  4. 3 = Otros
  5. 4 = Mesa en restaurante
  6. 5 = Acceso a gimnasio o SPA
  7. 6 = Actividades de animación
  8. 7 = Tratamiento de SPA
  9. 8 = Cama balinesa
  10. 9 = Excursión
  11. 10 = Transfer
  12. 11 = Alquiler de vehículo

Ejemplo

En el siguiente ejemplo se muestra una solicitud para insertar una reserva del cliente pablo@customia.com.


Petición (POST)

POST:  {{backend_url}} / api/3rd-party/bookings/
HTTP/1.1

HOST: backend.fideltour.com
content-type: application/json
authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
{
"hc": "XXXXXX",
"hotel": "YYY",
"email": "pablo@customia.com",
"date": "2019-02-26",
"checkin": "2020-04-04",
"checkout": "2020-04-06",
"localizer": "FDSA1234ASDF",
"input_channel": 5
}

Respuesta (POST)

{
"hc": "XXXXXX",
"email": "pablo@customia.com",
"date": "26/02/2019",
"checkin": "2020-04-04",
"checkout": "2020-04-06",
"localizer": "FDSA1234ASDF",
"hotel": "YYY",
"status": 0,
"room_number": "120",
"amount": "1150",
"room_type": "VSUITE",
"regime": "MP",
"adults": 2,
"childs": 1,
"babies": 1,
"input_channel": 5
}


En el siguiente ejemplo se muestra una solicitud para consultar la información de la reserva con localizador " FDSA1234ASDF".

Petición (GET)

GET:  {{backend_url}} /api/3rd-party/bookings/
HTTP/1.1

HOST: backend.fideltour.com
authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
?hc=XXXX&localizer=FDSA1234ASDF

Respuesta (GET)

{
"hc": "XXXXXX",
"email": "pablo@customia.com",
"date": "20219-02-26",
"checkin": "2020-04-04",
"checkout": "2020-04-06",
"localizer": "FDSA1234ASDF",
"hotel": "YYY",
"status": 0,
"room_number": "120",
"amount": "1150",
"room_type": "VSUITE",
"regime": "MP",
"adults": 2,
"childs": 1,
"babies": 1,
"input_channel": 5
}


En el siguiente ejemplo se muestra una solicitud para actualizar la reserva con ID "1234".

Petición (PATCH)

PATCH:  {{backend_url}} /api/3rd-party/bookings/1234/
HTTP/1.1

HOST: backend.fideltour.com
content-type: application/json
authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
{
"hc": "XXXXXX",
"hotel": "YYY",
"email": "pablo@customia.com",
"date": "2019-02-26",
"checkin": "2020-04-04",
"checkout": "2020-04-06",
"localizer": "FDSA1234ASDF",
"input_channel": 5
}

Respuesta (PATCH)

{
"hc": "XXXXXX",
"email": "pablo@customia.com",
"date": "26/02/2019",
"checkin": "2020-04-04",
"checkout": "2020-04-06",
"localizer": "FDSA1234ASDF",
"hotel": "YYY",
"status": 0,
"room_number": "120",
"amount": "1150",
"room_type": "VSUITE",
"regime": "MP",
"adults": 2,
"childs": 1,
"babies": 1,
"input_channel": 5
}

Importación de fichero JSON

Es posible realizar la importación de nuevos movimientos y sus contactos asociados mediante un fichero JSON. Con este fichero de pueden importar los mismos campos que se mencionan en la tabla de parámetros de este documento y en la tabla de parámetros del endpoint para la creación de contactos (que puedes consultar aquí).

Detalles del endpoint

La URL del Webservice es:

Recuerda que este endpoint se utiliza para el envío de nuevos movimientos, por lo que debes utilizar el método POST a la hora de realizar la petición.

Ejemplo (POST JSON)

POST: /api/3rd-party/bookings/import-json/ HTTP/1.1

HOST:
 backend.fideltour.com
content-type: multipart/form-data
authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Ejemplo de archivo (JSON)

[{
"status": "1",
"hotel_code": "HCUSTOMIA",
"localizer": "GF58DWE",
"room_type": "DVM",
"regime": "MP",
"adults": "5",
"childs": "0",
"babies": "0",
"date": "2019-06-25",
"entrance": "2019-08-25",
"departure": "2019-10-09",
"room_number": "203",
"pvp": "1240.5",
"services": [{
"name": "restaurante",
"service_id": "rest"
},
{
"name": "spa",
"service_id": "s"
}
],
"guests": [{
"first_name": "Coromoto",
"last_name": "Beltran",
"phone1": "7888015693",
"phone2": "6959635439",
"gender": "1",
"language": "ES",
"birthdate": "1990-07-06",
"notes": "It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.",
"address": "C/Isidoro Antillon 30",
"work_place": "CEO",
"business_name": "CUSTOMIA",
"business_address": "C/Gremi Fusters 33, 314",
"fiscal_address": "C/Gremi Fusters 33, 314",
"country": "ES",
"subscribed": true
},
{
"first_name": "Dayanara",
"last_name": "Cossio Alegria",
"phone1": "8970954019",
"phone2": "6874064585",
"gender": "2",
"language": "EN",
"birthdate": "1989-05-02",
"notes": "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s",
"address": "C/Son Rapinya 33",
"work_place": "Comercial",
"business_name": "FIDELTOUR",
"business_address": "C/Gremi Fusters 33, 314",
"fiscal_address": "C/Gremi Fusters 33, 314",
"country": "EN",
"subscribed": false
}
]
}, {
"status": "1",
"hotel_code": "HCUSTOMIA",
"localizer": "GF58DWE",
"room_type": "DVM",
"regime": "MP",
"adults": "5",
"childs": "0",
"babies": "0",
"date": "25/06/2019",
"entrance": "2019-08-25",
"departure": "2019-09-10",
"room_number": "203",
"pvp": "1240.5",
"services": [{
"name": "restaurante",
"service_id": "rest"
},
{
"name": "spa",
"service_id": "s"
}
],
"guests": [{
"first_name": "Coromoto",
"last_name": "Beltran",
"phone1": "7888015693",
"phone2": "6959635439",
"gender": "1",
"language": "ES",
"birthdate": "1990-07-06",
"notes": "It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.",
"address": "C/Isidoro Antillon 30",
"work_place": "CEO",
"business_name": "CUSTOMIA",
"business_address": "C/Gremi Fusters 33, 314",
"fiscal_address": "C/Gremi Fusters 33, 314",
"country": "ES",
"subscribed": true
},
{
"first_name": "Dayanara",
"last_name": "Cossio Alegria",
"phone1": "8970954019",
"phone2": "6874064585",
"gender": "2",
"language": "EN",
"birthdate": "1989-05-02",
"notes": "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s",
"address": "C/Son Rapinya 33",
"work_place": "Comercial",
"business_name": "FIDELTOUR",
"business_address": "C/Gremi Fusters 33, 314",
"fiscal_address": "C/Gremi Fusters 33, 314",
"country": "EN",
"subscribed": false
}
]
}]

    • Related Articles

    • Otras conexiones

      Introducción Este endpoint del Webservice permite incorporar en Fideltour movimientos de conexión realizados desde plataformas de terceros. La URL de este Webservice es: https://backend.fideltour.com/api/3rd-party/entries/ Casos de uso En muchas ...
    • Introducción

      Presentación Bienvenido a la documentación de la API pública de Fideltour, una API para la comunicación entre Fideltour y otras aplicaciones como motores de reservas, PMS, plataformas de gestión de contenidos, portales WiFi, etc. Esta guía se centra ...
    • Gestión de contactos

      Introducción Este endpoint del Webservice permite la creación y actualización de fichas de contacto en Fideltour de forma externa. La URL de este Webservice es: https://backend.fideltour.com/api/3rd-party/contacts/ Casos de uso El endpoint para la ...
    • Paso 13 - Encuesta de satisfacción

      Objetivos del punto de contacto Después de todo el trabajo para adaptar tu establecimiento a la normativa actual, haber conseguido recuperar tus reservas y recibido tus primeros huéspedes de la temporada, ¿no sería buena idea conocer cómo han sido ...
    • Paso 10 - Acciones de seguridad

      Objetivos del punto de contacto Nos encontramos en un momento en el que vemos que la nueva normalidad está empezando a ser una realidad en el sector hotelero. Algunos hoteles comienzan a abrir y a recibir huéspedes bajo unas nuevas condiciones para ...