NAV
xml json

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:

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

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.

HotelConfiguration

Ejemplo petición HotelConfigurationRequest para recuperar la configuración del hotel 1234   Run in Postman

<?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:

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 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 Identificador de la sesión que ha procesado la transacción
hotelConfig[] HotelConfig No Elemento que contiene la configuración del hotel
hotelCode Integer Código de hotel
name String Nombre de hotel
currencyCode String Código de divisa (Códigos ISO 4217)
roomConfig[] RoomConfig Configuración de la modalidad de hotel
↳ roomCode String Código de modalidad
↳ name String Nombre de modalidad
↳ nestedInventoryRoomCode String No Código de la modalidad sobre la cuál anida el inventario 1
↳ babiesCountInOccupancy Boolean Indica si los bebés ocupan plaza 2
↳ occupancy Occupancy Ocupación permitida en la modalidad
↳↳ adults Integer Número de adultos de la ocupación
↳↳ children Integer Número de niños de la ocupación
mealPlanConfig[] MealPlanConfig Configuración de la regímenes alimenticios de hotel
↳ mealPlanCode String Código de régimen alimentício
↳ name String Nombre de régimen alimentício
inventoryConfig[] InventoryConfig Configuración de los inventarios del hotel 3
↳ inventoryCode Integer Código de inventario
↳ name String Nombre de inventario
rateConfig[] RateConfig Configuración de las tarifas del hotel
↳ rateCode String Código de tarifa
↳ name String Nombre de tarifa
↳ inventoryCode Integer Inventario asociado a la tarifa
↳ managedByPush Boolean 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 Nombre de la propiedad
↳↳ value String No Valor de la propiedad. Ej: Propiedad Mayores de, value 55
↳ cancelPolicyType Enum Políticas de cancelación de la tarifa (Free/NonRefundable/Variable)

BookingRetrieval

Ejemplo BookingRetrievalRequest para recuperar una reserva en particulares   Run in Postman

<?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)   Run in Postman

