OTA_HotelPriceAmountififQQ,

Żą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 <RateAmountMessage>

Prawidłowe wartości to:

Aby dowiedzieć się, jak działają te atrybuty, zapoznaj się z przykłady.

  • Overlay: Usuń wszystkie stawki za obłożenie w przypadku typu pokoju, abonamentu i dat. określono w <StatusApplicationControl> i zastąpić je nowymi stawkami.
  • Remove: Usuń wszystkie stawki za obłożenie w przypadku typu pokoju, abonamentu i dat. określono w kolumnie <StatusApplicationControl>.
  • Delta: (wartość domyślna, jeśli NotifType nie został określony) Dodaj lub zaktualizuj istniejące stawki za obłożenie dla typ pokoju, plan stawek i daty określone w <StatusApplicationControl>
OTA_HotelRateAmountNotifRQ / @NotifScopeType 0..1 enum

Zakres NotifType, który zostanie zastosowany do każdego <RateAmountMessage>

Prawidłowe wartości to:

  • ProductRate: (wartość domyślna, jeśli NotifScopeType nie został określony) NotifType dotyczy usługi – kombinacje typu pomieszczeń (InvTypeCode) i abonament (RatePlanCode).
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ą partner wartości atrybutu wiadomości transakcji (danych usługi) i atrybutu ID w <RequestorID> element Twojej <OTA_HotelAvailNotifRQ> wiadomość dotycząca tego samego koncie.

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ść true, inne dni tygodnia, które nie są jednoznacznie ustawione na true są wykluczone (w efekcie są są odfiltrowane z dat w zakresie Start i End).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Tue 0..1 boolean Ustaw jako true lub 1, aby bezpośrednio uwzględnić Wtorki

Jeśli ma wartość true, inne dni tygodnia, które nie są jednoznacznie ustawione na true są wykluczone (w efekcie są są odfiltrowane z dat w zakresie Start i End).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Weds 0..1 boolean Ustaw jako true lub 1, aby bezpośrednio uwzględnić Środy.

Jeśli ma wartość true, inne dni tygodnia, które nie są jednoznacznie ustawione na true są wykluczone (w efekcie są są odfiltrowane z dat w zakresie Start i End).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Thur 0..1 boolean Ustaw jako true lub 1, aby bezpośrednio uwzględnić Czwartki

Jeśli ma wartość true, inne dni tygodnia, które nie są jednoznacznie ustawione na true są wykluczone (w efekcie są są odfiltrowane z dat w zakresie Start i End).

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ść true, inne dni tygodnia, które nie są jednoznacznie ustawione na true są wykluczone (w efekcie są są odfiltrowane z dat w zakresie Start i End).

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ść true, inne dni tygodnia, które nie są jednoznacznie ustawione na true są wykluczone (w efekcie są są odfiltrowane z dat w zakresie Start i End).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sun 0..1 boolean Ustaw jako true lub 1, aby bezpośrednio uwzględnić Niedziele.

Jeśli ma wartość true, inne dni tygodnia, które nie są jednoznacznie ustawione na true są wykluczone (w efekcie są są odfiltrowane z dat w zakresie Start i End).

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 RateTimeUnit i UnitMultiplier muszą mieć wartość określone dane. W przeciwnym razie nie należy podawać żadnej z nich.

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 RateTimeUnits ma wartość "Day", Wartość UnitMultiplier z 5 oznacza, że określone stawki w ramach tego obiektu Rate dotyczy każdej nocy w ramach pobytu 5-dniowego.

Stawki za obłożenie określone w: Rate obiekt zostanie pomnożony przez UnitMultiplier. (długość pobytu), by otrzymać łączną cenę za pobyt.

Aby korzystać z ceny na podstawie LOS, Wartości RateTimeUnit i UnitMultiplier muszą mieć wartość określone dane. W przeciwnym razie nie należy podawać żadnej z nich.

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 AmountBeforeTax, jak i Można określić AmountAfterTax. Jeśli Wartość AmountBeforeTax nie została określona, Trzeba określić AmountAfterTax. Jeśli Określono AmountBeforeTax i Kwota AmountAfterTax nie została określona, a następnie podatki i opłaty musi być określone w komunikacie <TaxFeeInfo>.

