Información del impuesto

Solicitudes

Sintaxis

El mensaje TaxFeeInfo usa la siguiente sintaxis:

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="timestamp"
            id="message_ID"
            partner="partner_key">
  <Property action="[overlay]">
    <ID>HotelID</ID>
    <Taxes>
      <Tax>
        <RoomTypes>
          <RoomType id="RoomID_1"/>
          <RoomType id="RoomID_2"/>
        </RoomTypes>
        <RatePlans>
          <RatePlan id="PackageID_1"/>
          <RatePlan id="PackageID_2"/>
        </RatePlans>
        <BookingDates>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </BookingDates>
        <CheckinDates>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </CheckinDates>
        <CheckoutDates>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </CheckoutDates>
        <StayDates application="[all|any|overlap]">
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </StayDates>
        <Type>[percent|amount|cumulative_percent]</Type>
        <Basis>[room|person]</Basis>
        <Period>[stay|night]</Period>
        <Currency>currency_code</Currency>
        <Amount>tax_amount</Amount>
        <ApplicableNights max="integer" excluded="integer"/>
        <LengthOfStay min="integer" max="integer"/>
        <!-- Use either <Amount> or <Brackets> -->
        <Brackets base_amount="tax_amount"/>
          <Bracket starts_at="nightly_rate" amount="tax_amount"/>
        </Brackets>
        <AgeBrackets>
          <AdultCharge amount="tax_amount"/>
          <ChildAgeBrackets>
            <ChildAgeBracket max_age="max_age" amount="tax_amount"/>
          </ChildAgeBrackets>
        </AgeBrackets>
        <UserCountries type="[include|exclude]">
          <Country code="country_code1"/>
          <Country code="country_code2"/>
        </UserCountries>
        <!--"exclusive" parameter is optional -->
        <Rank exclusive="[true|false]">integer</Rank>
      </Tax>
    </Taxes>
    <Fees>
      <Fee>
        <RoomTypes>
          <RoomType id="RoomID_1"/>
          <RoomType id="RoomID_2"/>
        </RoomTypes>
        <RatePlans>
          <RatePlan id="PackageID_1"/>
          <RatePlan id="PackageID_2"/>
        </RatePlans>
        <BookingDates>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </BookingDates>
        <CheckinDates>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </CheckinDates>
        <CheckoutDates>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </CheckoutDates>
        <StayDates application="[all|any|overlap]">
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </StayDates>
        <Type>[percent|amount|cumulative_percent]</Type>
        <Basis>[room|person]</Basis>
        <Period>[stay|night]</Period>
        <Currency>currency_code</Currency>
        <Amount>fee_amount</Amount>
        <ApplicableNights max="integer" excluded="integer"/>
        <LengthOfStay min="integer" max="integer"/>
        <!-- Use either <Amount> or <Brackets> -->
        <Brackets base_amount="tax_amount"/>
          <Bracket starts_at="nightly_rate" amount="tax_amount"/>
        </Brackets>
        <AgeBrackets>
          <AdultCharge amount="tax_amount"/>
          <ChildAgeBrackets>
            <ChildAgeBracket max_age="max_age" amount="tax_amount"/>
          </ChildAgeBrackets>
        </AgeBrackets>
        <UserCountries type="[include|exclude]">
          <Country code="country_code1"/>
          <Country code="country_code2"/>
        </UserCountries>
        <!--"exclusive" parameter is optional -->
        <Rank exclusive="[true|false]">integer</Rank>
      </Fee>
    </Fees>
  </Property>
</TaxFeeInfo>

Elementos y atributos

El mensaje TaxFeeInfo tiene los siguientes elementos y atributos:

Elemento / @Attribute Casos Tipo Descripción
TaxFeeInfo 1 Complex element Es el elemento raíz de un mensaje que define los impuestos y las comisiones de una sola propiedad.
TaxFeeInfo / @timestamp 1 DateTime Fecha y hora de creación de este mensaje.
TaxFeeInfo / @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).
TaxFeeInfo / @partner 1 string Es la cuenta de socio para este mensaje. Este valor de cadena es el valor de "Clave de socio" 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.

