OTA_HotelRateAmountNotifRQ

Solicitações

Sintaxe

A mensagem OTA_HotelRateAmountNotifRQ usa a seguinte sintaxe:

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="message_ID"
                            TimeStamp="timestamp"
                            Version="3.0"
                            NotifType="[Overlay|Delta|Remove]"
                            NotifScopeType="[ProductRate]">
  <POS>
    <Source>
      <RequestorID ID="partner_key"/>
    </Source>
  </POS>
  <RateAmountMessages HotelCode="HotelID">
    <RateAmountMessage>
      <StatusApplicationControl Start="YYYY-MM-DD"
                                End="YYYY-MM-DD"
                                Mon="boolean_value"
                                Tue="boolean_value"
                                Weds="boolean_value"
                                Thur="boolean_value"
                                Fri="boolean_value"
                                Sat="boolean_value"
                                Sun="boolean_value"
                                InvTypeCode="RoomID"
                                RatePlanCode="PackageID"
                                RatePlanType="[26]" />
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="float"
                            AmountAfterTax="float"
                            CurrencyCode="currency"
                            NumberOfGuests="integer"/>
          </BaseByGuestAmts>
          <AdditionalGuestAmounts>
            <AdditionalGuestAmount Amount="float"
                                   AgeQualifyingCode="[10|8]"
                                   MaxAge="integer"/>
          </AdditionalGuestAmounts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Elementos e atributos

A mensagem OTA_HotelRateAmountNotifRQ tem os seguintes elementos e atributos:

Elemento / @Attribute Ocorrências Tipo Descrição
OTA_HotelRateAmountNotifRQ 1 Complex element O elemento raiz de uma mensagem de tarifas.
OTA_HotelRateAmountNotifRQ / @xmlns 0..1 string (URI) O namespace do XML.
OTA_HotelRateAmountNotifRQ / @EchoToken 1 string Um identificador exclusivo para essa mensagem de solicitação. Esse valor é retornado na mensagem de resposta. Os caracteres permitidos são a-z, A-Z, 0-9, _ (underscore) e - (dash).
OTA_HotelRateAmountNotifRQ / @TimeStamp 1 DateTime A data e a hora de criação da mensagem.
OTA_HotelRateAmountNotifRQ / @Version 1 decimal A versão da mensagem do OpenTravel.
OTA_HotelRateAmountNotifRQ / @NotifType 0..1 enum

O tipo de notificação a ser aplicado a cada <RateAmountMessage>.

Os valores válidos são:

Para entender como esses atributos funcionam, confira os exemplos.

  • Overlay: Exclua todas as tarifas por ocupação do tipo de quarto, plano de tarifa e datas especificados em <StatusApplicationControl> e substitua-as por novas tarifas.
  • Remove: Exclua todas as tarifas por ocupação do tipo de quarto, plano de tarifa e datas especificadas em <StatusApplicationControl>.
  • Delta: (padrão se NotifType não for especificado) Adiciona ou atualiza as tarifas por ocupação do tipo de quarto, plano de tarifas e datas especificados em <StatusApplicationControl>.
OTA_HotelRateAmountNotifRQ / @NotifScopeType 0..1 enum

O escopo do NotifType a ser aplicado a cada <RateAmountMessage>.

Os valores válidos são:

  • ProductRate: (padrão se NotifScopeType não for especificado) O NotifType se aplica a produtos: combinações de tipo de quarto (InvTypeCode) e plano de tarifas (RatePlanCode).
OTA_HotelRateAmountNotifRQ / POS 0..1 POS Um contêiner para especificar a conta de parceiro dessa mensagem. Normalmente, é usado quando o back-end fornece feeds de preço para várias contas de parceiro.
OTA_HotelRateAmountNotifRQ / POS / Source 1 Source Obrigatório se <POS> estiver presente. Um contêiner para a <RequestorID>.
OTA_HotelRateAmountNotifRQ / POS / RequestorID 1 RequestorID Obrigatório se <POS> estiver presente. Define a conta de parceiro.
OTA_HotelRateAmountNotifRQ / POS / RequestorID / @ID 1 string A conta do parceiro para esta mensagem. Esse valor de string é o valor da "chave do parceiro" listado na página "Configurações da conta" da Central para Hotéis.

