TaxFeeInfo

Sintaxis

En el mensaje TaxFeeInfo se utiliza la siguiente sintaxis:
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="timestamp"
            id="message_ID"
            partner="partner_account_name">
  <Property>
    <ID>HotelID</ID>
    <Taxes>
      <Tax>
        <StayDates>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </StayDates>
        <RoomTypes>
          <RoomType id="RoomID_1"/>
          <RoomType id="RoomID_2"/>
        </RoomTypes>
        <RatePlans>
          <RatePlan id="PackageID_1"/>
          <RatePlan id="PackageID_2"/>
        </RatePlans>
        <Type>[percent|amount]</Type>
        <Basis>[room|person]</Basis>
        <Period>[stay|night]</Period>
        <Currency>currency_code</Currency>
        <Amount>tax_amount</Amount>
      </Tax>
    </Taxes>
    <Fees>
      <Fee>
        <StayDates>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </StayDates>
        <RoomTypes>
          <RoomType id="RoomID_1"/>
          <RoomType id="RoomID_2"/>
        </RoomTypes>
        <RatePlans>
          <RatePlan id="PackageID_1"/>
          <RatePlan id="PackageID_2"/>
        </RatePlans>
        <Type>[percent|amount]</Type>
        <Basis>[room|person]</Basis>
        <Period>[stay|night]</Period>
        <Currency>currency_code</Currency>
        <Amount>fee_amount</Amount>
      </Fee>
    </Fees>
  </Property>
</TaxFeeInfo>

Elementos y atributos

El mensaje TaxFeeInfo incluye los siguientes elementos y atributos:
Elemento/@Atributo Repeticiones Tipo Descripción
TaxFeeInfo 1 Complex element Elemento raíz de un mensaje que define los impuestos y las tasas de una propiedad.
TaxFeeInfo/@timestamp 1 DateTime Fecha y hora de creación de este mensaje.
TaxFeeInfo/@id 1 String Identificador único de cada mensaje TaxFeeInfo.
TaxFeeInfo/@partner 1 String Cuenta de partner de este mensaje. El valor de esta cadena es "Clave del partner", que aparece 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 del atributo ID que se especifica en el elemento <RequestorID> de tus mensajes <OTA_HotelRateAmountNotifRQ> y <OTA_HotelAvailNotifRQ> de la misma cuenta.

TaxFeeInfo/Property 1..n Property Contenedor para definir los impuestos y las tasas de una propiedad.
TaxFeeInfo/Property/ID 1 String Identificador único de la propiedad. Este valor debe coincidir con el ID de hotel especificado en la cadena <id> del elemento <listing> del feed de lista de hoteles. El ID de hotel también aparece en Hotel Center.
TaxFeeInfo/Property/Taxes 0..1 Taxes Contenedor para uno o más elementos <Tax>.
TaxFeeInfo/Property/Taxes/Tax 1..n Tax Impuestos concretos que se aplican a la propiedad.
TaxFeeInfo/Property/Taxes/Tax/StayDates 0..1 StayDates

Contenedor para uno o más periodos que determinan si se aplica el impuesto (por ejemplo, para ajustar los impuestos según la temporada):

  • Si se asignan el valor "stay" a <Period> y el valor "percent" a <Type>, el porcentaje del impuesto se aplica a todas las noches del itinerario si hay alguna fecha que se solapa con una fecha del periodo (por ejemplo, si la fecha de salida es el 1 de octubre y la primera fecha del periodo es el 1 de octubre, el impuesto no se aplica al itinerario).
  • Si se asignan el valor "stay" a <Period> y el valor "amount" a <Type>, el importe del impuesto se aplica como una cantidad fija que abarca todo el itinerario si alguna fecha del itinerario se solapa con una fecha del periodo.
  • Si se asignan el valor "night" a <Period> y el valor "amount" a <Type>, el importe del impuesto se aplica a cada una de las noches del itinerario en las que esa fecha se solapa con una fecha del periodo.

Nota: No se pueden asignar los valores "night" a <Period> ni "percent" a <Type> porque generalmente no es una combinación válida para mensajes TaxFeeInfo.

TaxFeeInfo/Property/Taxes/Tax/StayDates/DateRange 1..99 DateRange Periodo que indica las fechas en las que debe aplicarse el impuesto.
TaxFeeInfo/Property/Taxes/Tax/StayDates/DateRange/ @start 0..1 Date Fecha de inicio del periodo (en función de la zona horaria de la propiedad). Esta fecha debe ser la misma o anterior a la indicada en end. Si no se especifica start, el periodo es ilimitado en lo que se refiere a la fecha de inicio.
TaxFeeInfo/Property/Taxes/Tax/StayDates/DateRange/ @end 0..1 Date Fecha de finalización del periodo (en función de la zona horaria de la propiedad). Esta fecha debe ser la misma o posterior a la indicada en start. Si no se especifica end, el periodo es ilimitado en lo que se refiere a la fecha de finalización.
TaxFeeInfo/Property/Taxes/Tax/StayDates/DateRange/ @days_of_week 0..1 String

