Żądania
Składnia
Komunikat OTA_HotelRateAmountNotifRQ
ma taką składnię:
<?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>
Elementy i atrybuty
Wiadomość OTA_HotelRateAmountNotifRQ
zawiera te elementy oraz
atrybuty:
Element / @Atrybut | Wystąpienia | Typ | Opis |
---|---|---|---|
OTA_HotelRateAmountNotifRQ | 1 | Complex element | Element główny wiadomości o stawkach. |
OTA_HotelRateAmountNotifRQ / @xmlns | 0..1 | string (URI) | Przestrzeń nazw XML. |
OTA_HotelRateAmountNotifRQ / @EchoToken | 1 | string | Unikalny identyfikator tej wiadomości z żądaniem. Ta wartość jest zwracana
w wiadomości z odpowiedzią. Dozwolone znaki to a-z , A-Z , 0-9 , _ (underscore) i - (dash) . |
OTA_HotelRateAmountNotifRQ / @TimeStamp | 1 | DateTime | Data i godzina utworzenia tej wiadomości. |
OTA_HotelRateAmountNotifRQ / @Version | 1 | decimal | Wersja wiadomości OpenTravel. |
OTA_HotelRateAmountNotifRQ / @NotifType | 0..1 | enum | Typ powiadomienia, które ma być stosowane w przypadku każdego
Prawidłowe wartości to: Aby dowiedzieć się, jak działają te atrybuty, zapoznaj się z przykłady.
|
OTA_HotelRateAmountNotifRQ / @NotifScopeType | 0..1 | enum | Zakres Prawidłowe wartości to:
|
OTA_HotelRateAmountNotifRQ / POS | 0..1 | POS | Kontener do określania konta partnera na potrzeby tej wiadomości (zwykle używane, jeśli backend dostarcza pliki danych z cenami dla kont partnerów). |
OTA_HotelRateAmountNotifRQ / POS / Source | 1 | Source | Wymagane, jeśli występuje <POS> . Kontener dla
<RequestorID> |
OTA_HotelRateAmountNotifRQ / POS / RequestorID | 1 | RequestorID | Wymagane, jeśli występuje <POS> . Definiuje partnera
koncie. |
OTA_HotelRateAmountNotifRQ / POS / RequestorID / @ID | 1 | string | Konto partnera, z którego pochodzi ta wiadomość. Ta wartość ciągu znaków to parametr
„Klucz partnera” wartość podana na
Strona Ustawienia konta w Hotel Center.
Uwaga: jeśli masz backend, który dostarcza pliki danych dla wielu
kont, ta wartość musi być zgodna z wartością |
OTA_HotelRateAmountNotifRQ / RateAmountMessages | 1 | RateAmountMessages | Zbiór elementów <RateAmountMessage> , które
określić stawki. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / @HotelCode | 1 | string | Unikalny identyfikator usługi. Ta wartość musi pasować do Identyfikator hotelu określony za pomocą elementu <id> cale element <listing> w obiekcie Hotel. Kanał listy. Identyfikator hotelu jest też podany w Hotel Center. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage | 1..n | RateAmountMessage | kontener do określania cen za stawkę za pokój (typ pokoju i stawkę); kombinacji planu w danym zakresie dat). |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl | 1 | StatusApplicationControl | Definiuje zakres dat oraz identyfikatory typu pokoju
(InvTypeCode ) i abonament (RatePlanCode ). |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Start | 1 | Date | Data rozpoczęcia (na podstawie strefy czasowej usługi) włącznie z datą rozpoczęcia zakres dat. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @End | 1 | Date | Data zakończenia (na podstawie strefy czasowej usługi) włącznie z datą zakończenia
zakresu dat. Wartość nie może być mniejsza niż wartość start .
Jeśli wartości start i end są równe, aktualizacja zostanie zastosowana
do tej daty. Pamiętaj, że Google obsługuje dane z maksymalnie 3 lat. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Mon | 0..1 | boolean | Ustaw jako true lub 1 , aby bezpośrednio uwzględnić
poniedziałki.
Jeśli ma wartość |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Tue | 0..1 | boolean | Ustaw jako true lub 1 , aby bezpośrednio uwzględnić
Wtorki
Jeśli ma wartość |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Weds | 0..1 | boolean | Ustaw jako true lub 1 , aby bezpośrednio uwzględnić
Środy.
Jeśli ma wartość |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Thur | 0..1 | boolean | Ustaw jako true lub 1 , aby bezpośrednio uwzględnić
Czwartki
Jeśli ma wartość |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Fri | 0..1 | boolean | Ustaw jako true lub 1 , aby bezpośrednio uwzględnić
Piątki.
Jeśli ma wartość |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sat | 0..1 | boolean | Ustaw jako true lub 1 , aby bezpośrednio uwzględnić
w soboty.
Jeśli ma wartość |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sun | 0..1 | boolean | Ustaw jako true lub 1 , aby bezpośrednio uwzględnić
Niedziele.
Jeśli ma wartość |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @InvTypeCode | 1 | string | Unikalny identyfikator zasobów reklamowych (typ pomieszczenia). Ta wartość jest mapowana
na <RoomID> w komunikacie transakcji (dane usługi). |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanCode | 1 | string | Unikalny identyfikator abonamentu. Ten identyfikator jest mapowany na
<PackageID> w transakcji (dane usługi)
. Plan stawek został zdefiniowany bardziej szczegółowo i do którego odnosi się link
w <StatusApplicationControl> w obu
<OTA_HotelRateAmountNotifRQ> i
<OTA_HotelAvailNotifRQ> wiadomości. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanType | 0..1 | string | Identyfikator wskazujący typ modelu cenowego ARI, który
ma zastosowanie w przypadku tej aktualizacji cen. Należy go podać tylko za pomocą
26 w przypadku modelu cenowego na podstawie LOS. Wykluczenie
tego atrybutu wskazuje, że jest to cena na dany okres
. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates | 0..1 | Rates | Kontener dla zbioru elementów <Rate> . Jeśli
NotifType ma wartość "Remove" . Ten element nie może
zostać określone. W przeciwnym razie element trzeba określić dokładnie raz. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate | 1 | Rate | Kontener dla kolekcji <BaseByGuestAmts>
. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @RateTimeUnit | 0..1 | String | Jednostka, według której określa się długość pobytu. Jedyne obsługiwane
ma wartość "Day" , co oznacza, że długość pobytu będzie
podawana w dniach.
Aby korzystać z ceny na podstawie LOS,
Wartości |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @UnitMultiplier | 0..1 | Integer | Liczba elementów typu RateTimeUnits , które składają się na długość
za pobyt w tej cenie.
Jeśli na przykład Stawki za obłożenie określone w: Aby korzystać z ceny na podstawie LOS,
Wartości |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts | 1 | BaseByGuestAmts | Kontener do pobierania opłat podstawowych. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt | 1..n | BaseByGuestAmt | Określa ceny za pokoje w określonej walucie. Cena może być
na liczbę osób za pomocą wielu funkcji <BaseByGuestAmt>
elementów, każdy z inną wartością w parametrze NumberOfGuests .
W przeciwnym razie cena dotyczy maksymalnej liczby osób.
zdefiniowane przez NumberOfGuests . |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountBeforeTax | 0..1 | float |
Dzienna cena stawki za pokój bez podatków i opłat. Zarówno Jeśli korzystasz z promocji, parametr
zniżka została zastosowana do: |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountAfterTax | 0..1 | float | Dzienna cena stawki za pokój po uwzględnieniu obowiązujących podatków i
Jeśli określono AmountAfterTax , osobno dla każdej usługi
Nie trzeba wysyłać <TaxFeeInfo> wiadomości. Ten
może być używany w połączeniu z atrybutem AmountBeforeTax
aby podać zarówno stawki podstawowe, jak i łączne, które mogą być wyświetlane użytkownikom
określonych regionach.
Ostrzeżenie: jeśli korzystasz z promocji, zdecydowanie
odradzamy korzystanie z: Uwaga: jeśli |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @CurrencyCode | 1 | enum | Kod alfa zgodny ze standardem ISO 4217 (3) dla określonej jednostki pieniężnej.
Zapoznaj się z listą obsługiwanych walutami. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @NumberOfGuests | 0..1 | integer | Maksymalna liczba gości, które można zatrzymać w ramach tej ceny.
Jeśli nie zostanie podany, domyślnie będą to 2 osoby.
Pamiętaj, że jeśli |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts | 0..1 | AdditionalGuestAmounts | Kontener do pobierania opłat za dodatkowych gości.
Ta składnia jest przydatna, jeśli dodatkowe pokoje gości lub dzieci
zmienia się w zależności od daty. Rozważ użycie bardziej wydajnych
Załóżmy na przykład, że stawki podstawowe zostały określone dla 1 i 2 dorosłych.
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount | 0..n | AdditionalGuestAmount | Określa ceny w zależności od rodzaju gościa określonego za pomocą
AgeQualifyingCode i wiek gościa (w stosownych przypadkach).
określono za pomocą: MaxAge .
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @AgeQualifyingCode | 1 | enum | Określa typ dodatkowego gościa (dorosły lub dziecko). Prawidłowa
opcje to:
Parametr
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @MaxAge | 0..1 | integer | MaxAge należy określić, gdy argument
AgeQualifyingCode – 8 . Nie może:
określony, gdy AgeQualifyingCode to 10 .
Wartość Jeśli podasz wartość Wartości większe niż Można określić wiele przedziałów wiekowych dla dzieci za pomocą oddzielnych
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @Amount | 1 | float | Kwota przed naliczeniem podatków i opłat dodanych do stawki podstawowej za każdą
gościa.
podatki i opłaty zależne od liczby osób przebywających w danym miejscu. informacje o wieku muszą być określone przez
element |
Przykłady
Ta sekcja zawiera przykłady kodu ilustrujące, jak:
- Konfigurowanie stawek podstawowych i łącznych
- Dodawanie, nakładanie i usuwanie stawek
- Dodawanie, nakładanie i usuwanie dodatkowych kwot w przypadku gości
- Konfigurowanie stawek opartych na LOS
- Dodawanie, nakładanie i usuwanie stawek opartych na LOS
Jeśli ustawisz wartości add
, overlay
lub remove
, zakresy dat mogą
takie same lub różne,
w zależności od celów. Na przykład możesz użyć
overlay
ustaw tylko kilka tygodni na święta grudniowe, a nie na
cały zakres dla opcji „Częstotliwość dodawania” . Spowoduje to zastąpienie liczby osób
stawki za ten okres.
Ceny według dat
W przypadku danego abonamentu i abonamentu może obowiązywać maksymalnie 50 stawek za obłożenie usłudze. Jeśli stawki dla wszystkich osób są takie same, prześlij maksymalnej liczby osób w wymaganej cenie. W ten sposób Google stwierdza, że przy mniejszym obłożeniu obowiązuje taka sama stawka podstawowa.
Skonfiguruj stawki podstawowe i łączne
Przykład 1
Stawka podstawowa (bez podatków i opłat) za domyślne obłożenie (podwójne). W tym
model, podatki i opłaty związane z nieruchomością muszą być zdefiniowane za pomocą
<TaxFeeInfo>
wiadomość. Stawka podstawowa będzie wyższa
będą dobrze widoczne dla użytkowników
z określonych regionów.
<?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>
Przykład 2
Stawka podstawowa i łączna za domyślne obłożenie (podwójne). W tym modelu podatki
i opłaty nie powinny być zdefiniowane oddzielnie za pomocą atrybutu <TaxFeeInfo>
wiadomości. Stawka podstawowa będzie lepiej widoczna dla użytkowników przeprowadzających wyszukiwanie z
określonych regionach.
<?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>
Przykład 3
Łączna cena (z podatkami i opłatami) za kilka osób. W tym modelu
podatków i opłat nie należy określać oddzielnie za pomocą atrybutu <TaxFeeInfo>
wiadomości.
<?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>
Przykład 4
Stawka podstawowa i łączna dla różnych typów pokojów i abonamentów w różnych usługach różnych zakresów dat.
<?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>
Dodawanie, nakładanie i usuwanie stawek
Obowiązuje limit 5000 produktów (typ pokoju i pakiet)
kombinacji na usługę. Użyj powiadomienia Overlay
lub Remove
aby usunąć wcześniej zdefiniowane produkty.
Dodaj ceny
Ustaw NotifType
na Delta
, aby dodać ceny za liczbę osób w przypadku:
RoomID_1 i PackageID_1 między 20.10.2021 a 31.12.2021. Pamiętaj, że
Google obsługuje dane z maksymalnie 3 lat.
<?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>
Współczynniki nakładek
Ustaw NotifType
na Overlay
, aby usunąć wszystkie dane dla osób
ceny za pokoje RoomID_1 i PackageID_1 w okresie od 20.10.2021 r. do 31.12.2021 r.
i zastąp je nowo określonymi stawkami za obłożenie.
Jeśli na przykład ta wiadomość została wysłana po kliknięciu przycisku „Dodaj ceny” , Ceny za 1, 2 i 3 osoby zostaną usunięte, a tylko nowa liczba osób 1 stopa zwrotu. Możesz też ustawić krótszy okres (np. 20.12.2021 i 31.12.2021) do zastąpienia tylko części osób. cen w określonych dniach, np. w święta.
<?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>
Usuń ceny
Ustaw NotifType
na Remove
, aby usunąć wszystkie informacje dla poszczególnych osób
ceny za pokoje RoomID_1 i PackageID_1 w okresie od 20.10.2021 do 31.12.2021.
Jeśli na przykład ta wiadomość została wysłana po jednym z pozostałych przykładów wiadomości, stawki za obłożenie nie są przechowywane.
<?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>
Dodawaj, nakładaj i usuwaj dodatkowe kwoty gości
Dodaj kwoty
Ustaw NotifType
na Delta
, aby dodać stawki podstawowe za:
liczba osób 1 i 2 oraz dodatkowe liczby gości w przypadku RoomID_1 i
PackageID_1 między 20.10.2021 a 31.12.2021.
Do stawki podstawowej zostaną doliczone dodatkowe kwoty dla gości zależy od liczby osób w wyszukiwarce. Określony przez użytkownika liczba osób nie może przekraczać limitu RoomID_1.
W tym przykładzie kwoty w ramach dodatkowych gości zostaną zastosowane w ten sposób:
- 5 USD dla dzieci w wieku od 0 do 10 lat (włącznie).
- 10 USD dla dzieci w wieku od 11 do 17 lat (włącznie).
- 20 USD dla dorosłych.
<?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>
Kwoty nakładek
Ustaw NotifType
na Overlay
, aby usunąć wszystkie dane dla osób
stawki i wszystkie dodatkowe kwoty gości w przypadku pokoi RoomID_1 i PackageID_1
20.10.2021 i 31.12.2021 i zastąpić je nowymi
określone stawki za obłożenie i dodatkowe kwoty.
Jeśli na przykład ta wiadomość została wysłana po kliknięciu przycisku „Dodaj ceny” , Stawki za obłożenie podstawowe 1 i 2 zostaną usunięte, a tylko nowa cena podstawowa Zostanie zachowana stawka za 1 obłożenie. Poprzedni zestaw dodatkowych gości kwoty zostałyby usunięte i zostanie zachowany tylko nowy zestaw kwot. Liczba dodatkowych gości będzie teraz stosowana jako nowa stawka za 1 liczbę stawki podstawowej. Po tej aktualizacji nie będzie żadnych dodatkowych gości opłat zdefiniowanych dla dzieci.
<?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>
Usuń kwoty
Ustaw NotifType
na Delete
, aby usunąć wszystkie dane dla osób
stawki podstawowe i wszystkie dodatkowe kwoty gości w przypadku pokoi RoomID_1 i PackageID_1
.
Jeśli na przykład ta wiadomość została wysłana po jednym z pozostałych przykładów wiadomości, brak stawek podstawowych za liczbę osób lub dodatkowych kwot za osobę, w przechowywaniu danych.
<?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>
Usuń tylko dodatkowe liczby gości
Ustaw pole NotifType
na Delta
z pustą wartością
<AdditionalGuestAmounts>
element do usunięcia wszystkich
dla pokoju RoomID_1 i pakietu ID_1 bez wpływu na liczbę gości
stawki podstawowe na okres 20.10.2021 r. a 31.12.2021 r.
Jeśli na przykład ta wiadomość została wysłana po jednym z pozostałych przykładów wiadomości, są przechowywane jedynie kwoty podstawowe.
<?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>
Ceny na podstawie LOS
Skonfiguruj stawki oparte na LOS
Przykład 1
Ustal ceny za pobyty 1, 2 i 3 noclegi od 18 maja 2020 r. łączna cena za pobyt 1, 2 i 3 noce w tym przykładzie to 100 zł, 180 USD i 240 USD.
<?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>
Dodawaj, nakładaj i usuwaj stawki obliczane na podstawie LOS
Dodaj długości pobytu
W przypadku cen opartych na LOS operacja Delta
umożliwia
stopniowo aktualizowany dla zakresów dat zameldowania wskazanych w
<StatusApplicationControl>
i za wszystkie długości pobytu
wskazywane przez dyrektywę każdego elementu podrzędnego Rate
UnitMultiplier
W przypadku każdej obowiązującej daty zameldowania i długości pobytu oraz liczby osób stawki
<?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>
Długość pobytu nakładki
W przypadku cen opartych na LOS operacja Overlay
zastępuje stawki za wszystkie długości pobytu i datę zameldowania
zakresu wskazanego w <StatusApplicationControl>
.
Wraz z tą wiadomością informacje o cenach za obłożenie za wszystkie długości pobytu określone daty przyjazdu zostaną usunięte i zastąpione 2 osobami stawki określonej tylko dla długości pobytu 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>
Usuń długość pobytu
W przypadku cen opartych na LOS operacja Remove
usuwa stawki
za wszystkie długości pobytu i zakres dat zameldowania podane w
<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>
Odpowiedzi
Składnia
Komunikat OTA_HotelRateAmountNotifRS
ma taką składnię:
<?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>
Elementy i atrybuty
Wiadomość OTA_HotelRateAmountNotifRS
zawiera te elementy
elementy i atrybuty:
Element / @Atrybut | Wystąpienia | Typ | Opis |
---|---|---|---|
OTA_HotelRateAmountNotifRS | 1 | Complex element | Element główny odpowiedzi na komunikat o dostępności. |
OTA_HotelRateAmountNotifRS / @TimeStamp | 1 | DateTime | Data i godzina utworzenia tej wiadomości. |
OTA_HotelRateAmountNotifRS / @EchoToken | 1 | string | Unikalny identyfikator powiązanego elementu
OTA_HotelRateAmountNotifRQ wiadomość. |
OTA_HotelRateAmountNotifRS / Success | 0..1 | Success | Wskazuje, że wiadomość typu OTA_HotelRateAmountNotifRQ została
udało się przetworzyć.
Dozwolone wartości |
OTA_HotelRateAmountNotifRS / Errors | 0..1 | Errors | Kontener dla co najmniej jednego problemu napotkanego podczas przetwarzania
OTA_HotelRateAmountNotifRQ wiadomość.
Dozwolone wartości |
OTA_HotelRateAmountNotifRS / Errors / Error | 1..n | Error | Opis błędu, który wystąpił podczas przetwarzania
OTA_HotelRateAmountNotifRQ wiadomość. Szczegóły dotyczące
można znaleźć w artykule Komunikaty o błędach stanu pliku danych. |
OTA_HotelRateAmountNotifRS / Errors / Error / @Type | 1 | integer | OpenTravel Alliance EWT (Error Ostrzeżenie Type) powiązane z
. Używana jest tylko wartość 12 (Processing exception) . |
OTA_HotelRateAmountNotifRS / Errors / Error / @Code | 1 | integer | Kod błędu OpenTravel Alliance ERR (kod błędu).
Używana jest tylko wartość 450 (Unable to process) . |
OTA_HotelRateAmountNotifRS / Errors / Error / @Code | 1 | enum | Stan pierwotnej prośby. Tylko wartość
Zajęte miejsce: NotProcessed . |
OTA_HotelRateAmountNotifRS / Errors / Error / @ShortText | 1 | string | Identyfikator Google problemu. Szczegółowe informacje o tych błędach można znaleźć znaleziono w komunikatach o błędach dotyczących stanu pliku danych. |
Przykłady
Sukces
To jest odpowiedź na przesłane żądanie Komunikat OTA_HotelRateAmountNotifRQ.
<?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>
Błędy
Poniżej znajduje się odpowiedź na komunikat OTA_HotelRateAmountNotifRQ, że nie przetworzono z powodu błędów.
<?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>