TaxFeeInfo / Property 1..n Property Es un contenedor para definir los impuestos y las comisiones de una sola propiedad.
TaxFeeInfo / Property / @action 0..1 string Especifica cómo se aplica la actualización. Solo se admite overlay, y el valor predeterminado es overlay. Cualquier Taxes y Fees anterior para esta propiedad se borrará antes de que se aplique esta actualización.
TaxFeeInfo / Property / ID 1 string Es el identificador único de la propiedad. Este valor debe coincidir con el ID de hotel especificado con <id> en el elemento <listing> del feed de lista de hoteles. El ID del 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 Es un impuesto individual que se aplica a la propiedad.
TaxFeeInfo / Property / Taxes / Tax / RoomTypes 0..1 RoomTypes Es un contenedor para una lista de tipos de habitaciones a los que se aplica el impuesto. El impuesto se aplica a cada <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 un tipo de habitación. Un tipo de habitación se define en un elemento <RoomData> en un mensaje de Transaction (Property Data) y se identifica con su RoomID. (Su valor <RoomID> también se menciona en el atributo InvTypeCode de los mensajes OTA_HotelRateAmountNotifRQ).
TaxFeeInfo / Property / Taxes / Tax / 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.
TaxFeeInfo / Property / Taxes / Tax / RatePlans 0..1 RatePlans Es un contenedor para una lista de planes de tarifas a los que se aplica el impuesto. Si no se especifica <RatePlans>, el impuesto se aplica a todos los planes de tarifas.
TaxFeeInfo / Property / Taxes / Tax / 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 se identifica por el PackageID.
TaxFeeInfo / Property / Taxes / Tax / RatePlans / RatePlan / @id 1 string Es el identificador único del plan de tarifas. Este valor se asigna al valor de PackageID en el mensaje Transaction (Property Data), <PackageData>, y al valor de RatePlanCode que se establece en el atributo <StatusApplicationControl> en los mensajes <OTA_HotelRateAmountNotifRQ> y <OTA_HotelAvailNotifRQ>. La cantidad máxima de caracteres permitida es 50.
TaxFeeInfo / Property / Taxes / Tax / BookingDates 0..1 BookingDates Es un contenedor para uno o más períodos que definen cuándo se debe realizar la reserva para que se aplique el impuesto.
TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange 1..99 DateRange Es un período que especifica cuándo se debe realizar la reserva para que se aplique el impuesto.
TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange / @start 0..1 Date 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.
TaxFeeInfo / Property / Taxes / Tax / BookingDates / 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 período no tendrá una fecha de finalización.
TaxFeeInfo / Property / Taxes / Tax / BookingDates / 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 laborables 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.

TaxFeeInfo / Property / Taxes / Tax / CheckinDates 0..1 CheckinDates Es un contenedor para uno o más períodos que definen cuándo se debe registrar la llegada para que se aplique el impuesto.
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange 1..20 DateRange Es un período que especifica cuándo se debe realizar la entrada para que se aplique el impuesto.
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange / @start 0..1 Date 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.
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / 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 período no tendrá una fecha de finalización.
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / 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 laborables 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.

TaxFeeInfo / Property / Taxes / Tax / CheckoutDates 0..1 CheckoutDates Es un contenedor para uno o más períodos que definen cuándo se debe realizar la confirmación de salida para que se aplique el impuesto.
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange 1..20 DateRange Es un período que especifica cuándo debe ocurrir la salida para que se aplique el impuesto.
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange / @start 0..1 Date 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.
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / 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 período no tendrá una fecha de finalización.
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / 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 laborables 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.

TaxFeeInfo / Property / Taxes / Tax / StayDates 0..1 StayDates

Es un contenedor para uno o más períodos que determinan si se aplica el impuesto, por ejemplo, para admitir descuentos de temporada.

TaxFeeInfo / Property / Taxes / Tax / StayDates / @application 1 enum

Describe cómo se debe aplicar el impuesto.

