Zapytania dotyczące zapytań

Zapytania to żądania od Google dotyczące aktualizacji cen lub metadanych. Są używane zarówno w trybach wyświetlania pobierania, jak i zmiany cen.

Elementem głównym wiadomości na temat zapytań jest <Query>.

Struktura wiadomości Zapytanie zależy od typu komunikatu:

  • Ceny: Google wysyła komunikat zapytania z prośbą o zaktualizowanie cen określonych hoteli.

  • Metadane: Google wysyła wiadomość z zapytaniem, która prosi o informacje o pokojach i pakietach w podanych hotelach.

Punkt końcowy, którego Google używa na potrzeby wiadomości zapytań i zapytań o cenę na żywo, musisz określić podczas początkowej konfiguracji. Aby dowiedzieć się więcej, skontaktuj się z technicznym menedżerem konta.

Google wysyła wiadomość Query 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ą funkcji Google-TravelAds-Live. Te przykładowe zapytania mogą, ale nie muszą, zawierać nagłówek User-Agent.

Szczegółowe formatowanie wiadomości dotyczących zapytań znajdziesz w artykule Dokumentacja zapytań w formacie XML.

Wiadomości z zapytaniami o cenę

Komunikaty zapytania dotyczące cen określają kombinacje miejsc zakwaterowania lub planów podróży, dla których podajesz ceny.

Gdy serwer otrzyma komunikat z pytaniem o pricing, powinien w odpowiedzi wysłać komunikat <Transaction> zawierający żądane informacje o cenach.

Więcej informacji znajdziesz w sekcji Omówienie cen.

Istnieją 3 specjalne typy wiadomości dotyczących zapytań:

  1. Aktualna cena: jeśli ta opcja jest włączona, zapytania są wysyłane, gdy użytkownik aktywnie przegląda ceny określonej kombinacji usługi lub planu podróży i masz określony czas na odpowiedź.

  2. Z kontekstem: jeśli ta opcja jest włączona, rekomendacje dotyczące kontekstu użytkownika są uwzględniane w każdym zapytaniu wysyłanym przez Google, a rekomendacje odzwierciedlają najczęstsze typy użytkowników, którzy szukają danej usługi lub połączenia planu podróży. Stosowanie się do nich może zwiększyć skuteczność Twoich odpowiedzi.

  3. Metadata (Metadane): jest to żądanie informacji o pokojach i pakietach związanych z określonymi usługami.

Zapytania o rzeczywistą cenę

Zapytania o rzeczywistą cenę to prośby od Google o aktualizację cen w czasie rzeczywistym w odpowiedzi na wyszukiwania użytkowników. Google otrzymuje od użytkownika zapytanie dotyczące kombinacji hotelu lub planu podróży. Dane o cenach są niedostępne lub nieaktualne, dlatego w momencie wyszukiwania Google prosi Cię o aktualizację ceny. W przypadku zapytań o rzeczywistą cenę Google próbuje uzyskać cenę i wyświetlać ją w wynikach wyszukiwania w momencie wyszukiwania.

Wszystkie żądania dotyczące aktywnej ceny mają limit czasu odpowiedzi, który zwykle wynosi do 4000 milisekund. Ten limit jest określony w żądaniu zapytania o rzeczywistą cenę. Jeśli nie uda się udzielić odpowiedzi w wyznaczonym terminie, stracisz możliwość skorzystania z niej. Zalecamy jednak podanie ceny, tak aby można było ją zapisać w pamięci podręcznej i wykorzystać przy kolejnych okazjach. Połączenie dla odpowiedzi pozostaje otwarte przez 10 minut lub zgodnie z konfiguracją partnera.

Zapytania o rzeczywistą cenę mają też charakter kontekstowy i mogą pobierać ceny według tych parametrów: kraj użytkownika, typ urządzenia, liczba osób (liczba gości) oraz to, czy goście to dorośli czy dzieci. Dzięki zapytaniu o rzeczywistą cenę możesz wyświetlać bardziej aktualne ceny, które odpowiadają temu, czego szuka klient.

Zapytania o rzeczywistą cenę mają być dodatkowym mechanizmem aktualizowania cen. Podstawowym mechanizmem ponownej wyceny są pobieranie pobierania lub zmiany cen. Zapytania o rzeczywistą cenę pomagają wypełnić luki w sytuacjach, gdy Google nie ma cen dla kombinacji hoteli lub planów podróży.

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

  • Brak danych o podanym planie podróży w pamięci podręcznej, ponieważ żądany plan podróży jest nietypowy, np. daty odlegają bardzo od przyszłości lub hotel jest bardzo rzadki.

  • Żądana data nie jest domyślna.

