Opis
Komunikat o promocjach określa reguły dotyczące rabatów za pomocą atrybutu OTA_HotelRateAmountNotifRQ
. W przypadku każdej stawki oceniane są określone promocje i stosowany jest do nich największy dozwolony rabat. Ten typ wiadomości jest opcjonalny i musisz zdefiniować promocje tylko wtedy, gdy są używane w Twoim systemie do zastosowania zniżek na ceny.
Możesz łączyć promocje i stosować je do różnych atrybutów użytkownika, np. typów urządzeń (komórka, tablet, komputer) i kodów krajów.
Przykłady różnych scenariuszy związanych z promocją znajdziesz w instrukcji.
Sekcje poniżej zawierają ogólne wytyczne, podstawowe przykłady i instrukcje ułatwiające dodawanie i aktualizowanie promocji.
Wytyczne
W tej sekcji znajdziesz typowe wytyczne i specjalne instrukcje dotyczące ustawiania promocji.
Przestrzegaj tych wskazówek:
Działania
- Usuń
- Użyj działania
delete
w elemencie<Promotion>
, aby usunąć pojedynczą promocję według jej identyfikatora. - Nakładka
- Użyj działania
overlay
w elemencie<HotelPromotions>
, aby zastąpić wszystkie wyniki promowane danej usługi. - Delta
- Jeśli nie określisz żadnej czynności, wszystkie promocje określone w elemencie
<HotelPromotions>
zostaną dodane lub zastąpione. Jeśli promocja z tym identyfikatorem nigdy nie została dodana lub usunięta, zostaje dodana. Jeśli istnieje promocja o takim identyfikatorze, zostanie ona zastąpiona nową definicją.
Ogólne
Dla każdej usługi może istnieć 1 promocja lub zestaw promocji, a każda promocja ma zestaw warunków. Z promocji można skorzystać tylko wtedy, gdy są spełnione warunki.
Jeśli chcesz, aby promocja miała zastosowanie tylko do określonej daty, typu pokoju lub abonamentu, określ to w warunkach danej promocji. Jeśli promocja nie ma zastosowania do określonej daty, typu pokoju lub abonamentu, nie musisz ich ustawiać.
Każda promocja jest powiązana z określoną usługą. Jeśli korzystasz z tej samej promocji w wielu usługach, musisz wysłać ją osobno dla każdej z nich. Aby podać identyfikator usługi, użyj atrybutu
hotel_id
elementu<HotelPromotions>
.Możesz dodać maksymalnie 99 promocji. Jeśli musisz podać ich więcej, skontaktuj się z TAM Google.
Użyj elementu
<Stacking>
, aby określić sposób łączenia promocji. Domyślnie Google używa typu grupowaniabase
, co oznacza, że najlepsza kwalifikująca się promocja podstawowa jest wybierana i stosowana jako pierwsza, przed innymi promocjami. Pamiętaj, że właściwościbase
można łączyć tylko z elementamisecond
lubany
i nie można ich łączyć z innymi elementamibase
aninone
.Nawet jeśli istnieje stos różnych promocji, które można zastosować razem, ten stos może nie być używany, jeśli istnieje inna pojedyncza promocja lub stos promocji, który oferuje dłuższy rabat. Promocja (kombinacja) z największym rabatem ma zastosowanie do rezerwacji, gdy kwalifikuje się wiele promocji (kombinacji).
Wysyłaj powiadomienie o zmianach, które mają wpływ na promocje.
Informacje podatkowe
Najlepsza promocja (lub stos promocji) jest stosowana do kwoty AmountAfterTax
. Jeśli określisz tylko AmountBeforeTax
, promocje zostaną zastosowane do elementu AmountBeforeTax
.
Przykład
W tej sekcji znajdziesz podstawowy przykład wiadomości o promocjach, która zawiera elementy wymagane i opcjonalne. Gdy przygotujesz plik, wyślij go do Google za pomocą wiadomości POST do tego punktu końcowego:
https://www.google.com/travel/hotels/uploads/promotions
Więcej informacji o przekazywaniu wiadomości w trybie push/OPUBLIKUJ znajdziesz w sekcji Wysyłanie wiadomości w trybie push.
W przypadku atrybutu hotel_id
obiektu <HotelPromotions>
użyj unikalnego identyfikatora hotelu użytego w systemie do identyfikacji miejsca zakwaterowania. Ta wartość musi być zgodna z identyfikatorem hotelu określonym za pomocą atrybutu <id>
w elemencie <listing>
w pliku danych z listą hoteli. Spójność z systemem jest niezbędna do prawidłowego wyświetlania danych przez Google.
UserCountry
służy do podawania lokalizacji użytkowników (krajów), które kwalifikują się do promocji. Jeśli określisz rabat, tylko użytkownicy z wymienionych krajów będą mogli skorzystać ze zniżki.
Ten przykład pokazuje, jak ustawić 15% rabatu na dłuższy pobyt w przypadku użytkowników w Stanach Zjednoczonych i Włochach:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
id="123_abc"
timestamp="2022-05-30T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<Discount percentage="15"/>
<UserCountries>
<Country code="US"/>
<Country code="IT"/>
</UserCountries>
</Promotion>
</HotelPromotions>
</Promotions>
Więcej przykładów znajdziesz w przykładach promocji.
Instrukcje
Ta sekcja przedstawia rozwiązania problemów, z jakimi możesz mieć do czynienia przy ustawianiu promocji.
Scenariusz 1. Jak dodać promocję z rabatem w przypadku dłuższego pobytu
Opis
Chcesz oferować zniżki w określone dni w przypadku dłuższego pobytu.
Rozwiązanie
Użyj ustawienia FreeNights
, aby dostosować typ rabatu w zależności od liczby noclegów.
Przykład
Z tego przykładu dowiesz się, jak dodać 20% zniżki na 2 noce na każde 7 nocy za pobyt w wybranym zakresie dat rezerwacji. W przypadku podróży złożonej z 15 nocy obowiązuje zniżka 20% na łącznie 4 noce.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
id="123"
timestamp="2022-05-05T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<BookingDates>
<DateRange start="2022-02-01" end="2022-06-30"/>
</BookingDates>
<Discount>
<FreeNights stay_nights="7"
discount_nights="2"
discount_percentage="20"
night_selection="cheapest"
repeats="true"/>
</Discount>
</Promotion>
</HotelPromotions>
</Promotions>
Scenariusz 2. Jak ustawić typy urządzeń
Ustaw devices
, aby wskazać urządzenia użytkowników, które mogą być objęte promocją. Jeśli określisz cenę, rabat będą mogli uzyskać tylko użytkownicy wymienionych urządzeń.
Opis
Chcesz określić, na jakim typie urządzenia można skorzystać z promocji.
Rozwiązanie
Ustaw typ urządzenia na co najmniej jedną z tych wartości: desktop
, tablet
lub mobile
.
Przykład
Z przykładu poniżej dowiesz się, jak określić 25% zniżki dla użytkowników urządzeń mobilnych i tabletów:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
id="123"
timestamp="2022-05-20T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<Discount percentage="25"/>
<Devices>
<Device type="mobile"/>
<Device type="tablet"/>
</Devices>
</Promotion>
</HotelPromotions>
</Promotions>
Scenariusz 3: jak zastąpić starą promocję nowymi
Opis
Obecny zestaw promocji dotyczących usługi jest nieaktualny lub nieprawidłowy i trzeba go zastąpić całkowicie nowym zestawem.
Rozwiązanie
Aby zastąpić promocje, wykonaj działanie overlay
.
Przykład
Przykład poniżej pokazuje 2 pierwotne rabaty w wysokości 20% i 30% obowiązujące w usłudze.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
id="123"
timestamp="2022-05-20T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<BookingDates>
<DateRange start="2022-06-01" end="2022-07-31"/>
</BookingDates>
<Discount percentage="20"/>
</Promotion>
<Promotion id="2">
<BookingDates>
<DateRange start="2022-08-01" end="2022-08-31"/>
</BookingDates>
<Discount percentage="30"/>
</Promotion>
</HotelPromotions>
</Promotions>
Następnie pokazujemy, jak za pomocą atrybutu overlay
zastąpić 2 dotychczasowe promocje pojedynczą promocją w wysokości 15% zniżki na miejsce zakwaterowania.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
id="123"
timestamp="2022-05-25T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1" action="overlay">
<Promotion id="1">
<BookingDates>
<DateRange start="2022-06-01" end="2022-07-31"/>
</BookingDates>
<Discount percentage="15"/>
</Promotion>
</HotelPromotions>
</Promotions>
Scenariusz 4. Jak usunąć jedną lub wszystkie promocje
Opis
Chcesz usunąć jedną lub wszystkie promocje (bez wymiany), ponieważ usługa usunęła wszystkie promocje, nie ustawiając na nich nowych, albo popełniono błąd i trzeba go poprawić.
Rozwiązanie
Działanie delete
pozwala usunąć tylko określone promocje związane z danym miejscem, a działanie overlay
(nie delete
) pozwala usunąć wszystkie istniejące promocje bez ich zastępowania.
Szczegółowe informacje o zastępowaniu promocji z użyciem metody overlay
znajdziesz w scenariuszu 3.
Sample
Z przykładu poniżej dowiesz się, jak usunąć tylko jedną promocję z miejsca zakwaterowania:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
id="123"
timestamp="2022-05-20T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1" action="delete"/>
</HotelPromotions>
</Promotions>
Ten przykład pokazuje, jak usunąć wszystkie promocje bez zastępowania usługi:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
id="123"
timestamp="2022-05-20T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1" action="overlay"/>
</Promotions>
Scenariusz 5. Jak łączyć promocje w stos
Stos określa sposób łączenia promocji. Jeśli nie podasz żadnej wartości, przyjmuje się, że type
ma wartość base
, co oznacza, że najlepsza kwalifikująca się promocja podstawowa jest wybierana i stosowana jako pierwsza, przed innymi promocjami. Gdy atrybut type
Stacking
ma wartość any
, można go łączyć z dowolną inną promocją.
Opis
Chcesz, aby użytkownik mógł skorzystać z wielu promocji dotyczących tej samej usługi jednocześnie.
Rozwiązanie
Aby ustawić wiele rabatów na usługę, użyj funkcji grupowania. Stos może zawierać maksymalnie 1 element base
i 1 element second
, ale nieograniczoną liczbę any
. any
można łączyć z innymi typami z wyjątkiem none
.
Przykład
Ten przykład pokazuje, jak nakładać typy base
, second
i any
. W przypadku zniżki 15%, 25% i 10% cena 100 zł daje łącznie 57,38 zł (100 × 0,85 × 0,75 × 0).
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
id="123"
timestamp="2022-05-20T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<Discount percentage="15"/>
<Stacking type="base"/>
</Promotion>
<Promotion id="2">
<Discount percentage="25"/>
<Stacking type="second"/>
</Promotion>
<Promotion id="3">
<Discount percentage="10"/>
<Stacking type="any"/>
</Promotion>
<Promotion id="4">
<Discount percentage="40"/>
<Stacking type="none"/>
</Promotion>
</HotelPromotions>
</Promotions>
Pamiętaj, że połączony rabat dla promocji skumulowanych 1–3 jest korzystniejszy niż rabat dla promocji 4. Promocji 4 nie można łączyć z innymi promocjami ze względu na typ łączenia (none
). Jeśli promocja 4 obejmuje rabat w wysokości co najmniej 43%, zostanie użyta zamiast kombinacji promocji 1–3.