Estos son los valores válidos:

  • all: Aplica el impuesto a cada noche del itinerario si todas las fechas del itinerario se superponen con las fechas de la estadía.
  • any: Aplica el impuesto a todas las noches del itinerario si alguna fecha del itinerario se superpone con una fecha del período de la estadía.
  • overlap: Aplica el impuesto solo a las noches del itinerario que se superponen con una fecha del período de estadía.

    Nota: overlap solo es válido cuando <Period> se establece en night.

Este atributo siempre se debe especificar.

TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange 1..99 DateRange Es un período que especifica las fechas en las que se aplicará el impuesto.
TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @start 0..1 Date 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.
TaxFeeInfo / Property / Taxes / Tax / 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 período no tendrá una fecha de finalización.
TaxFeeInfo / Property / Taxes / Tax / 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 laborables 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.

TaxFeeInfo / Property / Taxes / Tax / Type 1 enum

Estos son los valores válidos:

  • percent: Un porcentaje de la tarifa total
  • amount: Un importe fijo que se agregará a la tarifa final
  • cumulative_percent: Es un porcentaje de la tarifa total, los impuestos y las comisiones acumulados antes del cálculo de este impuesto o comisión. Si se especifica este valor, también se debe especificar <Rank>.
  • <Brackets> y <AgeBrackets> no se pueden especificar con cumulative_percent como un tipo.

TaxFeeInfo / Property / Taxes / Tax / Basis 1 enum

Estos son los valores válidos:

  • room: Se aplica el <Amount> a la habitación.
  • person: El <Amount> se aplica por persona. Este valor solo se aplica si <Type> se establece en cantidad.
TaxFeeInfo / Property / Taxes / Tax / Period 1 enum

Estos son los valores válidos:

  • stay: El <Amount> se agrega a la tarifa total de la estadía.
  • night: El <Amount> se agrega por noche de la estadía.
TaxFeeInfo / Property / Taxes / Tax / Currency 0..1 string Es el código de moneda de tres letras para el impuesto (por ejemplo, USD).

Nota: Si no se especifica <Currency>, pero sí <Amount>, el valor de <Currency> se establece de forma predeterminada en la moneda de la tarifa base.

TaxFeeInfo / Property / Taxes / Tax / Amount 0..1 float Es el valor del porcentaje o el importe del impuesto.
TaxFeeInfo / Property / Taxes / Tax / ApplicableNights 0..1 ApplicableNights Este valor solo se aplica si <Type> se establece en amount y <Period> se establece en night.

Restringe la cantidad de noches para las que se puede aplicar un impuesto.

Especifica max o excluded, pero no ambos.

TaxFeeInfo / Property / Taxes / Tax / ApplicableNights / @max 0..1 integer <ApplicableNights max="N"> indica que se deben excluir las noches posteriores a las primeras N noches.
TaxFeeInfo / Property / Taxes / Tax / ApplicableNights / @excluded 0..1 integer <ApplicableNights excluded="N"> indica que se deben excluir las primeras N noches.
TaxFeeInfo / Property / Taxes / Tax / LengthOfStay 0..1 LengthOfStay Define los límites de duración de la estadía dentro de los cuales se puede aplicar este impuesto. El impuesto no se aplica cuando la duración de la estadía está fuera de los límites mínimo y máximo.
TaxFeeInfo / Property / Taxes / Tax / LengthOfStay / @min 0..1 integer Es la cantidad mínima de noches permitidas en la estadía para que se aplique el impuesto. Si no se especifica, no hay un mínimo.
TaxFeeInfo / Property / Taxes / Tax / LengthOfStay / @max 0..1 integer Es la cantidad máxima de noches permitidas en la estadía para que se aplique el impuesto. Si no se especifica, no hay un valor máximo.
TaxFeeInfo / Property / Taxes / Tax / Brackets 0..1 Brackets Contenedor para uno o más elementos <Bracket>. Define un conjunto de tramos impositivos contiguos y que no se superponen. Por ejemplo, los impuestos de las categorías del GST de la India.

Este elemento solo es válido cuando <Period> se establece en night y no se especifica <Amount>.