Observação:se você tiver um back-end que fornece feeds para várias contas, esse valor precisa corresponder ao valor do atributo partner da mensagem de Transação (dados da propriedade) e ao valor do atributo ID no elemento <RequestorID> da mensagem <OTA_HotelAvailNotifRQ> para a mesma conta.

OTA_HotelRateAmountNotifRQ / RateAmountMessages 1 RateAmountMessages Uma coleção de elementos <RateAmountMessage> que definem taxas.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / @HotelCode 1 string O identificador exclusivo da propriedade. Esse valor precisa corresponder ao ID do hotel especificado usando <id> no elemento <listing> no feed de lista de hotéis. O ID do hotel também está listado na Central para Hotéis.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage 1..n RateAmountMessage Um contêiner para definir preços de uma diária (uma combinação de tipo de quarto e plano de tarifa em um período).
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl 1 StatusApplicationControl Define o período e os identificadores do tipo de quarto (InvTypeCode) e do plano de tarifa (RatePlanCode).
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Start 1 Date A data de início (com base no fuso horário da propriedade) do período.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @End 1 Date A data de término (com base no fuso horário da propriedade) do período. Precisa ser igual ou maior que o valor de start. Se start e end forem iguais, a atualização será aplicada a essa data. O Google aceita até três anos de dados.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Mon 0..1 boolean Defina como true ou 1 para incluir explicitamente segundas-feiras.

Se definido como true, outros dias da semana que não forem definidos explicitamente como true serão excluídos. Na prática, eles são filtrados das datas no Start e End.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Tue 0..1 boolean Defina como true ou 1 para incluir explicitamente terças-feiras.

Se definido como true, outros dias da semana que não forem definidos explicitamente como true serão excluídos. Na prática, eles são filtrados das datas no Start e End.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Weds 0..1 boolean Defina como true ou 1 para incluir explicitamente as quartas-feiras.

Se definido como true, outros dias da semana que não forem definidos explicitamente como true serão excluídos. Na prática, eles são filtrados das datas no Start e End.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Thur 0..1 boolean Defina como true ou 1 para incluir explicitamente quintas-feiras.

Se definido como true, outros dias da semana que não forem definidos explicitamente como true serão excluídos. Na prática, eles são filtrados das datas no Start e End.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Fri 0..1 boolean Defina como true ou 1 para incluir explicitamente sextas-feiras.

Se definido como true, outros dias da semana que não forem definidos explicitamente como true serão excluídos. Na prática, eles são filtrados das datas no Start e End.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sat 0..1 boolean Defina como true ou 1 para incluir explicitamente sábados.

Se definido como true, outros dias da semana que não forem definidos explicitamente como true serão excluídos. Na prática, eles são filtrados das datas no Start e End.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sun 0..1 boolean Defina como true ou 1 para incluir explicitamente domingos.

Se definido como true, outros dias da semana que não forem definidos explicitamente como true serão excluídos. Na prática, eles são filtrados das datas no Start e End.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @InvTypeCode 1 string O identificador exclusivo do inventário (tipo de quarto). Esse valor é mapeado para <RoomID> em uma mensagem de transação (dados da propriedade).
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanCode 1 string Um identificador exclusivo do plano de tarifas. Esse identificador é mapeado para o <PackageID> em uma mensagem de transação (dados da propriedade). O plano de tarifas é definido e mencionado em <StatusApplicationControl> nas mensagens <OTA_HotelRateAmountNotifRQ> e <OTA_HotelAvailNotifRQ>.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanType 0..1 string Um identificador que indica o tipo de modelo de preços de ARI que se aplica a essa atualização de preços. Isso só deve ser especificado, usando um valor de 26, ao usar o modelo de preços com base na LOS. A exclusão desse atributo indica que esta é uma atualização de preços por data.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates 0..1 Rates Contêiner para uma coleção de elementos <Rate>. Se NotifType for "Remove", esse elemento não poderá ser especificado. Caso contrário, esse elemento precisa ser especificado exatamente uma vez.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate 1 Rate Contêiner para uma coleção de elementos <BaseByGuestAmts>.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @RateTimeUnit 0..1 String A unidade pela qual a duração da estadia é especificada. O único valor aceito é "Day", o que significa que a duração da estadia será especificada em dias.