Días de la semana permitidos en el periodo. Si no se especifica, se permiten todos los días. Cada carácter de la cadena indica un día. Por ejemplo, "MTWHF" especifica que se permiten días laborables en el periodo.

Los caracteres válidos son:

  • 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.

TaxFeeInfo/Property/Taxes/Tax/RoomTypes 0..1 RoomTypes Contenedor para una lista de tipos de habitación a las que se aplica el impuesto. El impuesto se aplica a cada elemento <RoomType> especificado. Si no se especifica <RoomTypes>, el impuesto se aplica a todas las habitaciones.
TaxFeeInfo/Property/Taxes/Tax/RoomTypes/RoomType 1..n RoomType Especifica el tipo de habitación, que se define en un elemento <RoomData> de un mensaje Transaction (Property Data) y se identifica mediante su valor RoomID. También se hace referencia al valor de <RoomID> mediante el atributo InvTypeCode de los mensajes OTA_HotelRateAmountNotifRQ.
TaxFeeInfo/Property/Taxes/Tax/RoomTypes/RoomType/@id 1 String Identificador único del inventario (tipo de habitación). Este valor se asigna a <RoomID> en un mensaje Transaction (Property Data). Admite un máximo de 50 caracteres.
TaxFeeInfo/Property/Taxes/Tax/RatePlans 0..1 RatePlans Contenedor para una lista de planes de precios a los que se aplica el impuesto. Si no se especifica <RatePlans>, el impuesto se aplica a todos los planes de precios.
TaxFeeInfo/Property/Taxes/Tax/RatePlans/RatePlan 1..n RatePlan Especifica un plan de precios. Un plan de precios se define a partir de una combinación de paquetes, precios y disponibilidad, tal como se define en los mensajes Transaction (Property Data), OTA_HotelRateAmountNotifRQ y OTA_HotelAvailNotifRQ, y se identifica por el PackageID.
TaxFeeInfo/Property/Taxes/Tax/RatePlans/RatePlan @id 1 String Identificador único del plan de precios. Este valor se corresponde con el valor de PackageID de <PackageData> en un mensaje Transaction (Property Data) y en el atributo RatePlanCode de <StatusApplicationControl> en los mensajes <OTA_HotelRateAmountNotifRQ> y <OTA_HotelAvailNotifRQ>. Admite un máximo de 50 caracteres.
TaxFeeInfo/Property/Taxes/Tax/Type 1 Enum

Estos son los valores válidos:

  • percent: porcentaje del precio total
  • amount: importe fijo que se añade al precio final
TaxFeeInfo/Property/Taxes/Tax/Basis 1 Enum

Estos son los valores válidos:

  • room: el valor de <Amount> se aplica a la habitación.
  • person: el valor de <Amount> se aplica por persona. Este valor solo se aplica si se asigna un importe a <Type>.
TaxFeeInfo/Property/Taxes/Tax/Period 1 Enum

Este valor solo se aplica si se asigna un importe a <Type>.

Estos son los valores válidos:

  • stay: el valor de <Amount> se añade al precio total de la estancia.
  • night: el valor de <Amount> se añade por cada noche de la estancia.
TaxFeeInfo/Property/Taxes/Tax/Currency 0..1 String Código de tres letras de la moneda asignada al impuesto (por ejemplo, USD).
TaxFeeInfo/Property/Taxes/Tax/Amount 1 Float Valor del porcentaje o del importe del impuesto.
TaxFeeInfo/Property/Fees 0..1 Fees Contenedor para uno o más elementos <Fee>.
TaxFeeInfo/Property/Fees/Fee 1..n Fee Tasa concreta que se aplica a la propiedad.
TaxFeeInfo/Property/Fees/Fee/StayDates 0..1 StayDates

Contenedor para uno o más periodos que determinan si se aplica la tasa (por ejemplo, para ajustar las tasas según la temporada):

  • Si se asignan el valor "stay" a <Period> y el valor "percent" a <Type>, el porcentaje de la tasa se aplica a todas las noches del itinerario si hay alguna fecha que se solapa con una fecha del periodo (por ejemplo, si la fecha de salida es el 1 de octubre y la primera fecha del periodo es el 1 de octubre, la tasa no se aplica al itinerario).
  • Si se asignan el valor "stay" a <Period> y el valor "amount" a <Type>, el importe de la tasa se aplica como una cantidad fija que abarca todo el itinerario si alguna fecha del itinerario se solapa con una fecha del periodo.
  • Si se asignan el valor "night" a <Period> y el valor "amount" a <Type>, el importe de la tasa se aplica a cada una de las noches del itinerario en las que esa fecha se solapa con una fecha del periodo.

Nota: No se pueden asignar los valores "night" a <Period> ni "percent" a <Type> porque generalmente no es una combinación válida para mensajes TaxFeeInfo.