TaxFeeInfo / Property / Taxes / Tax / Brackets / @base_amount 0..1 float El valor del porcentaje o el importe del impuesto, aplicado a las tarifas por noche inferiores al valor de starts_at del primer tramo.
TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket 1..n Bracket Define un tramo impositivo según las tarifas por noche.
TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket / @starts_at 1 float

Define el límite inferior de un tramo impositivo. El límite superior se especifica en el campo starts_at del corchete siguiente. No hay un límite superior para el último intervalo.

Un tramo impositivo está activo cuando la tarifa por noche es mayor o igual que el valor starts_at del tramo y estrictamente menor que el valor starts_at del tramo siguiente.

Este valor debe ser estrictamente mayor que 0.

TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket / @amount 1 float Es el valor del porcentaje o el importe del impuesto aplicado a este tramo impositivo.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets 0..1 AgeBrackets Permite especificar un conjunto de impuestos según las edades de los ocupantes.

Este elemento solo es válido cuando no se especifican <Brackets> ni <Amount>, <Basis> se establece en person y <Type> se establece en amount.

TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / AdultCharge 0..1 AdultCharge Es un contenedor para especificar los impuestos para adultos.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / AdultCharge / @amount 1 float Es el importe fijo del impuesto aplicado a los adultos.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets 0..1 ChildAgeBrackets Contenedor para almacenar uno o más elementos <ChildAgeBracket>.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket 1..n ChildAgeBracket Define un rango de edad para los niños y el importe del impuesto correspondiente.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @max_age 1 integer

Define el límite superior de la edad de un niño o niña. El límite inferior se especifica en el campo max_age del corchete anterior + 1. Los límites superior e inferior son inclusivos. El límite inferior del primer intervalo es 0.

max_age debe estar en el rango de 0 a 17 (inclusive).

TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @amount 1 float Es el importe fijo del impuesto que se aplica a los niños de este rango etario.
TaxFeeInfo / Property / Taxes / Tax / UserCountries 0..1 UserCountries Es un contenedor para enumerar los países del usuario para los que el impuesto se incluye o excluye. Si está presente, el impuesto solo se incluirá o excluirá para los usuarios de los países especificados.
TaxFeeInfo / Property / Taxes / Tax / UserCountries / @type 0..1 enum Es el tipo de especificación de UserCountries.

Los valores válidos son include y exclude.

Si UserCountries type se establece como include, el impuesto solo se aplicará a los usuarios de los países enumerados.

En cambio, si UserCountries type es exclude, el impuesto solo se aplicará a los usuarios que se encuentren fuera de los países enumerados.

Si no se establece UserCountries type, lo trataremos como include y el impuesto solo se aplicará a los usuarios de los países enumerados.

TaxFeeInfo / Property / Taxes / Tax / UserCountries / Country 1..n Country Define un país en la lista de UserCountries.
TaxFeeInfo / Property / Taxes / Tax / UserCountries / Country / @code 1 string Un código de país de CLDR, como DE o FR. Ten en cuenta que, en algunos países, el código de país del CLDR no es el mismo que el código de país ISO de 2 letras. Además, no se admiten los códigos de región de CLDR.
TaxFeeInfo / Property / Taxes / Tax / Rank 1 integer

Es una clasificación que especifica el orden de aplicación de un impuesto o una tarifa. Por ejemplo, un valor de 2 significa que el impuesto se aplica en segundo lugar. Este elemento siempre se debe especificar si <Type> se establece en cumulative_percent. En general, este orden se aplica a los impuestos y las comisiones.

<Rank>2</Rank>

Se permiten valores de clasificación duplicados entre los impuestos y las comisiones, pero esto puede generar un comportamiento indefinido en el que los impuestos y las comisiones se apliquen de forma arbitraria y acumulativa.

Como alternativa, usa el parámetro "exclusive" dentro de <Rank> para indicar que todos los impuestos y las comisiones del mismo rango se aplican a la tarifa. El valor predeterminado es false, y todos los impuestos y comisiones con el mismo rango se aplican a la tarifa de forma arbitraria. "exclusive" es opcional.