Para usar a precificação baseada na LOS, RateTimeUnit e UnitMultiplier precisam ser especificados. Caso contrário, nenhum deles precisa ser especificado.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @UnitMultiplier 0..1 Integer O número de RateTimeUnits que compõem a duração da estadia para essa tarifa.

Por exemplo, se o valor de RateTimeUnits for "Day", um UnitMultiplier de 5 indica que as tarifas especificadas nesse objeto Rate se aplicam a cada noite de uma estadia de cinco noites.

As taxas de ocupação especificadas neste objeto Rate serão multiplicadas pelo UnitMultiplier (duração da estadia) para chegar ao preço total da estadia.

Para usar a precificação baseada na LOS, é necessário especificar RateTimeUnit e UnitMultiplier. Caso contrário, nenhum deles precisa ser especificado.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts 1 BaseByGuestAmts Contêiner para uma coleção de cobranças básicas.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt 1..n BaseByGuestAmt Especifica os preços dos quartos em uma moeda específica. O preço pode ser por ocupação usando vários elementos <BaseByGuestAmt>, cada um com um valor diferente para NumberOfGuests. Caso contrário, o preço é aplicável a um número máximo de ocupantes definido por NumberOfGuests.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountBeforeTax 0..1 float

O preço diário da tarifa do quarto antes de tributos e taxas.

É possível especificar AmountBeforeTax e AmountAfterTax. Se AmountBeforeTax não for especificado, AmountAfterTax precisará ser especificado. Se AmountBeforeTax for especificado e AmountAfterTax não for, os impostos e as taxas precisarão ser especificados em uma mensagem <TaxFeeInfo>.

Se você estiver usando promoções, o desconto será aplicado a AmountBeforeTax. Os descontos por porcentagem também são aplicados a AmountAfterTax. Como isso não funciona com algumas estruturas fiscais, recomendamos especificar apenas AmountBeforeTax aqui e usar <TaxFeeInfo> para especificar tributos e taxas.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountAfterTax 0..1 float O preço diário da tarifa do quarto após a inclusão de tributos e taxas aplicáveis. Se AmountAfterTax for especificado, não será necessário enviar mensagens <TaxFeeInfo> separadas por propriedade. Esse atributo pode ser usado em combinação com AmountBeforeTax para fornecer as taxas básicas e totais que podem ser mostradas aos usuários em determinadas regiões.

Aviso:se você estiver usando promoções, é altamente recomendável não usar valores de AmountAfterTax. Se você quiser usar descontos, especifique impostos e taxas usando a mensagem <TaxFeeInfo>. Seus descontos serão aplicados aos valores de AmountBeforeTax.

Observação:se AmountBeforeTax não for especificado, AmountAfterTax precisará ser especificado.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @CurrencyCode 1 enum O código de caractere alfabético ISO 4217 (3) para uma unidade monetária específica.

Consulte a lista de moedas aceitas.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @NumberOfGuests 0..1 integer Número máximo de hóspedes que podem ser acomodados com essa tarifa. O padrão é 2 convidados se não for informado.

