ExtraGuestCharges

Las tarifas enviadas a través de <OTA_HotelRateAmountNotifRQ> se pueden modificar para tener en cuenta a los adultos y a los niños, además de la cantidad original de huéspedes de la tarifa. El mensaje ExtraGuestCharges permite especificar cómo se deben calcular las tarifas para estos huéspedes adicionales y para qué habitaciones, planes de tarifas y fechas de estadía se deben aplicar sus cargos.

Requisitos de capacidad

Los precios calculados a partir del mensaje ExtraGuestCharges solo son válidos si se cumplen todos los requisitos de capacidad. Consulta Transacción (datos de la propiedad) para obtener más información.

Solicitudes

Sintaxis

El mensaje ExtraGuestCharges usa la siguiente sintaxis:

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestCharges partner="partner_account_name"
                   id="message_ID"
                   timestamp="timestamp">
  <HotelExtraGuestCharges hotel_id="HotelID" action="[overlay]">
    <ExtraGuestCharge>
      <RatePlans>
        <RatePlan id="PackageID_1"/>
        <RatePlan id="PackageID_2"/>
      </RatePlans>
      <RoomTypes>
        <RoomType id="RoomID_1"/>
        <RoomType id="RoomID_2"/>
      </RoomTypes>
      <StayDates>
        <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD"
                   days_of_week="MTWHFSU_or_subset"/>
      </StayDates>
      <AgeBrackets>
        <AdultCharge amount="float"/>
        <ChildAgeBrackets>
        <!-- The following are different ways child charges can be specified.
        Use the option that matches your system. -->
          <ChildAgeBracket max_age="integer" amount="float"
                           exclude_from_capacity="[true|false]"/>
          <ChildAgeBracket max_age="integer" percentage="float"
                           exclude_from_capacity="[true|false]"
                           counts_as_base_occupant="[never|preferred|always]"/>
          <ChildAgeBracket max_age="integer" discount_amount="float"
                           exclude_from_capacity="[true|false]"
                           counts_as_base_occupant="[never|preferred|always]"/>
        </ChildAgeBrackets>
      </AgeBrackets>
    </ExtraGuestCharge>
  </HotelExtraGuestCharges>
</ExtraGuestCharges>

Elementos y atributos

El mensaje ExtraGuestCharges tiene los siguientes elementos y atributos:

Elemento / @Attribute Casos Tipo Descripción
ExtraGuestCharges 1 Complex element Es el elemento raíz de este mensaje.
ExtraGuestCharges / @partner 1 string Es la cuenta de socio de este mensaje. Este valor de cadena es el valor de Partner key que se indica en la página Configuración de la cuenta de Hotel Center.

Nota: Si tienes un backend que proporciona feeds para varias cuentas, este valor debe coincidir con el valor del atributo ID especificado en el elemento <RequestorID> de tus mensajes <OTA_HotelRateAmountNotifRQ> y <OTA_HotelAvailNotifRQ> para la misma cuenta.

ExtraGuestCharges / @id 1 string Es un identificador único para este mensaje de solicitud. Este valor se muestra en el mensaje de respuesta. Los caracteres permitidos son a-z, A-Z, 0-9, _ (guion bajo) y - (guion).
ExtraGuestCharges / @timestamp 1 DateTime Fecha y hora de creación de este mensaje.
ExtraGuestCharges / HotelExtraGuestCharges 0..n HotelExtraGuestCharges Es un contenedor de los cargos de una sola propiedad.
ExtraGuestCharges / HotelExtraGuestCharges / @hotel_id 1 string Es el identificador único de la propiedad. Este valor debe coincidir con el ID del hotel especificado con <id> en el elemento <listing> del feed de lista de hoteles. El ID del hotel también se indica en Hotel Center.
ExtraGuestCharges / HotelExtraGuestCharges / @action 0..1 enum Especifica cómo se aplica la actualización. Solo se admite overlay, y el valor predeterminado es superposición. Se borran los cargos anteriores de esta propiedad antes de que se aplique la actualización.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge 0..99 ExtraGuestCharge

Es un conjunto único de cargos para una propiedad. Puede contener restricciones sobre cómo se puede aplicar un cargo y cómo se calculan los cargos por edad o categoría de huésped.