Si el parámetro exclusive se establece en true, solo se aplica a la tarifa el primer impuesto que se indica en <Tax> o la primera comisión que se indica en <Fee>.

<Rank exclusive="true">1</Rank>

Los impuestos se aplican antes que las comisiones. Por lo tanto, si un impuesto y una comisión tienen el mismo rango y la comisión tiene "exclusive" establecido en true, el impuesto se aplicará primero. La práctica recomendada es que los impuestos y las comisiones se muestren en el orden en que se deben aplicar.

Para incluir todos los impuestos y las comisiones del mismo rango, evita configurar exclusive como true.

Los impuestos y las comisiones sin clasificación se aplican antes de todas las entradas clasificadas.

<Rank> debe estar en el rango de 1 a 99 (inclusive).

TaxFeeInfo / Property / Fees 0..1 Fees Contenedor para uno o más elementos <Fee>.
TaxFeeInfo / Property / Fees / Fee 1..n Fee

Es una tarifa individual que se aplica a la propiedad.

Todos los elementos secundarios de <Tax> también se admiten para <Fee> con la misma sintaxis.

Ejemplos

Hay un límite de 300 impuestos y tarifas por propiedad. Consulta el ejemplo "Borra impuestos" para quitar los impuestos y las comisiones de una propiedad.

Mensaje básico

Un mensaje TaxFeeInfo básico:

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

Borra impuestos

Borra todos los impuestos y cargos a nivel de la propiedad del hotel especificado:

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2024-06-16T16:20:00-04:00"
            id="12345678"
            partner="partner_key">
  <Property action="overlay"/>
    <ID>Property_1</ID>
  </Property>
</TaxFeeInfo>

Impuesto sobre losas

Impuesto sobre el GST de la India, aplicado según las tarifas por noche. Los tramos impositivos son los siguientes:

  • No se aplica impuesto si la tarifa por noche es menor o igual a 1,000.
  • 12% de impuestos si la tarifa por noche es mayor que 1,000 y menor o igual que 7,500
  • Impuesto del 18% si la tarifa por noche es superior a 7,500.
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2024-05-18T16:20:00-04:00"
            id="12345678"
            partner="partner_key">
  <Property>
    <ID>Property_1</ID>
    <Taxes>
      <Tax>
        <Type>percent</Type>
        <Basis>room</Basis>
        <Period>night</Period>
        <Brackets base_amount="0">
          <Bracket starts_at="1000.01" amount="12"/>
          <Bracket starts_at="7500.01" amount="18"/>
        </Brackets>
      </Tax>
    </Taxes>
  </Property>
</TaxFeeInfo>

Impuestos basados en la edad

Impuestos aplicados según las edades de los ocupantes:

  • Impuesto de USD 20 para los ocupantes adultos
  • Impuesto de USD 10 para niños y adolescentes de entre 11 y 17 años
  • Impuesto de USD 5 para niños de entre 0 y 10 años
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2024-05-18T16:20:00-04:00"
            id="12345678"
            partner="partner_key">
  <Property>
    <ID>Property_1</ID>
    <Taxes>
      <Tax>
        <Type>amount</Type>
        <Basis>person</Basis>
        <Period>night</Period>
        <AgeBrackets>
          <AdultCharge amount="20"/>
          <ChildAgeBrackets>
            <ChildAgeBracket max_age="10" amount="5"/>
            <ChildAgeBracket max_age="17" amount="10"/>
          </ChildAgeBrackets>
        </AgeBrackets>
      </Tax>
    </Taxes>
  </Property>
</TaxFeeInfo>

Rangos de fechas de estadía superpuestos