Se <AdditionalGuestAmounts> contém cobranças para crianças, NumberOfGuests se refere apenas a adultos. Se <AdditionalGuestAmounts> não estiver especificado ou não tiver cobranças para crianças, NumberOfGuests se refere ao número total de ocupantes, incluindo adultos e crianças.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts 0..1 AdditionalGuestAmounts Contêiner para uma coleção de cobranças de convidados adicionais.

Essa sintaxe é útil se as tarifas de convidados ou crianças adicionais mudarem com base na data. Use a mensagem ExtraGuestCharges mais eficiente se esses valores puderem ser definidos de forma estática no nível da propriedade.

Os valores adicionais de hóspedes são aplicados da seguinte maneira:
  • Eles são aplicados à taxa de ocupação básica. A taxa de ocupação base é a maior taxa de ocupação, especificada em <BaseByGuestAmts>, que é menor ou igual ao número de adultos em uma pesquisa do usuário.
  • Elas são aplicadas desde que a ocupação em uma pesquisa de usuário esteja dentro da capacidade da sala.
  • <AdditionalGuestAmounts> sempre substitui valores adicionais especificados anteriormente por novos quando o NotifType é Delta ou Overlay.
  • <AdditionalGuestAmounts> só pode ser enviado independentemente das taxas básicas quando NotifType for Delta. <BaseByGuestAmts>precisa ser especificado quando NotifType for Overlay.
  • Um elemento <AdditionalGuestAmounts> vazio com NotifType definido como Delta remove os valores adicionais atuais sem afetar as taxas básicas.
  • Elas são aplicadas usando a moeda especificada em <BaseByGuestAmt>.

Por exemplo, suponha que as tarifas básicas sejam especificadas para 1 e 2 adultos.

  • Se um usuário pesquisar três adultos, a tarifa de ocupação dupla será selecionada como a tarifa base, e uma quantidade adicional de hóspedes para um adulto será aplicada.
  • Se o usuário pesquisar um adulto e duas crianças, a tarifa de ocupação única será selecionada como a tarifa base, e valores adicionais serão aplicados a ela para as duas crianças.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount 0..n AdditionalGuestAmount Especifica os preços com base no tipo de hóspede, especificado por AgeQualifyingCode e, se aplicável, a idade do hóspede especificada por MaxAge.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @AgeQualifyingCode 1 enum Define o tipo de hóspede extra, adulto ou criança. As opções válidas são:
  • 10: Adulto.
  • 8: Criança.

AgeQualifyingCode pode ser definido como 10 para no máximo um elemento AdditionalGuestAmount.

MaxAge precisa ser especificado quando AgeQualifyingCode for 8.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @MaxAge 0..1 integer MaxAge precisa ser especificado quando AgeQualifyingCode for 8. Ele não precisa ser especificado quando AgeQualifyingCode é 10.

MaxAge precisa ser um número inteiro entre 0 e 17.

Especificar um valor de 0 desativa os ocupantes crianças.

Valores maiores que 17 serão tratados como o valor máximo aceito de 17.

Várias faixas de idade de crianças podem ser especificadas com elementos AdditionalGuestAmount separados. Os intervalos de idade precisam ser contíguos e não se sobrepor.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @Amount 1 float Valor antes de tributos e taxas adicionado à tarifa básica para cada hóspede extra.

Os tributos e as taxas que dependem da idade dos ocupantes precisam ser especificados pelo elemento <AgeBrackets> em uma mensagem <TaxFeeInfo>.

Exemplos

Esta seção oferece exemplos de código que destacam como:

Quando você define os valores add, overlay ou remove, os intervalos de datas podem ser iguais ou diferentes, dependendo das suas metas. Por exemplo, é possível usar overlay para definir apenas algumas semanas para as festas de dezembro em vez de todo o intervalo definido para a mensagem "Adicionar taxa". Isso vai substituir as taxas de ocupação apenas para esse período.

Preços por data

