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 XML. | 
| OTA_HotelRateAmountNotifRQ / @EchoToken | 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,_ (underscore)e- (dash). | 
| OTA_HotelRateAmountNotifRQ / @TimeStamp | 1 | DateTime | A data e a hora de criação desta mensagem. | 
| OTA_HotelRateAmountNotifRQ / @Version | 1 | decimal | A versão da mensagem OpenTravel. | 
| OTA_HotelRateAmountNotifRQ / @NotifType | 0..1 | enum | O tipo de notificação a ser aplicado a cada
         Os valores válidos são: Para entender como esses atributos funcionam, confira os exemplos. 
 | 
| OTA_HotelRateAmountNotifRQ / @NotifScopeType | 0..1 | enum | O escopo do  Os valores válidos são: 
 | 
| OTA_HotelRateAmountNotifRQ / POS | 0..1 | POS | Um contêiner para especificar a conta de parceiro desta mensagem (normalmente usado se o back-end fornecer feeds de preços para várias contas de parceiro). | 
| OTA_HotelRateAmountNotifRQ / POS / Source | 1 | Source | Obrigatório se <POS>estiver presente. Um contêiner para o<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 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  | 
| 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> do 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, bem como 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), inclusive, do período. | 
| OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @End | 1 | Date | A data de término (com base no fuso horário da propriedade), inclusive, do período. Precisa ser igual ou maior que o valor de start.
        Sestarteendforem iguais, a atualização será aplicada
        a essa data. O Google oferece suporte a até três anos de dados. | 
| OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Mon | 0..1 | boolean | Defina como trueou1para incluir explicitamente
        as segundas-feiras.Se definido como  | 
| OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Tue | 0..1 | boolean | Defina como trueou1para incluir explicitamente
        as terças-feiras.Se definido como  | 
| OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Weds | 0..1 | boolean | Defina como trueou1para incluir explicitamente
        as quartas-feiras.Se definido como  | 
| OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Thur | 0..1 | boolean | Defina como trueou1para incluir explicitamente
        as quintas-feiras.Se definido como  | 
| OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Fri | 0..1 | boolean | Defina como trueou1para incluir explicitamente
        as sextas-feiras.Se definido como  | 
| OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sat | 0..1 | boolean | Defina como trueou1para incluir explicitamente os sábados.Se definido como  | 
| OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sun | 0..1 | boolean | Defina como trueou1para incluir explicitamente
         os domingos.Se definido como  | 
| 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 taxas é definido e referenciado 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 da ARI que se aplica a esta atualização de preços. Isso só deve ser especificado usando um valor de 26ao usar o modelo de preços com base na duração da estadia. 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>. SeNotifTypefor"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 o período de permanência será especificado em dias.Para usar a preços com base na duração da estadia,
         | 
| OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @UnitMultiplier | 0..1 | Integer | O número de RateTimeUnitsque compõem a duração da estadia para essa tarifa.Por exemplo, se o valor de  As taxas de ocupação especificadas neste objeto  Para usar a preços com base na duração da estadia,
       | 
| 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>com um valor diferente paraNumberOfGuests.
        Caso contrário, o preço será válido para um número máximo de ocupantes definido porNumberOfGuests. | 
| 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  Se você estiver usando promoções, o desconto será aplicado a  | 
| OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountAfterTax | 0..1 | float | O preço diário da diária após incluir tributos e taxas aplicáveis. Se AmountAfterTaxfor especificado, não será necessário enviar mensagens<TaxFeeInfo>separadas por propriedade. Esse
        atributo pode ser usado em combinação comAmountBeforeTaxpara fornecer taxas básicas e totais que podem ser mostradas aos usuários em
        determinadas regiões.Aviso:se você estiver usando promoções, recomendamos não usar valores de  Observação:se  | 
| OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @CurrencyCode | 1 | enum | O código de caractere alfa 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 por essa tarifa.
        O padrão é 2 hóspedes se não for informado.  Se  | 
| OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts | 0..1 | AdditionalGuestAmounts | Contêiner para uma coleção de cobranças de hóspedes extras. Essa sintaxe é útil se as tarifas adicionais para hóspedes ou crianças mudarem com base na data. Considere usar a mensagem mais eficiente
           
 Por exemplo, suponha que as tarifas básicas sejam especificadas para 1 e 2 adultos. 
 | 
| OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount | 0..n | AdditionalGuestAmount | Especifica preços com base no tipo de hóspede, especificado por AgeQualifyingCodee, se aplicável, a idade do hóspede
        especificada porMaxAge. | 
| 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: 
 
 
 | 
| OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @MaxAge | 0..1 | integer | MaxAgeprecisa ser especificado quandoAgeQualifyingCodeé8. Não pode ser especificado quandoAgeQualifyingCodeé10.
 Especificar um valor de  Valores maiores que  É possível especificar várias faixas etárias de crianças usando elementos  | 