Cuando se definen varios períodos de estadía que se superponen entre sí, la fecha de estadía proporcionada solo debe satisfacer uno de esos períodos y no todos. Los períodos de estadía deben especificarse en un solo período de inicio y finalización.

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2025-03-12T10:59:49+01:00"
            id="12345678"
            partner="partner_key">
  <Property action="overlay">
    <ID>987654</ID>
      <Taxes>
        <Tax>
          <Type>amount</Type>
          <Basis>person</Basis>
          <Period>night</Period>
          <RoomTypes>
            <RoomType id="RoomID_1"/>
            <RoomType id="RoomID_2"/>
          </RoomTypes>
          <StayDates application="any">
            <DateRange start="2025-06-16"/>
          </StayDates>
          <Currency>USD</Currency>
          <Amount>50</Amount>
        </Tax>
      </Taxes>
      <Fees>
        <Fee>
          <Type>amount</Type>
          <Basis>room</Basis>
          <Period>stay</Period>
          <StayDates application="any">
            <DateRange start="2025-03-12" end="2025-03-18"/>
          </StayDates>
          <Currency>USD</Currency>
          <Amount>200</Amount>
        </Fee>
        <Fee>
          <Type>amount</Type>
          <Basis>room</Basis>
          <Period>stay</Period>
          <StayDates application="any">
            <DateRange start="2025-03-19"/>
          </StayDates>
          <Currency>USD</Currency>
          <Amount>300</Amount>
      </Fee>
    </Fees>
  </Property>
</TaxFeeInfo>

Varios impuestos y comisiones con exclusividad de rango

A continuación, se muestra un ejemplo con varios impuestos y cargos con exclusive="true" y diferentes rangos. Ten en cuenta los siguientes impuestos y comisiones que se deben aplicar a la tarifa:

  • Un impuesto de ocupación del 5% con rango 1 exclusive="true".
  • Impuesto de servicio a la habitación de USD 10 con rango 1.
  • Una tarifa de limpieza de USD 50 con un rango de 2 exclusive="true".
  • Una comisión por servicios del 2% con rango 3.

El orden cronológico en el que se aplican los impuestos y las tarifas según el <Rank> es el siguiente:

  1. El impuesto sobre la ocupación con exclusive="true" y rango 1 se aplica primero.
  2. No se aplicará el impuesto por servicio a la habitación con rango 1 porque el impuesto por ocupación anterior es exclusivo.
  3. A continuación, se aplica la tarifa de limpieza con exclusive="true" y rango 2.
  4. La tarifa de servicios con rango 3 se aplica después de la tarifa de limpieza con rango 2.

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2024-02-29T12:00:00Z"
            id="tax-fee-id"
            partner="partner_key">
  <Property action="overlay">
    <ID>765432</ID>
    <Taxes>
      <Tax>
        <Type>percent</Type>
        <Amount>5</Amount>
        <Period>stay</Period>
        <Basis>room</Basis>
        <Rank exclusive="true">1</Rank>
      </Tax>
      <Tax>
        <Type>amount</Type>
        <Amount>10</Amount>
        <Period>night</Period>
        <Basis>room</Basis>
        <Currency>USD</Currency>
        <Rank>1</Rank>
      </Tax>
    </Taxes>
    <Fees>
      <Fee>
        <Type>amount</Type>
        <Amount>50</Amount>
        <Period>night</Period>
        <Basis>room</Basis>
        <Currency>USD</Currency>
        <Rank exclusive="true">2</Rank>
      </Fee>
      <Fee>
        <Type>percent</Type>
        <Amount>2</Amount>
        <Period>stay</Period>
        <Basis>room</Basis>
        <Rank>3</Rank>
      </Fee>
    </Fees>
  </Property>
</TaxFeeInfo>

Respuestas

Sintaxis

El mensaje TaxFeeInfoResponse usa la siguiente sintaxis:

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfoResponse 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>
</TaxFeeInfoResponse>

Elementos y atributos

El mensaje TaxFeeInfoResponse tiene los siguientes elementos y atributos:

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

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

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

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

TaxFeeInfoResponse / Issues / Issue 1..n Issue Es la descripción de una advertencia, un error o una falla que se produjo durante el procesamiento del mensaje TaxFeeInfo. Puedes encontrar detalles sobre estos problemas en Mensajes de error sobre el estado del feed.
TaxFeeInfoResponse / Issues / Issue / @code 1 integer Es el identificador del problema.
TaxFeeInfoResponse / 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 TaxFeeInfo procesado correctamente.

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

Problemas

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

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