Cada ExtraGuestCharge dentro de un HotelExtraGuestCharges debe aplicarse a un conjunto único de fechas y productos. Si dos elementos ExtraGuestCharge hacen referencia a la misma combinación de producto y fecha, se rechazará todo el mensaje.

ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets 1 AgeBrackets Es un contenedor de rangos etarios que se usa para calcular los cargos por edad o categoría de huésped.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / AdultCharge 0..1 AdultCharge Es el contenedor del cargo por un adulto adicional.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / AdultCharge / @amount 0..1 float Es un valor decimal positivo que especifica el importe fijo que se cobrará por un adulto adicional. Este cargo usa la misma moneda que la especificada para las tarifas por noche.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets 0..1 ChildAgeBrackets Es un contenedor para los cargos adicionales por menores. Estos rangos etarios solo pueden abarcar el rango de edad de 0 a 17 años inclusive.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket 1..99 ChildAgeBracket Es un cargo que se aplica a los niños de un rango de edades específico. Estos deben ordenarse del max_age más bajo al max_age más alto. El importe que se cobrará se puede especificar con amount, percentage o discount_amount. Se debe especificar exactamente uno de esos atributos para cada <ChildAgeBracket>.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @max_age 1 integer Es la edad máxima para la que se pueden aplicar los cargos especificados en <ChildAgeBracket>. La edad mínima es cero si no se especifican otros <ChildAgeBracket> antes de este. De lo contrario, es uno más grande que la edad máxima del rango anterior.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @exclude_from_capacity 1 boolean Es un valor booleano que indica si un niño de este rango etario debe tenerse en cuenta para la capacidad total y la capacidad de niños de una habitación. Estas capacidades se pueden establecer con Transaction(Property Data). Por ejemplo, es posible que los bebés menores de cierta edad no deban incluirse en la capacidad de niños.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @amount 0..1 float Es un valor decimal no negativo que especifica el importe fijo que se cobrará por un hijo adicional en este rango. Este cargo usa la misma moneda que la especificada para las tarifas por noche.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @percentage 0..1 float

Es un valor decimal de 1 a 99 que especifica el porcentaje del precio para adultos que se debe cobrar por un niño adicional en este rango. Este cargo usa la misma moneda que la especificada para las tarifas por noche.

Consulta el debate en counts_as_base_occupant para obtener detalles sobre cómo se calcula el precio para adultos.

ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @discount_amount 0..1 float

Es un valor decimal positivo que especifica un importe de descuento fijo para un niño adicional en este rango, que se aplica al precio para adultos. Este cargo usa la misma moneda que la especificada para las tarifas por noche.

En general, el cargo para un niño o niña de este rango se calcula deduciendo el importe fijo del "precio unitario". El precio por unidad se analiza con más detalle en la sección del atributo counts_as_base_occupant.

ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @counts_as_base_occupant 0..1 string

Si se especifica el atributo percentage o discount_amount, también se debe especificar counts_as_base_occupant. Este valor determina si se debe incluir a un menor en el NumberOfGuest cuando seleccionas una tarifa de <BaseByGuestAmount> para aplicar cargos y descuentos porcentuales.

El objetivo aquí es obtener un "precio unitario" a partir del cual se pueda calcular el cargo real.

unit price = rate / occupancy

