Informações fiscais

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 ID especificado no elemento <RequestorID> das mensagens <OTA_HotelRateAmountNotifRQ> e <OTA_HotelAvailNotifRQ> da mesma conta.

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:

  • M para segunda-feira
  • T para terça-feira
  • W para quarta-feira
  • H para quinta-feira
  • F para sexta-feira
  • S para sábado
  • U para domingo

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:

  • M para segunda-feira
  • T para terça-feira
  • W para quarta-feira
  • H para quinta-feira
  • F para sexta-feira
  • S para sábado
  • U para domingo

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:

  • M para segunda-feira
  • T para terça-feira
  • W para quarta-feira
  • H para quinta-feira
  • F para sexta-feira
  • S para sábado
  • U para domingo

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:

  • all: aplica o tributo a cada noite no roteiro se todas as datas do roteiro se sobrepuserem às datas da estadia.
  • any: aplica o tributo a todas as noites do itinerário se alguma data do itinerário se sobrepuser a uma data do período da estadia.
  • overlap: aplica o tributo somente às noites do roteiro que se sobrepõem a uma data no período da estadia.

    Observação: overlap só é válido quando <Period>está definido como night.

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:

  • M para segunda-feira
  • T para terça-feira
  • W para quarta-feira
  • H para quinta-feira
  • F para sexta-feira
  • S para sábado
  • U para domingo

Qualquer combinação de caracteres é válida.

TaxFeeInfo / Property / Taxes / Tax / Type 1 enum

Os valores válidos são:

  • percent: Uma porcentagem da taxa total
  • amount: Um valor fixo a ser adicionado à taxa final
  • cumulative_percent: Uma porcentagem da taxa total, dos tributos e das taxas acumulados antes do cálculo desse tributo ou taxa. Se esse valor for especificado, <Rank> também precisará ser.
  • <Brackets> e <AgeBrackets> não podem ser especificados com cumulative_percent como um tipo.

TaxFeeInfo / Property / Taxes / Tax / Basis 1 enum

Os valores válidos são:

  • room: O <Amount> é aplicado ao quarto.
  • person: O <Amount> é aplicado por pessoa. Esse valor só se aplica se <Type> estiver definido como "amount".
TaxFeeInfo / Property / Taxes / Tax / Period 1 enum

Os valores válidos são:

  • stay: O <Amount> é adicionado à tarifa total da estadia.
  • night: O <Amount> é adicionado por noite da estadia.
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 <Currency> não for especificado, mas <Amount> for, o valor de <Currency> será a moeda da taxa básica.

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 max ou excluded, mas não ambos.

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 <Period> está definido como night e <Amount> não está especificado.

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 starts_at do suporte subsequente. Não há limite máximo para o último colchete.

Uma faixa de tributação fica ativa quando a tarifa por noite é maior ou igual ao valor starts_at da faixa e estritamente menor que o valor starts_at da faixa seguinte.

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 <Brackets> e <Amount> não são especificados, <Basis> é definido como person e <Type> é definido como amount.

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 max_age do colchete anterior + 1. Os limites superior e inferior são inclusivos. O limite inferior da primeira faixa é 0.

max_age precisa estar entre 0 e 17 (inclusive).

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 include e exclude.

Se o UserCountries type for definido como include, o tributo será aplicado apenas aos usuários dos países listados.

Já se UserCountries type for exclude, o tributo será aplicado apenas a usuários fora dos países listados.

Se o UserCountries type não estiver definido, vamos tratá-lo como include, e o tributo será aplicado apenas a usuários dos países listados.

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 <Type> estiver definido como cumulative_percent. Em geral, essa ordem é aplicada a tributos e taxas.

<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 "exclusive" em <Rank> para indicar que todos os tributos e taxas de mesmo nível são aplicados à tarifa. O valor padrão é false, e todos os tributos e taxas com a mesma classificação são aplicados à tarifa de maneira arbitrária. "exclusive" é opcional.

Se o parâmetro exclusive estiver definido como true, somente o primeiro tributo listado em <Tax> ou a primeira taxa listada em <Fee> serão aplicados à tarifa.

<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 "exclusive" definido como true, o tributo ainda será aplicado primeiro. A prática recomendada é que os tributos e as taxas sejam listados na ordem em que devem ser aplicados.

Para incluir todos os tributos e taxas da mesma classificação, evite definir exclusive como true.

Os tributos e taxas sem classificação são aplicados antes de todas as entradas classificadas.

<Rank> precisa estar entre 1 e 99 (inclusive).

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 <Tax> também são compatíveis com <Fee> usando a mesma sintaxe.

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> é:

  1. O tributo sobre ocupação com exclusive="true" e classificação 1 é aplicado primeiro.
  2. O tributo de serviço de quarto com classificação 1 não será aplicado porque o tributo de ocupação anterior é exclusivo.
  3. Em seguida, a taxa de limpeza com exclusive="true" e classificação 2 é aplicada.
  4. 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.

<Success> ou <Issues> está presente em cada mensagem.

TaxFeeInfoResponse / Issues 0..1 Issues Um contêiner para um ou mais problemas encontrados ao processar a mensagem TaxFeeInfo.

<Success> ou <Issues> está presente em cada mensagem.

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 warning, error e failure .

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>