Wiadomości z zapytaniami to prośby Google o aktualizacje cen lub metadanych. Są one używane w trybach dostarczania Pull i Changed Pricing.
Elementem głównym wiadomości z zapytaniami jest <Query>.
Struktura wiadomości z zapytaniami zależy od typu wiadomości:
Ceny: Google wysyła wiadomość z zapytaniem o aktualizacje cen w określonych hotelach.
Metadane: Google wysyła wiadomość z zapytaniem o dane dotyczące pokoju i pakietu w określonych hotelach.
Podczas wstępnej konfiguracji określasz punkt końcowy, którego Google używa w przypadku wiadomości z zapytaniami i zapytań o rzeczywistą cenę. Aby dowiedzieć się więcej, skontaktuj się z Technicznym menedżerem konta.
Google wysyła wiadomość z zapytaniem jako żądanie HTTP POST z nagłówkiem Content-Type ustawionym na „application/xml” i nagłówkiem User-Agent ustawionym na Google-HotelAdsPrices. Wyjątek od tej reguły występuje podczas ręcznego testowania integracji punktu końcowego ceny za pomocą Google-TravelAds-Live. Te przykładowe zapytania mogą zawierać nagłówek User-Agent lub nie.
Szczegółowe informacje o formatowaniu wiadomości z zapytaniami znajdziesz w artykule Query XML Reference.
Wiadomości z zapytaniami o ceny
Wiadomości z zapytaniami o ceny określają kombinacje obiektu i planu podróży, dla których podajesz ceny.
Gdy serwer otrzyma wiadomość z zapytaniem o ceny, powinien odpowiedzieć wiadomością
<Transaction> zawierającą żądane informacje o cenach.
Więcej informacji znajdziesz w artykule Omówienie cen.
Istnieją 3 specjalne typy wiadomości z zapytaniami:
Rzeczywista cena: jeśli ta opcja jest włączona, zapytania są wysyłane, gdy użytkownik aktywnie przegląda ceny określonej kombinacji obiektu i planu podróży, a Ty masz określony czas na odpowiedź.
Z kontekstem: jeśli ta opcja jest włączona, w każdym zapytaniu wysyłanym przez Google znajdują się rekomendacje dotyczące kontekstu użytkownika. Rekomendacje odzwierciedlają najczęstsze typy użytkowników, którzy szukają danej kombinacji obiektu i planu podróży. Stosowanie się do tych rekomendacji może zwiększyć skuteczność Twoich odpowiedzi.
Metadane: jest to prośba o szczegółowe informacje o pokojach i pakietach w określonych obiektach.
Zapytania o rzeczywistą cenę
Zapytania o rzeczywistą cenę to prośby Google o aktualizacje cen w czasie rzeczywistym w odpowiedzi na wyszukiwania użytkowników. Google otrzymuje od użytkownika żądanie wyszukiwania dotyczące kombinacji hotelu i planu podróży, a ponieważ dane o cenach są niedostępne lub nieaktualne, Google prosi Cię o aktualizację ceny w momencie wyszukiwania. Dzięki zapytaniom o rzeczywistą cenę Google próbuje uzyskać cenę i wyświetlić ją w wynikach w momencie wyszukiwania.
Wszystkie żądania zapytań o rzeczywistą cenę mają limit czasu odpowiedzi, który zwykle wynosi do 4000 milisekund. Limit ten jest określony w żądaniu zapytania o rzeczywistą cenę. Jeśli nie można udzielić odpowiedzi w określonym czasie, oznacza to przegapioną szansę na udział w konkretnej okazji. Zalecamy jednak podanie ceny, aby można ją było zapisać w pamięci podręcznej i wykorzystać w przyszłości. Połączenie na potrzeby odpowiedzi pozostaje otwarte przez 10 minut lub zgodnie z konfiguracją partnera.
Zapytania o rzeczywistą cenę są też kontekstowe i mogą pobierać ceny na podstawie tych parametrów: kraj użytkownika, typ urządzenia, liczba osób (liczba gości) oraz to, czy goście są dorośli czy dziećmi. Dzięki zapytaniom o rzeczywistą cenę możesz wyświetlać bardziej aktualne ceny, które odpowiadają wyszukiwaniu klienta.
Zapytania o rzeczywistą cenę mają być dodatkowym mechanizmem aktualizacji cen. Głównym mechanizmem zmiany cen jest nadal Pull lub Changed Pricing. Zapytania o rzeczywistą cenę pomagają wypełnić luki, w których Google nie ma cen dla kombinacji hotelu i planu podróży.
Zasady korzystania z zapytań o rzeczywistą cenę
Nie ma danych w pamięci podręcznej dla danego planu podróży, ponieważ żądany plan podróży jest nietypowy, np. daty są bardzo odległe lub hotel jest bardzo rzadko wyszukiwany.
Żądana data nie jest datą domyślną.
: Uwaga: daty domyślne nie kwalifikują się do zapytań o rzeczywistą cenę. Zapytania o rzeczywistą cenę są wysyłane tylko w przypadku dat innych niż domyślne.
Google zwykle zapisuje w pamięci podręcznej wyniki rzeczywistej ceny, aby nie wysyłać ponownie zapytań o ten sam hotel lub plan podróży. Może wysyłać zapytania zarówno o pojedyncze kombinacje hotelu i planu podróży, jak i o kombinacje wielu hoteli i jednego planu podróży.
Funkcja Rzeczywista cena z kontekstem umożliwia Google wysyłanie konkretnych zapytań o rzeczywistą cenę na podstawie typu urządzenia użytkownika, kraju, z którego wyszukuje, oraz liczby osób, w tym dzieci. Zarówno wiadomość z zapytaniem, jak i wiadomość transakcyjna są rozszerzone o element
<Context>, który określa parametry zapytania. Ceny otrzymane z
zapytań o rzeczywistą cenę z kontekstem można zapisać w pamięci podręcznej jako pakiet z pokojem,
jeśli jest to cena dla określonej liczby osób, oraz jako cenę warunkową,
jeśli jest to cena dla kraju użytkownika lub urządzenia użytkownika.
Zapytania z kontekstem
Zapytania z kontekstem to zwykłe prośby o aktualizację naszej bazy danych dla określonych kombinacji obiektu i planu podróży. Zawierają one listę kontekstów użytkowników, które są popularne w przypadku tych kombinacji. Jeśli używasz cen warunkowych, wysyłanie cen dla wszystkich możliwych kontekstów użytkowników może być kosztowne, dlatego możesz użyć tej listy kontekstów użytkowników, aby ograniczyć odpowiedź. Zwracanie cen tylko dla określonych kontekstów użytkowników obejmuje zdecydowaną większość odpowiednich zapytań użytkowników.
Jeśli chcesz otrzymywać zapytania z kontekstem, skontaktuj się z Technicznym menedżerem konta. Może on potwierdzić, że jesteś gotowy na otrzymywanie takich wiadomości, a następnie wprowadzić zmianę konfiguracji, aby rozpocząć wysyłanie do Ciebie kontekstów użytkowników w zapytaniach.
Wiadomości z zapytaniami o metadane
Wiadomości z zapytaniami o metadane zawierają szczegółowe informacje o pokojach i pakietach w określonych obiektach.
Gdy otrzymasz wiadomość z zapytaniem o metadane, powinnaś odpowiedzieć
wiadomością <Transaction>, która określa ceny żądanych obiektów
w elementach <Result>.
Więcej informacji znajdziesz w artykule Definiowanie metadanych pokoju i pakietu.
Przykłady wiadomości z zapytaniami
W tej sekcji znajdziesz kilka przykładów wiadomości z zapytaniami o ceny i wiadomość z zapytaniem o metadane. Dodatkowe przykłady znajdziesz w artykule Query XML Reference.
Przykładowy plan podróży
Poniższy przykład pokazuje zapytanie <Query> o ceny, które prosi o aktualizacje cen
w 4 hotelach, dostępnych przez 3 noce, począwszy od 23 maja 2023 r.:
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<Checkin>2023-05-23</Checkin>
<Nights>3</Nights>
<PropertyList>
<Property>pid5</Property>
<Property>pid8</Property>
<Property>pid13</Property>
<Property>pid21</Property>
</PropertyList>
</Query>
Ten przykład prosi o aktualizacje cen w każdym hotelu:
5/23/18 - 6/26/18
Przykład zapytania o rzeczywistą cenę
Poniższy przykład pokazuje zapytanie o rzeczywistą cenę z limitem czasu odpowiedzi wynoszącym 500 milisekund:
<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
<!-- Note that the latencySensitive attribute is not present by default but can
be configured to be displayed, on request, by Google. This attribute is only
displayed for a Live Pricing Query request -->
<Checkin>2023-05-23</Checkin>
<Nights>2</Nights>
<DeadlineMs>500</DeadlineMs>
<!-- The deadline represents the timeframe by which a response will need to be
received by. This element is only displayed for a Live Pricing Query request -->
<PropertyList>
<Property>6781291</Property>
</PropertyList>
<!-- Note that Context tags are potentially repeatable -->
<Context>
<!-- The total number of guests occupying the room (adults+children) -->
<Occupancy>3</Occupancy>
<OccupancyDetails>
<NumAdults>2</NumAdults>
<!-- In this example one of the 3 guests is a 5yr old child -->
<Children>
<Child age="5"/>
</Children>
</OccupancyDetails>
<!-- The user was located in the US when this search was made -->
<UserCountry>US</UserCountry>
<!-- The user was searching from a mobile device at the time of search -->
<UserDevice>mobile</UserDevice>
</Context>
</Query>
Ten przykład prosi o cenę za jeden hotel:
6/23/23 - 6/25/23
Przykładową odpowiedź na to zapytanie w postaci wiadomości z transakcją znajdziesz w artykule Pricing & Room Inventory (Transactions) XML Reference.
Przykłady zapytań z kontekstem
Poniżej znajdziesz przykłady zapytań z kontekstem:
Podstawowe zapytanie z kontekstem
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<Checkin>2023-05-23</Checkin>
<Nights>2</Nights>
<PropertyContextList>
<PropertyContext>
<Property>8675309</Property>
<!-- In the future, device might be specified -->
<Context><UserCountry>US</UserCountry></Context>
<Context><UserCountry>GB</UserCountry></Context>
</PropertyContext>
<PropertyContext>
<Property>8675310</Property>
<Property>8675311</Property>
<Context><UserCountry>CA</UserCountry></Context>
</PropertyContext>
</PropertyContextList>
</Query>
Zapytanie z kontekstem obejmujące liczbę osób
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<Checkin>2025-07-10</Checkin>
<Nights>2</Nights>
<PropertyContextList>
<PropertyContext>
<Property>8675309</Property>
<Context>
<UserCountry>US</UserCountry>
</Context>
<Occupancy>3</Occupancy>
<OccupancyDetails>
<NumAdults>2</NumAdults>
<Children>
<Child age="7"/>
</Children>
</OccupancyDetails>
</PropertyContext>
<PropertyContext>
<Property>8675310</Property>
<Context>
<UserCountry>GB</UserCountry>
</Context>
<Occupancy>1</Occupancy>
<OccupancyDetails>
<NumAdults>1</NumAdults>
</OccupancyDetails>
</PropertyContext>
</PropertyContextList>
</Query>
Zapytania z kontekstem określają tylko kontekst kraju użytkownika. W przyszłości takie zapytania mogą też określać urządzenie użytkownika.
Zakresy dat zameldowania
Jeśli używasz Changed Pricing, struktura wiadomości z zapytaniem zależy od typu podpowiedzi, którego używasz w przypadku zakresów dat zameldowania, dokładnych planów podróży lub planów podróży w określonym zakresie. Więcej informacji o każdym z tych typów podpowiedzi znajdziesz w artykule Hint Response Messages.
Poniższy przykład pokazuje wiadomość z zapytaniem <Query> o ceny w przypadku zakresów dat zameldowania:
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<FirstDate>2023-05-23</FirstDate>
<LastDate>2023-05-26</LastDate>
<Nights>3</Nights>
<PropertyList>
<Property>pid5</Property>
<Property>pid8</Property>
<Property>pid13</Property>
<Property>pid21</Property>
</PropertyList>
</Query>
Ten przykład prosi o aktualizacje cen w przypadku tych pobytów (w każdym hotelu):
5/23/23 - 5/24/23
5/23/23 - 5/25/23
5/23/23 - 5/26/23
5/24/23 - 5/25/23
5/24/23 - 5/26/23
5/24/23 - 5/27/23
5/24/23 - 5/26/23
5/25/23 - 5/27/23
5/25/23 - 5/28/23
Pobyty w określonym zakresie
Poniższy przykład pokazuje wiadomość z zapytaniem <Query> o ceny w przypadku pobytów w określonym zakresie:
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<FirstDate>2023-05-23</FirstDate>
<LastDate>2023-05-26</LastDate>
<AffectedNights>3</AffectedNights>
<PropertyList>
<Property>pid5</Property>
<Property>pid8</Property>
<Property>pid13</Property>
<Property>pid21</Property>
</PropertyList>
</Query>
Ten przykład prosi o aktualizacje cen w każdym hotelu:
5/23/23 - 5/24/23
5/23/23 - 5/25/23
5/23/23 - 5/26/23
5/24/23 - 5/25/23
5/24/23 - 5/26/23
5/24/23 - 5/27/23
5/25/23 - 5/26/23
5/25/23 - 5/27/23
5/25/23 - 5/28/23
Pobyty, które rozpoczęły się przed daną nocą (ale obejmują tę noc):
5/20/23 - 5/23/23
5/21/23 - 5/23/23
5/21/23 - 5/24/23
5/22/23 - 5/23/23
5/22/23 - 5/24/23
5/22/23 - 5/25/23
Wiadomość z zapytaniem o metadane
Poniższy przykład pokazuje wiadomość <Query>, która prosi o aktualizacje metadanych
dotyczących informacji o pokojach i pakietach w kilku obiektach:
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<HotelInfoProperties>
<Property>pid5</Property>
<Property>pid8</Property>
<Property>pid13</Property>
<Property>pid21</Property>
</HotelInfoProperties>
</Query>
Na ten typ wiadomości z zapytaniem odpowiadasz wiadomością transakcyjną, która określa metadane pokoju i pakietu. Więcej informacji znajdziesz w artykule Definiowanie metadanych pokoju i pakietu.