Para um determinado quarto e plano de tarifa, pode haver no máximo 50 tarifas de ocupação por propriedade. Se as tarifas forem iguais para todas as ocupações, basta enviar as ocupações máximas com o preço necessário. Ao fazer isso, o Google infere que as ocupações mais baixas também recebem a mesma taxa base.

Configurar tarifas básicas e totais

Exemplo 1

Tarifa básica (sem tributos ou taxas) para ocupação padrão (dupla). Nesse modelo, os tributos e as taxas da propriedade precisam ser definidos usando uma mensagem <TaxFeeInfo>. A taxa de base vai ser mais destacada para os usuários que pesquisam em determinadas regiões.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            CurrencyCode="USD"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Exemplo 2

Tarifa básica e total para ocupação padrão (dupla). Nesse modelo, tributos e taxas não precisam ser definidos separadamente usando mensagens <TaxFeeInfo>. A taxa de base vai ser mais proeminente para os usuários que pesquisam em determinadas regiões.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            AmountAfterTax="110.00"
                            CurrencyCode="USD"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Exemplo 3

Tarifa total (com tributos e taxas) para várias ocupações. Nesse modelo, tributos e taxas não podem ser definidos separadamente usando mensagens <TaxFeeInfo>.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountAfterTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
            <BaseByGuestAmt AmountAfterTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
            <BaseByGuestAmt AmountAfterTax="120.00"
                            CurrencyCode="USD"
                            NumberOfGuests="3"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Exemplo 4

Tarifa básica e total de vários tipos de quarto e planos de preços em diferentes períodos.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            AmountAfterTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-01"
                                End="2020-05-31"
                                InvTypeCode="RoomID_2"
                                RatePlanCode="PackageID_2"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="200.00"
                            AmountAfterTax="220.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
Adicionar, sobrepor e remover tarifas

Há um limite de 5.000 produtos (combinações de tipo de quarto e pacote) por propriedade. Use os tipos de notificação Overlay ou Remove para remover produtos definidos anteriormente.

Adicionar diárias

Defina NotifType como Delta para adicionar as tarifas por ocupação de RoomID_1 e PackageID_1 entre 2021-10-20 e 2021-12-31. O Google aceita até três anos de dados.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Delta"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
            <BaseByGuestAmt AmountBeforeTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
            <BaseByGuestAmt AmountBeforeTax="120.00"
                            CurrencyCode="USD"
                            NumberOfGuests="3"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Taxas de sobreposição

Defina NotifType como Overlay para excluir todas as tarifas por ocupação de RoomID_1 e PackageID_1 entre 2021-10-20 e 2021-12-31 e substituí-las pelas tarifas por ocupação recém-especificadas.

Por exemplo, se essa mensagem for enviada após a mensagem "Adicionar tarifas", as tarifas de ocupação 1, 2 e 3 serão excluídas, e apenas a tarifa de ocupação 1 será armazenada. Também é possível definir um período mais curto, como: 2021-12-20 e 2021-12-31) para substituir apenas algumas das taxas de ocupação em determinadas datas, como feriados.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Overlay"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="200.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Remover tarifas

Defina NotifType como Remove para excluir todas as tarifas por ocupação de RoomID_1 e PackageID_1 entre 2021-10-20 e 2021-12-31.

Por exemplo, se essa mensagem for enviada após uma das outras mensagens de exemplo, nenhuma taxa por ocupação será armazenada.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Remove"
                            NotifScopeType="ProductRate">>
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
Adicionar, sobrepor e remover valores de convidados adicionais

Adicionar valores

Defina NotifType como Delta para adicionar as taxas básicas para ocupação de 1 e 2 pessoas e outros valores de hóspedes para RoomID_1 e PackageID_1 entre 20/10/2021 e 31/12/2021.

Os valores adicionais de hóspedes serão aplicados em uma tarifa básica que será determinada pela ocupação em uma pesquisa do usuário. A ocupação especificada pelo usuário precisa estar dentro da capacidade do RoomID_1.