Jeśli korzystasz z promocji, parametr zniżka została zastosowana do: AmountBeforeTax; procenty rabaty mają też zastosowanie do: AmountAfterTax. Ponieważ nie sprawdza się w przypadku niektórych struktur podatkowych, zdecydowanie zalecamy jedynie określając AmountBeforeTax tutaj i za pomocą <TaxFeeInfo>, aby określić podatki i opłaty.

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: AmountAfterTax kwoty. Jeśli chcesz skorzystać z rabatów, określ podatki i opłaty do za pomocą wiadomości <TaxFeeInfo>. Twoje zniżki a następnie zastosujemy ją do kwot AmountBeforeTax.

Uwaga: jeśli AmountBeforeTax nie został określony, należy określić AmountAfterTax.

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 <AdditionalGuestAmounts> zawiera opłaty dla dzieci, NumberOfGuests tylko dotyczy dorośli. Jeśli <AdditionalGuestAmounts> nie jest określony lub nie zawiera opłat dla dzieci, NumberOfGuests oznacza łączną liczbę osób. w tym dorosłych i dzieci.

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 ExtraGuestCharges jeśli te kwoty można statycznie zdefiniować w usłudze na poziomie 300%.

Dodatkowe kwoty dla gości są naliczane w ten sposób:
  • Są one doliczane do podstawowej stawki za obłożenie. Podstawa poziom obłożenia to najwyższy poziom obłożenia podany w <BaseByGuestAmts>, która jest mniejsza od lub równa liczby osób dorosłych w wyszukiwaniu użytkownika.
  • Są stosowane, dopóki liczba osób uwzględnionych w wyszukiwaniu użytkownika jest w ramach pojemności sali.
  • <AdditionalGuestAmounts> zawsze zastępuj określone wcześniej dodatkowe kwoty nowymi, gdy NotifType to Delta lub Nakładka.
  • Możemy wysłać <AdditionalGuestAmounts> niezależnie od stawek podstawowych tylko wtedy, gdy NotifType to Delta. Trzeba określić <BaseByGuestAmts> gdy NotifType to Overlay.
  • Pusty element <AdditionalGuestAmounts> z Ustawienie NotifType na Delta powoduje usunięcie istniejących dodatkowe kwoty bez wpływu na stawki podstawowe.
  • Waluta jest stosowana w walucie określonej w <BaseByGuestAmt>

Załóżmy na przykład, że stawki podstawowe zostały określone dla 1 i 2 dorosłych.

  • Jeśli użytkownik wyszuka 3 osoby dorosłe, stawka podwójnego obłożenia wyniesie zostanie wybrana jako stawka podstawowa i dodatkowa opłata za 1 osobę, element dorosły.
  • Jeśli użytkownik wyszukuje 1 osobę dorosłą i 2 dzieci, liczba obłożenia zostanie wybrana jako stawka podstawowa, a dodatkowe kwoty zostałyby nałożone na 2 dzieci.
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:
  • 10: osoba dorosła.
  • 8: Dziecko.

Parametr AgeQualifyingCode może mieć wartość 10 w przypadku: maksymalnie jeden element AdditionalGuestAmount.

MaxAge należy określić, gdy argument AgeQualifyingCode8.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @MaxAge 0..1 integer MaxAge należy określić, gdy argument AgeQualifyingCode8. Nie może: określony, gdy AgeQualifyingCode to 10.

Wartość MaxAge musi być liczbą całkowitą z zakresu od 0 do 17.

Jeśli podasz wartość 0, spowoduje to wyłączenie dzieci w pokoju.

Wartości większe niż 17 będą traktowane jako wartości maksymalne akceptowana wartość 17.

Można określić wiele przedziałów wiekowych dla dzieci za pomocą oddzielnych AdditionalGuestAmount elementów. Przedziały wiekowe muszą być sąsiadująco i nie nakładają się na siebie.

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 <AgeBrackets> w tabeli <TaxFeeInfo> wiadomość.

Przykłady

Ta sekcja zawiera przykłady kodu ilustrujące, jak:

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ę, i przechowywania 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 <Success> albo <Errors> w każdej wiadomości.

OTA_HotelRateAmountNotifRS / Errors 0..1 Errors Kontener dla co najmniej jednego problemu napotkanego podczas przetwarzania OTA_HotelRateAmountNotifRQ wiadomość.

Dozwolone wartości <Success> albo <Errors> w każdej wiadomoś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>