El valor de este atributo debe ser never, preferred o always.

  • Si se especifica never, el menor nunca debe incluirse en la ocupación de la tarifa.

    Si quieres calcular una tarifa para 2 adultos y 2 niños (2 + 2), debes usar la tarifa para 2 adultos, ya que no se deben incluir los niños.

  • Si se especifica preferred, se recomienda incluir al menor en la ocupación de la tarifa.

    Si deseas calcular una tarifa para 2 adultos y 1 niño (2 + 1), lo ideal es que uses la tarifa para 3 adultos, pero, si no la encuentras, debes usar la tarifa para 2 adultos.

  • Si se especifica always, el menor siempre debe incluirse en la ocupación de la tarifa.

    Si deseas calcular una tarifa para 2 adultos y 2 niños (2 + 2), debes usar la tarifa para 4 adultos, ya que los niños deben estar incluidos.

ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RoomTypes 0..1 RoomTypes Es un contenedor para una lista de tipos de habitaciones a los que se aplican los cargos. Los cargos se aplican a cada <RoomType> especificado. Si no se especifica <RoomTypes>, los cargos se aplican a todas las habitaciones de la propiedad especificada.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RoomTypes / RoomType 1..n RoomType Especifica un tipo de habitación. Un tipo de habitación se define en un elemento <RoomData> de un mensaje Transaction (Property Data) y se hace referencia a él con su valor <RoomID>. (Su valor de <RoomID> también se menciona en el atributo InvTypeCode de los mensajes de OTA_HotelRateAmountNotifRQ).
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RoomTypes / RoomType / @id 1 string Es el identificador único del inventario (tipo de habitación). Este valor se asigna a <RoomID> en un mensaje de transacción (datos de propiedad). La cantidad máxima de caracteres permitida es 50.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RatePlans 0..1 RatePlans Es un contenedor para una lista de planes de tarifas a los que se aplican los cargos. Si no se especifica <RatePlans>, los cargos se aplican a todos los planes de tarifas.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RatePlans / RatePlan 1..n RatePlan Especifica un plan de tarifas. Un plan de tarifas se define por una combinación de paquete, tarifas y disponibilidad, tal como se define en los mensajes de Transaction (Property Data), OTA_HotelRateAmountNotifRQ y OTA_HotelAvailNotifRQ, y como se identifica con el PackageID.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RatePlans / RatePlan / @id 1 string Es el identificador único del plan de tarifas. Este valor se asigna al valor de PackageID en <PackageData> en un mensaje de transacción (datos de propiedad) y en el atributo RatePlanCode en <StatusApplicationControl> en los mensajes <OTA_HotelRateAmountNotifRQ> y <OTA_HotelAvailNotifRQ>. La cantidad máxima de caracteres permitida es 50.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / StayDates 0..1 StayDates Es un contenedor para uno o más períodos que determinan cómo se aplican los cargos.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / StayDates / DateRange 1..99 DateRange Es un período que especifica las fechas en las que se aplicará la promoción.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / StayDates / DateRange / @start 0..1 Date Es la fecha de inicio (según la zona horaria de la propiedad), inclusive, del período. Esta fecha debe ser anterior o igual a la fecha de end. Si no se especifica start, el rango de fechas es ilimitado en términos de una fecha de inicio.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / StayDates / DateRange / @end 0..1 Date Es la fecha de finalización (según la zona horaria de la propiedad), inclusive, del período. Esta fecha debe ser igual o posterior a la fecha de start. Si no se especifica end, el rango de fechas no tiene un límite efectivo en términos de fecha de finalización.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / StayDates / DateRange / @days_of_week 0..1 string

Son los días de la semana que se permiten en el período. Si no se especifica, se permiten todos los días del período. Cada carácter de la cadena especifica un día. Por ejemplo, "LMMJV" especifica que se permiten los días de la semana en el período.

Los caracteres válidos son los siguientes:

  • M para el lunes
  • T para el martes
  • W para el miércoles
  • H para el jueves
  • F para el viernes
  • S para el sábado
  • U para el domingo

Cualquier combinación de caracteres es válida.

Ejemplos

Cargos para adultos

Los cargos por adultos adicionales solo se pueden expresar como importes fijos. En el siguiente ejemplo, se muestra un mensaje ExtraGuestCharges que especifica cargos para adultos:

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestCharges timestamp="2001-02-03T04:05:06+00:00" id="1">
  <HotelExtraGuestCharges hotel_id="ABC" action="overlay">
    <ExtraGuestCharge>
      <StayDates />
      <AgeBrackets>
        <AdultCharge amount="50" />
      </AgeBrackets>
    </ExtraGuestCharge>
  </HotelExtraGuestCharges>
</ExtraGuestCharges>

Estas son las tasas correspondientes:

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="ABC">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountAfterTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
            <BaseByGuestAmt AmountAfterTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
            <BaseByGuestAmt AmountAfterTax="120.00"
                            CurrencyCode="USD"
                            NumberOfGuests="3"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Cuando un usuario busca para cuatro adultos en Google, la tarifa total sería de USD 170 = USD 120 + USD 50.

El 120 proviene de la tasa de <BaseByGuestAmt> con NumberOfGuests="3", y el 50 proviene de la tasa de AdultCharge amount="50".