Neste exemplo, os valores adicionais de convidados serão aplicados da seguinte forma:

  • US$ 5 para crianças de 0 a 10 anos.
  • US$ 10 para crianças de 11 a 17 anos.
  • US$ 20 para adultos.
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Delta"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
            <BaseByGuestAmt AmountBeforeTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
          <AdditionalGuestAmounts>
            <AdditionalGuestAmount Amount="5.00" AgeQualifyingCode="8" MaxAge="10" />
            <AdditionalGuestAmount Amount="10.00" AgeQualifyingCode="8" MaxAge="17" />
            <AdditionalGuestAmount Amount="20.00" AgeQualifyingCode="10" />
          </AdditionalGuestAmounts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Valores de sobreposição

Defina NotifType como Overlay para excluir todas as tarifas por ocupação e todos os valores adicionais de hóspedes para RoomID_1 e PackageID_1 entre 2021-10-20 e 2021-12-31 e substitua-os pelas tarifas por ocupação e valores adicionais recém-especificados.

Por exemplo, se essa mensagem for enviada após a mensagem "Adicionar tarifas", as tarifas de ocupação básica 1 e 2 serão excluídas, e apenas a nova tarifa de ocupação básica 1 será armazenada. O conjunto anterior de valores de convidados adicionais seria excluído, e apenas o novo conjunto de valores seria armazenado. Outros convidados vão usar a nova tarifa de ocupação 1 como a tarifa base. Após essa atualização, não há cobranças adicionais de convidados definidas para crianças.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Overlay"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="200.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
          </BaseByGuestAmts>
          <AdditionalGuestAmounts>
            <AdditionalGuestAmount Amount="30.00" AgeQualifyingCode="10" />
          </AdditionalGuestAmounts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Remover valores

Defina NotifType como Delete para excluir todas as tarifas básicas por ocupação e todos os valores adicionais de hóspedes para RoomID_1 e PackageID_1 entre 2021-10-20 e 2021-12-31.

Por exemplo, se essa mensagem for enviada após uma das outras mensagens de exemplo, nenhuma tarifa básica por ocupação ou valores adicionais de hóspedes serão armazenados.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Remove"
                            NotifScopeType="ProductRate">>
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Remover apenas os valores de convidados adicionais

Defina NotifType como Delta com um elemento <AdditionalGuestAmounts> vazio para excluir todos os valores de hóspedes adicionais de RoomID_1 e PackageID_1 sem afetar as taxas básicas entre 2021-10-20 e 2021-12-31.

Por exemplo, se essa mensagem for enviada após uma das outras mensagens de exemplo, apenas os valores básicos serão armazenados.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Delta"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <AdditionalGuestAmounts/>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Preços com base na LOS

Configurar taxas com base na LOS

Exemplo 1

Definir tarifas para estadias de 1, 2 e 3 noites a partir de 18/05/2020. A tarifa total para estadias de 1, 2 e 3 noites neste exemplo seria de US $100, US$ 180 e US $240, respectivamente.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-18"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"
                                RatePlanType="26"/>
      <Rates>
        <Rate UnitMultiplier="1" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
        <Rate UnitMultiplier="2" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="90.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
        <Rate UnitMultiplier="3" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="80.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2" />
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
Adicionar, sobrepor e remover taxas baseadas em LOS

Adicionar duração da estadia

Com a precificação baseada em LOS, uma operação Delta permite que as tarifas sejam atualizadas de forma incremental para os períodos de check-in indicados em <StatusApplicationControl> e para todos os períodos de estadia indicados pelo UnitMultiplier de cada elemento filho Rate.

Para cada data de check-in e duração de estadia aplicável, todas as tarifas de ocupação precisam ser especificadas.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Delta"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-18"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"
                                RatePlanType="26"/>
      <Rates>
        <Rate UnitMultiplier="3" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="80.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Duração da estadia da sobreposição

Com a precificação baseada na LOS, uma operação Overlay substitui as tarifas de todas as durações de estadia do produto e o intervalo de datas de check-in indicado em <StatusApplicationControl>.

