Zapytania dotyczące zapytań

Wiadomości z zapytaniami to żądania od Google dotyczące aktualizacji cen lub metadanych. Są używane w trybach wyświetlania pull i zmiana cen.

Elementem głównym wiadomości w zapytaniu jest <Query>.

Struktura komunikatu z zapytaniem zależy od typu wiadomości:

  • Ceny: Google wysyła wiadomość w zapytaniu z prośbą o aktualizację cen wybranych hoteli.

  • Metadane: Google wysyła wiadomość w zapytaniu z prośbą o dane o pokojach i pakietach w określonych hotelach.

Punkt końcowy używany przez Google na potrzeby komunikatów zapytań i zapytań o cenę w czasie rzeczywistym określasz podczas początkowej konfiguracji. Aby dowiedzieć się więcej, skontaktuj się z technicznym menedżerem konta (TAM).

Google wysyła wiadomość zapytania jako żądanie HTTP POST z nagłówkiem Content-Type ustawionym na „application/xml” i nagłówkiem User-Agent ustawionym na Google-HotelAdsPrices. Wyjątkiem od tej reguły są ręczne testowanie integracji punktu końcowego ceny za pomocą Google-TravelAds-Live. Te przykładowe zapytania mogą, ale nie muszą, zawierać nagłówek User-Agent.

Szczegółowy opis formatowania komunikatów w zapytaniach znajdziesz w dokumentacji XML zapytań.

Komunikaty z zapytaniem o ceny

Komunikaty o zapytaniach dotyczących cen określają kombinacje miejsca zakwaterowania lub planu podróży, w przypadku których podajesz ceny.

Gdy serwer otrzyma wiadomość dotyczącą zapytania z pricing, powinien w odpowiedzi przesłać komunikat <Transaction> zawierający żądane informacje o cenie.

Więcej informacji znajdziesz na stronie z cennikiem.

Istnieją 3 szczególne typy wiadomości dotyczących zapytań:

  1. Aktualne ceny: jeśli ta opcja jest włączona, zapytania są wysyłane, gdy użytkownik aktywnie przegląda ceny danego miejsca zakwaterowania lub planu podróży, a Ty masz określony czas na odpowiedź.

  2. Z kontekstem: jeśli ta opcja jest włączona, w każdym zapytaniu wysyłanym przez Google wyświetlane są rekomendacje kontekstu użytkownika, a rekomendacje odzwierciedlają najczęstsze typy użytkowników wyszukujących dane miejsce lub ich kombinacje. Stosowanie się do tych zaleceń może zwiększyć efektywność odpowiedzi.

  3. Metadata (Metadane): to prośba o szczegółowe informacje o pokojach i pakietach na potrzeby określonych właściwości.

Zapytania o aktualne ceny

Zapytania o aktualne ceny to żądania od Google dotyczące aktualizacji cen w czasie rzeczywistym w odpowiedzi na wyszukiwania użytkowników. Google otrzymuje od użytkownika żądanie wyszukiwania hotelu i planu podróży, a ponieważ dane o cenach są niedostępne lub nieaktualne, w momencie wyszukiwania prosimy o aktualizację cen. Podczas wyszukiwania cen w czasie rzeczywistym Google próbuje uzyskać cenę i wyświetlić ją w wynikach wyszukiwania.

Czas odpowiedzi na zapytania o cenę w czasie rzeczywistym wynosi zwykle maksymalnie 4000 milisekund. Ten limit jest określony w żądaniu zapytania o aktualne ceny. Jeśli nie uda się udzielić odpowiedzi w wyznaczonym terminie, nie będzie można wziąć udziału w konkretnej możliwości. Zalecamy jednak podanie ceny, aby można było zapisać ją w pamięci podręcznej i używać na potrzeby przyszłych ofert. Połączenie dla odpowiedzi pozostaje otwarte przez 10 minut lub zgodnie z ustawieniami partnera.

Zapytania o aktualne ceny mają również charakter kontekstowy i umożliwiają pobieranie cen dla tych parametrów: kraj użytkownika, typ urządzenia, liczba osób (liczba gości) oraz informacje o tym, czy ci goście są dorośli czy dzieci. Dzięki zapytaniam o aktualne ceny możesz wyświetlać bardziej aktualne ceny, które odpowiadają hasłom wyszukiwanym przez klienta.

Zapytania o aktualne ceny mają być dodatkowym mechanizmem aktualizowania cen. Podstawowym mechanizmem ponownej wyceny jest nadal pobieranie cen lub zmiana cen. Zapytania o aktualny cennik pomagają wypełnić luki, w przypadku których Google nie podaje cen dla hoteli i planów podróży.

Reguły korzystania z zapytań o rzeczywistą cenę

  • Plan podróży nie jest przechowywany w pamięci podręcznej, ponieważ wybrany plan podróży jest nietypowy – na przykład daty przypadają w bardzo odległej przyszłości lub że hotel jest bardzo rzadki wyszukiwane.

  • Żądana data nie jest domyślna.

: Uwaga: daty domyślne nie są dostępne w przypadku zapytań o aktualną 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 rzeczywistych cen, aby nie wysyłać więcej zapytań o ten sam hotel lub plan podróży. Może zażądać zarówno kombinacji hoteli, jak i planów podróży obejmujących wiele hoteli lub jednego planu podróży.

