Introducción
Aquí podrá encontrar ejemplos de las diferente peticiones y repuestas soportadas por la API
Bienvenido a la documentación online de las especificaciones PUSH de descarga de reservas a través de la API Supplier-Phoenix. A través de esta API PUSH el proveedor podrá consultar y descargar las reservas realizadas en la plataforma Hotetec.
La creación y configuración inicial del hotel, así como de sus tarifas e inventario, se realizará a través de la extranet web http://xml.hotetec.com. Funcionalidad soportada:
- Búsqueda de reservas por localizador
- Búsqueda de reservas por rango de fechas
- Notificación PUSH de reserva (creación, cancelación o modificación)
Control de versiones
Fecha | Autor | Versión | Cambios realizados |
---|---|---|---|
07/04/2017 | Tomeu Roig | 1.0.0 | Especificaciones PUSH de la API Supplier-Phoenix |
28/01/2019 | Rafel Mestre | 1.1.0 | Se añade el nodo PaymentDetail para el histórico de pagos de la reserva |
26/04/2019 | Rafel Mestre | 1.1.1 | Se añade el campo modificationDate para las modificaciones de reserva |
21/11/2019 | Rafel Mestre | 1.1.2 | Se añaden nuevos valores informativos en el nodo ExtraCustomData |
20/03/2020 | Rafel Mestre | 1.1.3 | Se añade el valor ota del método de pago. Se añade el país de orígen de la reserva. |
23/03/2020 | Rafel Mestre | 1.1.3 | Se añaden los nombres de los pasajeros de la reserva. |
10/06/2020 | Rafel Mestre | 1.1.4 | Se añade información adicional en los pasajeros, necesaria para efectuar el check-in |
06/07/2020 | Rafel Mestre | 1.1.5 | Se añade el nombre interno de las políticas comerciales aplicadas a una reserva. Se añade también la marca de 'NoShow' a nivel de habitación, en las reservas. |
10/07/2020 | Rafel Mestre | 1.1.6 | Se añaden más campos (fecha de expedición del documento, fecha de caducidad del documento y el código postal) en la información de los pasajeros. |
17/07/2020 | Rafel Mestre | 1.1.7 | Se añade el importe original de la reserva en el nodo ExtraCustomData (OriginalAmount) |
29/07/2020 | Rafel Mestre | 1.1.8 | Se añade el tipo de suplemento y los códigos promocionales aplicados |
03/11/2020 | Rafel Mestre | 1.1.9 | Se añaden el campo 'gender' para el check-in online. Se añade el código ISO3166 en la nacionalidad. |
04/11/2020 | Rafel Mestre | 1.1.10 | Se añade la comisión a nivel de reserva. También se añade el tipo de suplemento interno en la reserva. |
03/02/2021 | Rafel Mestre | 1.1.11 | Se añaden los gastos de cancelación en la reserva. |
10/03/2021 | Rafel Mestre | 1.1.12 | Se añade la información de los vuelos en los suplementos de transfer. |
12/03/2021 | Rafel Mestre | 1.1.13 | Se añade el nuevo valor 'CostDate' en el ExtraCustomData. |
09/07/2021 | Rafel Mestre | 1.1.14 | Se añade el nuevo mensaje de confirmación de reservas (BookingConfirmMessage) |
09/08/2021 | Rafel Mestre | 1.1.15 | Se añaden las reglas de venta en la descarga de reservas (Esta opción se tiene que activar desde Connectivity). |
08/09/2021 | Rafel Mestre | 1.1.16 | Se añaden campos a nivel de habitación y de suplemento, para la ayuda en la facturación. |
17/12/2021 | Rafel Mestre | 1.1.17 | Se añade nueva información referente al cliente de la reserva. |
26/01/2022 | Rafel Mestre | 1.1.18 | Se añade el parámetro 'card' en la petición de notificación de reservas por push |
23/03/2022 | Rafel Mestre | 1.1.19 | Se añade el documento de identificación a la persona de contacto. |
24/08/2022 | Rafel Mestre | 1.1.21 | Se añade el nuevo mensaje para añadir pagos a reservas (bookingAddPaymentMessage) |
19/12/2022 | Rafel Mestre | 1.1.22 | Se cambia el tipo del id de habitación de Integer a String |
09/05/2023 | Isaac Fullana | 1.1.23 | Se añade el elemento breakdown a nivel de PaymentDetail |
Protocolo de conexión
- Mensajería XML/JSON sobre HTTP. El proveedor tiene que enviar las peticiones por HTTP RAW POST (POST sin paso de parámetros).
- La codificación de los mensajes es UTF-8.
- Todos los mensajes soportan compresión gzip. Si el proveedor desea recibir las respuestas XML comprimidas, tiene que especificarlo en las cabeceras HTTP de su petición
Accept-encoding: gzip
Autenticación
Ejemplo elemento credentials, presente en todas las peticiones XML
<credentials>
<systemCode>SFO</systemCode>
<vendorCode>FOO</vendorCode>
<user>BAR</user>
<password>FOOBAR</password>
</credentials>
{
"credentials": {
"systemCode": "SFO",
"vendorCode": "FOO",
"user": "BAR",
"password": "FOOBAR"
}
}
Todas las peticiones contienen el elemento credentials (ejemplo a la derecha), el cuál contiene las credenciales de autenticación.
- URL XML: https://xml.hotetec.com/unibox-api/supplier/xmlservice.srv
HotelConfiguration
Ejemplo petición HotelConfigurationRequest para recuperar la configuración del hotel 1234
<?xml version="1.0" encoding="UTF-8"?>
<HotelConfigurationRequest>
<credentials>
<systemCode>SFO</systemCode>
<vendorCode>FOO</vendorCode>
<user>BAR</user>
<password>FOOBAR</password>
</credentials>
<hotelCode>1234</hotelCode>
</HotelConfigurationRequest>
{
"HotelConfigurationRequest": {
"credentials": {
"systemCode": "SFO",
"vendorCode": "FOO",
"user": "BAR",
"password": "FOOBAR"
},
"hotelCode": "1234"
}
}
Ejemplo respuesta HotelConfigurationResponse
<?xml version="1.0" encoding="UTF-8"?>
<HotelConfigurationResponse>
<sessionId>SUP#FOO#123456789</sessionId>
<hotelConfig>
<hotelCode>1234</hotelCode>
<name>Hotetec Test</name>
<currencyCode>EUR</currencyCode>
<roomConfig>
<roomCode>SGL#STD</roomCode>
<name>Individual Estándar</name>
<occupancy>
<adults>1</adults>
<children>0</children>
</occupancy>
<occupancy>
<adults>1</adults>
<children>1</children>
</occupancy>
</roomConfig>
<roomConfig>
<roomCode>DBL#STD</roomCode>
<name>Doble Estándar</name>
<occupancy>
<adults>1</adults>
<children>0</children>
</occupancy>
<occupancy>
<adults>2</adults>
<children>0</children>
</occupancy>
<occupancy>
<adults>2</adults>
<children>1</children>
</occupancy>
</roomConfig>
<mealPlanConfig>
<mealPlanCode>RO</mealPlanCode>
<name>Sólo alojamiento</name>
</mealPlanConfig>
<mealPlanConfig>
<mealPlanCode>BB</mealPlanCode>
<name>Alojamiento y desayuno</name>
</mealPlanConfig>
<mealPlanConfig>
<mealPlanCode>HB</mealPlanCode>
<name>Media pensión</name>
</mealPlanConfig>
<inventoryConfig>
<inventoryCode>1</inventoryCode>
<name>Inventario general</name>
</inventoryConfig>
<rateConfig>
<rateCode>BASE</rateCode>
<name>Tarifa Base</name>
<inventoryCode>1</inventoryCode>
<managedByPush>false</managedByPush>
<cancelPolicyType>Variable</cancelPolicyType>
</rateConfig>
<rateConfig>
<rateCode>OFENRE</rateCode>
<name>Tarifa No Reembolsable</name>
<inventoryCode>1</inventoryCode>
<managedByPush>false</managedByPush>
<rateProperty>
<name>Destacada</name>
</rateProperty>
<cancelPolicyType>NonRefundable</cancelPolicyType>
</rateConfig>
</hotelConfig>
</HotelConfigurationResponse>
{
"HotelConfigurationResponse": {
"sessionId": "SUP#FOO#123456789",
"hotelConfig": {
"hotelCode": "1234",
"name": "Hotetec Test",
"currencyCode": "EUR",
"roomConfig": [
{
"roomCode": "SGL#STD",
"name": "Individual Estándar",
"occupancy": [
{
"adults": "1",
"children": "0"
},
{
"adults": "1",
"children": "1"
}
]
},
{
"roomCode": "DBL#STD",
"name": "Doble Estándar",
"occupancy": [
{
"adults": "1",
"children": "0"
},
{
"adults": "2",
"children": "0"
},
{
"adults": "2",
"children": "1"
}
]
}
],
"mealPlanConfig": [
{
"mealPlanCode": "RO",
"name": "Sólo alojamiento"
},
{
"mealPlanCode": "BB",
"name": "Alojamiento y desayuno"
},
{
"mealPlanCode": "HB",
"name": "Media pensión"
}
],
"inventoryConfig": {
"inventoryCode": "1",
"name": "Inventario general"
},
"rateConfig": [
{
"rateCode": "BASE",
"name": "Tarifa Base",
"inventoryCode": "1",
"managedByPush": "false",
"cancelPolicyType": "Variable"
},
{
"rateCode": "OFENRE",
"name": "Tarifa No Reembolsable",
"inventoryCode": "1",
"managedByPush": "false",
"rateProperty": { "name": "Destacada" },
"cancelPolicyType": "NonRefundable"
}
]
}
}
}
Mensaje utilizado para obtener la configuración del hotel. A través de este mensaje, el proveedor podrá obtener todos los códigos y tipología del hotel. Típicamente, este mensaje es el que utiliza el proveedor para recuperar los elementos a mapear. En resumen:
- Habitaciones del hotel así como sus ocupaciones permitidas
- Regímenes alimenticios
- Tarifas del hotel
HotelConfigurationRequest
Mensaje petición para recuperar la configuración de los hoteles del proveedor. Opcionalmente se puede filtrar por código de hotel (hotelCode). Si no se indica, en la respuesta aparecerán todos los hoteles que gestiona el proveedor.
Elemento | Tipo | Obl? | Descripción |
---|---|---|---|
credentials | Credentials | Sí | Credenciales de autenticación del usuario (Ver Autenticación) |
hotelCode | Integer | No | Código de hotel |
HotelConfigurationResponse
Mensaje respuesta que contiene la configuración de los hoteles del proveedor (modalidades, regímenes, tarifas...)
Elemento | Tipo | Obl? | Descripción |
---|---|---|---|
sessionId | String | Sí | Identificador de la sesión que ha procesado la transacción |
hotelConfig[] | HotelConfig | No | Elemento que contiene la configuración del hotel |
hotelCode | Integer | Sí | Código de hotel |
name | String | Sí | Nombre de hotel |
currencyCode | String | Sí | Código de divisa (Códigos ISO 4217) |
roomConfig[] | RoomConfig | Sí | Configuración de la modalidad de hotel |
↳ roomCode | String | Sí | Código de modalidad |
↳ name | String | Sí | Nombre de modalidad |
↳ nestedInventoryRoomCode | String | No | Código de la modalidad sobre la cuál anida el inventario 1 |
↳ babiesCountInOccupancy | Boolean | Sí | Indica si los bebés ocupan plaza 2 |
↳ occupancy | Occupancy | Sí | Ocupación permitida en la modalidad |
↳↳ adults | Integer | Sí | Número de adultos de la ocupación |
↳↳ children | Integer | Sí | Número de niños de la ocupación |
mealPlanConfig[] | MealPlanConfig | Sí | Configuración de la regímenes alimenticios de hotel |
↳ mealPlanCode | String | Sí | Código de régimen alimentício |
↳ name | String | Sí | Nombre de régimen alimentício |
inventoryConfig[] | InventoryConfig | Sí | Configuración de los inventarios del hotel 3 |
↳ inventoryCode | Integer | Sí | Código de inventario |
↳ name | String | Sí | Nombre de inventario |
rateConfig[] | RateConfig | Sí | Configuración de las tarifas del hotel |
↳ rateCode | String | Sí | Código de tarifa |
↳ name | String | Sí | Nombre de tarifa |
↳ inventoryCode | Integer | Sí | Inventario asociado a la tarifa |
↳ managedByPush | Boolean | Sí | Indica si la tarifa es gestionable a través de PUSH. Si se informa false, no se podrán realizar actualizaciones sobre la misma a través del API |
↳ rateProperty | RateProperty | No | Propiedad de la tarifa |
↳↳ name | String | Sí | Nombre de la propiedad |
↳↳ value | String | No | Valor de la propiedad. Ej: Propiedad Mayores de, value 55 |
↳ cancelPolicyType | Enum | Sí | Políticas de cancelación de la tarifa (Free/NonRefundable/Variable) |
BookingRetrieval
Ejemplo BookingRetrievalRequest para recuperar una reserva en particulares
<?xml version="1.0" encoding="UTF-8"?>
<BookingRetrievalRequest>
<credentials>
<systemCode>SFO</systemCode>
<vendorCode>FOO</vendorCode>
<user>BAR</user>
<password>FOOBAR</password>
</credentials>
<hotelCode>1234</hotelCode>
<reference>EPL10032017140800-SALE</reference>
</BookingRetrievalRequest>
{
"BookingRetrievalRequest": {
"credentials": {
"systemCode": "SFO",
"vendorCode": "FOO",
"user": "BAR",
"password": "FOOBAR"
},
"hotelCode": "1234",
"reference": "EPL10032017140800-SALE"
}
}
Ejemplo BookingRetrievalRequest para para recuperar las reservas de un hotel en un determinado rango de fechas (creadas, canceladas o modificadas)
<?xml version="1.0" encoding="UTF-8"?>
<BookingRetrievalRequest>
<credentials>
<systemCode>SFO</systemCode>
<vendorCode>FOO</vendorCode>
<user>BAR</user>
<password>FOOBAR</password>
</credentials>
<hotelCode>1234</hotelCode>
<dateFrom>10/03/2017 14:30</dateFrom>
<dateTo>10/03/2017 15:00</dateTo>
</BookingRetrievalRequest>
{
"BookingRetrievalRequest": {
"credentials": {
"systemCode": "SFO",
"vendorCode": "FOO",
"user": "BAR",
"password": "FOOBAR"
},
"hotelCode": "1234",
"dateFrom": "10/03/2017 14:30",
"dateTo": "10/03/2017 15:00"
}
}
Ejemplo respuesta BookingRetrievalResponse procesada correctamente La reserva recuperada contiene dos habitaciones: 1 doble + 1 individual
<?xml version="1.0" encoding="UTF-8"?>
<BookingRetrievalResponse>
<sessionId>SUP#FOO#123456789</sessionId>
<booking>
<reference>EPL10032017140800-SALE</reference>
<creationDate>10/03/2017 14:15</creationDate>
<checkIn>15/04/2017</checkIn>
<checkOut>18/04/2017</checkOut>
<status>Confirmed</status>
<amount>550.00</amount>
<bookingClient>
<clientCode>EPL</clientCode>
<clientName>Europlayas</clientName>
<clientReference>AA45645D55</clientReference>
</bookingClient>
<endCustomer>
<name>Elena Ballester</name>
<mail>elena_ballester1234@mail.com</mail>
<phone>003466667788</phone>
</endCustomer>
<commission>
<serviceCommission>
<serviceId>1</serviceId>
<commissionAmount>0</commissionAmount>
<commissionPercentage>0</commissionPercentage>
</serviceCommission>
<serviceCommission>
<serviceId>2</serviceId>
<commissionAmount>0</commissionAmount>
<commissionPercentage>0</commissionPercentage>
</serviceCommission>
</commission>
<hotelCode>1234</hotelCode>
<bookingRoom id="1">
<checkIn>15/04/2017</checkIn>
<checkOut>17/04/2017</checkOut>
<status>Confirmed</status>
<roomCode>DBL#STD</roomCode>
<mealPlanCode>BB</mealPlanCode>
<amount>350.00</amount>
<roomRateDay>
<day>15/04/2017</day>
<rateCode>BASE</rateCode>
<amount>116.67</amount>
</roomRateDay>
<roomRateDay>
<day>16/04/2017</day>
<rateCode>BASE</rateCode>
<amount>116.67</amount>
</roomRateDay>
<roomRateDay>
<day>17/04/2017</day>
<rateCode>BASE</rateCode>
<amount>116.67</amount>
</roomRateDay>
<guest id="1">
<name>Juan Ballester</name>
<type>Adult</type>
<amount>175.00</amount>
</guest>
<guest id="2">
<name>Elena Ballester</name>
<type>Adult</type>
<amount>175.00</amount>
</guest>
</bookingRoom>
<bookingRoom id="2">
<checkIn>15/04/2017</checkIn>
<checkOut>17/04/2017</checkOut>
<status>Confirmed</status>
<roomCode>SGL#STD</roomCode>
<mealPlanCode>BB</mealPlanCode>
<amount>150.00</amount>
<roomRateDay>
<day>15/04/2017</day>
<rateCode>BASE</rateCode>
<amount>50.00</amount>
</roomRateDay>
<roomRateDay>
<day>16/04/2017</day>
<rateCode>BASE</rateCode>
<amount>50.00</amount>
</roomRateDay>
<roomRateDay>
<day>17/04/2017</day>
<rateCode>BASE</rateCode>
<amount>50.00</amount>
</roomRateDay>
<guest id="3">
<name>Elena Ballester</name>
<type>Adult</type>
<amount>100.00</amount>
</guest>
<guest id="4">
<name>Elena Ballester</name>
<type>Child</type>
<amount>50.00</amount>
</guest>
</bookingRoom>
<bookingSupplement>
<code>PKG</code>
<code>Parking</code>
<description>Suplemento Parking toda la estancia</description>
<checkIn>15/04/2017</checkIn>
<checkOut>17/04/2017</checkOut>
<amount>50.00</amount>
</bookingSupplement>
<remark>
<code>GENERAL</code>
<from>Hotel</from>
<to>Client</to>
<text>Piscina cerrada hasta el 15/04/2017</text>
</remark>
<remark>
<code>GENERAL</code>
<from>Client</from>
<to>Hotel</to>
<text>Por favor, habitaciones no fumadores</text>
</remark>
<bookingPayment>
<modality>Establishment</modality>
<type>PrepaidCard</type>
<otaType>PC</otaType>
<description>Tarjeta de prepago</description>
<status>Pending</status>
</bookingPayment>
<paymentCardDetail>
<holder>Elena Ballester</holder>
<number>4111111111111111</number>
<expiryDate>01/01/2020</expiryDate>
<securityCode>123</securityCode>
</paymentCardDetail>
<paymentDetail>
<action>Charge</action>
<paymentStatus>Ok</paymentStatus>
<type>ExternalManaged</type>
<date>24/01/2019 17:18</date>
<amount>2635.663</amount>
<externalManagedDetail>
<externalSystemCode>TARJETA VIRTUAL</externalSystemCode>
<externalReference>5227</externalReference>
<status>Ok</status>
</externalManagedDetail>
<breakdown>
<bookingRoomId>1</bookingRoomId>
<amount>350.0</amount>
</breakdown>
<breakdown>
<bookingRoomId>2</bookingRoomId>
<amount>150.0</amount>
</breakdown>
</paymentDetail>
<paymentDetail>
<action>Charge</action>
<paymentStatus>Pending</paymentStatus>
<type>PrepaidCard</type>
<otaType>PC</otaType>
<date>23/07/2019 09:42</date>
<amount>2635.66</amount>
<prepaidCardDetail>
<status>Pending</status>
<card>
<cardTypeCode>Visa</cardTypeCode>
<holder>Elena Ballester</holder>
<number>4111111111111111</number>
<expiryDate>01/01/2020</expiryDate>
<securityCode>123</securityCode>
</card>
</prepaidCardDetail>
<breakdown>
<bookingRoomId>1</bookingRoomId>
<amount>350.0</amount>
</breakdown>
<breakdown>
<bookingRoomId>2</bookingRoomId>
<amount>150.0</amount>
</breakdown>
</paymentDetail>
</booking>
</BookingRetrievalResponse>
{
"BookingRetrievalResponse": {
"sessionId": "SUP#FOO#123456789",
"booking": {
"reference": "EPL10032017140800-SALE",
"creationDate": "10/03/2017 14:15",
"checkIn": "15/04/2017",
"checkOut": "18/04/2017",
"status": "Confirmed",
"amount": "550.00",
"bookingClient": {
"clientCode": "EPL",
"clientName": "Europlayas",
"clientReference": "AA45645D55"
},
"endCustomer": {
"name": "Elena Ballester",
"mail": "elena_ballester1234@mail.com",
"phone": "003466667788"
},
"hotelCode": "1234",
"bookingRoom": [
{
"id": "1",
"checkIn": "15/04/2017",
"checkOut": "17/04/2017",
"status": "Confirmed",
"roomCode": "DBL#STD",
"mealPlanCode": "BB",
"amount": "350.00",
"roomRateDay": [
{
"day": "15/04/2017",
"rateCode": "BASE",
"amount": "116.67"
},
{
"day": "16/04/2017",
"rateCode": "BASE",
"amount": "116.67"
},
{
"day": "17/04/2017",
"rateCode": "BASE",
"amount": "116.67"
}
],
"guest": [
{
"id": "1",
"name": "Juan Ballester",
"type": "Adult",
"amount": "175.00"
},
{
"id": "2",
"name": "Elena Ballester",
"type": "Adult",
"amount": "175.00"
}
]
},
{
"id": "2",
"checkIn": "15/04/2017",
"checkOut": "17/04/2017",
"status": "Confirmed",
"roomCode": "SGL#STD",
"mealPlanCode": "BB",
"amount": "150.00",
"roomRateDay": [
{
"day": "15/04/2017",
"rateCode": "BASE",
"amount": "50.00"
},
{
"day": "16/04/2017",
"rateCode": "BASE",
"amount": "50.00"
},
{
"day": "17/04/2017",
"rateCode": "BASE",
"amount": "50.00"
}
],
"guest": [
{
"id": "3",
"name": "Elena Ballester",
"type": "Adult",
"amount": "100.00"
},
{
"id": "4",
"name": "Elena Ballester",
"type": "Child",
"amount": "50.00"
}
]
}
],
"bookingSupplement": {
"code": [
"PKG",
"Parking"
],
"description": "Suplemento Parking toda la estancia",
"checkIn": "15/04/2017",
"checkOut": "17/04/2017",
"amount": "50.00"
},
"remark": [
{
"code": "GENERAL",
"from": "Hotel",
"to": "Client",
"text": "Piscina cerrada hasta el 15/04/2017"
},
{
"code": "GENERAL",
"from": "Client",
"to": "Hotel",
"text": "Por favor, habitaciones no fumadores"
}
],
"bookingPayment": {
"modality": "Establishment",
"type": "WarrantyCard",
"otaType": "PC",
"description": "Tarjeta de garantía",
"status": "Pending"
},
"paymentCardDetail": {
"holder": "Elena Ballester",
"number": "4111111111111111",
"expiryDate": "01/01/2020",
"securityCode": "123"
}
}
}
}
Mensaje utilizado para recuperación de reservas. Se puede recuperar una reserva en particular (filtrando por reference), o bien las reservas de un hotel creadas, canceladas o modificadas dentro de un rango de fechas.
BookingRetrievalRequest
Mensaje petición de recuperación de reservas
Elemento | Tipo | Obl? | Descripción |
---|---|---|---|
credentials | Credentials | Sí | Credenciales de autenticación del usuario (Ver Autenticación) |
reference | String | No1 | Localizador de la reserva |
hotelCode | Integer | Sí | Código de hotel |
dateFrom | DateTime | No1 | Fecha desde. Devolverá todas las reservas que se hayan creado, cancelado o modificado a partir de esta fecha (dd/MM/yyy HH:mm) |
dateTo | DateTime | No1 | Fecha hasta. Devolverá todas las reservas que se hayan creado, cancelado o modificado hasta esta fecha (dd/MM/yyy HH:mm) |
notificationStatus | Enum | No | Filtro por estado de notificación de reserva (Delivered: Notificada / UnDelivered: No notificada) 2 |
BookingRetrievalResponse
Mensaje respuesta de recuperación de reservas
Elemento | Tipo | Obl? | Descripción |
---|---|---|---|
sessionId | String | Sí | Identificador de la sesión que ha procesado la transacción |
booking[] | Booking | No | Información de una reserva de hotel |
↳ reference | String | Sí | Localizador de la reserva |
↳ creationDate | DateTime | Sí | Fecha de creación de la reserva (dd/MM/yyy HH:mm) |
↳ modificationDate | DateTime | No | Fecha de modificación de la reserva (dd/MM/yyyy HH:mm). Sólo viene informado cuando es una modificación de reserva |
↳ cancellationDate | DateTime | No | Fecha de cancelación de la reserva (dd/MM/yyyy HH:mm). Sólo viene informado cuando es una cancelación de reserva |
↳ country | String | No | Código del país de origen de la reserva (2 letter ISO 3166). Sólo vendrá informado en la reservas propias de Hotetec |
↳ checkIn | Date | Sí | Fecha de entrada (dd/MM/yyy) |
↳ checkOut | Date | Sí | Fecha de salida (dd/MM/yyy) |
↳ status | Enum | Sí | Estado de la reserva (Confirmed, Cancelled, OnRequest) |
↳ amount | Double | Sí | Importe total de la reserva (#.##) |
↳ bookingClient | BookingClient | Sí | Información del cliente que ha realizado la reserva, refiriéndose a la agencia (Ej: Logitravel), OTA (Ej: Booking.com), o el propio hotel |
↳↳ clientCode | String | Sí | Código de cliente |
↳↳ clientName | String | Sí | Nombre de cliente |
↳↳ fiscalClientName | String | No | Nombre fiscal referente al cliente de la reserva |
↳↳ addressClient | String | No | Dirección física de la empresa cliente |
↳↳ postalClientCode | String | No | Código postal de la empresa cliente |
↳↳ countryClient | String | No | País de la empresa cliente |
↳↳ cifClient | String | No | Número CIF de la empresa cliente |
↳↳ emailClient | String | No | Correo electrónico de la empresa cliente |
↳↳ clientReference | String | No | Referencia de la reserva del cliente (habitualmente su localizador) |
↳ endCustomer | EndCustomer | Sí | Información del cliente final de la reserva |
↳↳ name | String | Sí | Nombre del cliente final |
↳↳ birthDate | Date | No | Fecha de nacimiento (dd/MM/yyy) |
String | No | Email del cliente final | |
↳↳ phone | String | No | Teléfono de contacto del cliente final |
↳↳ nationality | String | No | Nacionadlidad (2 letter ISO 3166) |
↳↳ document | Document | No | Información referente al documento de identificación de la persona de contacto |
↳↳↳ typeDocument | String | No | Tipo de documento (DNI, NIE, Passport o IdentityCard) |
↳↳↳ numberDocument | String | No | Número de documento |
↳ commision | Commission | No | Información sobre las comisiones aplicadas en la reserva |
↳↳ serviceCommission[] | ServiceCommission | No | Información específica sobre un servicio reservado |
↳↳↳ serviceId | Integer | Sí | Identificador que identifica la habitación reservada |
↳↳↳ commissionAmount | Double | No | Importe de la comisión aplicada |
↳↳↳ commissionPercentage | Double | No | Porcentage de la comisión aplicada |
↳ hotelCode | Integer | Sí | Código de hotel |
↳ currencyCode | String | Sí | Código de divisa (Códigos ISO 4217) |
↳ bookingRoom[] | BookingRoom | Sí | Información de habitación de hotel reservada |
↳↳ @id | String | Sí | Identificador de la habitación |
↳↳ checkIn | Date | Sí | Fecha de entrada (dd/MM/yyy) |
↳↳ checkOut | Date | Sí | Fecha de salida (dd/MM/yyy) |
↳↳ status | Enum | Sí | Estado de la reserva (Confirmed, Cancelled, OnRequest) |
↳↳ roomCode | String | Sí | Código de habitación |
↳↳ mealPlanCode | String | Sí | Código de régimen alimenticio |
↳↳ amount | Double | Sí | Importe de la habitación reservada (#.##) |
↳↳ totalRoomAmount | Double | No | Coste de la habitación: Precio Hab x Noches + Suplementos Obligatorios (#.##) |
↳↳ commissionRoomAmount | Double | No | Comisión de la habitación: Coste de la habitación * Porcentaje comisión (#.##) |
↳↳ netRoomAmount | Double | No | Coste neto de la habitación: Coste de la habitación - Comisión habitación (#.##) |
↳↳ amountRoomToInvoice | Double | No | Coste a facturar de la habitación: Amount - porcentaje de comisión (#.##) |
↳↳ roomRateDay[] | RoomRateDay | Sí | Desglose de reserva por día, informando la tarifa y precio correspondiente a cada día de la estancia |
↳↳↳ day | Date | Sí | Día de la estancia (dd/MM/yyy) |
↳↳↳ rateCode | String | No | Código de tarifa |
↳↳↳ amount | String | Sí | Importe del día |
↳↳ guest[] | Guest | Sí | Pasajero de la reserva |
↳↳↳ @id | Integer | Sí | Identificador del pasajero |
↳↳↳ name | String | Sí | Nombre del pasajero. Si el nombre no ha sido informado en la reserva, se substituirá por el nombre de la persona de contacto |
↳↳↳ gender | String | No | Género del pasajero ('Male': Hombre, 'Female': Mujer y 'Undefined': Indefinido). |
↳↳↳ type | Enum | Sí | Tipo (Adult, Child, Baby) |
↳↳↳ amount | Double | Sí | Importe correspondiente al pasajero |
↳↳↳ birthDate | Date | No | Fecha de nacimiento |
↳↳↳ nationality[] | String | No | Nacionalidad del huésped |
↳↳↳ document[] | Document | No | Información relativa a los documentos aportados por el huésped |
↳↳↳↳ typeDocument | String | No | Tipo del documento aportado ('D': Dni, 'E': Nie y 'P':Pasaporte) |
↳↳↳↳ numberDocument | String | No | Número del documento aportado |
↳↳↳↳ expeditionDate | Date | No | Fecha de expedición del documento (dd/MM/yyyy) |
↳↳↳↳ expiryDocument | Date | No | Fecha de caducidad del documento (dd/MM/yyyy) |
↳↳↳ contact[] | ContactAddress | No | Información relativa a los datos de contacto aportados por el huésped |
↳↳↳↳ phone | String | No | Teléfono aportado por el huésped |
String | No | Email aportado por el huésped | |
↳↳↳↳ addressText | String | No | Dirección aportada por el huésped |
↳↳↳↳ postalCode | String | No | Código postal |
↳↳ cancellationData | CancellationData | No | Gastos de cancelación de la habitación |
↳↳↳ cancelPenaltyPolicy[] | CancelPenaltyPolicy | Sí | Gasto de cancelación aplicable a partir de una fecha de cancelación |
↳↳↳↳ @id | Integer | Sí | Identificador del gasto de cancelación |
↳↳↳↳ date | Calendar | Sí | Elemento que contiene la fecha a partir de la cual se aplican los gastos de cancelación |
↳↳↳↳ timeRelevant | Boolean | Sí | Elemento que indica si las horas en la fecha de cancelación son relevantes o se debe tomar sólo la fecha como dato significativo |
↳↳↳↳ amount | Double | Sí | Importe que se aplicará al cancelar la habitación |
↳↳↳↳ description | String | No | Descripción de los gastos de cancelación |
↳ bookingSupplement[] | BookingSupplement | No | Información de suplemento reservado |
↳↳ code | String | Sí | Código del suplemento opcional reservado |
↳↳ name | String | Sí | Nombre del suplemento opcional reservado |
↳↳ typeSupplement | String | Sí | Indica el tipo de suplemento que tratamos (Mandatory / Optional / SalePolicy) |
↳↳ internalName | String | No | Nombre interno de la política comercial (suplementos del tipo SP) aplicada en la reserva. |
↳↳ description | String | No | Descripción detallada del suplemento opcional reservado |
↳↳ checkIn | Date | No | Fecha de inicio del suplemento (dd/MM/yyy) |
↳↳ checkOut | Date | No | Fecha de fin del suplemento (dd/MM/yyy) |
↳↳ bookingRoomId | Integer | No | Identificador de la habitación reservada, si el suplemento referencia a una habitación en concreto |
↳↳ guestId[] | Integer | No | Identificador del pasajero al que se hace referencia, si el suplemento referencia a un pasajero/os en concreto |
↳↳ amount | Double | Sí | Importe total del suplemento opcional reservado |
↳↳ commissionSupplementAmount | Double | No | Comisión del suplemento (#.##) |
↳↳ netSupplementAmount | Double | No | Coste neto del suplemento: Valor total del Suplemento - Importe de Comisión del suplemento (#.##) |
↳↳ promotionalCode[] | String | No | Indica los códigos aplicados en el suplemento en cuestión |
↳↳ mandatory | Boolean | Sí | Indica si el suplemento es obligatorio (true) o opcional (false) |
↳↳ detail | SupplementDetail | No | Indica los detalles del suplemento. |
↳↳↳ shuttleDetail | SupplementShuttleDetail | No | Indica los detalles de transporte (siempre y cuando el suplemento sea de tipo TRF) |
↳↳↳↳ mailTransferProvider | String | No | Indica el email del proveedor del transfer |
↳↳↳↳ arrivalFlight | ShuttleFlightDetail | No | Indica los detalles del vuelo de llegada |
↳↳↳↳↳ airportCode | String | No | Indica el código del aeropuerto |
↳↳↳↳↳ airportName | String | No | Indica el nombre del aeropuerto |
↳↳↳↳↳ companyCode | String | No | Indica el código de la compañía que emite el billete |
↳↳↳↳↳ companyName | String | No | Indica el nombre de la compañía que emite el billete |
↳↳↳↳↳ flightNumber | String | No | Indica el número de vuelo |
↳↳↳↳↳ flightTime | Calendar | No | Indica la fecha y hora del vuelo (dd/MM/yyyy HH:mm) |
↳↳↳↳ departureFlight | ShuttleFlightDetail | No | Indica los detalles del vuelo de salida |
↳↳↳↳↳ airportCode | String | No | Indica el código del aeropuerto |
↳↳↳↳↳ airportName | String | No | Indica el nombre del aeropuerto |
↳↳↳↳↳ companyCode | String | No | Indica el código de la compañía que emite el billete |
↳↳↳↳↳ companyName | String | No | Indica el nombre de la compañía que emite el billete |
↳↳↳↳↳ flightNumber | String | No | Indica el número de vuelo |
↳↳↳↳↳ flightTime | Calendar | No | Indica la fecha y hora del vuelo (dd/MM/yyyy HH:mm) |
↳ bookingPayment | BookingPayment | No | Información del pago de la reserva1 |
↳↳ modality | Enum | Sí | Modalidad de pago (Establishment / Inmediate / Deferred / CancelPenalty / Instalment / ExternManagement) |
↳↳ type | Enum | Sí | Tipo de pago (BankTransfer / Card / VirtualCard / PrepaidCard / WarrantyCard / Cash / Cheque / Credit / Voucher / ExternalManaged / PinPad) |
↳↳ otaType | Enum | No | Tipo de pago OTA (PA: Agency prepaid/PC: Customer prepaid/PD: Customer payment/PB: Voucher Payment/FC: Credit invoice/PM: Loyalty points + money PU: Loyalty Points/SC: By contract/SD: OTA Virtual card/NN: TPV pending/AW: Prepaid TPV with AMEX/VW: Prepaid TPV NO AMEX) |
↳↳ status | Enum | Sí | Estado de pago (Pending / Ok / Error / Cancelled / Inapplicable) |
↳↳ description | String | No | Contiene el nombre comercial asignado a a la modalidad de pago |
↳ paymentCardDetail | PaymentCardDetail | No | Detalles de la tarjeta que ha realizado el pago (sólo viene informado si bookingPayment.type es Card, PrepaidCard, VirtualCard o WarrantyCard) |
↳↳ holder | String | Sí | Nombre del titular de la tarjeta |
↳↳ number | String | Sí | Número de la tarjeta |
↳↳ expiryDate | Date | Sí | Fecha de caducidad (dd/MM/yyy) |
↳↳ securityCode | String | No | Código de seguridad (cvc2) |
↳ paymentDetail[] | PaymentDetail | No | Log con todos los pagos realizados en la reserva |
↳↳ action | String | Sí | Tipo de operación (charge / refund) |
↳↳ paymentStatus | String | Sí | Estado del pago (Pending / Ok / Error / Cancelled / Inapplicable) |
↳↳ type | String | Sí | Código del tipo de pago (Establishment / Inmediate / Deferred / CancelPenalty / Instalment / ExternManagement) |
↳↳ otaType | Enum | No | Tipo de pago OTA (PA: Agency prepaid/PC: Customer prepaid/PD: Customer payment/PB: Voucher Payment/FC: Credit invoice/PM: Loyalty points + money PU: Loyalty Points/SC: By contract/SD: OTA Virtual card/NN: TPV pending/AW: Prepaid TPV with AMEX/VW: Prepaid TPV NO AMEX) |
↳↳ date | Calendar | Sí | Fecha de la transacción |
↳↳ amount | Double | Sí | Importe (#.##) |
↳↳↳ breakdown[] | Breakdown | No | Desglose de pago por habitación |
↳↳↳↳ bookingRoomId | Integer | Sí | Id de referencia a la habitacion |
↳↳↳↳ amount | Double | Sí | Importe del pago (#.##) |
↳↳↳ cardDetail | PaymentDetailCardDetail | No | Detalle pago con tarjeta de crédito |
↳↳↳↳ status | String | Sí | Estado del pago (Pending / Ok / Error / Cancelled / Inapplicable) |
↳↳↳↳ card | CreditCard | Sí | Información de la tarjeta de crédito |
↳↳↳↳↳ cardTypeCode | String | No | Código de la tarjeta de crédito |
↳↳↳↳↳ cardTypeDescription | String | No | Nombre del tipo de tarjeta de crédito |
↳↳↳↳↳ holder | String | Sí | Nombre del titular de la tarjeta |
↳↳↳↳↳ number | String | Sí | Número de la tarjeta |
↳↳↳↳↳ hashedValue | String | No | Número de la tarjeta |
↳↳↳↳↳ seriesCode | String | No | CVC |
↳↳↳↳↳ expiryDate | Date | Sí | Fecha de caducidad (dd/MM/yyy) |
↳↳↳↳ systemCode | String | Sí | Identificador del sistema de pago |
↳↳↳↳ reference | String | Sí | Localizador de la reserva |
↳↳↳↳ authorizedCode | String | Sí | Código de autorización |
↳↳↳↳ errorDescription | String | No | Descripción del error en el pago |
↳↳↳ externalManagedDetail | PaymentExternalManagedDetail | No | Datos detallados de un sistema de pago externo, por ejemplo Paypal |
↳↳↳↳ externalSystemCode | String | Sí | Código del sistema externo |
↳↳↳↳ externalReference | String | Sí | Referencia externa |
↳↳↳↳ status | String | Sí | Estado del pago (Pending / Ok / Error / Cancelled / Inapplicable) |
↳↳↳ virtualCard | VirtualCard | No | Información de la tarjeta virtual |
↳↳↳↳ code | String | Sí | Código de tarjeta virtual |
↳↳↳↳ accountCode | String | Sí | Código de la cuenta que gestiona las tarjetas virtuales |
↳↳↳↳ authorizedCode | String | Sí | Código de autorización del pago |
↳↳↳↳ currencyCode | String | Sí | Código de divisa asociada al usuario |
↳↳↳↳ availableAmount | String | Sí | Importe disponible en la cuenta que gestiona las tarjetas virtuales |
↳↳↳↳ status | String | Sí | Estado de la tarjeta virtual (Active / Inactive / Blocked / Close) |
↳↳↳↳ referencePayClient | String | Sí | eferencia del pago para el cliente |
↳↳↳↳ description | String | No | Descripción del elemento |
↳↳↳↳ person | BasePerson | No | Persona con los datos básicos |
↳↳↳↳↳ firstName | String | No | Nombre de la persona |
↳↳↳↳↳ firstLastName | String | No | Primer apellido de la persona |
↳↳↳↳↳ secondLastName | String | No | Segundo apellido de la persona |
↳↳↳↳↳ birthDate | Date | No | Fecha de nacimiento |
↳↳↳↳ contact | BaseContact | No | Contacto con los datos básicos |
↳↳↳↳↳ phone | String | No | Número de teléfono |
↳↳↳↳↳ fax | String | No | Número de Fax |
String | No | Dirección de e-mail | |
↳↳↳↳↳ web | Date | No | Dirección de la página web |
↳↳↳↳ address | Address | No | Información de Dirección |
↳↳↳↳↳ countryCode | String | No | Código del país |
↳↳↳↳↳ countryName | String | No | Nombre del país |
↳↳↳↳↳ state | String | No | Estado |
↳↳↳↳↳ county | Date | No | Condado |
↳↳↳↳↳ province | String | No | Provincia |
↳↳↳↳↳ locationCode | String | No | Código de la localidad, ciudad, zona rural |
↳↳↳↳↳ locationName | String | No | Nombre de la localidad, ciudad, zona rural |
↳↳↳↳↳ postalCode | Date | No | Código postal |
↳↳↳↳ creditCard | CreditCard | No | Información de la tarjeta de crédito |
↳↳↳↳↳ cardTypeCode | String | No | Código de la tarjeta de crédito |
↳↳↳↳↳ cardTypeDescription | String | No | Nombre del tipo de tarjeta de crédito |
↳↳↳↳↳ holder | String | Sí | Nombre del titular de la tarjeta |
↳↳↳↳↳ number | String | Sí | Número de la tarjeta |
↳↳↳↳↳ hashedValue | String | No | Número de la tarjeta |
↳↳↳↳↳ seriesCode | String | No | CVC |
↳↳↳↳↳ expiryDate | Date | Sí | Fecha de caducidad (dd/MM/yyy) |
↳↳↳ prepaidCardDetail | PrepaidCardDetail | No | Detalle pago con tarjeta de prepago |
↳↳↳↳ status | String | Sí | Estado del pago (Pending / Ok / Error / Cancelled / Inapplicable) |
↳↳↳↳ systemCode | String | No | Identificador del sistema de pago |
↳↳↳↳ card | CreditCard | Sí | Datos de la tarjeta prepago |
↳↳↳↳↳ cardTypeCode | String | No | Código de la tarjeta de crédito |
↳↳↳↳↳ cardTypeDescription | String | No | Nombre del tipo de tarjeta de crédito |
↳↳↳↳↳ holder | String | Sí | Nombre del titular de la tarjeta |
↳↳↳↳↳ number | String | Sí | Número de la tarjeta |
↳↳↳↳↳ hashedValue | String | No | Número de la tarjeta |
↳↳↳↳↳ seriesCode | String | No | CVC |
↳↳↳↳↳ expiryDate | Date | Sí | Fecha de caducidad (dd/MM/yyy) |
↳↳↳ warrantyCardDetail | WarrantyCardDetail | No | Detalle pago con tarjeta de garantía |
↳↳↳↳ status | String | Sí | Estado del pago (Pending / Ok / Error / Cancelled / Inapplicable) |
↳↳↳↳ systemCode | String | No | Identificador del sistema de pago |
↳↳↳↳ card | CreditCard | Sí | Datos de la tarjeta de garantía |
↳↳↳↳↳ cardTypeCode | String | No | Código de la tarjeta de crédito |
↳↳↳↳↳ cardTypeDescription | String | No | Nombre del tipo de tarjeta de crédito |
↳↳↳↳↳ holder | String | Sí | Nombre del titular de la tarjeta |
↳↳↳↳↳ number | String | Sí | Número de la tarjeta |
↳↳↳↳↳ hashedValue | String | No | Número de la tarjeta |
↳↳↳↳↳ seriesCode | String | No | CVC |
↳↳↳↳↳ expiryDate | Date | Sí | Fecha de caducidad (dd/MM/yyy) |
↳ saleRules | SaleRules | No | Elemento que contiene las reglas de ventas cargadas en Hotetec, y que se han aplicado en la reserva. |
↳↳ bookingRoom[] | Room | No | Elemento que contiene las reglas de venta aplicadas en una habitación en concreto. |
↳↳↳ @id | Integer | Sí | Identificador de la habitación |
↳↳↳ saleRulesByDay[] | SaleRulesByDay | Sí | Elemento que contiene un desglose de las reglas de venta aplicadas por día. |
↳↳↳↳ day | Date | Sí | Día aplicado |
↳↳↳↳ saleRule[] | SaleRule | No | Elemento que contiene una regla de venta aplicada en el día concreto. |
↳↳↳↳↳ name | String | Sí | Nombre de la regla de venta. |
↳↳↳↳↳ amount | String | No | Importe cargado en la regla de venta aplicada. |
↳↳↳↳↳ percentage | String | No | Percentaje cargado en la regla de venta aplicada. |
ExtraCustomData
Detalle del elemento ExtraCustomData del mensaje BookingRetrieval.
<?xml version="1.0" encoding="UTF-8"?>
<BookingRetrievalResponse>
<sessionId>SUP#FOO#123456789</sessionId>
<booking>
...
<extraCustomData>
<customData>
<key>Key1</key>
<value>Value1</value>
</customData>
<customData>
<key>Key2</key>
<value>Value2</value>
</customData>
</extraCustomData>
</booking>
</BookingRetrievalResponse>
{
"BookingRetrievalResponse": {
"sessionId": "SUP#FOO#123456789",
"booking": {
...
"extraCustomData": {
"customData": [
{
"key": "Key1",
"value": "Value1"
},
{
"key": "Key2",
"value": "Value2"
}
]
}
}
}
}
Elemento Opcional utilizado para indicar diversos aspectos de la reserva que no tienen cabida en el formato básico de la reserva.
Solo se notificarán aquellos elementos que estén informados.
CustomData Keys
A continuación se detallan los distintos valores que pueden llegar en el elemento key.
Key | Tipo | Descripción |
---|---|---|
LastMinute | S / N (Si/No) | Indica si se trata de una reserva realizada a traves del componente LastMinute de la web |
SEMCODE | String | Indica el código de SEM |
BookingEngineCode | Integer | Indica el código de motor de la web |
WebsiteUrl | String | Indica la url de la web donde se ha realizado la reserva. |
IpAdress | String | Indica la ip desde la cual se ha realizado la reserva. |
Country | String | Indica el pais desde el cual se ha realizado la reserva. (ISO 3166) |
ReferredByUrl | String | Indica la Url desde la cual ha llegado la reserva. |
ReferredBySystem | String | Indica el sistema desde el cual ha llegado la reserva. (HPH -Web-, MPH -Móvil-, GHF -Google Hotel Finder-, TVG -Trivago-,...). |
ParentSystem | String | Indica el sistema padre desde el cual ha llegado la reserva. (XML -Xml-, STK -Canal externo-, WEB -Web y Web móvil- y CCH -Call Center-). |
Affiliate | String | |
Medium | String | |
Source | String | |
PriceType | String | Indica el tipo de precio enviado en la reserva (Net: Precio Neto / PVP : Precio Comisionable). |
ClientType | String | Indica el tipo1 de cliente que ha realizado la reserva. |
StatusPaymentBooking | String | Indica si la reserva ha sido pagada o no. Valores: Charged / Pending |
NoShow | String | Indica que la habitación con el id indicado ha sido marcada como 'No show'. |
OriginalAmount | String | Indica el importe original de la reserva. |
Agency | String | Indica el código de la agencia enviado por el canal en la reserva |
AgencyReference | String | Indica el localizador de reserva de la agencia enviado por el canal en la reserva |
Flight_Arrival | String | Indica la información recibida en la reserva sobre el vuelo de llegada. Tiene un formato específico y es: IdHabitación@NumeroVuelo#DiayHoraLlegada (dd/MM/yyyy HH:mm) |
Flight_Departure | String | Indica la información recibida en la reserva sobre el vuelo de salida. Tiene un formato específico y es: IdHabitación@NumeroVuelo#DiayHoraLlegada (dd/MM/yyyy HH:mm) |
CostDate | String | Indica la fecha en que se realizó la valoración de los costes de la reserva (dd/MM/yyyy) |
CreationSystem | String | Indica el sistema de creacion de la reserva |
Notificación de reservas PUSH
Soporte para que el proveedor reciba una notificación PUSH cuando se crea una nueva reserva o bien se cancela o modifica una reserva ya existente. Una vez recibida la notifiación, el proveedor puede utilizar el mensaje BookingRetrievalRequest (filtrando por localizador) para recuperar la información actual de la reserva y actualizarla en su sistema.
Formato notificación PUSH
Por simplicidad, la notificación PUSH se realizará mediante una llamada HTTP GET a una URL de libre elección por parte del proveedor, informando los siguientes parámetros:
Parámetro | Tipo | Obl? | Descripción |
---|---|---|---|
hotelCode | Integer | Sí | Identificador de hotel |
reference | String | Sí | Localizador de la reserva |
action | Enum | Sí | Acción que se ha realizado sobre la reserva (Creation: Creación de una nueva reserva, Cancellation: Cancelación de la reserva, Modification: Modificación de la reserva) |
card | Boolean | Sí | Indica si la reserva contiene datos sobre una tarjeta de crédito (true/false) |
Ejemplo llamadas:
- Notificación creación nueva reserva EPL10032017140800-SALE: http://www.anyurl.com/hotelCode?1234&reference?EPL10032017140800-SALE&action?Creation&card?false
- Notificación cancelación reserva EPL10032017140800-SALE: http://www.anyurl.com/hotelCode?1234&reference?EPL10032017140800-SALE&action?Cancellation&card?false
BookingConfirm
Ejemplo BookingConfirmRequest para confirmar una reserva en particular
<?xml version="1.0" encoding="UTF-8"?>
<BookingConfirmRequest>
<credentials>
<systemCode>SFO</systemCode>
<vendorCode>FOO</vendorCode>
<user>BAR</user>
<password>FOOBAR</password>
</credentials>
<hotelCode>1234</hotelCode>
<reference>EPL10032017140800-SALE</reference>
<confirmReference>REFERENCIACONFIRMACION</confirmReference>
</BookingConfirmRequest>
{
"BookingConfirmRequest": {
"credentials": {
"systemCode": "SFO",
"vendorCode": "FOO",
"user": "BAR",
"password": "FOOBAR"
},
"hotelCode": "1234",
"reference": "EPL10032017140800-SALE",
"confirmReference": "REFERENCIACONFIRMACION"
}
}
Ejemplo respuesta BookingConfirmResponse procesada correctamente
<?xml version="1.0" encoding="UTF-8"?>
<BookingConfirmResponse>
<sessionId>SUP#FOO#123456789</sessionId>
<status>success</status>
</BookingConfirmResponse>
{
"BookingConfirmResponse": {
"sessionId": "SUP#FOO#123456789",
"status": "success"
}
}
Ejemplo respuesta BookingConfirmResponse procesada incorrectamente
<?xml version="1.0" encoding="UTF-8"?>
<BookingConfirmResponse>
<sessionId>SUP#FOO#123456789</sessionId>
<notification code="DSUP-7">
<type>E</type>
<text>La funcionalidad ConfirmBooking-Inbound no está activada. Por favor, consulte su Account Manager</text>
</notification>
</BookingConfirmResponse>
{
"BookingConfirmResponse": {
"sessionId": "SUP#FOO#123456789",
"notification": {
"-code": "DSUP-7",
"type": "E",
"text": "La funcionalidad ConfirmBooking-Inbound no está activada. Por favor, consulte su Account Manager"
}
}
}
Mensaje utilizado para confirmación de reservas.
BookingConfirmRequest
Mensaje petición de recuperación de reservas
Elemento | Tipo | Obl? | Descripción |
---|---|---|---|
credentials | Credentials | Sí | Credenciales de autenticación del usuario (Ver Autenticación) |
reference | String | Sí | Localizador de la reserva de Hotetec |
hotelCode | Integer | Sí | Código de hotel |
confirmReference | String | No | Referencia de confirmación de reserva. |
BookingConfirmResponse
Mensaje respuesta de confirmación de reservas
Elemento | Tipo | Obl? | Descripción |
---|---|---|---|
sessionId | String | Sí | Identificador de la sesión que ha procesado la transacción |
status | String | No | Indica si la confirmación se ha realizado correctamente o no ('success'=sí, 'Error'=no) |
notification | Notification | No | En caso de que la confirmación no haya sido correcta, contendrá el error. |
↳ @code | String | Sí | Contiene el código de error de Hotetec. |
↳ type | String | Sí | Indica si es un error (E) o un warning (W). |
↳ text | String | Sí | Texto descriptivo del error |
BookingAddPayment
Ejemplo BookingAddPayment para añadir un pago de tipo inmediato
<?xml version="1.0" encoding="UTF-8"?>
<BookingAddPaymentRequest>
<credentials>
<systemCode>SFO</systemCode>
<vendorCode>FOO</vendorCode>
<user>BAR</user>
<password>FOOBAR</password>
</credentials>
<hotelCode>1234</hotelCode>
<reference>DEMOHTT221017XFCN-SALE</reference>
<paymentDetail>
<action>Charge</action>
<paymentStatus>Ok</paymentStatus>
<type>Inmediate</type>
<date>02/08/2022 09:43</date>
<amount>500</amount>
<externalSystemCode>SER</externalSystemCode>
<externalReference>12345</externalReference>
</paymentDetail>
</BookingAddPaymentRequest>
{
"BookingAddPaymentRequest": {
"credentials": {
"systemCode": "SFO",
"vendorCode": "FOO",
"user": "BAR",
"password": "FOOBAR"
},
"hotelCode": "1234",
"reference": "DEMOHTT221017XFCN-SALE",
"paymentDetail": {
"action": "Charge",
"paymentStatus": "Ok",
"type": "Inmediate",
"date": "02/08/2022 09:43",
"amount": "500",
"externalSystemCode": "SER",
"externalReference": "12345"
}
}
}
Ejemplo BookingAddPayment para añadir un pago de tipo transferencia bancaria
<?xml version="1.0" encoding="UTF-8"?>
<BookingAddPaymentRequest>
<credentials>
<systemCode>SFO</systemCode>
<vendorCode>FOO</vendorCode>
<user>BAR</user>
<password>FOOBAR</password>
</credentials>
<hotelCode>1234</hotelCode>
<reference>DEMOHTT221017XFCN-SALE</reference>
<paymentDetail>
<action>Charge</action>
<paymentStatus>Ok</paymentStatus>
<type>BankTransfer</type>
<date>02/08/2022 09:43</date>
<amount>500</amount>
<externalReference>12345</externalReference>
</paymentDetail>
</BookingAddPaymentRequest>
{
"BookingAddPaymentRequest": {
"credentials": {
"systemCode": "SFO",
"vendorCode": "FOO",
"user": "BAR",
"password": "FOOBAR"
},
"hotelCode": "1234",
"reference": "DEMOHTT221017XFCN-SALE",
"paymentDetail": {
"action": "Charge",
"paymentStatus": "Ok",
"type": "BankTransfer",
"date": "02/08/2022 09:43",
"amount": "500",
"externalReference": "12345"
}
}
}
Ejemplo BookingAddPayment para añadir un pago de tipo payByLink
<?xml version="1.0" encoding="UTF-8"?>
<BookingAddPaymentRequest>
<credentials>
<systemCode>SFO</systemCode>
<vendorCode>FOO</vendorCode>
<user>BAR</user>
<password>FOOBAR</password>
</credentials>
<hotelCode>1234</hotelCode>
<reference>DEMOHTT221017XFCN-SALE</reference>
<paymentDetail>
<action>Charge</action>
<paymentStatus>Ok</paymentStatus>
<type>PayByLink</type>
<date>02/08/2022 09:43</date>
<amount>500</amount>
<externEmail>soportetecnico@hotetec.com</externEmail>
</paymentDetail>
</BookingAddPaymentRequest>
{
"BookingAddPaymentRequest": {
"credentials": {
"systemCode": "SFO",
"vendorCode": "FOO",
"user": "BAR",
"password": "FOOBAR"
},
"hotelCode": "1234",
"reference": "DEMOHTT221017XFCN-SALE",
"paymentDetail": {
"action": "Charge",
"paymentStatus": "Ok",
"type": "PayByLink",
"date": "02/08/2022 09:43",
"amount": "500",
"externEmail": "soportetecnico@hotetec.com"
}
}
}
Ejemplo respuesta BookingConfirmResponse procesada correctamente
<?xml version="1.0" encoding="UTF-8"?>
<BookingAddPaymentResponse>
<sessionId>SUP#FOO#123456789</sessionId>
<booking>
<reference>DEMOHTT221017XFCN-SALE</reference>
<creationDate>06/07/2022 12:25</creationDate>
<modificationDate>12/08/2022 12:47</modificationDate>
<checkIn>17/10/2022</checkIn>
<checkOut>19/10/2022</checkOut>
<status>Confirmed</status>
<amount>132</amount>
<amountToInvoice>145.2</amountToInvoice>
<bookingClient>
<clientCode>XXX</clientCode>
<clientReference>6666</clientReference>
</bookingClient>
<endCustomer>
<name>TEST TEST TEST</name>
<mail>soportetecnico@hotetec.com</mail>
<phone>+34935500145</phone>
<country>ES</country>
</endCustomer>
<commission>
<serviceCommission>
<serviceId>1</serviceId>
<commissionPercentage>10</commissionPercentage>
</serviceCommission>
</commission>
<hotelCode>1234</hotelCode>
<currencyCode>EUR</currencyCode>
<bookingRoom id="1">
<checkIn>17/10/2022</checkIn>
<checkOut>19/10/2022</checkOut>
<status>Confirmed</status>
<roomCode>DBL#STD</roomCode>
<mealPlanCode>RO</mealPlanCode>
<amount>132</amount>
<totalRoomAmount>132</totalRoomAmount>
<commissionRoomAmount>13.2</commissionRoomAmount>
<netRoomAmount>118.8</netRoomAmount>
<amountRoomToInvoice>118.8</amountRoomToInvoice>
<roomRateDay>
<day>17/10/2022</day>
<rateCode>14426</rateCode>
<rateName>TEST</rateName>
<amount>66</amount>
</roomRateDay>
<roomRateDay>
<day>18/10/2022</day>
<rateCode>14426</rateCode>
<rateName>TEST</rateName>
<amount>66</amount>
</roomRateDay>
<guest id="0">
<type>Adult</type>
<amount>132</amount>
<name>TEST TEST TEST</name>
<birthDate>06/07/1989</birthDate>
</guest>
</bookingRoom>
<bookingPayment>
<modality>ExternManagement</modality>
<type>ExternalManaged</type>
<status>Ok</status>
</bookingPayment>
<paymentDetail>
<action>Charge</action>
<paymentStatus>Inapplicable</paymentStatus>
<type>Card</type>
<date>06/07/2022 12:25</date>
<cardDetail>
<status>Inapplicable</status>
<card>
<holder>TEST HOLDER</holder>
<number>1234123412341234</number>
<hashedValue>1234123412341234</hashedValue>
<seriesCode>123</seriesCode>
<expiryDate>01/06/2027</expiryDate>
</card>
</cardDetail>
</paymentDetail>
<paymentDetail>
<action>Charge</action>
<paymentStatus>Ok</paymentStatus>
<type>ExternalManaged</type>
<date>02/08/2022 09:43</date>
<amount>500</amount>
<externalManagedDetail>
<externalSystemCode>SER</externalSystemCode>
<externalReference>12345</externalReference>
<status>Ok</status>
</externalManagedDetail>
</paymentDetail>
<extraCustomData>
<customData>
<key>CreationSystem</key>
<value>EDR</value>
</customData>
<customData>
<key>ParentSystem</key>
<value>STK</value>
</customData>
<customData>
<key>PriceType</key>
<value>Net</value>
</customData>
<customData>
<key>StatusPaymentBooking</key>
<value>Pending</value>
</customData>
<customData>
<key>OriginalAmount</key>
<value>132.0</value>
</customData>
</extraCustomData>
</booking>
</BookingAddPaymentResponse>
{
"BookingAddPaymentResponse": {
"sessionId": "SUP#FOO#123456789",
"booking": {
"reference": "DEMOHTT221017XFCN-SALE",
"creationDate": "06/07/2022 12:25",
"modificationDate": "12/08/2022 12:47",
"checkIn": "17/10/2022",
"checkOut": "19/10/2022",
"status": "Confirmed",
"amount": "132",
"amountToInvoice": "145.2",
"bookingClient": {
"clientCode": "XXX",
"clientReference": "6666"
},
"endCustomer": {
"name": "TEST TEST TEST",
"mail": "soportetecnico@hotetec.com",
"phone": "+34935500145",
"country": "ES"
},
"commission": {
"serviceCommission": {
"serviceId": "1",
"commissionPercentage": "10"
}
},
"hotelCode": "1234",
"currencyCode": "EUR",
"bookingRoom": {
"-id": "1",
"checkIn": "17/10/2022",
"checkOut": "19/10/2022",
"status": "Confirmed",
"roomCode": "DBL#STD",
"mealPlanCode": "RO",
"amount": "132",
"totalRoomAmount": "132",
"commissionRoomAmount": "13.2",
"netRoomAmount": "118.8",
"amountRoomToInvoice": "118.8",
"roomRateDay": [
{
"day": "17/10/2022",
"rateCode": "14426",
"rateName": "TEST",
"amount": "66"
},
{
"day": "18/10/2022",
"rateCode": "14426",
"rateName": "TEST",
"amount": "66"
}
],
"guest": {
"-id": "0",
"type": "Adult",
"amount": "132",
"name": "TEST TEST TEST",
"birthDate": "06/07/1989"
}
},
"bookingPayment": {
"modality": "ExternManagement",
"type": "ExternalManaged",
"status": "Ok"
},
"paymentDetail": [
{
"action": "Charge",
"paymentStatus": "Inapplicable",
"type": "Card",
"date": "06/07/2022 12:25",
"cardDetail": {
"status": "Inapplicable",
"card": {
"holder": "TEST HOLDER",
"number": "1234123412341234",
"hashedValue": "1234123412341234",
"seriesCode": "123",
"expiryDate": "01/06/2027"
}
}
},
{
"action": "Charge",
"paymentStatus": "Ok",
"type": "ExternalManaged",
"date": "02/08/2022 09:43",
"amount": "500",
"externalManagedDetail": {
"externalSystemCode": "SER",
"externalReference": "12345",
"status": "Ok"
}
}
],
"extraCustomData": {
"customData": [
{
"key": "CreationSystem",
"value": "EDR"
},
{
"key": "ParentSystem",
"value": "STK"
},
{
"key": "PriceType",
"value": "Net"
},
{
"key": "StatusPaymentBooking",
"value": "Pending"
},
{
"key": "OriginalAmount",
"value": "132.0"
}
]
}
}
}
}
Ejemplo respuesta BookingConfirmResponse procesada incorrectamente
<?xml version="1.0" encoding="UTF-8"?>
<BookingAddPaymentResponse>
<sessionId>SUP#FOO#123456789</sessionId>
<notification code="DSUP-7">
<type>E</type>
<text>La funcionalidad ConfirmBooking-Inbound no está activada. Por favor, consulte su Account Manager</text>
</notification>
</BookingAddPaymentResponse>
{
"BookingAddPaymentResponse": {
"sessionId": "SUP#FOO#123456789",
"notification": {
"code": "DSUP-7",
"type": "E",
"text": "La funcionalidad ConfirmBooking-Inbound no está activada. Por favor, consulte su Account Manager"
}
}
}
Mensaje utilizado para pagos a reservas reservas.
BookingAddPaymentRequest
Mensaje petición de recuperación de reservas
Elemento | Tipo | Obl? | Descripción |
---|---|---|---|
credentials | Credentials | Sí | Credenciales de autenticación del usuario (Ver Autenticación) |
reference | String | Sí | Localizador de la reserva de Hotetec |
hotelCode | Integer | Sí | Código de hotel |
paymentDetail | BookingPaymentDetail | Sí | Elemento que contiene el pago a añadir |
↳ action | String | Sí | Indica si el pago es un cobro (Charge) o una devolución (Refund). |
↳ paymentStatus | String | Sí | Estado del pago (Tendría que ser siempre Ok, aunque acepta Error) |
↳ type | String | Sí | Indica el tipo de pago realizado (Inmediato (Inmediate), Transferencia bancaria (BankTransfer) o PayByLink (PayByLink)) |
↳ date | DateTime | Sí | Fecha del pago (dd/MM/yyyy HH:mm) |
↳ amount | Double | Sí | Importe total del pago (#.##) |
↳ externalSystemCode | String | No1 | Indica el código del sistema externo utilizado para el pago. (PayComet PAC o Transfermovil TFM) |
↳ externalReference | String | No2 | Indica la referencia del pago externo. |
↳ externEmail | String | No3 | Indica el email asociado al pago. |
BookingAddPaymentResponse
Mensaje respuesta de confirmación de reservas
Elemento | Tipo | Obl? | Descripción |
---|---|---|---|
sessionId | String | Sí | Identificador de la sesión que ha procesado la transacción |
booking | Booking | No | Información de una reserva de hotel |
↳ reference | String | Sí | Localizador de la reserva |
↳ creationDate | DateTime | Sí | Fecha de creación de la reserva (dd/MM/yyy HH:mm) |
↳ modificationDate | DateTime | No | Fecha de modificación de la reserva (dd/MM/yyyy HH:mm). Sólo viene informado cuando es una modificación de reserva |
↳ cancellationDate | DateTime | No | Fecha de cancelación de la reserva (dd/MM/yyyy HH:mm). Sólo viene informado cuando es una cancelación de reserva |
↳ country | String | No | Código del país de origen de la reserva (2 letter ISO 3166). Sólo vendrá informado en la reservas propias de Hotetec |
↳ checkIn | Date | Sí | Fecha de entrada (dd/MM/yyy) |
↳ checkOut | Date | Sí | Fecha de salida (dd/MM/yyy) |
↳ status | Enum | Sí | Estado de la reserva (Confirmed, Cancelled, OnRequest) |
↳ amount | Double | Sí | Importe total de la reserva (#.##) |
↳ bookingClient | BookingClient | Sí | Información del cliente que ha realizado la reserva, refiriéndose a la agencia (Ej: Logitravel), OTA (Ej: Booking.com), o el propio hotel |
↳↳ clientCode | String | Sí | Código de cliente |
↳↳ clientName | String | Sí | Nombre de cliente |
↳↳ fiscalClientName | String | No | Nombre fiscal referente al cliente de la reserva |
↳↳ addressClient | String | No | Dirección física de la empresa cliente |
↳↳ postalClientCode | String | No | Código postal de la empresa cliente |
↳↳ countryClient | String | No | País de la empresa cliente |
↳↳ cifClient | String | No | Número CIF de la empresa cliente |
↳↳ emailClient | String | No | Correo electrónico de la empresa cliente |
↳↳ clientReference | String | No | Referencia de la reserva del cliente (habitualmente su localizador) |
↳ endCustomer | EndCustomer | Sí | Información del cliente final de la reserva |
↳↳ name | String | Sí | Nombre del cliente final |
↳↳ birthDate | Date | No | Fecha de nacimiento (dd/MM/yyy) |
String | No | Email del cliente final | |
↳↳ phone | String | No | Teléfono de contacto del cliente final |
↳↳ nationality | String | No | Nacionadlidad (2 letter ISO 3166) |
↳↳ document | Document | No | Información referente al documento de identificación de la persona de contacto |
↳↳↳ typeDocument | String | No | Tipo de documento (DNI, NIE, Passport o IdentityCard) |
↳↳↳ numberDocument | String | No | Número de documento |
↳ commision | Commission | No | Información sobre las comisiones aplicadas en la reserva |
↳↳ serviceCommission[] | ServiceCommission | No | Información específica sobre un servicio reservado |
↳↳↳ serviceId | Integer | Sí | Identificador que identifica la habitación reservada |
↳↳↳ commissionAmount | Double | No | Importe de la comisión aplicada |
↳↳↳ commissionPercentage | Double | No | Porcentage de la comisión aplicada |
↳ hotelCode | Integer | Sí | Código de hotel |
↳ currencyCode | String | Sí | Código de divisa (Códigos ISO 4217) |
↳ bookingRoom[] | BookingRoom | Sí | Información de habitación de hotel reservada |
↳↳ checkIn | Date | Sí | Fecha de entrada (dd/MM/yyy) |
↳↳ checkOut | Date | Sí | Fecha de salida (dd/MM/yyy) |
↳↳ status | Enum | Sí | Estado de la reserva (Confirmed, Cancelled, OnRequest) |
↳↳ roomCode | String | Sí | Código de habitación |
↳↳ mealPlanCode | String | Sí | Código de régimen alimenticio |
↳↳ amount | Double | Sí | Importe de la habitación reservada (#.##) |
↳↳ totalRoomAmount | Double | No | Coste de la habitación: Precio Hab x Noches + Suplementos Obligatorios (#.##) |
↳↳ commissionRoomAmount | Double | No | Comisión de la habitación: Coste de la habitación * Porcentaje comisión (#.##) |
↳↳ netRoomAmount | Double | No | Coste neto de la habitación: Coste de la habitación - Comisión habitación (#.##) |
↳↳ amountRoomToInvoice | Double | No | Coste a facturar de la habitación: Amount - porcentaje de comisión (#.##) |
↳↳ roomRateDay[] | RoomRateDay | Sí | Desglose de reserva por día, informando la tarifa y precio correspondiente a cada día de la estancia |
↳↳↳ day | Date | Sí | Día de la estancia (dd/MM/yyy) |
↳↳↳ rateCode | String | No | Código de tarifa |
↳↳↳ amount | String | Sí | Importe del día |
↳↳ guest[] | Guest | Sí | Pasajero de la reserva |
↳↳↳ @id | Integer | Sí | Identificador del pasajero |
↳↳↳ name | String | Sí | Nombre del pasajero. Si el nombre no ha sido informado en la reserva, se substituirá por el nombre de la persona de contacto |
↳↳↳ gender | String | No | Género del pasajero ('Male': Hombre, 'Female': Mujer y 'Undefined': Indefinido). |
↳↳↳ type | Enum | Sí | Tipo (Adult, Child, Baby) |
↳↳↳ amount | Double | Sí | Importe correspondiente al pasajero |
↳↳↳ birthDate | Date | No | Fecha de nacimiento |
↳↳↳ nationality[] | String | No | Nacionalidad del huésped |
↳↳↳ document[] | Document | No | Información relativa a los documentos aportados por el huésped |
↳↳↳↳ typeDocument | String | No | Tipo del documento aportado ('D': Dni, 'E': Nie y 'P':Pasaporte) |
↳↳↳↳ numberDocument | String | No | Número del documento aportado |
↳↳↳↳ expeditionDate | Date | No | Fecha de expedición del documento (dd/MM/yyyy) |
↳↳↳↳ expiryDocument | Date | No | Fecha de caducidad del documento (dd/MM/yyyy) |
↳↳↳ contact[] | ContactAddress | No | Información relativa a los datos de contacto aportados por el huésped |
↳↳↳↳ phone | String | No | Teléfono aportado por el huésped |
String | No | Email aportado por el huésped | |
↳↳↳↳ addressText | String | No | Dirección aportada por el huésped |
↳↳↳↳ postalCode | String | No | Código postal |
↳↳ cancellationData | CancellationData | No | Gastos de cancelación de la habitación |
↳↳↳ cancelPenaltyPolicy[] | CancelPenaltyPolicy | Sí | Gasto de cancelación aplicable a partir de una fecha de cancelación |
↳↳↳↳ @id | Integer | Sí | Identificador del gasto de cancelación |
↳↳↳↳ date | Calendar | Sí | Elemento que contiene la fecha a partir de la cual se aplican los gastos de cancelación |
↳↳↳↳ timeRelevant | Boolean | Sí | Elemento que indica si las horas en la fecha de cancelación son relevantes o se debe tomar sólo la fecha como dato significativo |
↳↳↳↳ amount | Double | Sí | Importe que se aplicará al cancelar la habitación |
↳↳↳↳ description | String | No | Descripción de los gastos de cancelación |
↳ bookingSupplement[] | BookingSupplement | No | Información de suplemento reservado |
↳↳ code | String | Sí | Código del suplemento opcional reservado |
↳↳ name | String | Sí | Nombre del suplemento opcional reservado |
↳↳ typeSupplement | String | Sí | Indica el tipo de suplemento que tratamos (Mandatory / Optional / SalePolicy) |
↳↳ internalName | String | No | Nombre interno de la política comercial (suplementos del tipo SP) aplicada en la reserva. |
↳↳ description | String | No | Descripción detallada del suplemento opcional reservado |
↳↳ checkIn | Date | No | Fecha de inicio del suplemento (dd/MM/yyy) |
↳↳ checkOut | Date | No | Fecha de fin del suplemento (dd/MM/yyy) |
↳↳ bookingRoomId | Integer | No | Identificador de la habitación reservada, si el suplemento referencia a una habitación en concreto |
↳↳ guestId[] | Integer | No | Identificador del pasajero al que se hace referencia, si el suplemento referencia a un pasajero/os en concreto |
↳↳ amount | Double | Sí | Importe total del suplemento opcional reservado |
↳↳ commissionSupplementAmount | Double | No | Comisión del suplemento (#.##) |
↳↳ netSupplementAmount | Double | No | Coste neto del suplemento: Valor total del Suplemento - Importe de Comisión del suplemento (#.##) |
↳↳ promotionalCode[] | String | No | Indica los códigos aplicados en el suplemento en cuestión |
↳↳ mandatory | Boolean | Sí | Indica si el suplemento es obligatorio (true) o opcional (false) |
↳↳ detail | SupplementDetail | No | Indica los detalles del suplemento. |
↳↳↳ shuttleDetail | SupplementShuttleDetail | No | Indica los detalles de transporte (siempre y cuando el suplemento sea de tipo TRF) |
↳↳↳↳ mailTransferProvider | String | No | Indica el email del proveedor del transfer |
↳↳↳↳ arrivalFlight | ShuttleFlightDetail | No | Indica los detalles del vuelo de llegada |
↳↳↳↳↳ airportCode | String | No | Indica el código del aeropuerto |
↳↳↳↳↳ airportName | String | No | Indica el nombre del aeropuerto |
↳↳↳↳↳ companyCode | String | No | Indica el código de la compañía que emite el billete |
↳↳↳↳↳ companyName | String | No | Indica el nombre de la compañía que emite el billete |
↳↳↳↳↳ flightNumber | String | No | Indica el número de vuelo |
↳↳↳↳↳ flightTime | Calendar | No | Indica la fecha y hora del vuelo (dd/MM/yyyy HH:mm) |
↳↳↳↳ departureFlight | ShuttleFlightDetail | No | Indica los detalles del vuelo de salida |
↳↳↳↳↳ airportCode | String | No | Indica el código del aeropuerto |
↳↳↳↳↳ airportName | String | No | Indica el nombre del aeropuerto |
↳↳↳↳↳ companyCode | String | No | Indica el código de la compañía que emite el billete |
↳↳↳↳↳ companyName | String | No | Indica el nombre de la compañía que emite el billete |
↳↳↳↳↳ flightNumber | String | No | Indica el número de vuelo |
↳↳↳↳↳ flightTime | Calendar | No | Indica la fecha y hora del vuelo (dd/MM/yyyy HH:mm) |
↳ bookingPayment | BookingPayment | No | Información del pago de la reserva1 |
↳↳ modality | Enum | Sí | Modalidad de pago (Establishment / Inmediate / Deferred / CancelPenalty / Instalment / ExternManagement) |
↳↳ type | Enum | Sí | Tipo de pago (BankTransfer / Card / VirtualCard / PrepaidCard / WarrantyCard / Cash / Cheque / Credit / Voucher / ExternalManaged / PinPad) |
↳↳ otaType | Enum | No | Tipo de pago OTA (PA: Agency prepaid/PC: Customer prepaid/PD: Customer payment/PB: Voucher Payment/FC: Credit invoice/PM: Loyalty points + money PU: Loyalty Points/SC: By contract/SD: OTA Virtual card/NN: TPV pending/AW: Prepaid TPV with AMEX/VW: Prepaid TPV NO AMEX) |
↳↳ status | Enum | Sí | Estado de pago (Pending / Ok / Error / Cancelled / Inapplicable) |
↳↳ description | String | No | Contiene el nombre comercial asignado a a la modalidad de pago |
↳ paymentCardDetail | PaymentCardDetail | No | Detalles de la tarjeta que ha realizado el pago (sólo viene informado si bookingPayment.type es Card, PrepaidCard, VirtualCard o WarrantyCard) |
↳↳ holder | String | Sí | Nombre del titular de la tarjeta |
↳↳ number | String | Sí | Número de la tarjeta |
↳↳ expiryDate | Date | Sí | Fecha de caducidad (dd/MM/yyy) |
↳↳ securityCode | String | No | Código de seguridad (cvc2) |
↳ paymentDetail[] | PaymentDetail | No | Log con todos los pagos realizados en la reserva |
↳↳ action | String | Sí | Tipo de operación (charge / refund) |
↳↳ paymentStatus | String | Sí | Estado del pago (Pending / Ok / Error / Cancelled / Inapplicable) |
↳↳ type | String | Sí | Código del tipo de pago (Establishment / Inmediate / Deferred / CancelPenalty / Instalment / ExternManagement) |
↳↳ otaType | Enum | No | Tipo de pago OTA (PA: Agency prepaid/PC: Customer prepaid/PD: Customer payment/PB: Voucher Payment/FC: Credit invoice/PM: Loyalty points + money PU: Loyalty Points/SC: By contract/SD: OTA Virtual card/NN: TPV pending/AW: Prepaid TPV with AMEX/VW: Prepaid TPV NO AMEX) |
↳↳ date | Calendar | Sí | Fecha de la transacción |
↳↳ amount | Double | Sí | Importe (#.##) |
↳↳↳ cardDetail | PaymentDetailCardDetail | No | Detalle pago con tarjeta de crédito |
↳↳↳↳ status | String | Sí | Estado del pago (Pending / Ok / Error / Cancelled / Inapplicable) |
↳↳↳↳ card | CreditCard | Sí | Información de la tarjeta de crédito |
↳↳↳↳↳ cardTypeCode | String | No | Código de la tarjeta de crédito |
↳↳↳↳↳ cardTypeDescription | String | No | Nombre del tipo de tarjeta de crédito |
↳↳↳↳↳ holder | String | Sí | Nombre del titular de la tarjeta |
↳↳↳↳↳ number | String | Sí | Número de la tarjeta |
↳↳↳↳↳ hashedValue | String | No | Número de la tarjeta |
↳↳↳↳↳ seriesCode | String | No | CVC |
↳↳↳↳↳ expiryDate | Date | Sí | Fecha de caducidad (dd/MM/yyy) |
↳↳↳↳ systemCode | String | Sí | Identificador del sistema de pago |
↳↳↳↳ reference | String | Sí | Localizador de la reserva |
↳↳↳↳ authorizedCode | String | Sí | Código de autorización |
↳↳↳↳ errorDescription | String | No | Descripción del error en el pago |
↳↳↳ externalManagedDetail | PaymentExternalManagedDetail | No | Datos detallados de un sistema de pago externo, por ejemplo Paypal |
↳↳↳↳ externalSystemCode | String | Sí | Código del sistema externo |
↳↳↳↳ externalReference | String | Sí | Referencia externa |
↳↳↳↳ status | String | Sí | Estado del pago (Pending / Ok / Error / Cancelled / Inapplicable) |
↳↳↳ virtualCard | VirtualCard | No | Información de la tarjeta virtual |
↳↳↳↳ code | String | Sí | Código de tarjeta virtual |
↳↳↳↳ accountCode | String | Sí | Código de la cuenta que gestiona las tarjetas virtuales |
↳↳↳↳ authorizedCode | String | Sí | Código de autorización del pago |
↳↳↳↳ currencyCode | String | Sí | Código de divisa asociada al usuario |
↳↳↳↳ availableAmount | String | Sí | Importe disponible en la cuenta que gestiona las tarjetas virtuales |
↳↳↳↳ status | String | Sí | Estado de la tarjeta virtual (Active / Inactive / Blocked / Close) |
↳↳↳↳ referencePayClient | String | Sí | eferencia del pago para el cliente |
↳↳↳↳ description | String | No | Descripción del elemento |
↳↳↳↳ person | BasePerson | No | Persona con los datos básicos |
↳↳↳↳↳ firstName | String | No | Nombre de la persona |
↳↳↳↳↳ firstLastName | String | No | Primer apellido de la persona |
↳↳↳↳↳ secondLastName | String | No | Segundo apellido de la persona |
↳↳↳↳↳ birthDate | Date | No | Fecha de nacimiento |
↳↳↳↳ contact | BaseContact | No | Contacto con los datos básicos |
↳↳↳↳↳ phone | String | No | Número de teléfono |
↳↳↳↳↳ fax | String | No | Número de Fax |
String | No | Dirección de e-mail | |
↳↳↳↳↳ web | Date | No | Dirección de la página web |
↳↳↳↳ address | Address | No | Información de Dirección |
↳↳↳↳↳ countryCode | String | No | Código del país |
↳↳↳↳↳ countryName | String | No | Nombre del país |
↳↳↳↳↳ state | String | No | Estado |
↳↳↳↳↳ county | Date | No | Condado |
↳↳↳↳↳ province | String | No | Provincia |
↳↳↳↳↳ locationCode | String | No | Código de la localidad, ciudad, zona rural |
↳↳↳↳↳ locationName | String | No | Nombre de la localidad, ciudad, zona rural |
↳↳↳↳↳ postalCode | Date | No | Código postal |
↳↳↳↳ creditCard | CreditCard | No | Información de la tarjeta de crédito |
↳↳↳↳↳ cardTypeCode | String | No | Código de la tarjeta de crédito |
↳↳↳↳↳ cardTypeDescription | String | No | Nombre del tipo de tarjeta de crédito |
↳↳↳↳↳ holder | String | Sí | Nombre del titular de la tarjeta |
↳↳↳↳↳ number | String | Sí | Número de la tarjeta |
↳↳↳↳↳ hashedValue | String | No | Número de la tarjeta |
↳↳↳↳↳ seriesCode | String | No | CVC |
↳↳↳↳↳ expiryDate | Date | Sí | Fecha de caducidad (dd/MM/yyy) |
↳↳↳ prepaidCardDetail | PrepaidCardDetail | No | Detalle pago con tarjeta de prepago |
↳↳↳↳ status | String | Sí | Estado del pago (Pending / Ok / Error / Cancelled / Inapplicable) |
↳↳↳↳ systemCode | String | No | Identificador del sistema de pago |
↳↳↳↳ card | CreditCard | Sí | Datos de la tarjeta prepago |
↳↳↳↳↳ cardTypeCode | String | No | Código de la tarjeta de crédito |
↳↳↳↳↳ cardTypeDescription | String | No | Nombre del tipo de tarjeta de crédito |
↳↳↳↳↳ holder | String | Sí | Nombre del titular de la tarjeta |
↳↳↳↳↳ number | String | Sí | Número de la tarjeta |
↳↳↳↳↳ hashedValue | String | No | Número de la tarjeta |
↳↳↳↳↳ seriesCode | String | No | CVC |
↳↳↳↳↳ expiryDate | Date | Sí | Fecha de caducidad (dd/MM/yyy) |
↳↳↳ warrantyCardDetail | WarrantyCardDetail | No | Detalle pago con tarjeta de garantía |
↳↳↳↳ status | String | Sí | Estado del pago (Pending / Ok / Error / Cancelled / Inapplicable) |
↳↳↳↳ systemCode | String | No | Identificador del sistema de pago |
↳↳↳↳ card | CreditCard | Sí | Datos de la tarjeta de garantía |
↳↳↳↳↳ cardTypeCode | String | No | Código de la tarjeta de crédito |
↳↳↳↳↳ cardTypeDescription | String | No | Nombre del tipo de tarjeta de crédito |
↳↳↳↳↳ holder | String | Sí | Nombre del titular de la tarjeta |
↳↳↳↳↳ number | String | Sí | Número de la tarjeta |
↳↳↳↳↳ hashedValue | String | No | Número de la tarjeta |
↳↳↳↳↳ seriesCode | String | No | CVC |
↳↳↳↳↳ expiryDate | Date | Sí | Fecha de caducidad (dd/MM/yyy) |
↳ saleRules | SaleRules | No | Elemento que contiene las reglas de ventas cargadas en Hotetec, y que se han aplicado en la reserva. |
↳↳ bookingRoom[] | Room | No | Elemento que contiene las reglas de venta aplicadas en una habitación en concreto. |
↳↳↳ @id | Integer | Sí | Identificador de la habitación |
↳↳↳ saleRulesByDay[] | SaleRulesByDay | Sí | Elemento que contiene un desglose de las reglas de venta aplicadas por día. |
↳↳↳↳ day | Date | Sí | Día aplicado |
↳↳↳↳ saleRule[] | SaleRule | No | Elemento que contiene una regla de venta aplicada en el día concreto. |
↳↳↳↳↳ name | String | Sí | Nombre de la regla de venta. |
↳↳↳↳↳ amount | String | No | Importe cargado en la regla de venta aplicada. |
↳↳↳↳↳ percentage | String | No | Percentaje cargado en la regla de venta aplicada. |