Solicitações
Sintaxe
A mensagem TaxFeeInfo
usa a seguinte sintaxe:
<?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 e atributos
A mensagem TaxFeeInfo
tem os seguintes elementos e atributos:
Elemento / @Attribute | Ocorrências | Tipo | Descrição |
---|---|---|---|
TaxFeeInfo | 1 | Complex element | O elemento raiz de uma mensagem que define tributos e taxas para uma única propriedade. |
TaxFeeInfo / @timestamp | 1 | DateTime | A data e a hora de criação desta mensagem. |
TaxFeeInfo / @id | 1 | string | Um identificador exclusivo para esta mensagem de solicitação. Esse valor é retornado na mensagem de resposta. Os caracteres permitidos são a-z ,
A-Z , 0-9 , _
(sublinhado) e - (traço). |
TaxFeeInfo / @partner | 1 | string | A conta de parceiro desta mensagem. Esse valor de string é a "Chave do parceiro" listada na
página "Configurações da conta" da Central para Hotéis.
Observação:se você tiver um back-end que forneça feeds para várias contas, esse valor precisará corresponder ao valor do atributo |
TaxFeeInfo / Property | 1..n | Property | Um contêiner para definir tributos e taxas de uma única propriedade. |
TaxFeeInfo / Property / @action | 0..1 | string | Especifica como a atualização é aplicada. Somente overlay é
compatível, e o padrão é overlay . Todos os Taxes e Fees anteriores dessa propriedade serão limpos antes da aplicação da atualização. |
TaxFeeInfo / Property / ID | 1 | string | O identificador exclusivo da propriedade. Esse valor precisa corresponder ao ID do hotel especificado usando <id> no elemento <listing> do feed de lista de hotéis. O ID do hotel também está listado na Central para Hotéis. |
TaxFeeInfo / Property / Taxes | 0..1 | Taxes | Contêiner para um ou mais elementos <Tax> . |
TaxFeeInfo / Property / Taxes / Tax | 1..n | Tax | Um tributo individual aplicável à propriedade. |
TaxFeeInfo / Property / Taxes / Tax / RoomTypes | 0..1 | RoomTypes | Contêiner para uma lista de tipos de quarto a que o tributo se aplica.
O tributo é aplicado a cada <RoomType> especificado. Se <RoomTypes> não for especificado, o tributo será aplicado a todos os quartos. |
TaxFeeInfo / Property / Taxes / Tax / RoomTypes / RoomType | 1..n | RoomType | Especifica um tipo de quarto. Um tipo de quarto é definido em um
elemento <RoomData> em uma
mensagem Transação (dados da propriedade) e é
identificado usando o RoomID. O valor <RoomID> também é referenciado pelo atributo InvTypeCode em mensagens OTA_HotelRateAmountNotifRQ . |
TaxFeeInfo / Property / Taxes / Tax / RoomTypes / RoomType / @id | 1 | string | O identificador exclusivo do inventário (tipo de quarto). Esse valor é mapeado para <RoomID> em uma mensagem Transaction (Dados da propriedade). O número máximo de caracteres permitidos é 50. |
TaxFeeInfo / Property / Taxes / Tax / RatePlans | 0..1 | RatePlans | Contêiner para uma lista de planos de tarifação aos quais o tributo se aplica.
Se <RatePlans> não for especificado, o tributo será aplicado a todos os planos de taxas. |
TaxFeeInfo / Property / Taxes / Tax / RatePlans / RatePlan | 1..n | RatePlan | Especifica um plano de taxa. Um plano de tarifas é definido por uma combinação de pacote, tarifas e disponibilidade, conforme definido nas mensagens Transaction (Property Data), OTA_HotelRateAmountNotifRQ e OTA_HotelAvailNotifRQ, e identificado pelo PackageID. |
TaxFeeInfo / Property / Taxes / Tax / RatePlans / RatePlan / @id | 1 | string | O identificador exclusivo do plano de taxas. Esse valor é mapeado para o valor PackageID na mensagem Transação (dados da propriedade), <PackageData> e o valor RatePlanCode definido no atributo <StatusApplicationControl> nas mensagens <OTA_HotelRateAmountNotifRQ> e <OTA_HotelAvailNotifRQ> .
O número máximo de caracteres permitidos é 50. |
TaxFeeInfo / Property / Taxes / Tax / BookingDates | 0..1 | BookingDates | Um contêiner para um ou mais períodos que definem quando a reserva precisa ser feita para que o tributo seja aplicado. |
TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange | 1..99 | DateRange | Um período que especifica quando a reserva precisa ser feita para que o tributo seja aplicado. |
TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange / @start | 0..1 | Date | A data de início (com base no fuso horário da propriedade), inclusive, do período. Essa data precisa ser anterior ou igual à data de end . Se start não for especificado, o período será ilimitado em termos de data de início. |
TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange / @end | 0..1 | Date | A data de término (com base no fuso horário da propriedade), inclusive, do período. Essa data precisa ser igual ou posterior à data de start . Se end não for especificado, o período será ilimitado em termos de data de término. |
TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange / @days_of_week | 0..1 | string | Os dias da semana permitidos no período. Se não for especificado, todos os dias serão permitidos no período. Cada caractere na string especifica um dia. Por exemplo, "MTWHF" especifica que os dias da semana são permitidos no período. Os caracteres válidos são:
Qualquer combinação de caracteres é válida. |
TaxFeeInfo / Property / Taxes / Tax / CheckinDates | 0..1 | CheckinDates | Um contêiner para um ou mais períodos que definem quando o check-in precisa ocorrer para que o tributo seja aplicado. |
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange | 1..20 | DateRange | Um período que especifica quando o check-in precisa ocorrer para que o tributo seja aplicado. |
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange / @start | 0..1 | Date | A data de início (com base no fuso horário da propriedade), inclusive, do período. Essa data precisa ser anterior ou igual à data de end . Se start não for especificado, o período será ilimitado em termos de data de início. |
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange / @end | 0..1 | Date | A data de término (com base no fuso horário da propriedade), inclusive, do período. Essa data precisa ser igual ou posterior à data de start . Se end não for especificado, o período será ilimitado em termos de data de término. |
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange / @days_of_week | 0..1 | string | Os dias da semana permitidos no período. Se não for especificado, todos os dias serão permitidos no período. Cada caractere na string especifica um dia. Por exemplo, "MTWHF" especifica que os dias da semana são permitidos no período. Os caracteres válidos são:
Qualquer combinação de caracteres é válida. |
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates | 0..1 | CheckoutDates | Um contêiner para um ou mais períodos que definem quando o check-out precisa ocorrer para que o tributo seja aplicado. |
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange | 1..20 | DateRange | Um período que especifica quando o check-out precisa ocorrer para que o tributo seja aplicado. |
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange / @start | 0..1 | Date | A data de início (com base no fuso horário da propriedade), inclusive, do período. Essa data precisa ser anterior ou igual à data de end . Se start não for especificado, o período será ilimitado em termos de data de início. |
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange / @end | 0..1 | Date | A data de término (com base no fuso horário da propriedade), inclusive, do período. Essa data precisa ser igual ou posterior à data de start . Se end não for especificado, o período será ilimitado em termos de data de término. |
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange / @days_of_week | 0..1 | string | Os dias da semana permitidos no período. Se não for especificado, todos os dias serão permitidos no período. Cada caractere na string especifica um dia. Por exemplo, "MTWHF" especifica que os dias da semana são permitidos no período. Os caracteres válidos são:
Qualquer combinação de caracteres é válida. |
TaxFeeInfo / Property / Taxes / Tax / StayDates | 0..1 | StayDates | Um contêiner para um ou mais períodos que determinam se o tributo é aplicado, como para acomodar descontos sazonais. |
TaxFeeInfo / Property / Taxes / Tax / StayDates / @application | 1 | enum | Descreve como o tributo deve ser aplicado. Os valores válidos são:
Esse atributo precisa ser sempre especificado. |
TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange | 1..99 | DateRange | Um período que especifica as datas em que o tributo será aplicado. |
TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @start | 0..1 | Date | A data de início (com base no fuso horário da propriedade), inclusive, do período. Essa data precisa ser anterior ou igual à data de end . Se start não for especificado, o período será ilimitado em termos de data de início. |
TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @end | 0..1 | Date | A data de término (com base no fuso horário da propriedade), inclusive, do período. Essa data precisa ser igual ou posterior à data de start . Se end não for especificado, o período será ilimitado em termos de data de término. |
TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @days_of_week | 0..1 | string | Os dias da semana permitidos no período. Se não for especificado, todos os dias serão permitidos no período. Cada caractere na string especifica um dia. Por exemplo, "MTWHF" especifica que os dias da semana são permitidos no período. Os caracteres válidos são:
Qualquer combinação de caracteres é válida. |
TaxFeeInfo / Property / Taxes / Tax / Type | 1 | enum | Os valores válidos são:
|
TaxFeeInfo / Property / Taxes / Tax / Basis | 1 | enum | Os valores válidos são:
|
TaxFeeInfo / Property / Taxes / Tax / Period | 1 | enum |
Os valores válidos são:
|
TaxFeeInfo / Property / Taxes / Tax / Currency | 0..1 | string | O código da moeda de três letras do tributo (por exemplo, USD).
Observação:se |
TaxFeeInfo / Property / Taxes / Tax / Amount | 0..1 | float | O valor da porcentagem ou do montante do tributo. |
TaxFeeInfo / Property / Taxes / Tax / ApplicableNights | 0..1 | ApplicableNights | Esse valor só se aplica se <Type> estiver definido como amount e <Period> estiver definido como night.
Restringe o número de noites em que um tributo pode ser aplicado. Especifique |
TaxFeeInfo / Property / Taxes / Tax / ApplicableNights / @max | 0..1 | integer | <ApplicableNights max="N"> indica que as noites
após as primeiras N noites devem ser excluídas. |
TaxFeeInfo / Property / Taxes / Tax / ApplicableNights / @excluded | 0..1 | integer | <ApplicableNights excluded="N"> indica que as primeiras N noites devem ser excluídas. |
TaxFeeInfo / Property / Taxes / Tax / LengthOfStay | 0..1 | LengthOfStay | Define os limites de duração da estadia em que esse tributo pode ser aplicado. O tributo não é aplicado quando a duração da estadia está fora dos limites mínimo e máximo. |
TaxFeeInfo / Property / Taxes / Tax / LengthOfStay / @min | 0..1 | integer | O número mínimo de noites permitidas na estadia para que o tributo seja aplicado. Se não for especificado, não haverá valor mínimo. |
TaxFeeInfo / Property / Taxes / Tax / LengthOfStay / @max | 0..1 | integer | O número máximo de noites permitidas na estadia para que o tributo seja aplicado. Se não for especificado, não haverá valor máximo. |
TaxFeeInfo / Property / Taxes / Tax / Brackets | 0..1 | Brackets | Contêiner para um ou mais elementos <Bracket> .
Define um conjunto de faixas de tributos contíguas e não sobrepostas. Por exemplo, tributos de faixa do IBS da Índia.
Esse elemento só é válido quando |
TaxFeeInfo / Property / Taxes / Tax / Brackets / @base_amount | 0..1 | float | O valor da porcentagem ou do tributo aplicado às diárias abaixo do valor starts_at da primeira faixa. |
TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket | 1..n | Bracket | Define uma faixa de tributação com base nas diárias. |
TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket / @starts_at | 1 | float | Define o limite inferior de uma faixa de tributos. O limite máximo é especificado no campo Uma faixa de tributação fica ativa quando a tarifa por noite é maior ou igual ao valor Esse valor precisa ser estritamente maior que 0. |
TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket / @amount | 1 | float | O valor da porcentagem ou do tributo aplicado a essa faixa de tributo. |
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets | 0..1 | AgeBrackets | Permite especificar um conjunto de tributos com base nas idades dos ocupantes.
Esse elemento só é válido quando |
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / AdultCharge | 0..1 | AdultCharge | Contêiner para especificar tributos para adultos. |
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / AdultCharge / @amount | 1 | float | O valor fixo do tributo aplicado a adultos. |
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets | 0..1 | ChildAgeBrackets | Contêiner para manter um ou mais elementos <ChildAgeBracket> . |
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket | 1..n | ChildAgeBracket | Define uma faixa etária para crianças e o valor do tributo correspondente. |
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @max_age | 1 | integer | Define o limite máximo da idade de uma criança. O limite inferior é especificado no campo
|
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @amount | 1 | float | O valor fixo do tributo aplicado a crianças nessa faixa etária. |
TaxFeeInfo / Property / Taxes / Tax / UserCountries | 0..1 | UserCountries | Contêiner para listar os países dos usuários em que o tributo é incluído ou excluído. Se estiver presente, o tributo só será incluído ou excluído para usuários dos países especificados. |
TaxFeeInfo / Property / Taxes / Tax / UserCountries / @type | 0..1 | enum | O tipo de especificação UserCountries.
Os valores válidos são Se o UserCountries Já se UserCountries Se o UserCountries |
TaxFeeInfo / Property / Taxes / Tax / UserCountries / Country | 1..n | Country | Define um país na lista de UserCountries. |
TaxFeeInfo / Property / Taxes / Tax / UserCountries / Country / @code | 1 | string | Um código de país CLDR,
como DE ou FR . Em alguns países, o código CLDR não é o mesmo que o código ISO de duas letras. Além disso, os códigos de região CLDR não são aceitos. |
TaxFeeInfo / Property / Taxes / Tax / Rank | 1 | integer | Uma classificação que especifica a ordem de aplicação de um tributo ou taxa.
Por exemplo, o valor 2 significa que o tributo é aplicado em segundo lugar.
Esse elemento sempre precisa ser especificado se <Rank>2</Rank> Valores de classificação duplicados são permitidos entre tributos e taxas, mas isso pode resultar em um comportamento indefinido em que tributos e taxas são aplicados de maneira arbitrária e cumulativa. Se preferir, use o parâmetro Se o parâmetro <Rank exclusive="true">1</Rank> Os tributos são aplicados antes das taxas. Portanto, se um tributo e uma taxa tiverem a mesma classificação e a taxa tiver Para incluir todos os tributos e taxas da mesma classificação, evite definir Os tributos e taxas sem classificação são aplicados antes de todas as entradas classificadas.
|
TaxFeeInfo / Property / Fees | 0..1 | Fees | Contêiner para um ou mais elementos <Fee> . |
TaxFeeInfo / Property / Fees / Fee | 1..n | Fee | Uma taxa individual que se aplica à propriedade. Todos os elementos filhos de |
Exemplos
Há um limite de 300 tributos e taxas por propriedade. Consulte o exemplo "Excluir tributos" para remover tributos e taxas de uma propriedade.
Mensagem básica
Uma mensagem básica do TaxFeeInfo
:
<?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>
Excluir tributos
Exclua todos os tributos e taxas no nível da propriedade do 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>
Tributo de alíquota
Tributo de faixa do IBS indiano, aplicado com base nas tarifas por diária. As faixas de tributação são:
- Não há tributos se a tarifa por noite for menor ou igual a 1.000.
- 12% de tributo se a diária for maior que 1.000 e menor ou igual a 7.500.
- 18% de tributo se a tarifa por noite for maior que 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>
Tributos com base na idade
Tributos aplicados com base nas idades dos ocupantes:
- US$ 20 de tributo para ocupantes adultos.
- US$ 10 de taxa para crianças entre 11 e 17 anos.
- US$ 5 de taxa para crianças de 0 a 10 anos.
<?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>
Períodos de datas de estadia sobrepostos
Quando vários períodos de datas de estadia definidos se sobrepõem, a data de estadia especificada precisa atender apenas a um desses períodos, não a todos. Os períodos de estadia precisam ser especificados em um único intervalo de início e término.
<?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>
Vários tributos e taxas com classificação exclusiva
Confira um exemplo com várias taxas e tributos com exclusive="true"
e classificações diferentes. Considere os seguintes tributos e taxas que devem ser aplicados à tarifa:
- Um tributo sobre ocupação de 5% com
exclusive="true"
de classificação 1. - Um tributo de serviço de quarto de US$ 10 com classificação 1.
- Uma taxa de limpeza de US$ 50 com classificação 2
exclusive="true"
. - Uma taxa de comodidades de 2% com classificação 3.
A ordem cronológica em que os tributos e as taxas são aplicados com base no
<Rank>
é:
- O tributo sobre ocupação com
exclusive="true"
e classificação 1 é aplicado primeiro. - O tributo de serviço de quarto com classificação 1 não será aplicado porque o tributo de ocupação anterior é exclusivo.
- Em seguida, a taxa de limpeza com
exclusive="true"
e classificação 2 é aplicada. - A taxa de comodidades com classificação 3 é aplicada depois da taxa de limpeza com classificação 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>
Respostas
Sintaxe
A mensagem TaxFeeInfoResponse
usa a seguinte sintaxe:
<?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 e atributos
A mensagem TaxFeeInfoResponse
tem os seguintes
elementos e atributos:
Elemento / @Attribute | Ocorrências | Tipo | Descrição |
---|---|---|---|
TaxFeeInfoResponse | 1 | Complex element | O elemento raiz que indica o sucesso ou os problemas de uma mensagem de solicitação TaxFeeInfo recebida. |
TaxFeeInfoResponse / @timestamp | 1 | DateTime | A data e a hora de criação desta mensagem. |
TaxFeeInfoResponse / @id | 1 | string | O identificador exclusivo da mensagem TaxFeeInfo associada. |
TaxFeeInfoResponse / @partner | 1 | string | A conta de parceiro desta mensagem. |
TaxFeeInfoResponse / Success | 0..1 | Success | Indica que a mensagem TaxFeeInfo foi processada sem avisos, erros ou falhas.
|
TaxFeeInfoResponse / Issues | 0..1 | Issues | Um contêiner para um ou mais problemas encontrados ao processar a
mensagem TaxFeeInfo .
|
TaxFeeInfoResponse / Issues / Issue | 1..n | Issue | A descrição de um aviso, erro ou falha encontrada durante o processamento da mensagem TaxFeeInfo. Confira os detalhes desses problemas em Mensagens de erro de status do feed. |
TaxFeeInfoResponse / Issues / Issue / @code | 1 | integer | O identificador do problema. |
TaxFeeInfoResponse / Issues / Issue / @status | 1 | enum | O tipo de problema encontrado. Os valores válidos são |
Exemplos
Sucesso
Confira a seguir uma resposta a uma mensagem TaxFeeInfo
processada com sucesso.
<?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 seguir, há uma resposta a uma mensagem TaxFeeInfo
que não foi processada devido a erros.
<?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>