TaxFeeInfo/Property/Fees/Fee/StayDates/DateRange 1..20 DateRange Periodo que indica las fechas en las que debe aplicarse la tasa.
TaxFeeInfo/Property/Fees/Fee/StayDates/DateRange @start 0..1 Date Fecha de inicio del periodo (en función de la zona horaria de la propiedad). Esta fecha debe ser la misma o anterior a la indicada en end. Si no se especifica start, el periodo es ilimitado en lo que se refiere a la fecha de inicio.
TaxFeeInfo/Property/Fees/Fee/StayDates/DateRange @end 0..1 Date Fecha de finalización del periodo (en función de la zona horaria de la propiedad). Esta fecha debe ser la misma o posterior a la indicada en start. Si no se especifica end, el periodo es ilimitado en lo que se refiere a la fecha de finalización.
TaxFeeInfo/Property/Fees/Fee/StayDates/DateRange @days_of_week 0..1 String

Días de la semana permitidos en el periodo. Si no se especifica, se permiten todos los días. Cada carácter de la cadena indica un día. Por ejemplo, "MTWHF" especifica que se permiten días laborables en el periodo.

Los caracteres válidos son:

  • 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.

TaxFeeInfo/Property/Fees/Fee/RoomTypes 0..1 RoomTypes Contenedor para una lista de tipos de habitación a las que se aplica la tasa. La tasa se aplica a cada elemento <RoomType> especificado. Si no se especifica <RoomTypes>, la tasa se aplica a todas las habitaciones.
TaxFeeInfo/Property/Fees/Fee/RoomTypes/RoomType 1..n RoomType Especifica el tipo de habitación, que se define en un elemento <RoomData> de un mensaje Transaction (Property Data), y se hace referencia a él mediante el valor <RoomID>. También se hace referencia al valor de <RoomID> mediante el atributo InvTypeCode de los mensajes OTA_HotelRateAmountNotifRQ.
TaxFeeInfo/Property/Fees/Fee/RoomTypes/RoomType/@id 1 String Identificador único del inventario (tipo de habitación). Este valor se asigna a <RoomID> en un mensaje Transaction (Property Data). Admite un máximo de 50 caracteres.
TaxFeeInfo/Property/Fees/Fee/RatePlans 0..1 RatePlans Contenedor para una lista de planes de precios a los que se aplica la tasa. Si no se especifica <RatePlans>, la tasa se aplica a todos los planes de precios.
TaxFeeInfo/Property/Fees/Fee/RatePlans/RatePlan 1..n RatePlan Especifica un plan de precios. Un plan de precios se define a partir de una combinación de paquetes, precios y disponibilidad, tal como se define en los mensajes Transaction (Property Data), OTA_HotelRateAmountNotifRQ y OTA_HotelAvailNotifRQ, y se identifica por el PackageID.
TaxFeeInfo/Property/Fees/Fee/RatePlans/RatePlan/ @id 1 String Identificador único del plan de precios. Este valor se corresponde con el valor de PackageID de <PackageData> en un mensaje Transaction (Property Data) y en el atributo RatePlanCode de <StatusApplicationControl> en los mensajes <OTA_HotelRateAmountNotifRQ> y <OTA_HotelAvailNotifRQ>. Admite un máximo de 50 caracteres.
TaxFeeInfo/Property/Fees/Fee/Type 1 Enum

Estos son los valores válidos:

  • percent: porcentaje del precio total
  • amount: importe fijo que se añade al precio final
TaxFeeInfo/Property/Fees/Fee/Basis 1 Enum

Estos son los valores válidos:

  • room: el valor de <Amount> se aplica a la habitación.
  • person: el valor de <Amount> se aplica por persona. Este valor solo se aplica si se asigna un importe a <Type>.
TaxFeeInfo/Property/Fees/Fee/Period 1 Enum

Este valor solo se aplica si se asigna un importe a <Type>.

Estos son los valores válidos:

  • stay: el valor de <Amount> se añade al precio total de la estancia.
  • night: el valor de <Amount> se añade por cada noche de la estancia.
TaxFeeInfo/Property/Fees/Fee/Currency 0..1 String Código de tres letras de la moneda asignada a la tasa (por ejemplo, USD).
TaxFeeInfo/Property/Fees/Fee/Fee Amount 1 Float Valor del porcentaje o del importe de la tasa.

Ejemplos

Ejemplo 1

En el siguiente ejemplo se muestra un mensaje TaxFeeInfo básico:

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo  timestamp="2020-05-18T16:20:00-04:00"
             id="12345678">
  <Property>
    <ID>Property_1</ID>
    <Taxes>
      <Tax>
        <Type>percent</Type>
        <Basis>room</Basis>
        <Period>night</Period>
        <Currency>USD</Currency>
        <Amount>10.00</Amount>
      </Tax>
    </Taxes>
    <Fees>
      <Fee>
        <Type>amount</Type>
        <Basis>room</Basis>
        <Period>stay</Period>
        <Currency>USD</Currency>
        <Amount>5.00</Amount>
      </Fee>
    </Fees>
  </Property>
</TaxFeeInfo>