Disponemos de una mensajería que permite solicitar disponibilidad en un hotel y que se genere el deeplink que redirige al motor de reservas de forma automática.
Primero es necesario abrir sesión en nuestro sistema con las credenciales proporcionadas para este propósito. Esto nos devolverá un sessionId que necesitaremos para crear el deeplink.
Mensaje para abrir sesión
Este mensaje permite autenticar el usuario en la plataforma de Hotetec. Se asigna un identificador de sesión (en adelante sessionId) que deberá ser incluido en todos los mensajes de petición enviados.
Endpoint: https://hotel.new.hotetec.com/webservice/integrations/pull/openSession
El mensaje está compuesto por los siguientes elementos:
Elemento | Obligatorio | Valores / Formato | Descripción |
clientCode | S | Alfanumérico | Código de empresa o grupo de agencias a las que pertenece el usuario. Solicitar a Hotetec. |
systemCode | S | Alfanumérico | Se debe indicar el mismo valor que en clientCode. Solicitar a Hotetec. |
username | S | Alfanumérico | Identificador de usuario. Solicitar a Hotetec. |
password | S | Alfanumérico | Contraseña del usuario. Solicitar a Hotetec. |
Ejemplo de mensaje (JSON):
{
"clientCode":"Solicitar a Hotetec",
"systemCode": "Solicitar a Hotetec",
"username":"Solicitar a Hotetec",
"password": "Solicitar a Hotetec"
}
Mensaje de respuesta al abrir sesión
El mensaje está compuesto por los siguientes elementos:
Elemento | Descripción |
sessionId | ID de la sesión generado |
Ejemplo de mensaje (JSON):
{
"sessionId": "MST#20077#682164202862402",
}
Mensaje bookingEngineUrl
Este mensaje permite solicitar disponibilidad con unos parámetros mínimos y genera una URL que redirige al motor con dichos parámetros ya cumplimentados.
Endpoint: https://hotel.new.hotetec.com/webservice/integrations/meta/bookingEngineUrl
Elemento | Obligatorio | Valores / Formato | Descripción |
sessionId | S | Alfanumérico | ID de la sesión generado |
languageCode | N | DE, EN, ES, FR, IT, NL, PT | Idioma en el que queremos recibir la respuesta. Si no se indica, se devolverá el valor que Hotetec tenga por defecto para el usuario
Se utilizan los códigos ISO 639-1. Actualmente sólo se aceptan los indicados en valores. |
customerIsLogged | N | true/false | Parámetro que permite indicar si queremos que la URL generada nos redirija con el descuento de tarifa registro o sin él. |
currency | N | EUR, USD, GBP, EGP, MXN, CHF, CUP | Divisa en la que queremos recibir los precios de la solicitud. Si no se indica, se devolverá el valor que Hotetec tenga por defecto para el usuario.
Se utilizan los códigos ISO 639-1. Actualmente sólo se aceptan las indicadas en valores. |
hotelCode | S | Alfanumérico | Código individual de un hotel/establecimiento |
vendorCode | S | Alfanumérico | Código de proveedor/empresa de un conjunto de hoteles/establecimientos |
dateFrom | S | Fecha + Hora | Fecha de entrada. Ejemplo: "2023-01-15T00:00:00.000Z” |
dateTo | S | Fecha + Hora | Fecha de salida. Ejemplo: "2023-01-15T00:00:00.000Z” |
| |||
distribution | S | "distribution": [{ "id": 1, "person": [ { "age": 30 }, { "age": 30 } ] | Añadiremos la configuración de las distintas habitaciones y ocupaciones. |
id | S | IDs de habitación, por cada habitación que añadamos debemos indicar un nuevo ID | |
age | S | Definiremos la edad de cada ocupante para el que queremos consultar disponibilidad. A los adultos se les puede indicar 30 por defecto. Para los niños es obligatorio indicar la edad real para poder tarificar correctamente. | |
| |||
mealPlanCode | N | Alfanumérico | Código del régimen que queremos que salga seleccionado por defecto. |
promotionalCode | N | Alfanumérico | Se utiliza para lanzar la petición con un código promocional asociado |
Ejemplo de mensaje de petición (JSON):
{
"sessionId": "MST#20077#682164202862402" ,
"languageCode": "ES",
"customerIsLogged": "true",
"currency" : "EUR",
"hotelCode": "30621",
"vendorCode": "DEMOHTT",
"dateFrom": "2023-01-15T00:00:00.000Z",
"dateTo": "2023-01-16T00:00:00.000Z",
"distribution": [{
"id": 1,
"person": [
{ "age": 30 },
{ "age": 30 }
]
]
}],
"mealPlanCode": "BB",
"promotionalCode": "TEST"
}
Una vez lanzamos esta petición el sistema nos devuelve una URL que redirige al motor de reservas.
Ejemplo de mensaje de respuesta (JSON):
{
"bookingEngineUrl": "https://public4.new.hotetec.com/commonAvailability.meta/?bookingEngine=120&systemCode=WHP&hotelCode=53089&dateFrom=07%2F05%2F2024&dateTo=11%2F05%2F2024&mealPlanCode=BB&distribution=ad-2&language=ES¤cy=EUR&customerIsLogged=true"
}
NOTA IMPORTANTE: no se deben enviar valores incorrectos en los parámetros, como por ejemplo "null", ya que esto se añade a la URL y genera conflictos y problemas en la disponibilidad.