| 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 taxas que dependem da idade dos ocupantes precisam ser especificados pelo elemento  | 
Exemplos
Esta seção fornece exemplos de código que destacam como:
- Configurar as taxas base e totais
- Adicionar, sobrepor e remover taxas
- Adicionar, sobrepor e remover valores de convidados extras
- Configurar tarifas com base na duração da estadia
- Adicionar, sobrepor e remover taxas com base na duração da estadia
Ao definir os valores add, overlay ou remove, os períodos podem ser iguais ou diferentes, dependendo das suas metas. Por exemplo, é possível usar overlay para definir apenas algumas semanas para as festas de fim de ano em vez de todo o período definido para a mensagem "Taxa de adição". 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 taxas de ocupação por propriedade. Se as tarifas forem iguais para todas as ocupações, envie apenas as ocupações máximas com o preço necessário. Ao fazer isso, o Google deduz que as ocupações menores também recebem a mesma tarifa básica.
Configurar tarifas base e totais
Exemplo 1
Tarifa básica (sem tributos ou taxas) para ocupação padrão (dupla). Nesse modelo, os tributos e taxas da propriedade precisam ser definidos usando uma mensagem <TaxFeeInfo>. A taxa básica vai aparecer mais para 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 podem ser definidos separadamente usando mensagens <TaxFeeInfo>. A taxa básica vai aparecer com mais destaque para 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
Preço total (com tributos e taxas) para várias ocupações. Nesse modelo, os tributos e as 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 para 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 taxas
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 tarifas por ocupação para
      RoomID_1 e PackageID_1 entre 20/10/2021 e 31/12/2021. O Google oferece suporte a 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 substitua-as pelas tarifas por ocupação recém-especificadas.
Por exemplo, se essa mensagem foi enviada depois da mensagem "Adicionar tarifas", as tarifas de ocupação 1, 2 e 3 serão excluídas, e apenas a nova tarifa de ocupação 1 será armazenada. Você também pode definir um período menor (por exemplo, 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 taxas
Defina NotifType como Remove para excluir todas as taxas por ocupação de RoomID_1 e PackageID_1 entre 20/10/2021 e 31/12/2021.
Por exemplo, se essa mensagem foi enviada depois de 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 extras
Adicionar valores
Defina NotifType como Delta para adicionar tarifas básicas para ocupação de 1 e 2 pessoas e valores adicionais de hóspedes para RoomID_1 e PackageID_1 entre 20/10/2021 e 31/12/2021.
Valores adicionais de hóspedes serão aplicados além de 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 de RoomID_1.
Neste exemplo, os valores extras para hóspedes serão aplicados da seguinte forma:
- US$ 5 para crianças de 0 a 10 anos (inclusive).
- US$ 10 para crianças de 11 a 17 anos (inclusive).
- 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 20/10/2021 e 31/12/2021 e substitua-os pelas tarifas por ocupação e valores adicionais recém-especificados.
Por exemplo, se essa mensagem foi enviada depois da mensagem "Adicionar tarifas", as tarifas de ocupação base 1 e 2 serão excluídas, e apenas a nova tarifa de ocupação base 1 será armazenada. O conjunto anterior de valores de hóspedes adicionais seria excluído, e apenas o novo conjunto de valores seria armazenado. Os valores adicionais de hóspedes agora usariam a nova tarifa de ocupação 1 como a tarifa básica. Após essa atualização, não haverá cobranças adicionais 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 foi enviada depois de 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 extras
Defina NotifType como Delta com um elemento <AdditionalGuestAmounts> vazio para excluir todos os valores adicionais de hóspedes para RoomID_1 e PackageID_1 sem afetar as tarifas básicas entre 20/10/2021 e 31/12/2021.
Por exemplo, se essa mensagem foi enviada depois de qualquer uma das outras mensagens de exemplo, apenas os valores básicos seriam 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 estadia
Configurar tarifas com base na duração da estadia
Exemplo 1
Defina as taxas para estadias de 1, 2 e 3 noites a partir de 18/05/2020. A taxa 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 com base na duração da estadia
Adicionar durações da estadia
Com a precificação baseada na duração da estadia, uma operação Delta permite que as tarifas sejam atualizadas de forma incremental para os períodos de datas de check-in indicados em <StatusApplicationControl> e para todas as durações da estadia indicadas pelo UnitMultiplier de cada elemento filho Rate.
Para cada data de check-in e duração da estadia aplicáveis, todas as taxas 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>Sobrepor durações de estadia
Com a precificação baseada em 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 taxas por ocupação para todas as durações de estadia nas datas de chegada especificadas serão removidas e substituídas por uma taxa de ocupação dupla definida apenas para 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ções da estadia
Com os preços baseados na duração da estadia, uma operação Remove remove as tarifas
    para todas as durações da estadia do produto e o período de datas 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 desta mensagem. | 
| OTA_HotelRateAmountNotifRS / @EchoToken | 1 | string | O identificador exclusivo da mensagem OTA_HotelRateAmountNotifRQassociada. | 
| OTA_HotelRateAmountNotifRS / Success | 0..1 | Success | Indica que a mensagem OTA_HotelRateAmountNotifRQfoi
        processada com sucesso.
 | 
| OTA_HotelRateAmountNotifRS / Errors | 0..1 | Errors | Um contêiner para um ou mais problemas encontrados ao processar a
        mensagem OTA_HotelRateAmountNotifRQ.
 | 
| OTA_HotelRateAmountNotifRS / Errors / Error | 1..n | Error | A descrição de um erro encontrado ao processar a mensagem OTA_HotelRateAmountNotifRQ. Confira detalhes sobre esses erros em Mensagens de erro de status do feed. | 
| OTA_HotelRateAmountNotifRS / Errors / Error / @Type | 1 | integer | O EWT (tipo de erro/aviso) 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 mais detalhes em Mensagens de erro de status do feed. | 
Exemplos
Sucesso
Confira a seguir uma resposta a uma mensagem OTA_HotelRateAmountNotifRQ processada com sucesso.
<?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>