Uwaga: w przypadku zapytań o rzeczywistą cenę nie można używać dat domyślnych. 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 zapytania dotyczące tego samego hotelu lub planu podróży nie były ponownie wysyłane. Może prosić o połączenia z pojedynczym hotelem lub planem podróży albo o połączenie z wieloma hotelami lub z jednym planem podróży.

Funkcja Aktualna cena z kontekstem umożliwia Google wysyłanie konkretnych zapytań o rzeczywistą cenę na podstawie typu urządzenia użytkownika, kraju, z którego przeprowadza wyszukiwanie, oraz liczby osób, w tym dzieci. Zarówno wiadomość z zapytania, jak i wiadomość dotycząca transakcji zostaną rozwinięte, aby uwzględnić element <Context>, który określa parametry zapytania. Ceny otrzymane z zapytań o rzeczywistą cenę z kontekstem można zapisywać w pamięci podręcznej jako pakiety pokojów, jeśli jest to cena za określoną liczbę osób oraz cena warunkowa, o ile dotyczy to kraju lub urządzenia użytkownika.

Z zapytaniami kontekstowymi

Zapytania kontekstowe to regularne żądania aktualizacji naszej bazy danych pod kątem określonych kombinacji właściwości lub planów podróży. Zawierają listę kontekstów użytkownika, które są popularne w przypadku tych kombinacji. W przypadku korzystania z cen warunkowych wysyłanie stawek we wszystkich możliwych kontekstach użytkownika może być kosztowne. Dlatego możesz ograniczać odpowiedzi na podstawie tej listy kontekstów użytkownika. Zwracanie cen tylko dla określonych kontekstów użytkownika obejmuje większość trafnych zapytań.

Wiadomości zapytań o metadane

Zapytania z metadanymi zawierają szczegółowe informacje o pokojach i pakietach dotyczące określonych właściwości.

Gdy otrzymasz komunikat zapytania Metadane, musisz w odpowiedzi wysłać komunikat <Transaction>, który określa ceny żądanych właściwości w elementach <Result>.

Więcej informacji znajdziesz w artykule Definiowanie metadanych sal i pakietów.

Zapytania kontrolne

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

Granice planu podróży

Możliwe granice zapytań o ceny określasz za pomocą narzędzia <ItineraryCapabilities>. Definiujesz reguły, które określają zakres dat i maksymalne długości pobytu.

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

Przykłady zapytań dotyczących wiadomości

W tej sekcji znajdziesz kilka przykładów komunikatów zapytań o cenach i wiadomości zapytań o metadane. Więcej przykładów znajdziesz w dokumentacji kodu XML zapytania.

Przykładowy plan podróży

Ten przykład przedstawia cenę <Query>, która prosi o aktualizację cen dla 4 hoteli dostępnych na 3 noce 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 wysyła prośbę o aktualizację cen dla każdego hotelu:

5/23/18 - 6/26/18

Przykład zapytania o rzeczywistą cenę

Ten przykład przedstawia 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 wymaga podania ceny za jeden hotel:

6/23/23 - 6/25/23

Przykładową odpowiedź na to zapytanie znajdziesz w dokumentacji XML dotyczącej cen i zasobów reklamowych (transakcje).

Przykład zapytania z kontekstem

Przykład zapytania 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, 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 o kontekst określają tylko kontekst kraju użytkownika. W przyszłości takie zapytania mogą też określać urządzenie i liczbę osób.

Zakresy dat zameldowania

Jeśli korzystasz ze zmiany cen, struktura komunikatu Zapytanie zależy od typu wskazówki używanego w przypadku zakresów dat zameldowania, dokładnych planów podróży lub zróżnicowanych planów podróży. Więcej informacji o poszczególnych typach wskazówek znajdziesz w artykule Komunikaty z odpowiedziami na podpowiedź.

Ten przykład pokazuje komunikat o cenie <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 prosimy o aktualizację cen za następujące pobyty (w przypadku 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

Pobyty na dłuższy pobyt

Ten przykład przedstawia komunikat z ceną <Query> w przypadku pobytu na dłuższy czas:

<?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 wysyła prośbę o aktualizację cen 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/25/23 - 5/26/23
5/25/23 - 5/27/23
5/25/23 - 5/28/23

Plus pobyty, które rozpoczęły się przed określoną noc (ale włącznie):

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ść zapytania o metadane

Poniższy przykład pokazuje wiadomość <Query>, która prosi o zaktualizowanie metadanych pokoju i pakietu kilku usług:

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

Do odpowiedzi na tego typu zapytania służą wiadomości dotyczące transakcji, które definiują metadane pokoju i pakietu. Więcej informacji znajdziesz w artykule Definiowanie metadanych sal i pakietów.