<?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 Credenciales de autenticación del usuario (Ver Autenticación)
reference String No1 Localizador de la reserva
hotelCode Integer 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 Identificador de la sesión que ha procesado la transacción
booking[] Booking No Información de una reserva de hotel
↳ reference String Localizador de la reserva
↳ creationDate DateTime 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 Fecha de entrada (dd/MM/yyy)
↳ checkOut Date Fecha de salida (dd/MM/yyy)
↳ status Enum Estado de la reserva (Confirmed, Cancelled, OnRequest)
↳ amount Double Importe total de la reserva (#.##)
↳ bookingClient BookingClient 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 Código de cliente
↳↳ clientName String 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 Información del cliente final de la reserva
↳↳ name String Nombre del cliente final
↳↳ birthDate Date No Fecha de nacimiento (dd/MM/yyy)
↳↳ mail 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 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 Código de hotel
↳ currencyCode String Código de divisa (Códigos ISO 4217)
↳ bookingRoom[] BookingRoom Información de habitación de hotel reservada
↳↳ @id String Identificador de la habitación
↳↳ checkIn Date Fecha de entrada (dd/MM/yyy)
↳↳ checkOut Date Fecha de salida (dd/MM/yyy)
↳↳ status Enum Estado de la reserva (Confirmed, Cancelled, OnRequest)
↳↳ roomCode String Código de habitación
↳↳ mealPlanCode String Código de régimen alimenticio
↳↳ amount Double 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 Desglose de reserva por día, informando la tarifa y precio correspondiente a cada día de la estancia
↳↳↳ day Date Día de la estancia (dd/MM/yyy)
↳↳↳ rateCode String No Código de tarifa
↳↳↳ amount String Importe del día
↳↳ guest[] Guest Pasajero de la reserva
↳↳↳ @id Integer Identificador del pasajero
↳↳↳ name String 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 Tipo (Adult, Child, Baby)
↳↳↳ amount Double 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
↳↳↳↳ email 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 Gasto de cancelación aplicable a partir de una fecha de cancelación
↳↳↳↳ @id Integer Identificador del gasto de cancelación
↳↳↳↳ date Calendar Elemento que contiene la fecha a partir de la cual se aplican los gastos de cancelación
↳↳↳↳ timeRelevant Boolean 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 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 Código del suplemento opcional reservado
↳↳ name String Nombre del suplemento opcional reservado
↳↳ typeSupplement String 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 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 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 Modalidad de pago (Establishment / Inmediate / Deferred / CancelPenalty / Instalment / ExternManagement)
↳↳ type Enum 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 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 Nombre del titular de la tarjeta
↳↳ number String Número de la tarjeta
↳↳ expiryDate Date 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 Tipo de operación (charge / refund)
↳↳ paymentStatus String Estado del pago (Pending / Ok / Error / Cancelled / Inapplicable)
↳↳ type String 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 Fecha de la transacción
↳↳ amount Double Importe (#.##)
↳↳↳ breakdown[] Breakdown No Desglose de pago por habitación
↳↳↳↳ bookingRoomId Integer Id de referencia a la habitacion
↳↳↳↳ amount Double Importe del pago (#.##)
↳↳↳ cardDetail PaymentDetailCardDetail No Detalle pago con tarjeta de crédito
↳↳↳↳ status String Estado del pago (Pending / Ok / Error / Cancelled / Inapplicable)
↳↳↳↳ card CreditCard 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 Nombre del titular de la tarjeta
↳↳↳↳↳ number String Número de la tarjeta
↳↳↳↳↳ hashedValue String No Número de la tarjeta
↳↳↳↳↳ seriesCode String No CVC
↳↳↳↳↳ expiryDate Date Fecha de caducidad (dd/MM/yyy)
↳↳↳↳ systemCode String Identificador del sistema de pago
↳↳↳↳ reference String Localizador de la reserva
↳↳↳↳ authorizedCode String 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 Código del sistema externo
↳↳↳↳ externalReference String Referencia externa
↳↳↳↳ status String Estado del pago (Pending / Ok / Error / Cancelled / Inapplicable)
↳↳↳ virtualCard VirtualCard No Información de la tarjeta virtual
↳↳↳↳ code String Código de tarjeta virtual
↳↳↳↳ accountCode String Código de la cuenta que gestiona las tarjetas virtuales
↳↳↳↳ authorizedCode String Código de autorización del pago
↳↳↳↳ currencyCode String Código de divisa asociada al usuario
↳↳↳↳ availableAmount String Importe disponible en la cuenta que gestiona las tarjetas virtuales
↳↳↳↳ status String Estado de la tarjeta virtual (Active / Inactive / Blocked / Close)
↳↳↳↳ referencePayClient String 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
↳↳↳↳↳ email 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 Nombre del titular de la tarjeta
↳↳↳↳↳ number String Número de la tarjeta
↳↳↳↳↳ hashedValue String No Número de la tarjeta
↳↳↳↳↳ seriesCode String No CVC
↳↳↳↳↳ expiryDate Date Fecha de caducidad (dd/MM/yyy)
↳↳↳ prepaidCardDetail PrepaidCardDetail No Detalle pago con tarjeta de prepago
↳↳↳↳ status String Estado del pago (Pending / Ok / Error / Cancelled / Inapplicable)
↳↳↳↳ systemCode String No Identificador del sistema de pago
↳↳↳↳ card CreditCard 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 Nombre del titular de la tarjeta
↳↳↳↳↳ number String Número de la tarjeta
↳↳↳↳↳ hashedValue String No Número de la tarjeta
↳↳↳↳↳ seriesCode String No CVC
↳↳↳↳↳ expiryDate Date Fecha de caducidad (dd/MM/yyy)
↳↳↳ warrantyCardDetail WarrantyCardDetail No Detalle pago con tarjeta de garantía
↳↳↳↳ status String Estado del pago (Pending / Ok / Error / Cancelled / Inapplicable)
↳↳↳↳ systemCode String No Identificador del sistema de pago
↳↳↳↳ card CreditCard 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 Nombre del titular de la tarjeta
↳↳↳↳↳ number String Número de la tarjeta
↳↳↳↳↳ hashedValue String No Número de la tarjeta
↳↳↳↳↳ seriesCode String No CVC
↳↳↳↳↳ expiryDate Date 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 Identificador de la habitación
↳↳↳ saleRulesByDay[] SaleRulesByDay Elemento que contiene un desglose de las reglas de venta aplicadas por día.
↳↳↳↳ day Date Día aplicado
↳↳↳↳ saleRule[] SaleRule No Elemento que contiene una regla de venta aplicada en el día concreto.
↳↳↳↳↳ name String 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 Identificador de hotel
reference String Localizador de la reserva
action Enum 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 Indica si la reserva contiene datos sobre una tarjeta de crédito (true/false)

Ejemplo llamadas:

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 Credenciales de autenticación del usuario (Ver Autenticación)
reference String Localizador de la reserva de Hotetec
hotelCode Integer 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 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 Contiene el código de error de Hotetec.
↳ type String Indica si es un error (E) o un warning (W).
↳ text String 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 Credenciales de autenticación del usuario (Ver Autenticación)
reference String Localizador de la reserva de Hotetec
hotelCode Integer Código de hotel
paymentDetail BookingPaymentDetail Elemento que contiene el pago a añadir
↳ action String Indica si el pago es un cobro (Charge) o una devolución (Refund).
↳ paymentStatus String Estado del pago (Tendría que ser siempre Ok, aunque acepta Error)
↳ type String Indica el tipo de pago realizado (Inmediato (Inmediate), Transferencia bancaria (BankTransfer) o PayByLink (PayByLink))
↳ date DateTime Fecha del pago (dd/MM/yyyy HH:mm)
↳ amount Double 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 Identificador de la sesión que ha procesado la transacción
booking Booking No Información de una reserva de hotel
↳ reference String Localizador de la reserva
↳ creationDate DateTime 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 Fecha de entrada (dd/MM/yyy)
↳ checkOut Date Fecha de salida (dd/MM/yyy)
↳ status Enum Estado de la reserva (Confirmed, Cancelled, OnRequest)
↳ amount Double Importe total de la reserva (#.##)
↳ bookingClient BookingClient 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 Código de cliente
↳↳ clientName String 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 Información del cliente final de la reserva
↳↳ name String Nombre del cliente final
↳↳ birthDate Date No Fecha de nacimiento (dd/MM/yyy)
↳↳ mail 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 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 Código de hotel
↳ currencyCode String Código de divisa (Códigos ISO 4217)
↳ bookingRoom[] BookingRoom Información de habitación de hotel reservada
↳↳ checkIn Date Fecha de entrada (dd/MM/yyy)
↳↳ checkOut Date Fecha de salida (dd/MM/yyy)
↳↳ status Enum Estado de la reserva (Confirmed, Cancelled, OnRequest)
↳↳ roomCode String Código de habitación
↳↳ mealPlanCode String Código de régimen alimenticio
↳↳ amount Double 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 Desglose de reserva por día, informando la tarifa y precio correspondiente a cada día de la estancia
↳↳↳ day Date Día de la estancia (dd/MM/yyy)
↳↳↳ rateCode String No Código de tarifa
↳↳↳ amount String Importe del día
↳↳ guest[] Guest Pasajero de la reserva
↳↳↳ @id Integer Identificador del pasajero
↳↳↳ name String 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 Tipo (Adult, Child, Baby)
↳↳↳ amount Double 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
↳↳↳↳ email 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 Gasto de cancelación aplicable a partir de una fecha de cancelación
↳↳↳↳ @id Integer Identificador del gasto de cancelación
↳↳↳↳ date Calendar Elemento que contiene la fecha a partir de la cual se aplican los gastos de cancelación
↳↳↳↳ timeRelevant Boolean 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 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 Código del suplemento opcional reservado
↳↳ name String Nombre del suplemento opcional reservado
↳↳ typeSupplement String 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 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 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 Modalidad de pago (Establishment / Inmediate / Deferred / CancelPenalty / Instalment / ExternManagement)
↳↳ type Enum 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 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 Nombre del titular de la tarjeta
↳↳ number String Número de la tarjeta
↳↳ expiryDate Date 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 Tipo de operación (charge / refund)
↳↳ paymentStatus String Estado del pago (Pending / Ok / Error / Cancelled / Inapplicable)
↳↳ type String 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 Fecha de la transacción
↳↳ amount Double Importe (#.##)
↳↳↳ cardDetail PaymentDetailCardDetail No Detalle pago con tarjeta de crédito
↳↳↳↳ status String Estado del pago (Pending / Ok / Error / Cancelled / Inapplicable)
↳↳↳↳ card CreditCard 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 Nombre del titular de la tarjeta
↳↳↳↳↳ number String Número de la tarjeta
↳↳↳↳↳ hashedValue String No Número de la tarjeta
↳↳↳↳↳ seriesCode String No CVC
↳↳↳↳↳ expiryDate Date Fecha de caducidad (dd/MM/yyy)
↳↳↳↳ systemCode String Identificador del sistema de pago
↳↳↳↳ reference String Localizador de la reserva
↳↳↳↳ authorizedCode String 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 Código del sistema externo
↳↳↳↳ externalReference String Referencia externa
↳↳↳↳ status String Estado del pago (Pending / Ok / Error / Cancelled / Inapplicable)
↳↳↳ virtualCard VirtualCard No Información de la tarjeta virtual
↳↳↳↳ code String Código de tarjeta virtual
↳↳↳↳ accountCode String Código de la cuenta que gestiona las tarjetas virtuales
↳↳↳↳ authorizedCode String Código de autorización del pago
↳↳↳↳ currencyCode String Código de divisa asociada al usuario
↳↳↳↳ availableAmount String Importe disponible en la cuenta que gestiona las tarjetas virtuales
↳↳↳↳ status String Estado de la tarjeta virtual (Active / Inactive / Blocked / Close)
↳↳↳↳ referencePayClient String 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
↳↳↳↳↳ email 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 Nombre del titular de la tarjeta
↳↳↳↳↳ number String Número de la tarjeta
↳↳↳↳↳ hashedValue String No Número de la tarjeta
↳↳↳↳↳ seriesCode String No CVC
↳↳↳↳↳ expiryDate Date Fecha de caducidad (dd/MM/yyy)
↳↳↳ prepaidCardDetail PrepaidCardDetail No Detalle pago con tarjeta de prepago
↳↳↳↳ status String Estado del pago (Pending / Ok / Error / Cancelled / Inapplicable)
↳↳↳↳ systemCode String No Identificador del sistema de pago
↳↳↳↳ card CreditCard 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 Nombre del titular de la tarjeta
↳↳↳↳↳ number String Número de la tarjeta
↳↳↳↳↳ hashedValue String No Número de la tarjeta
↳↳↳↳↳ seriesCode String No CVC
↳↳↳↳↳ expiryDate Date Fecha de caducidad (dd/MM/yyy)
↳↳↳ warrantyCardDetail WarrantyCardDetail No Detalle pago con tarjeta de garantía
↳↳↳↳ status String Estado del pago (Pending / Ok / Error / Cancelled / Inapplicable)
↳↳↳↳ systemCode String No Identificador del sistema de pago
↳↳↳↳ card CreditCard 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 Nombre del titular de la tarjeta
↳↳↳↳↳ number String Número de la tarjeta
↳↳↳↳↳ hashedValue String No Número de la tarjeta
↳↳↳↳↳ seriesCode String No CVC
↳↳↳↳↳ expiryDate Date 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 Identificador de la habitación
↳↳↳ saleRulesByDay[] SaleRulesByDay Elemento que contiene un desglose de las reglas de venta aplicadas por día.
↳↳↳↳ day Date Día aplicado
↳↳↳↳ saleRule[] SaleRule No Elemento que contiene una regla de venta aplicada en el día concreto.
↳↳↳↳↳ name String 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.