Przegląd
Komunikat o cenach (OTA_HotelRateAmountNotifRQ
) określa stawki za obłożenie za noc w przypadku każdego typu pokoju i abonamentu w określonych zakresach dat. W ramach wiadomości dotyczącej ceny Google obsługuje modelowanie cen na podstawie obłożenia, umożliwiając określanie różnych cen za noc na podstawie maksymalnej liczby planowanych osób.
W kolejnych sekcjach znajdziesz wskazówki ogólne, podstawowe przykłady oraz sposoby dodawania i aktualizowania cen oraz wysyłania informacji o stawkach.
Zachowanie współczynnika dopasowania
Gdy użytkownicy szukają konkretnych miejsc, wyświetlana stawka zależy od tego, jak określisz ceny w komunikacie dotyczącym ceny. Z tej sekcji dowiesz się, jak żądania użytkowników są dopasowywane do Twoich cen w zależności od obłożenia żądań i zdefiniowanych przez Ciebie stawek.
Kluczowe zasady
O ile nie zdefiniowano inaczej, stawka określona dla konkretnego obłożenia dotyczy wszystkich mniejszego obłożenia.
Prośby o zajęcia powyżej zdefiniowanego miejsca są uznawane za niemożliwe.
Ceny zależne od obłożenia dotyczą zarówno modeli cenowych opartych na dacie, jak i tych opartych na LOS, opisanych poniżej. Oznacza to, że możesz określić ceny dla każdej osoby. Jeśli nie ma ceny za konkretne obłożenie, używana jest cena za następne co do wielkości obłożenie. Możesz też określić opłaty za dodatkowych gości i dzieci korzystające z usług
AdditionalGuestAmounts
lubExtraGuestCharges
, które są naliczane do limitu miejsca na pokój.
Zalety i przykłady
- Wydajność reakcji chemicznej
W przypadku kilku obłożenia z tą samą ceną nie musisz określać stawki dla każdego obłożenia. Możesz uprościć wiadomości, ustawiając tylko najwyższą wartość obłożenia, która jest obsługiwana przez typ pokoju i abonament. Użytkownicy będą widzieć tę cenę za każde obłożenie niższej niż ustawiona wartość lub jej równa.
Przykład: stawki za typ pokoju i plan stawek są takie same w przypadku liczby osób od 1 do 4. Użyj wiadomości dotyczącej ceny, aby ustawić jedną stawkę dla maks. 4 osób. Użytkownicy szukający pokoju dla 1, 2 i 3 osób zobaczą tę samą stawkę. Użytkownicy szukający odpowiedzi na to pytanie nie zobaczą cen.
- Sterowanie
Możesz wyraźnie podać różne stawki za alternatywne obłożenie. Jeśli chcesz mieć większą kontrolę nad tym, jak Google dopasowuje żądania do poziomu obłożenia, wysyłaj inną cenę dla każdej wartości obłożenia.
Przykład: jeśli ceny są określone dla 3 i 1 osób, w wynikach wyszukiwania 1 osoby wyświetlą się stawki dla singli, wyszukiwanie podwójne wyświetli wskaźnik potrójnego obłożenia, a użytkownicy wyszukujący co najmniej 4 osoby nie zobaczą cen.
Więcej przykładów różnych scenariuszy związanych ze stawkami znajdziesz w instrukcji.
Elementy wymagane i opcjonalne
Dokumentacja XML zawiera opisy elementów wymaganych i opcjonalnych. Szczegółowe informacje o atrybutach i elementach podrzędnych znajdziesz w artykule Oceń elementy i atrybuty.
Składnia i schematy
Podczas tworzenia komunikatu dotyczącego stawki użyj przykładu składni stawki, aby mieć pewność, że używasz prawidłowego formatu.
Aby zweryfikować pliki danych z opublikowanymi schematami, możesz użyć narzędzia innej firmy, na przykład xmllint, przed przesłaniem ich do Google. Schemat wiadomości dotyczących stawki znajdziesz w artykule Schematy Reklam hoteli.
Modele cenowe
Ceny według daty
To standardowy model cenowy używany w większości usług. Model cenowy per-date
opiera się na ustalaniu cen, które są zsumowane w okresie pobytu, aby osiągnąć cenę całkowitą. W tym modelu wszystkie ceny w elemencie Rate
są interpretowane jako zastosowanie do zakresu dat pobytu określonego w polu <StatusApplicationControl>
.
Ceny według LOS
Model cenowy oparty na LOS (długość pobytu) opiera się na stawkach ustalonych dla daty przyjazdu i długości pobytu. Stawki określone w modelu cenowym opartym na LOS są naliczane za dzień. Jeśli na przykład wyślesz stawkę 100 zł za długość pobytu 3 zł, łączna cena zostanie obliczona jako 3 x 100 zł=300 zł.
Z modelu cenowego opartego na LOS możesz korzystać, określając właściwość RatePlanType="26"
w elementach StatusApplicationControl
. Musisz też ustawić atrybuty RateTimeUnit
i UnitMultiplier
dla elementów Rate
w pliku XML. Powoduje to, że wszystkie ceny w ramach danego elementu Rate
będą stosowane do pobytu określone przez daty przyjazdu określone w <StatusApplicationControl>
i wartość LOS określonej dla UnitMultiplier
.
Na jednym koncie możesz stosować modele cenowe zarówno na podstawie daty, jak i oparte na LOS. Każda usługa powinna jednak używać tylko jednego modelu cenowego. Wdrażając model cenowy oparty na LOS, pamiętaj o tych kwestiach:
- Stawki za różne długości pobytu nie są łączone w przypadku cen na podstawie LOS. Na przykład współczynnik LOS równy 3 nie jest połączony z współczynnikiem LOS równym 1, dzięki czemu stopa LOS wynosi 4. Współczynnik LOS równy 4 musi być wyraźnie określony.
- Stawka za 1 noc w cenach opartych na LOS nie jest używana jako stawka za noc w cenie przypadającej na dany dzień.
- Każda usługa powinna używać tylko cen opartych na LOS lub według daty, w zależności od tego, jak stawki są reprezentowane w Twoim systemie.
Aby włączyć na swoim koncie ceny oparte na LOS, prześlij odpowiednią prośbę do swojego TAM lub skontaktuj się z nami.
Wskazówki lub działania
- Ceny według daty
Delta
: dodaj lub zaktualizuj ceny za obłożenie tylko w przypadku określonych kombinacji typu pokoju, planu taryfowego i dat pobytu określonych w polu<StatusApplicationControl>
.- Aktualizacje stawek domyślnie korzystają z działania
Delta
. - Aktualizacja
Delta
nie zmienia żadnych wcześniej zapisanych stawek za inne obłożenie. Jeśli na przykład określisz ceny za pokoje 1- i 2-osobowe, a następnie wyślesz aktualizację cen pokoju dla jednej osoby w wysokościDelta
, cena za 2 obłożenie pozostanie bez zmian.
- Aktualizacje stawek domyślnie korzystają z działania
Overlay
: usuń wszystkie dotychczasowe ceny za obłożenie dotyczące typu pokoju, planu taryfowego i dat określonych w polu<StatusApplicationControl>
, a następnie zastąp je nowymi cenami. Jeśli na przykład masz określone ceny za pokoje jedno- i podwójne oraz wyślesz aktualizacjęOverlay
dotyczącą pokoju jednoosobowego, Google usunie wszystkie poprzednie ceny (zarówno za jedno, jak i 2-osobowe), a po aktualizacji pozostanie tylko cena dla 1 osoby.Remove
: usuń wszystkie dotychczasowe ceny za obłożenie dotyczące typu pokoju, planu taryfowego i dat określonych w polu<StatusApplicationControl>
.- Ceny według LOS
Delta
: dodaj lub zaktualizuj stawki według wartości LOS wyłącznie w przypadku określonych kombinacji typu pokoju, planu taryfowego i dat zameldowania określonych w polu<StatusApplicationControl>
. Zastępuje wszystkie wskaźniki za obłożenie powiązane ze zaktualizowanymi wartościami LOS.- Aktualizacje stawek domyślnie korzystają z działania
Delta
. - Aktualizacja
Delta
nie zmienia żadnych wcześniej zapisanych stawek za inne długości pobytu. Jeśli na przykład określisz ceny dla LOS 1 i 2 oraz wyślesz aktualizację cen w przypadku LOS 1 na poziomieDelta
, to ceny za obłożenie w LOS 2 pozostaną bez zmian. - Aktualizacja
Delta
zastępuje wszystkie zapisane wcześniej ceny za obłożenie dotyczące danego okresu pobytu. Jeśli na przykład określisz ceny za obłożenie jedno- i podwójne w przypadku LOS 1 i wyślesz aktualizację ceny za pokój LOS 1 (Delta
) z tylko jedną ceną obłożenia, poziom podwójnego obłożenia zostanie usunięty.
- Aktualizacje stawek domyślnie korzystają z działania
Overlay
: usuń wszystkie dotychczasowe ceny za obłożenie podane w przypadku LOS, rodzaju pokoju, planu taryfowego i dat zameldowania określonych w polu<StatusApplicationControl>
i zastąp je nowymi cenami. Jeśli np. określisz stawki dla LOS 1 i 2 i wyślesz aktualizacjęOverlay
dotyczącą LOS 1, Google usunie wszystkie poprzednie stawki (zarówno LOS 1, jak i 2), a po aktualizacji pozostaną tylko stawki LOS 1.Remove
: usuń wszystkie dotychczasowe ceny za obłożenie dla wszystkich LOS typu pokoju, planu taryfowego i dat zameldowania określonych w polu<StatusApplicationControl>
.- Informacje podatkowe
Jeśli podatki i opłaty są proste, łączną kwotę możesz określić za pomocą funkcji
AmountAfterTax
. WAmountAfterTax
nie można uwzględniać złożonych podatków, takich jak podatki i opłaty za pobyt (a nie za noc).Ogólnie zalecamy użycie właściwości
TaxFeeInfo
zamiastAmountAfterTax
.Jeśli to możliwe, dodaj wartość
AmountBeforeTax
(nawet jeśli określonoAmountAfterTax
), ponieważ w niektórych regionach (np. w Stanach Zjednoczonych) domyślnie wyświetla się cena przed naliczeniem podatku.Wszystkie podatki i opłaty, które użytkownik musi zapłacić (VAT, podatek za pobyt, opłaty za sprzątanie, podatek miejski itp.), powinny być uwzględnione, nawet jeśli nie zostały uiszczone w czasie rezerwacji lub nie zostały uiszczone bezpośrednio na rzecz obiektu.
Przykład
W tej sekcji znajdziesz podstawowy przykład wiadomości Oceń z elementami wymaganymi i opcjonalnymi. Po przygotowaniu pliku musisz wysłać go do Google za pomocą wiadomości POST do tego punktu końcowego:
https://www.google.com/travel/hotels/uploads/property_data
Więcej informacji o przekazywaniu wiadomości push/POST znajdziesz w sekcji Wysyłanie wiadomości w trybie push.
W przypadku obiektu HotelCode
użyj unikalnego identyfikatora hotelu użytego w systemie do identyfikacji obiektu. Ta wartość musi być zgodna z identyfikatorem hotelu określonym za pomocą parametru <id>
w elemencie <listing>
w pliku danych z listą hoteli. W przypadku usług <PackageID>
i <RoomID>
używaj tych samych identyfikatorów, których używasz w swoim systemie do abonamentów i typów pomieszczeń. Spójność z Twoim systemem jest kluczowa dla prawidłowego wyświetlania w Google cen i danych.
Ten przykład pokazuje, jak ustawić stawki za pomocą działania Delta
:
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
EchoToken="12345678"
TimeStamp="2022-02-25T20:50:37-05:00"
Version="3.0"
NotifType="Delta">
<POS><Source><RequestorID ID="partner_key" /></Source></POS>
<RateAmountMessages HotelCode="HotelID">
<RateAmountMessage>
<StatusApplicationControl Start="2022-12-01"
End="2022-12-31"
InvTypeCode="RoomID"
RatePlanCode="PackageID" />
<Rates>
<Rate>
<BaseByGuestAmts>
<BaseByGuestAmt NumberOfGuests="1" CurrencyCode="USD" AmountBeforeTax="XXX.XX" />
<BaseByGuestAmt NumberOfGuests="2" CurrencyCode="USD" AmountBeforeTax="XXX.XX" />
<BaseByGuestAmt NumberOfGuests="3" CurrencyCode="USD" AmountBeforeTax="XXX.XX" />
<BaseByGuestAmt NumberOfGuests="4" CurrencyCode="USD" AmountBeforeTax="XXX.XX" />
</BaseByGuestAmts>
</Rate>
</Rates>
</RateAmountMessage>
</OTA_HotelRateAmountNotifRQ>
Instrukcje
W tej sekcji znajdziesz rozwiązania sytuacji, które mogą wystąpić podczas wysyłania ocenionych wiadomości.
Informacje o tym, jak dodawać, usuwać i aktualizować stawki, znajdziesz w sekcji Przykłady ocen.
Scenariusz 1. Jak zmienić ceny za liczbę osób
Opis
Ceny za noc były wcześniej określane tylko dla 2 osób (dotyczy to również 1 osoby), ale teraz dostępne są niższe ceny za 1 osobę.
Rozwiązanie
Wyślij nową stawkę za obłożenie 1 przy użyciu domyślnej aktualizacji zakresu: Delta
. Ta nowa wartość nie ma wpływu na poziom obłożenia 2.
Scenariusz 2. Jak zastąpić stawki za liczbę osób w obiekcie
Opis
Wcześniej zostały określone stawki dla obłożenia od 1 do 4, ale teraz prawidłowe są tylko miejsca 1 i 2.
Rozwiązanie
Użyj operatora NotifType="Overlay"
, aby zastąpić wszystkie stawki obłożenia w przypadku danego miejsca zakwaterowania, typu pokoju, planu taryfowego i dat. W tym scenariuszu działanie Overlay
spowodowałoby wyświetlenie stawek za obłożenie 1 i 2.
Scenariusz 3. Jak ustawić tę samą stawkę dla wielu osób
Opis
Cena za określoną liczbę osób można sprzedać grupie z mniejszą liczbą osób. W tym scenariuszu możesz uprościć wysyłanie wiadomości, wysyłając tylko aktualizację ceny dla maksymalnego dostępnego obłożenia.
Rozwiązanie
Jeśli masz tę samą cenę za wiele osób, ustaw najwyższą wartość obłożenia obsługiwaną przez typ pokoju i abonament, a ta wartość automatycznie zostanie użyta w przypadku mniejszego obłożenia. Oznacza to, że nie trzeba powtarzać tej samej stawki za noc przy liczbie 1–6 osób, jeśli są one jednakowe. Wystarczy ustawić je na 6.