Este mensaje permite finalizar el proceso de reserva mediante la confirmación de la misma.
Para ello será necesario pasar el token del último bloqueo realizado, así como los datos del pago recibidos en el bookRoom.
Endpoint: https://hotel.new.hotetec.com/webservice/integrations/pull/confirmBooking
Mensaje de petición confirmBooking
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. |
bookingToken | S | Alfanumérico | Valor del token generado en el completeBooking |
paymentOrder | S | Alfanumérico | Modalidad de pago de la reserva |
payment | |||
type | S | Alfanumérico | Tipo de pago de la reserva según informado en el bookRoom |
action | S | Alfanumérico | Se indicará el valor Charge |
mode | S | Alfanumérico | Se indicará el valor System |
status | S | Alfanumérico | Se indicará el status Pending |
date | S | Numérico | Fecha del pago, se indica en formato juliano |
amount | S | Numérico | Importe a pagar de la reserva completa (si hubiera varias habitaciones se indicaría aquí el sumatorio de todos los importes de cada una de ellas) |
card | Si la modalidad de pago informada en el bookRoom es creditCard, entonces se deberá facilitar la información de los datos de la tarjeta en este nodo. De lo contrario no se debe informar este nodo. | ||
cardTypeCode | S | Alfanumérico | Tipo de tarjeta |
holder | S | Alfanumérico | Nombre del titular de la tarjeta |
number | S | Numérico | Número de la tarjeta |
seriesCode | S | Numérico | CVC |
expiryDate | S | Fecha. Formato AAAA-MM-DD | Fecha de caducidad |
Ejemplo de mensaje con todos los elementos cumplimentados (JSON):
{
"sessionId": " TES#20077#682164202862402",
"languageCode": "ES",
"currency": "EUR",
"bookingToken": "sLnkTWgb1S9UJFFMLJ27cryUl6SUhRzWVutyheCsxi4CJhHHDvJvKdSzMVxMkMaje6zkYM9Cpny8XKulEY9W8J8M",
"paymentOrder": "ExternManagement",
"payment": {
"type": "Credit",
"action": "Charge",
"mode": "System",
"status": "Pending",
"date": 1736290800000,
"amount": 1140.0,
"card": {
"cardTypeCard": "VISA",
"holder": "John Smith",
"number": "5411541154115411",
"seriesCode": "123",
"expiryDate": "2025-12-01"
}
}
Mensaje de respuesta confirmBooking
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 | |
id | Identificador 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": "ZvLGevWXx9y2ckZzS6XBaEX7Tfa2rgq99jAXHGzzY3D1mXYX1MwW1DsKBFalUZK0fA4LdWpQlepwSSLNFeG89jLJ",
"booking": {
"reference": "TES250108LWNFST",
"dateCreation": 1736330139585,
"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": "Ready",
"purpose": "Native",
"rate": "Available",
"quota": "Available"
},
"room": [
{
"id": 1,
"room": {
"code": "DBL#STD",
"name": "Doble Estandar"
},
"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": 1738710000000,
"checkOut": 1739055600000,
"nights": 4,
"supplements": [
{
"type": "SPS",
"code": "[EtT]SalePolicy(PpT)TESTHTT@74426",
"name": "TEST REGALO JUANA"
}
],
"paymentOption": [
{
"code": "Hotel#TESTHTT#14506"
},
{
"code": "Hotel#TESTHTT#10563"
}
],
"priceDetail": [
{
"code": "[EtT]Commission(PpT)TESTHTT@31632@TES@ClientCode@PVP",
"name": "FLEXIBLE - TES - ClientCode - TES",
"type": "Breakdown",
"group": "Commission",
"optional": false,
"order": 1,
"amount": 56.0
},
{
"code": "[EtT]SalePolicy(PpT)TESTHTT@74426",
"name": "REGALO VENTAJA",
"description": "REGALO VENTAJA EXC",
"type": "Gift",
"group": "SalePolicy",
"optional": false,
"order": 0
}
],
"cancelPenaltyMode": "CancelPenalty",
"cancellationOption": [
{
"fromDate": 1736290800000,
"daysTo": -971,
"percentage": 5.0,
"amount": 28.0
},
{
"fromDate": 1738623600000,
"daysTo": 27,
"percentage": 100.0,
"amount": 560.0
}
],
"status": "Confirmed",
"baseAmount": 560.0,
"priceType": "PVP",
"commissionAmount": 56.0,
"commissionPercentage": 10.0,
"amount": 560.0
},
{
"id": 7,
"room": {
"code": "DBL#STD",
"name": "Doble Estandar"
},
"rate": {
"code": "31632",
"name": "FLEXIBLE"
},
"mealPlan": {
"code": "HB",
"name": "Media pensión"
},
"distribution": {
"id": 2,
"person": [
{
"id": 3,
"type": "Adult",
"age": 30
},
{
"id": 4,
"type": "Adult",
"age": 30
},
{
"id": 5,
"type": "Child",
"age": 8
}
]
},
"checkIn": 1738710000000,
"checkOut": 1739055600000,
"nights": 4,
"supplements": [
{
"type": "SPS",
"code": "[EtT]SalePolicy(PpT)TESTHTT@74426",
"name": "TEST REGALO JUANA"
}
],
"paymentOption": [
{
"code": "Hotel#TESTHTT#14506"
},
{
"code": "Hotel#TESTHTT#10563"
}
],
"priceDetail": [
{
"code": "[EtT]Commission(PpT)TESTHTT@31632@TES@ClientCode@PVP",
"name": "FLEXIBLE - TES - ClientCode - TES",
"type": "Breakdown",
"group": "Commission",
"optional": false,
"order": 1,
"amount": 58.0
},
{
"code": "[EtT]SalePolicy(PpT)TESTHTT@74426",
"name": "REGALO VENTAJA",
"description": "REGALO VENTAJA EXC",
"type": "Gift",
"group": "SalePolicy",
"optional": false,
"order": 0
}
],
"cancelPenaltyMode": "CancelPenalty",
"cancellationOption": [
{
"fromDate": 1736290800000,
"daysTo": -971,
"percentage": 5.0,
"amount": 29.0
},
{
"fromDate": 1738623600000,
"daysTo": 27,
"percentage": 100.0,
"amount": 580.0
}
],
"status": "Confirmed",
"baseAmount": 580.0,
"priceType": "PVP",
"commissionAmount": 58.0,
"commissionPercentage": 10.0,
"amount": 580.0
}
],
"cancellationOption": [
{
"fromDate": 1736290800000,
"daysTo": -971,
"percentage": 5.0,
"amount": 57.0
},
{
"fromDate": 1738623600000,
"daysTo": 27,
"percentage": 100.0,
"amount": 1140.0
}
],
"contact": {
"firstName": "testName",
"lastName": "testLastName",
"email": "[email protected]",
"phoneNumber": "+34 666666666",
"country": "ES",
"postalCode": "07001"
},
"guest": [
{
"id": 1
},
{
"id": 2
},
{
"id": 3
},
{
"id": 4
},
{
"id": 5
}
],
"payment": [
{
"type": "Credit",
"action": "Charge",
"status": "Pending",
"date": 1736290800000,
"amount": 1140.0,
"mode": "System"
}
],
"languageCode": "ES",
"commissionAmount": 114.0,
"totalAmount": 1140.0,
"currencyCode": "EUR"
}
}