Cargos por hijos

Los cargos para niños se expresan en rangos de edad hasta los 17 años y se pueden expresar en importes fijos, porcentajes o descuentos.

En el siguiente ejemplo, se muestra un mensaje ExtraGuestCharges que especifica los cargos para menores:

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestCharges timestamp="2001-02-03T04:05:06+00:00" id="1">
  <HotelExtraGuestCharges hotel_id="ABC" action="overlay">
    <ExtraGuestCharge>
      <AgeBrackets>
        <ChildAgeBrackets>
          <ChildAgeBracket max_age="3" percentage="10"
                           counts_as_base_occupant="never" />
          <ChildAgeBracket max_age="10" percentage="30"
                           counts_as_base_occupant="preferred"/>
          <ChildAgeBracket max_age="17" discount_amount="10"
                           counts_as_base_occupant="always" />
        </ChildAgeBrackets>
      </AgeBrackets>
    </ExtraGuestCharge>
  </HotelExtraGuestCharges>
</ExtraGuestCharges>

Estas son las tasas correspondientes:

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="ABC">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountAfterTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
            <BaseByGuestAmt AmountAfterTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
```

  1.  Suppose you want the total price for 2 adults and 1 child of 2 years
      of age.

      Children aged 0-3 are never included in the rate's occupancy,
      so here you should take the double occupancy rate and divide by 2 to
      get the unit price. Then, multiply by the percentage rate and sum
      with the rate to get the total price.

      `unit price ` = 110 / 2 = 55

      `total price` = 110 + 55 * 0.1 = 115.5

  1.  Suppose you want the total price for 1 adult and 2 children, both of 5
      years of age.

      Children aged 4-10 are preferably included in the rate's
      occupancy. you should start by looking for a 3 adult rate since both
      children are preferably included in the rate's occupancy. Since
      that doesn't exist you should fall back to the 2 adult rate and then,
      take this rate and divide by two to get the unit price. Finally,
      multiply by the percentage rate and sum with the scaled rate to
      get the total price.

      `unit price` = 110 / 2 = 55

      `total price` = 55 + 55 * 0.3 + 55 * 0.3 = 88

  1.  Suppose you want the total price for 1 adult and 1 child of 17
      years of age.

      Children aged 11-17 are always included in the rate's occupancy, so,
      in this case, take the double occupancy rate and divide by 2 to get
      the unit price. Then, deduct it by the discount amount and sum with
      the scaled rate to get the total price.

      `unit price` = 110 / 2 = 55

      `total price` = 55 + (55 - 10) = 100

Restricciones de carga

Todos los tipos de restricciones son opcionales y se puede usar cualquier combinación de ellos.

En el siguiente ejemplo, se muestra un mensaje ExtraGuestCharges que especifica restricciones:

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestCharges timestamp="2001-02-03T04:05:06+00:00" id="1">
  <HotelExtraGuestCharges hotel_id="ABC" action="overlay">
    <ExtraGuestCharge>
      <RoomTypes>
        <RoomType id="queen" />
        <RoomType id="king" />
      </RoomTypes>
      <RatePlans>
        <RatePlan id="free-wifi" />
        <RatePlan id="hot-breakfast" />
      </RatePlans>
      <StayDates>
        <DateRange start="2020-09-01" end="2020-09-14"/>
      </StayDates>
      <AgeBrackets>
        <AdultCharge amount="50" />
      </AgeBrackets>
    </ExtraGuestCharge>
  </HotelExtraGuestCharges>
</ExtraGuestCharges>

El mensaje anterior especifica que se debe cobrar a los adultos por cualquier producto que tenga el tipo de habitación "queen" o "king" con el plan de tarifas "free-wifi" o "hot-breakfast" para las fechas del 1 al 14 de septiembre de 2020.

Cargos superpuestos

En esta sección, se muestra un ejemplo de un mensaje no válido que especifica cargos diferentes para las mismas combinaciones de fechas y productos.


<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestCharges timestamp="2001-02-03T04:05:06+00:00" id="1">
  <HotelExtraGuestCharges hotel_id="ABC" action="overlay">
    <ExtraGuestCharge>
      <RoomTypes>
        <RoomType id="queen" />
      </RoomTypes>
      <RatePlans>
        <RatePlan id="free-wifi" />
      </RatePlans>
      <StayDates>
        <DateRange start="2020-09-01" end="2020-09-14"/>
      </StayDates>
      <AgeBrackets>
        <AdultCharge amount="50" />
      </AgeBrackets>
    </ExtraGuestCharge>
    <ExtraGuestCharge>
      <RoomTypes>
        <RoomType id="queen" />
        <RoomType id="king" />
      </RoomTypes>
      <RatePlans>
        <RatePlan id="free-wifi" />
        <RatePlan id="hot-breakfast" />
      </RatePlans>
      <StayDates>
        <DateRange start="2020-09-01" end="2020-09-05"/>
      </StayDates>
      <AgeBrackets>
        <AdultCharge amount="20" />
      </AgeBrackets>
    </ExtraGuestCharge>
  </HotelExtraGuestCharges>
</ExtraGuestCharges>

El mensaje anterior no es válido porque el primer <ExtraGuestCharge> especifica que "queen" y "free-wifi" del 1 al 14 de septiembre deben cobrar USD 50 adicionales por cada adulto. El segundo <ExtraGuestCharge> especifica que cualquier combinación de "queen" o "king" con "free-wifi" o "hot-breakfast" para el período del 1 al 5 de septiembre debe cobrar USD 20 por cada adulto adicional. Hay cargos superpuestos por "queen" y "free-wifi" del 1 al 5 de septiembre, y un conflicto entre si se debe cobrar 20 o 50 por un adulto adicional.

Respuestas

Sintaxis

El mensaje ExtraGuestChargesResponse usa la siguiente sintaxis:

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestChargesResponse timestamp="timestamp"
                    id="message_ID"
                    partner="partner_key">
  <!-- Either Success or Issues will be populated. -->
  <Success/>
  <Issues>
    <Issue code="issue_code" status="issue_type">issue_description</Issue>
  </Issues>
</ExtraGuestChargesResponse>

Elementos y atributos

El mensaje ExtraGuestChargesResponse tiene los siguientes elementos y atributos:

Elemento / @Attribute Casos Tipo Descripción
ExtraGuestChargesResponse 1 Complex element Es el elemento raíz que indica el éxito o los problemas de un mensaje de solicitud ExtraGuestCharges recibido.
ExtraGuestChargesResponse / @timestamp 1 DateTime Fecha y hora de creación de este mensaje.
ExtraGuestChargesResponse / @id 1 string Es el identificador único del mensaje ExtraGuestCharges asociado.
ExtraGuestChargesResponse / @partner 1 string Es la cuenta de socio de este mensaje.
ExtraGuestChargesResponse / Success 0..1 Success Indica que el mensaje ExtraGuestCharges se procesó correctamente sin advertencias, errores ni fallas.

<Success> o <Issues> están presentes en cada mensaje.

ExtraGuestChargesResponse / Issues 0..1 Issues Es un contenedor para uno o más problemas que se encontraron durante el procesamiento del mensaje ExtraGuestCharges.

<Success> o <Issues> están presentes en cada mensaje.

ExtraGuestChargesResponse / Issues / Issue 1..n Issue La descripción de una advertencia, un error o una falla que se produjo durante el procesamiento del mensaje ExtraGuestCharges. Puedes encontrar detalles sobre estos problemas en Mensajes de error sobre el estado del feed.
ExtraGuestChargesResponse / Issues / Issue / @code 1 integer Es el identificador del problema.
ExtraGuestChargesResponse / Issues / Issue / @status 1 enum

Es el tipo de problema que se encontró.

Los valores válidos son warning, error, y failure.

Ejemplos

Listo

A continuación, se muestra una respuesta a un mensaje ExtraGuestCharges procesado correctamente.

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestChargesResponse timestamp="2020-05-18T16:20:00-04:00"
                    id="12345678"
                    partner="partner_key">
  <Success/>
</ExtraGuestChargesResponse>

Problemas

A continuación, se muestra una respuesta a un mensaje ExtraGuestCharges que no se procesó debido a errores.

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestChargesResponse timestamp="2020-05-18T16:20:00-04:00"
                    id="12345678"
                    partner="partner_key">
  <Issues>
    <Issue code="1001" status="error">Example</Issue>
  </Issues>
</ExtraGuestChargesResponse>