Solicitações
Sintaxe
A mensagem OTA_HotelRateAmountNotifRQ usa a seguinte sintaxe:
<?xml version="1.0" encodin>g<="UTF-8"?
OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
EchoToken="message_ID"
TimeStamp="timestamp"
Version="3.0"
NotifType="[Overlay|Delta|Re>mov<e]&>quot;<
> < NotifScopeTyp>e=&qu<ot;[Pro>duc<tRat>e]&<quot;
POS
Source
Requestor>ID ID<="partner_ke>y"</
/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>="<boole>an_value&<quot>;
< > InvTy<peCode="RoomID"
RatePlanCode="PackageID"
RatePlanType="[26]" /
Rates
Rate
Bas>eByGuestAmt<s
Ba>seByGuestAm<t AmountBeforeTax=&quo>t;float"<
AmountAfterTax="float"
CurrencyCode="currency"
> NumberOfGu<ests="integer">;/
< <>/span>/BaseByG<uestAm>ts
< Add>itionalGue<stAmounts
> < AdditionalGuestAmount Amo>unt="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 do parceiro para esta 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 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, 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.
Se start e end forem 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 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 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 26 ao 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>. 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 preços com base na duração da estadia,
|
| OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @UnitMultiplier | 0..1 | Integer | O número de RateTimeUnits que compõem a duração da estadia para esta 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>, cada um com um valor diferente para NumberOfGuests.
Caso contrário, o preço será válido para 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 diária após incluir 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 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 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 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
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 adicional, 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. Não pode ser especificado quando AgeQualifyingCode é 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 taxas básicas 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 infere que as ocupações menores também recebem a mesma taxa 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 as taxas da propriedade precisam ser definidos usando uma mensagem <TaxFeeInfo>. A taxa básica vai aparecer com mais destaque para usuários que pesquisam em determinadas regiões.
<?xml version="1.0" encodin>g<="UTF-8"?
OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
EchoToken="12345678"
TimeStamp="2020-05-19T20:50:37-05:>00&<quot;
Version>=&quo<t;3.0"
Rat>eAmount<Messages HotelCode="Property_1"
RateAmountMessage
StatusApplicationControl Start="2020-05-18"
End="2020-05-23"
> < InvT>ypeCode=&<quot>;RoomID_1&q<uot;
> < RatePlanCode="PackageID_1"/
Rates
Rate
BaseB>yGuestAmts
< Base>ByGuestAm<t Amo>untBefo<reTax=>"<;100.00"
> < > < CurrencyCode="USD&quo>t;/
/BaseByGuestAmts
/Rate
/Rates
/RateAmountMessage
/RateAmountMessages
/OTA_HotelRateAmountNotifRQExemplo 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" encodin>g<="UTF-8"?
OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
EchoToken="12345678"
TimeStamp="2020-05-19T20:50:37-05:>00&<quot;
Version>=&quo<t;3.0"
Rat>eAmount<Messages HotelCode="Property_1"
RateAmountMessage
StatusApplicationControl Start="2020-05-18"
End="2020-05-23"
> < InvT>ypeCode=&<quot>;RoomID_1&q<uot;
> < RatePlanCode="PackageID_1"/
Rates
Rate
BaseByGuestAmts
BaseByGuestAmt AmountBeforeTa>x="100<.00"
> < > < Amoun>tAfte<rTax="110.00&>quo<t;
> < CurrencyCode=&qu>ot;USD"/
/BaseByGuestAmts
/Rate
/Rates
/RateAmountMessage
/RateAmountMessages
/OTA_HotelRateAmountNotifRQExemplo 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" encodin>g<="UTF-8"?
OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
EchoToken="12345678"
TimeStamp="2020-05-19T20:50:37-05:>00&<quot;
Version>=&quo<t;3.0"
Rat>eAmount<Messages HotelCode="Property_1"
RateAmountMessage
StatusApplicationControl Start="2020-05-18"
End="2020-05-23"
> < InvT>ypeCode=&<quot>;RoomID_1&q<uot;
> < RatePlanCode="PackageID_1"/
Rates
Rate
BaseByGuestAmts
BaseByGuestAmt AmountAf>terTax="<100.00"
CurrencyCode="USD"
NumberOfGuests="1"/
> BaseBy<GuestAmt AmountAfterTax="110.00"
CurrencyCode="USD"
Numbe>rOfGuests=&<quot;2"/
> < Base>ByGuest<Amt Am>ountA<fterTax="120.>00&<quot;
> < CurrencyCode=>"USD"
NumberOfGuests="3"/
/BaseByGuestAmts
/Rate
/Rates
/RateAmountMessage
/RateAmountMessages
/OTA_HotelRateAmountNotifRQExemplo 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" encodin>g<="UTF-8"?
OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
EchoToken="12345678"
TimeStamp="2020-05-19T20:50:37-05:>00&<quot;
Version>=&quo<t;3.0"
Rat>eAmount<Messages HotelCode="Property_1"
RateAmountMessage
StatusApplicationControl Start="2020-05-18"
End="2020-05-23"
> < InvT>ypeCode=&<quot>;RoomID_1&q<uot;
> < RatePlanCode="PackageID_1"/
Rates
Rate
BaseByGuestAmts
BaseByGuestAmt AmountBeforeTax="100.00"
> AmountAft<erTax="110.>00"
< > < > < CurrencyCode=>"<;USD"
> < NumberOfGuests="2"/
/BaseByGuestAmts
/Rate
/Rates
/RateAmountMessage
RateAmountMessage
StatusApplicationControl Start="2020-05-01"
> < > < > End=&qu<ot;2020-05-31&q>uot;
< InvTypeCode="RoomID_2"
RatePlanCode="PackageID_2"/
Rates
Rate
BaseByGuestAmts
> BaseByG<uestAmt AmountBe>foreTax=&<quot;>200.00&<quot;
> < > < AmountAfterTax=&q>u<ot;220.00"
> CurrencyCode="USD"
NumberOfGuests="2"/
/BaseByGuestAmts
/Rate
/Rates
/RateAmountMessage
/RateAmountMessages
/OTA_HotelRateAmountNotifRQAdicionar, 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 taxas 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" encodin>g<="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=&quo>t;D<elta"
No>tifSc<opeType="Pro>ductRat<e"
RateAmountMessages HotelCode="Property_1"
RateAmountMessage
StatusApplicationControl Start="2021-10-20"
End="2021-12-31"
> < > < > InvTypeC<ode="RoomI>D_1"
< RatePlanCode="PackageID_1"/
Rates
Rate
BaseByGuestAmts
Base>ByGuestAmt Am<ountBeforeTax="100.00"
CurrencyCode="USD"
NumberOfGuests=&>quot;1"/<
BaseByGuestAmt AmountBeforeTax="110.00"
CurrencyCode="USD"
> < NumberOfGuest>s="2<">;/
< > Bas<eByGuestAmt Amount>Bef<oreTax="120.00>&<quot;
> CurrencyCode="USD"
NumberOfGuests="3"/
/BaseByGuestAmts
/Rate
/Rates
/RateAmountMessage
/RateAmountMessages
/OTA_HotelRateAmountNotifRQTaxas de sobreposição
Defina NotifType como Overlay para excluir todas as tarifas por ocupação de RoomID_1 e PackageID_1 entre 20/10/2021 e 31/12/2021 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" encodin>g<="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=">Ove<rlay"
No>tifSc<opeType="Pro>ductRat<e"
RateAmountMessages HotelCode="Property_1"
RateAmountMessage
StatusApplicationControl Start="2021-10-20"
End="2021-12-31"
> < > < > InvTypeC<ode="RoomI>D_1"
< RatePlanCode="PackageID_1"/
Rates
Rate
BaseByGuestAmts
Base>ByGuestAmt <AmountBeforeTax=>"200<.00&q>uot;
< > < Cur>ren<cyCode="USD&qu>o<t;
> NumberOfGuests="1"/
/BaseByGuestAmts
/Rate
/Rates
/RateAmountMessage
/RateAmountMessages
/OTA_HotelRateAmountNotifRQRemover 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" encodin>g<="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=">>;Re<move"
No>tifSc<opeType="Pro>ductRat<e"
RateAmountMessages HotelCode="Property_1"
RateAmountMessage
StatusApplicationControl Start="2021-10-20"
End="2021-12-31"
> < > < InvTypeCode=">;<RoomID_1"
> RatePlanCode="PackageID_1"/
/RateAmountMessage
/RateAmountMessages
/OTA_HotelRateAmountNotifRQAdicionar, sobrepor e remover valores de convidados extras
Adicionar valores
Defina NotifType como Delta para adicionar tarifas base 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 a 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 adicionais de 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.
- US$ 20 para adultos.
<?xml version="1.0" encodin>g<="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=&quo>t;D<elta"
No>tifSc<opeType="Pro>ductRat<e"
RateAmountMessages HotelCode="Property_1"
RateAmountMessage
StatusApplicationControl Start="2021-10-20"
End="2021-12-31"
> < > < > InvTypeC<ode="RoomI>D_1"
< RatePlanCode="PackageID_1"/
Rates
Rate
BaseByGuestAmts
Base>ByGuestAmt Am<ountBeforeTax="100.00"
CurrencyCode="USD"
NumberOfGuests=&>quot;1"<;/
B>aseByGuestA<mt AmountBeforeTax=&qu>ot;110.00&quo<t;
CurrencyCode="USD"
> < NumberOfGuests="2"/
/BaseByGuestAmts
A>dditionalGues<tAmounts
AdditionalGuestAmount Amount="5.00&>quot; AgeQu<alifyingCode="8&qu>ot; MaxAg<e=&qu>ot;10&q<uot; />
< Additional>Gue<stAmount Amount=&qu>o<t;10.00" AgeQualifying>Code="8" MaxAge="17" /
AdditionalGuestAmount Amount="20.00" AgeQualifyingCode="10" /
/AdditionalGuestAmounts
/Rate
/Rates
/RateAmountMessage
/RateAmountMessages
/OTA_HotelRateAmountNotifRQValores 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 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 de hóspedes adicionais 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" encodin>g<="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=">Ove<rlay"
No>tifSc<opeType="Pro>ductRat<e"
RateAmountMessages HotelCode="Property_1"
RateAmountMessage
StatusApplicationControl Start="2021-10-20"
End="2021-12-31"
> < > < > InvTypeC<ode="RoomI>D_1"
< RatePlanCode="PackageID_1"/
Rates
Rate
BaseByGuestAmts
Base>ByGuestAmt <AmountBeforeTax=>"200.0<0"
> < CurrencyCode="USD"
Num>berOfGuests<="1"/
> /BaseB<yGues>tAmts
< > Ad<ditionalGuestAmoun>ts
< Additio>n<alGuestAmount Amount=">30.00" AgeQualifyingCode="10" /
/AdditionalGuestAmounts
/Rate
/Rates
/RateAmountMessage
/RateAmountMessages
/OTA_HotelRateAmountNotifRQRemover 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 20/10/2021 e 31/12/2021.
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" encodin>g<="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=">>;Re<move"
No>tifSc<opeType="Pro>ductRat<e"
RateAmountMessages HotelCode="Property_1"
RateAmountMessage
StatusApplicationControl Start="2021-10-20"
End="2021-12-31"
> < > < InvTypeCode=">;<RoomID_1"
> RatePlanCode="PackageID_1"/
/RateAmountMessage
/RateAmountMessages
/OTA_HotelRateAmountNotifRQRemover 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" encodin>g<="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=&quo>t;D<elta"
No>tifSc<opeType="Pro>ductRat<e"
RateAmountMessages HotelCode="Property_1"
RateAmountMessage
StatusApplicationControl Start="2021-10-20"
End="2021-12-31"
> < > < > InvTypeC<ode="RoomID_1">;
< > < > < RatePlanCode=&qu>ot;<PackageID_1"/
> < Rates
Rate
> AdditionalGuestAmounts/
/Rate
/Rates
/RateAmountMessage
/RateAmountMessages
/OTA_HotelRateAmountNotifRQPreç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" encodin>g<="UTF-8"?
OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
EchoToken="12345678"
TimeStamp="2020-05-19T20:50:37-05:>00&<quot;
Version>=&quo<t;3.0"
Rat>eAmount<Messages HotelCode="Property_1"
RateAmountMessage
StatusApplicationControl Start="2020-05-18"
End="2020-05-18"
InvTypeCode="RoomID_1"
> < > < RatePlanCode="PackageID_1"
> < > RatePlanTy<pe="26"/
Rates
Rate UnitMultiplier="1" RateTimeUnit="Day"
BaseByGuestAmts
> BaseB<yGuestAmt Amount>BeforeTax<=&quo>t;100.00&<quot;
Currency>Code="<USD"
> < NumberOfGuests="2"/
/BaseByGuestAmts
/Rate
Rate UnitMultiplier="2" RateTimeUn>it="Da<y"
> BaseByG<uestA>mts
< BaseByGuestAmt AmountBeforeTax=&quo>t;90.00&quo<t;
> < CurrencyCode="USD"
NumberOfGuests="2"/
/BaseByGuestAmts
/Rate
> Rate U<nitMultiplier=&q>uot;3&quo<t; Ra>teTimeU<nit=&q>uot;D<ay"
> Ba<seByGuestAmts
> < BaseByGuestAmt Amount>BeforeTax="80.00"
CurrencyCode="USD"
NumberOfGuests="2" /
/BaseByGuestAmts
/Rate
/Rates
/RateAmountMessage
/RateAmountMessages
/OTA_HotelRateAmountNotifRQAdicionar, sobrepor e remover taxas com base na 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 datas de check-in indicados em <StatusApplicationControl> e para todas as durações de 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" encodin>g<="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=&quo>t;D<elta"
No>tifSc<opeType="Pro>ductRat<e"
RateAmountMessages HotelCode="Property_1"
RateAmountMessage
StatusApplicationControl Start="2020-05-18"
End="2020-05-18"
InvTypeCode="Room>ID_1&qu<ot;
> < RatePlanCode="P>ackageID_1&<quot;
> < RatePlanType="26"/
Rates
Rate UnitMultiplier="3" RateTimeUnit="Day"
B>aseByGuestA<mts
>BaseByGue<stAmt> Amount<Before>Tax=&<quot;80.00"
> < > < CurrencyCode="USD&>quot;
NumberOfGuests="2"/
/BaseByGuestAmts
/Rate
/Rates
/RateAmountMessage
/RateAmountMessages
/OTA_HotelRateAmountNotifRQSobrepor durações de estadia
Com a precificação baseada na duração da estadia, 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" encodin>g<="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=">Ove<rlay"
No>tifSc<opeType="Pro>ductRat<e"
RateAmountMessages HotelCode="Property_1"
RateAmountMessage
StatusApplicationControl Start="2020-05-18"
End="2020-05-18"
InvTypeCode="Room>ID_1&qu<ot;
> < RatePlanCode="P>ackageID_1&<quot;
> < RatePlanType="26"/
Rates
Rate UnitMultiplier="3" RateTimeUnit="Day"
B>aseByGuestA<mts
>BaseByGue<stAmt> Amount<Before>Tax=&<quot;80.00"
> < > < CurrencyCode="USD&>quot;
NumberOfGuests="2"/
/BaseByGuestAmts
/Rate
/Rates
/RateAmountMessage
/RateAmountMessages
/OTA_HotelRateAmountNotifRQRemover durações da estadia
Com a precificação baseada 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" encodin>g<="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=">;Re<move"
No>tifSc<opeType="Pro>ductRat<e"
RateAmountMessages HotelCode="Property_1"
RateAmountMessage
StatusApplicationControl Start="2021-10-20"
End="2021-12-31"
InvTypeCode="Room>ID_1&<quot;
> < Ra>t<ePlanCode="PackageID_1>"
RatePlanType="26"/
/RateAmountMessage
/RateAmountMessages
/OTA_HotelRateAmountNotifRQRespostas
Sintaxe
A mensagem OTA_HotelRateAmountNotifRS usa a seguinte sintaxe:
<?xml version="1.0" encodin>g<="UTF-8"?
OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
TimeStamp="timestamp"
EchoToken="echo_tok>en&<quot;
Version="3.>0&q<uot;
!>-- <Either> Succ<ess or Errors will be populated. --
Success/
Errors
>Error Type="<12&quo>t; <Status=>&<quot;NotProcessed" Sho>rtText="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_HotelRateAmountNotifRQ associada. |
| OTA_HotelRateAmountNotifRS / Success | 0..1 | Success | Indica que a mensagem OTA_HotelRateAmountNotifRQ foi
processada com sucesso.
|
| 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 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. Apenas o valor 12 (Processing exception) é usado. |
| OTA_HotelRateAmountNotifRS / Errors / Error / @Code | 1 | integer | O código de 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. Os detalhes desses erros podem ser encontrados em Mensagens de erro de status do feed. |
Exemplos
Sucesso
A seguir, há uma resposta a uma mensagem OTA_HotelRateAmountNotifRQ processada com sucesso.
<?xml version="1.0" encodin>g<="UTF-8"?
OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
EchoToken="12345678"
TimeStamp="2021-10-20T20:50:3>7-0<5:00&quo>t<;
Ve>rsion="3.0"
Success/
/OTA_HotelRateAmountNotifRSErros
A seguir, há uma resposta a uma mensagem OTA_HotelRateAmountNotifRQ que não foi processada devido a erros.
<?xml version="1.0" encodin>g<="UTF-8"?
OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
EchoToken="12345678"
TimeStamp="2021-10-20T20:50:3>7-0<5:00&q>uot;
< Version="3.0"
Errors
Error> Type=&<quot;1>2&q<uot; Co>d<e="450" Status=&q>uot;NotProcessed" ShortText="8001"Example/Error
/Errors
/OTA_HotelRateAmountNotifRS