Este mensaje nos permite realizar el bloqueo del servicio de la última disponibilidad realizada.


En el caso de que se vaya a bloquear más de una habitación, será necesario realizar un bookRoom para cada una de ellas, haciendo referencia a la distribución que se está bloqueando mediante el identificador de la distribución (id), y debiendo indicar el bookingToken a partir de la segunda petición para poder ir añadiendo las habitaciones en el carrito virtual.  



Endpointhttps://hotel.new.hotetec.com/webservice/integrations/pull/bookRoom


 

Mensaje de petición bookRoom

 

El mensaje está compuesto por los siguientes elementos:


 

Elemento

Obligatorio

Valores / Formato

Descripción

sessionId

S

Alfanumérico

ID de la sesión generado

languageCode

S

DE, EN, ES, FR, IT, NL, PT

Idioma en el que queremos recibir la respuesta. 

 

Se utilizan los códigos ISO 639-1. Actualmente sólo se aceptan los indicados en valores.

currency

S

EUR, USD, GBP, EGP, MXN, CHF, CUP

Divisa en la que queremos recibir los precios de la solicitud. 

 

Se utilizan los códigos ISO 639-1. Actualmente sólo se aceptan las indicadas en valores.

vendorCode

S

Alfanumérico

Código de proveedor/empresa de un conjunto de hoteles/establecimientos

hotelCode

S

Alfanumérico

Código individual de un hotel/establecimiento

checkInDate

S

Fecha + Hora

Fecha de entrada.

Ejemplo: "2023-01-15T00:00:00.000Z”

numberOfNights

S

Numérico

Número de noches de estancia.

Ejemplo: "4”

 

distribution

id

S


Numérico


Indicaremos el identificador de la distribución que vamos a reservar. Se añadirá un identificador secuencial para cada una de las habitaciones del bloqueo, cada uno en diferentes mensajes.

person




age

S


Numérico


Definiremos la edad de cada ocupante en la reserva. A los adultos se les puede indicar una edad de 30 años por defecto, para los niños es obligatorio indicar la edad real en la fecha de estancia de la reserva, para poder tarificar correctamente. 

 

mealPlanCode

S

Alfanumérico

Código del régimen que se va a bloquear.

roomCode

S

Alfanumérico

Código de la habitación. 

rateCode

S

Alfanumérico

Código de tarifa

occupancyCode

S

Alfanumérico

Ocupación de la habitación que se va a bloquear. Debe indicarse en el formato devuelto en la disponibilidad y debe coincidir con el número de personas indicado en el nodo "person".

Ejemplo: "O@2-0-0"

 

Ejemplo de mensaje con todos los elementos cumplimentados (JSON):

{

    "sessionId"" TES#20077#682164202862402",

    "languageCode""ES",

    "currency""EUR",

    "vendorCode""DEMOHTT",

    "hotelCode""30621",

    "checkInDate""2025-01-15T00:00:00.000Z",

    "numberOfNights""4",

    "distribution": {

        "id"1,

        "person": [

            { "age"30 },

            { "age"30 },

            { "age"8 }

        ]

    }],

    "rateCode""30006",

    "roomCode""DBL#SEA",

    "mealPlanCode""AI",

    "occupancyCode""O@2-1-0",

 }

 


 

Mensaje de respuesta bookRoom

 

El mensaje está compuesto por los siguientes elementos:

 

Elemento

Descripción

bookingToken

Identificador único del bloqueo.

booking

reference

Localizador provisional de la reserva.

dateCreation

Fecha de creación. Se utiliza fecha juliana.

 

hotel

code

Código del hotel/establecimiento

name

Nombre completo del establecimiento

chain

Cadena a la que pertenece el establecimiento

 

establishmentType

code

Código del tipo de establecimiento. (Ejemplo: HOTL)

name

Descripción del tipo de establecimiento (Ejemplo: Hotel)

 

category

code

Código de la categoría (Ejemplo: 5*)

name

Descripción de la categoría. (Ejemplo: Cinco estrellas)

 

address – country

code

Código del país (Ejemplo: ES)

name

Descripción del país (Ejemplo: España)

state

Tipificación adicional del árbol de destino

county

Población del establecimiento

