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
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 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 |
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 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Tue | 0..1 | boolean | Defina como true ou 1 para incluir explicitamente
terças-feiras.
Se definido como |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Weds | 0..1 | boolean | Defina como true ou 1 para incluir explicitamente as quartas-feiras.
Se definido como |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Thur | 0..1 | boolean | Defina como true ou 1 para incluir explicitamente
quintas-feiras.
Se definido como |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Fri | 0..1 | boolean | Defina como true ou 1 para incluir explicitamente
sextas-feiras.
Se definido como |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sat | 0..1 | boolean | Defina como true ou 1 para incluir explicitamente
sábados.
Se definido como |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sun | 0..1 | boolean | Defina como true ou 1 para incluir explicitamente
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 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,
|
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 As taxas de ocupação especificadas neste objeto Para usar a precificação baseada na LOS,
é necessário especificar |
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 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 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 Observação:se |
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 |
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
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 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:
|
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 .
Especificar um valor de Valores maiores que Várias faixas de idade de crianças podem ser especificadas com 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 as taxas que dependem da idade dos ocupantes precisam ser especificados pelo
elemento |
Exemplos
Esta seção oferece exemplos de código que destacam como:
- Configurar taxas básicas e totais
- Adicionar, sobrepor e remover taxas
- Adicionar, sobrepor e remover quantidades de convidados
- Configurar taxas com base na LOS
- Adicionar, sobrepor e remover taxas com base na LOS
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.
|
OTA_HotelRateAmountNotifRS / Errors | 0..1 | Errors | Um contêiner para um ou mais problemas encontrados durante o processamento da
mensagem OTA_HotelRateAmountNotifRQ .
|
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>