Pedidos
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 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 que será aplicada a cada
Os valores válidos são: Para entender como esses atributos funcionam, confira estes 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 do parceiro para esta mensagem, geralmente usado se o back-end fornecer feeds de preço para várias contas de parceiros. |
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 do 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 de configurações da conta na Central para Hotéis.
Observação:se você tem um back-end que fornece feeds para várias
contas, esse valor precisa corresponder ao valor do atributo |
OTA_HotelRateAmountNotifRQ / RateAmountMessages | 1 | RateAmountMessages | Um conjunto de elementos <RateAmountMessage> que definem as taxas. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / @HotelCode | 1 | string | 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 aparece na Central para Hotéis. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage | 1..n | RateAmountMessage | Um contêiner para definir preços de uma tarifa de quarto (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, assim 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 do período (com base no fuso horário da propriedade). |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @End | 1 | Date | A data de término do período (com base no fuso horário da propriedade). Precisa ser igual ou maior que o valor de start .
Se start e end forem iguais, a atualização vai 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 as segundas-feiras.
Se definido como |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Tue | 0..1 | boolean | Defina como true ou 1 para incluir explicitamente as 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 as quintas-feiras.
Se definido como |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Fri | 0..1 | boolean | Defina como true ou 1 para incluir explicitamente as sextas-feiras.
Se definido como |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sat | 0..1 | boolean | Defina como true ou 1 para incluir explicitamente os sábados.
Se definido como |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sun | 0..1 | boolean | Defina como true ou 1 para 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 tarifa. Esse identificador é mapeado para <PackageID> em uma mensagem de transação (dados da propriedade). O plano de tarifa é 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 ARI que
se aplica a esta atualização de preço. Isso só deve ser especificado com um valor de 26 ao usar o modelo de preços com base em LOS. A exclusão
desse atributo indica que a atualização é de preço
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 o tempo de permanência é especificado. O único valor aceito é "Day" , o que significa que a duração da estadia será especificada em dias.
Para usar preços com base em LOS, é preciso especificar |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @UnitMultiplier | 0..1 | Integer | O número de RateTimeUnits que compõem a duração da
estadia dessa taxa.
Por exemplo, se o valor de As taxas de ocupação especificadas neste objeto Para usar preços com base em LOS, é preciso 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 especificada. O preço pode ser por ocupação usando vários elementos <BaseByGuestAmt> , cada um com um valor diferente de NumberOfGuests .
Caso contrário, o preço será 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 diária sem tributos e taxas. Tanto 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 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 com AmountBeforeTax
para fornecer as tarifas básicas e o total que podem ser mostrados aos usuários em
determinadas regiões.
Aviso:se você estiver usando promoções, não é recomendável usar valores de Observação:se |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @CurrencyCode | 1 | enum | O código de caracteres 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 por essa tarifa.
O padrão será de dois 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 para convidados adicionais.
Essa sintaxe é útil se as tarifas adicionais para hóspedes ou crianças mudarem com base na data. Considere usar 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 | Define os preços com base no tipo de hóspede, especificado por AgeQualifyingCode e, se aplicável, na 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 é 8 . Ele não pode ser
especificado quando AgeQualifyingCode for 10 .
Várias faixas etárias infantis podem ser especificadas por meio de elementos
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @Amount | 1 | float | Valor antes dos tributos e taxas adicionados à tarifa básica para cada hóspede adicional.
Os tributos e as tarifas que dependem da idade dos ocupantes precisam ser especificados
usando o elemento |
Exemplos
Esta seção fornece exemplos de código que destacam como:
- Configurar tarifas básicas e totais
- Adicionar, sobrepor e remover tarifas
- Adicionar, sobrepor e remover outras quantidades de convidados
- Configurar tarifas com base na estadia
- Adicionar, sobrepor e remover taxas com base na LOS
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 os feriados de dezembro, em vez de todo o período definido para a mensagem "Adicionar taxa". Isso vai substituir as taxas de ocupação
apenas para este período.
Preços por data
Configurar tarifas básicas e totais
Exemplo 1
Tarifa básica (sem tributos ou taxas) para a ocupação padrão (duplo). Nesse modelo, os tributos e taxas da propriedade precisam ser definidos usando uma mensagem <TaxFeeInfo>
. A taxa básica terá mais destaque para os usuários que pesquisarem de 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
Taxa básica e total para ocupação padrão (duplo). Nesse modelo, os tributos
e as taxas não devem ser definidos separadamente usando mensagens
<TaxFeeInfo>
. A taxa básica terá mais destaque 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
Taxa total (com tributos e taxas) para várias ocupações. Nesse modelo,
os tributos e as taxas não devem 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 tarifa 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
Adicionar diárias
Defina NotifType
como Delta
para adicionar as tarifas por ocupação para
RoomID_1 e PackageID_1 entre 20/10/2021 e 31/12/2021. 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 para RoomID_1 e PackageID_1 entre 20/10/2021 e 31/12/2021 e substituí-las pelas novas tarifas por ocupação especificadas.
Por exemplo, se esta mensagem for 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. Também é possível definir um período mais curto (por exemplo: 20-12-2021 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 para RoomID_1 e PackageID_1 entre 20/10/2021 e 31/12/2021.
Por exemplo, se esta mensagem for 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 outras quantidades de convidados
Adicionar valores
Defina NotifType
como Delta
para adicionar tarifas básicas para a
ocupação 1 e 2 e outras quantidades 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 sobre uma tarifa básica que será determinada pela ocupação em uma pesquisa de usuário. A ocupação especificada pelo usuário precisa estar dentro da capacidade de RoomID_1.
Neste exemplo, valores adicionais para convidados serão aplicados como:
- US$ 5 para crianças na faixa etária de 0 a 10 anos (inclusive).
- US$ 10 para crianças na faixa etária 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 outros valores de hóspedes para RoomID_1 e PackageID_1
entre 20/10/2021 e 31/12/2021 e substituí-los pelas novas
tarifas por ocupação e outros valores.
Por exemplo, se esta mensagem for enviada depois da 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 adicionais de convidado seria excluído, e apenas o novo conjunto de valores seria armazenado. Valores adicionais de hóspedes passariam a usar a nova tarifa de ocupação 1 como tarifa básica. Após essa atualização, não haverá cobranças extras para hóspedes 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 outros valores de hóspedes para RoomID_1 e PackageID_1 entre 20/10/2021 e 31/12/2021.
Por exemplo, se esta mensagem for enviada depois de uma das outras mensagens de exemplo, nenhuma taxa básica por ocupação ou valores de hóspedes adicionais 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 a quantidade extra de hóspedes
Defina NotifType
como Delta
com um elemento
<AdditionalGuestAmounts>
vazio para excluir todos os
outros 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 a mensagem for enviada depois de uma das outras mensagens de exemplo, apenas os valores base 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 estadia
Configurar tarifas com base na estadia
Exemplo 1
Defina as diárias para uma, duas e três noites a partir de 18/05/2020. A tarifa total para estadias de uma, duas e três noites nesse 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 LOS
Adicionar duração da estadia
Com os preços baseados 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 todas as durações de estadia indicadas pelo UnitMultiplier
de cada elemento filho de Rate
.
Todas as tarifas de ocupação precisam ser especificadas para cada data de check-in e duração da estadia aplicáveis.
<?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ção da estadia
Com os preços baseados em LOS, uma operação Overlay
substitui as taxas de todas as durações de estadia do produto e o período de check-in indicado em <StatusApplicationControl>
.
Com esta mensagem, as tarifas por ocupação para 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 da estadia de 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 da estadia
Com os preços baseados em LOS, uma operação Remove
remove as tarifas para todas as durações de estadia 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 com sucesso.
Todas as mensagens incluem |
OTA_HotelRateAmountNotifRS / Errors | 0..1 | Errors | Um contêiner para um ou mais problemas encontrados ao processar a mensagem OTA_HotelRateAmountNotifRQ .
Todas as mensagens incluem |
OTA_HotelRateAmountNotifRS / Errors / Error | 1..n | Error | A descrição de um erro encontrado ao processar a
mensagem OTA_HotelRateAmountNotifRQ . Para saber mais detalhes sobre esses erros, consulte 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. Apenas o valor 12 (Processing exception) é usado. |
OTA_HotelRateAmountNotifRS / Errors / Error / @Code | 1 | integer | O ERR (código do erro) da OpenTravel Alliance associado ao erro.
Apenas 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. Para saber mais detalhes sobre esses erros, consulte Mensagens de erro de status do feed. |
Exemplos
Concluído
Veja a seguir uma resposta a 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
Veja a seguir uma resposta a uma mensagem OTA_HotelRateAmountNotifRQ não 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>