Com essa mensagem, as tarifas por ocupação de todas as durações de estadia nas datas de chegada especificadas serão removidas e substituídas por uma tarifa de ocupação dupla definida apenas para a duração de estadia 3.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Overlay"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-18"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"
                                RatePlanType="26"/>
      <Rates>
        <Rate UnitMultiplier="3" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="80.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Remover duração(s) da estadia

Com o preço baseado na LOS, uma operação Remove remove as tarifas para todos os períodos de permanência do produto e o período de check-in indicado em <StatusApplicationControl>.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Remove"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"
                                RatePlanType="26"/>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Respostas

Sintaxe

A mensagem OTA_HotelRateAmountNotifRS usa a seguinte sintaxe:

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
                            TimeStamp="timestamp"
                            EchoToken="echo_token"
                            Version="3.0">
  <!-- Either Success or Errors will be populated. -->
  <Success/>
  <Errors>
    <Error Type="12" Status="NotProcessed" ShortText="issue_code">issue_description</Error>
  </Errors>
</OTA_HotelRateAmountNotifRS>

Elementos e atributos

A mensagem OTA_HotelRateAmountNotifRS tem os seguintes elementos e atributos:

Elemento / @Attribute Ocorrências Tipo Descrição
OTA_HotelRateAmountNotifRS 1 Complex element O elemento raiz de uma resposta a uma mensagem de disponibilidade.
OTA_HotelRateAmountNotifRS / @TimeStamp 1 DateTime A data e a hora de criação da mensagem.
OTA_HotelRateAmountNotifRS / @EchoToken 1 string O identificador exclusivo da mensagem OTA_HotelRateAmountNotifRQ associada.
OTA_HotelRateAmountNotifRS / Success 0..1 Success Indica que a mensagem OTA_HotelRateAmountNotifRQ foi processada.

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

OTA_HotelRateAmountNotifRS / Errors 0..1 Errors Um contêiner para um ou mais problemas encontrados durante o processamento da mensagem OTA_HotelRateAmountNotifRQ.

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

OTA_HotelRateAmountNotifRS / Errors / Error 1..n Error A descrição de um erro encontrado ao processar a mensagem OTA_HotelRateAmountNotifRQ. Confira mais detalhes sobre esses erros em Mensagens de erro de status do feed.
OTA_HotelRateAmountNotifRS / Errors / Error / @Type 1 integer O EWT (tipo de aviso de erro) da OpenTravel Alliance associado ao erro. Somente o valor 12 (Processing exception) é usado.
OTA_HotelRateAmountNotifRS / Errors / Error / @Code 1 integer O ERR (código de erro) da OpenTravel Alliance associado ao erro. Somente o valor 450 (Unable to process) é usado.
OTA_HotelRateAmountNotifRS / Errors / Error / @Code 1 enum O status da solicitação original. Somente o valor NotProcessed é usado.
OTA_HotelRateAmountNotifRS / Errors / Error / @ShortText 1 string O identificador do Google para o problema. Confira os detalhes desses erros em Mensagens de erro de status do feed.

Exemplos

Sucesso

Confira a seguir uma resposta para uma mensagem OTA_HotelRateAmountNotifRQ processada.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
                       EchoToken="12345678"
                       TimeStamp="2021-10-20T20:50:37-05:00"
                       Version="3.0">
  <Success/>
</OTA_HotelRateAmountNotifRS>

Erros

A seguir, há uma resposta a uma mensagem OTA_HotelRateAmountNotifRQ que não foi processada devido a erros.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
                       EchoToken="12345678"
                       TimeStamp="2021-10-20T20:50:37-05:00"
                       Version="3.0">
  <Errors>
    <Error Type="12" Code="450" Status="NotProcessed" ShortText="8001">Example</Error>
  </Errors>
</OTA_HotelRateAmountNotifRS>