Funkcja aktualna cena z uwzględnieniem kontekstu umożliwia Google wysyłanie określonych zapytań o aktualną cenę na podstawie typu urządzenia użytkownika, kraju wyszukiwania oraz liczby osób (w tym dzieci). Zarówno wiadomość z zapytaniem, jak i wiadomość transakcyjna są rozwinięte, tak aby zawierała element <Context> definiujący parametry zapytania. Ceny otrzymane z zapytań o aktualne ceny wraz z kontekstem mogą być przechowywane w pamięci podręcznej jako pakiet pokoi (jeśli jest to cena za określoną liczbę osób) oraz cenę warunkową (w przypadku kraju użytkownika lub urządzenia użytkownika).

Za pomocą zapytań kontekstowych

Zapytania kontekstowe to zwykłe żądania aktualizacji naszej bazy danych pod kątem określonych kombinacji właściwości lub planu podróży. Zawierają one listę kontekstów użytkownika, które są popularne w przypadku tych kombinacji. Jeśli korzystasz z cen warunkowych, wysyłanie cen we wszystkich możliwych kontekstach z użytkownikami może być kosztowne. Dlatego możesz korzystać z tej listy kontekstów użytkownika, aby ograniczyć swoje odpowiedzi. Ceny zwracane tylko w przypadku określonych kontekstów użytkownika obejmują większość trafnych zapytań.

Wiadomości z zapytaniem o metadane

Wiadomości z zapytaniami o metadane zawierają szczegółowe informacje o pomieszczeniu i pakiecie dla określonych usług.

Gdy otrzymasz wiadomość z zapytaniem o metadane, w odpowiedzi na nią podaj komunikat <Transaction>, który określa cenę żądanych właściwości w elementach <Result>.

Więcej informacji znajdziesz w artykule o definiowaniu metadanych pomieszczenia i pakietu.

Zapytania kontrolne

W tej sekcji dowiesz się, jak kontrolować, które usługi i plany podróży mogą być tematem wiadomości dotyczących zapytań od Google.

Granice planu podróży

Możliwe granice zapytań o cenę określasz za pomocą metody <ItineraryCapabilities>. Definiujesz reguły określające zakres dat i maksymalne długości pobytu.

Możesz ustawić wartości domyślne dla <MaxAdvancePurchase> i <MaxLengthOfStay>, które będą stosowane do wszystkich kombinacji hoteli i planów podróży. Możesz też określić te ustawienia dla grup hoteli.

Przykładowe zapytania

Ta sekcja zawiera kilka przykładów cen wiadomości dotyczących zapytań oraz wiadomości z zapytaniami o metadane. Dodatkowe przykłady znajdziesz w dokumentacji XML zapytań.

Przykładowy plan podróży

Ten przykład przedstawia cenę <Query>, która prosi o aktualizację cen 4 hoteli, dostępnych na 3 noce i 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>

W tym przykładzie żądamy aktualizacji cen każdego hotelu:

5/23/18 - 6/26/18

Przykład zapytania o rzeczywistą cenę

Poniższy przykład przedstawia zapytanie o cenę w czasie rzeczywistym 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 wymaga podania ceny za 1 hotel:

6/23/23 - 6/25/23

Przykładową odpowiedź na to zapytanie dotyczącą komunikatu o transakcji znajdziesz w artykule Informacje o cenach i zasobach reklamowych sal (transakcje) w formacie XML.

Przykład zapytania kontekstowego

Poniżej znajduje się przykład z zapytaniem o kontekst:

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <Checkin>2023-05-23</Checkin>
  <Nights>2</Nights>
  <PropertyContextList>
    <PropertyContext>
      <Property>8675309</Property>
      <!-- In the future, occupancy and 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>

Zapytania dotyczące kontekstu określają tylko kontekst kraju użytkownika. W przyszłości takie zapytania mogą też określać urządzenie użytkownika i liczbę osób.

Zakresy dat zameldowania

Jeśli korzystasz ze zmiany cen, struktura wiadomości w zapytaniu zależy od typu podpowiedzi stosowanej w przypadku zakresów dat, dokładnych planów podróży lub planów podróży z różnych zakresów. Więcej informacji o każdym z tych typów wskazówek znajdziesz w artykule Wiadomości z odpowiedziami na wskazówki.

Ten przykład pokazuje komunikat z ceną <Query> dla 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>

W tym przykładzie żądamy aktualizacji cen za następujące pobyty (dla każdego 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

Noclegownie

Ten przykład pokazuje komunikat z ceną <Query> w przypadku zakresów długości pobytu:

<?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>

W tym przykładzie żądamy aktualizacji cen każdego 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 Plus, które rozpoczęły się przed (ale obejmują) daną 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 aktualizację metadanych informacji o pomieszczeniu i pakiecie w kilku usługach:

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <HotelInfoProperties>
    <Property>pid5</Property>
    <Property>pid8</Property>
    <Property>pid13</Property>
    <Property>pid21</Property>
  </HotelInfoProperties>
</Query>

Na tego typu wiadomość w zapytaniu odpowiadasz za pomocą komunikatu transakcji, który definiuje metadane pokoju i pakietu. Więcej informacji znajdziesz w artykule o definiowaniu metadanych pomieszczenia i pakietu.