province

Tipificación adicional del árbol de destino

 

address – location

code

Código de la zona geográfica. 

name

Descripción de la zona geográfica

postalCode

Código postal del establecimiento

adressText

Dirección del establecimiento

 

address - gps

latitude

Latitud

longitude

Longitud

 

contact

Datos de contacto del establecimiento

 

reservationStatus

Estado de la reserva. 

operationalStatus

process

Informa sobre el estado en el proceso de reserva

rate

Informa si la tarifa está disponible 

quota

Informa si el inventario está disponible.

room

idIdentificador de la habitación.
room

code

Código de la habitación. 

name

Nombre de la habitación

 

rate

code

Código de la tarifa

name

Nombre de la tarifa

 

mealPlan

code

Código del régimen

name

Nombre del régimen


distribution

id
Identificador de la distribución de la habitación
person
id
Identificador del pasajero
type
Tipo de pax. Valores: Adult, Child, Baby
age
Edad del pasajero indicada en la Disponibilidad.


checkIn
Fecha de inicio de la reserva 
checkOut
Fecha fin de la reserva
nights
Número de noches de estancia

supplements
type
Código interno del tipo del suplemento.
code
Código del suplemento en el sistema
name
Nombre del suplemento aplicado en la habitación.
dateFrom
Fecha de inicio de aplicación del suplemento. Se indica fecha juliana.
dateTo
Fecha de fin de aplicación del suplemento. Se indica fecha juliana.
amount
Importe del suplemento (en positivo) o descuento (en negativo).

paymentOption
code
Código del importe a pagar.
amountToPay
Importe a pagar.

priceDetail: aquí se incluye el desglose de los diferentes suplementos, descuentos, comisiones, políticas comerciales, etc. 
code
Código interno del tipo de desglose 
name
Nombre del desglose
type
Tipo de desglose. Valores:
Gift: regalo
Breakdown: desglose de comisión
Supplement: suplemento/descuento
group

Grupo general al que pertenece el desglose. Valores:

Sale Policy: política comercial

Comission: comisión

Supplement: suplemento

optional
Indica si es opcional o no
order
Indica en qué orden se aplica el desglose del precio
amount
Importe del desglose de precio


cancelPenaltyMode

Tipo de penalización por cancelación. 

 

cancellationOption

fromDate

Desde que fecha hay gastos de cancelación. Se utiliza fecha juliana

daysTo

Días que faltan para entrar en gastos. Se utiliza fecha juliana

percentage

Porcentaje de gastos de cancelación

amount

Importe de los gastos de cancelación

 

status

Estado de la reserva.  

baseAmount

Importe base de la reserva

discountAmount

Descuentos aplicados en la reserva

priceType

Tipo de precio. Valores: PVP, Net

commissionAmount

Importe de comisión de la reserva

commissionPercentage

Porcentaje de comisión de la reserva

amount

Importe total de la reserva 

 

guest

id

Identificador del pasajero de la reserva

languageCode

Código del idioma de la respuesta

commissionAmount

Importe de comisión de la reserva

totalAmount

Importe total de la reserva

currencyCode

Código de divisa de la reserva


paymentOption

paymentorder

Modalidad de pago de la reserva. 

paymentType

Tipo de pago de la reserva.

description

Descripción de la forma de pago

paymentDate

Fecha de pago. Se indica fecha juliana

amountToPay

Cantidad a pagar

 

Ejemplo de mensaje (JSON):

