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 |
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:
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:
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:
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:
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:
Cualquier combinación de caracteres es válida. |
TaxFeeInfo / Property / Taxes / Tax / Type | 1 | enum | Estos son los valores válidos:
|
TaxFeeInfo / Property / Taxes / Tax / Basis | 1 | enum | Estos son los valores válidos:
|
TaxFeeInfo / Property / Taxes / Tax / Period | 1 | enum |
Estos son los valores válidos:
|
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 |
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 |
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 |
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 Un tramo impositivo está activo cuando la tarifa por noche es mayor o igual que el valor 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 |
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
|
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 Si UserCountries En cambio, si UserCountries Si no se establece UserCountries |
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 <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 Si el parámetro <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 Para incluir todos los impuestos y las comisiones del mismo rango, evita configurar Los impuestos y las comisiones sin clasificación se aplican antes de todas las entradas clasificadas.
|
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 |
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:
- El impuesto sobre la ocupación con
exclusive="true"
y rango 1 se aplica primero. - No se aplicará el impuesto por servicio a la habitación con rango 1 porque el impuesto por ocupación anterior es exclusivo.
- A continuación, se aplica la tarifa de limpieza con
exclusive="true"
y rango 2. - 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.
|
TaxFeeInfoResponse / Issues | 0..1 | Issues | Es un contenedor para uno o más problemas que se encontraron durante el procesamiento del mensaje TaxFeeInfo .
|
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 |
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>