{

    "bookingToken": "dHqVDUY22HzhJ8QZnnbxfnSXxJ1025bXkRdhXVkk7FaQUlGjMhgs3F662k3ep7jyMyw5pfAw1Pw7QJKeCjqK6mh",

    "booking": {

        "reference": "TES241120RJNVCS",

        "dateCreation": 1732112260571,

        "hotel": {

            "code": "53090",

            "name": "Juana",

            "establishmentType": {

                "code": "HOTL",

                "name": "Hotel"

            },

            "category": {

                "code": "4*",

                "name": "Cuatro estrellas"

            },

            "address": {

                "country": {

                    "code": "ES",

                    "name": "ESPAÑA"

                },

                "county": "Alcudia",

                "location": {

                    "code": "ES-46018",

                    "name": "Alcudia"

                },

                "parentLocation": {

                    "code": "ESBAL03",

                    "name": "MALLORCA"

                },

                "postalCode": "07965",

                "addressText": "AV Test, 5",

                "gps": {

                    "latitude": 39.83994084940381,

                    "longitude": 3.12696974690252

                }

            },

            "contact": [

                {

                    "phone": "9718888888",

                    "email": "[email protected]"

                }

            ]

        },

        "reservationStatus": "Confirmed",

        "operationalStatus": {

            "process": "Creation",

            "rate": "Available",

            "quota": "Available"

        },

        "room": [

            {

                "id": 1,

                "room": {

                    "code": "DBL#STD",

                    "name": "Doble Estándar"

                },

                "rate": {

                    "code": "31632",

                    "name": "FLEXIBLE"

                },

                "mealPlan": {

                    "code": "HB",

                    "name": "Media pensión"

                },

                "distribution": {

                    "id": 1,

                    "person": [

                        {

                            "id": 1,

                            "type": "Adult",

                            "age": 30

                        },

                        {

                            "id": 2,

                            "type": "Adult",

                            "age": 30

                        }

                    ]

                },

                "checkIn": 1736035200000,

                "checkOut": 1736380800000,

                "nights": 4,

                "supplements": [

                    {

                        "type": "SPS",

                        "code": "[EtT]SalePolicy(PpT)TESTHTT@73888",

                        "name": "TEST EB JUANA",

                        "dateFrom": 1736031600000,

                        "dateTo": 1736290800000,

                        "amount": -196.0

                    }

                ],

                "paymentOption": [

                    {

                        "code": "Hotel#TESTHTT#14506",

                        "amountToPay": 364.0

                    },

                    {

                        "code": "Hotel#TESTHTT#10563",

                        "amountToPay": 364.0

                    }

                ],

                "priceDetail": [

                    {

                        "code": "[EtT]Commission(PpT)TESTHTT@31632@TES@ClientCode@PVP",

                        "name": "FLEXIBLE - TES - ClientCode - TES",

                        "type": "Breakdown",

                        "group": "Commission",

                        "optional": false,

                        "order": 1,

                        "amount": 36.4

                    },

                    {

                        "code": "[EtT]SalePolicy(PpT)TESTHTT@73888",

                        "name": "TEST EB JUANA",

                        "type": "Supplement",

                        "group": "SalePolicy",

                        "optional": false,

                        "order": 0,

                        "amount": -195.9999996

                    }

                ],

                "cancelPenaltyMode": "CancelPenalty",

                "cancellationOption": [

                    {

                        "fromDate": 1732057200000,

                        "daysTo": -953,

                        "percentage": 5.0,

                        "amount": 18.2

                    },

                    {

                        "fromDate": 1735945200000,

                        "daysTo": 45,

                        "percentage": 100.0,

                        "amount": 364.0

                    }

                ],

                "status": "Confirmed",

                "baseAmount": 560.0,

                "discountsAmount": -196.0,

                "priceType": "PVP",

                "commissionAmount": 36.4,

                "commissionPercentage": 10.0,

                "amount": 364.0

            }

        ],

        "cancellationOption": [

            {

                "fromDate": 1732057200000,

                "daysTo": -953,

                "percentage": 5.0,

                "amount": 18.2

            },

            {

                "fromDate": 1735945200000,

                "daysTo": 45,

                "percentage": 100.0,

                "amount": 364.0

            }

        ],

        "guest": [

            {

                "id": 1

            },

            {

                "id": 2

            }

        ],

        "languageCode": "ES",

        "commissionAmount": 36.4,

        "totalAmount": 364.0,

        "currencyCode": "EUR"

    },

    "paymentOption": [

        {

            "paymentOrder": "ExternManagement",

            "paymentType": "Credit",

            "description": "Acordado",

            "paymentDate": 1732057200000,

            "amountToPay": 364.0

        },

        {

            "paymentOrder": "Establishment",

            "paymentType": "Cash",

            "description": "Pago en el hotel PULL",

            "paymentDate": 1736031600000,

            "amountToPay": 364.0

        }

    ]

}