Pesan Kueri

Pesan kueri adalah permintaan dari Google untuk pembaruan harga atau metadata. Keduanya digunakan dengan mode pengiriman Pull dan Harga yang Diubah.

Elemen root pesan Kueri adalah <Query>.

Struktur pesan Kueri bergantung pada jenis pesan:

  • Harga: Google mengirimkan pesan Kueri yang meminta pembaruan harga untuk hotel tertentu.
  • Metadata: Google mengirimkan pesan Kueri yang meminta data tentang kamar dan Paket Kamar di hotel yang ditentukan.

Anda menentukan endpoint yang digunakan Google untuk pesan Kueri (dan Kueri Harga Real Time) selama konfigurasi awal. Untuk mendapatkan informasi selengkapnya, hubungi Manajer Akun Teknis (TAM).

Google mengirimkan pesan Kueri sebagai permintaan POST HTTP dengan header Content-Type ditetapkan ke "application/xml" dan header User-Agent ditetapkan ke Google-HotelAdsPrices. Pengecualian untuk aturan ini terjadi selama pengujian manual integrasi endpoint harga melalui Google-TravelAds-Live. Kueri sampel tersebut mungkin atau mungkin tidak berisi header User-Agent.

Format mendetail untuk pesan Kueri dapat ditemukan di Referensi XML Kueri.

Pesan Kueri Harga

Pesan Kueri harga menentukan kombinasi properti/itinerari yang Anda berikan, lalu harganya.

Saat server Anda menerima pesan Kueri harga, server harus merespons dengan pesan <Transaction> yang berisi informasi harga yang diminta.

Untuk mengetahui informasi selengkapnya, lihat Ringkasan Harga.

Dalam beberapa kasus, pesan Kueri meminta harga untuk penelusuran real-time. Dalam kasus ini, Anda memiliki jangka waktu yang ditentukan untuk merespons. Ini dikenal sebagai Kueri Harga Real Time.

Kueri Harga Real Time

Kueri Harga Real Time adalah permintaan Google untuk pembaruan harga real time sebagai respons terhadap penelusuran pengguna akhir. Google menerima permintaan penelusuran dari pengguna akhir untuk kombinasi hotel/itinerari, dan karena data harga tidak tersedia atau tidak aktual, Google meminta pembaruan harga dari Anda saat penelusuran dilakukan. Dengan Kueri Harga Real Time, Google mencoba mendapatkan harga dan menampilkannya di hasil pada saat penelusuran.

Semua permintaan Kueri Harga Real Time memiliki batas waktu respons, biasanya hingga 4.000 milidetik (batas akan ditentukan dalam permintaan Kueri Harga Real Time). Jika respons tidak dapat diberikan dalam batas waktu yang diberikan, maka akan menghasilkan partisipasi yang terlewat untuk peluang tertentu. Namun, sebaiknya Anda tetap memberikan harga agar dapat di-cache dan digunakan untuk peluang mendatang. Sambungan untuk tanggapan akan tetap terbuka selama sepuluh menit (atau seperti yang ditentukan dalam konfigurasi partner).

Kueri Harga Real Time juga kontekstual dan dapat mengambil harga untuk parameter berikut: negara pengguna, jenis perangkat, tingkat keterisian (jumlah tamu), dan apakah tamu tersebut adalah orang dewasa atau anak-anak. Dengan Kueri Harga Real Time, Anda dapat menampilkan lebih banyak harga terbaru yang sesuai dengan apa yang ditelusuri pelanggan.

Kueri Harga Real Time dimaksudkan sebagai mekanisme sekunder untuk pembaruan harga. (Mekanisme utama untuk pengaturan ulang harga masih melalui Pull atau Harga yang Diubah.) Kueri Harga Real Time membantu mengisi kekosongan ketika Google tidak memiliki harga untuk kombinasi hotel/itinerary.

Kueri Harga Real Time biasanya digunakan dalam keadaan berikut:

  • Tidak ada data yang di-cache untuk itinerari yang ditentukan, baik karena itinerari yang diminta standar (seperti jarak tanggal mendatang yang sangat jauh) atau hotel sangat jarang ditelusuri.
  • Tanggal yang diminta adalah tanggal non-default. (Perhatikan bahwa tanggal default tidak memenuhi syarat untuk Kueri Harga Real Time. Kueri Harga Real Time hanya akan diminta untuk tanggal non-default.)

Google biasanya menyimpan cache hasil Harga Real Time sehingga hotel/itinerary yang sama tidak perlu dikueri dengan Kueri Harga Real Time lagi.

Kueri Harga Real Time dapat meminta kombinasi hotel/itinerary tunggal serta kombinasi multi-hotel/itinerary tunggal.

Harga Real Time dengan fitur Konteks memungkinkan Google untuk mengirimkan permintaan Harga Real Time tertentu berdasarkan jenis perangkat pengguna, negara tempat mereka menelusuri, dan jumlah tamu termasuk anak-anak. Pesan Kueri dan pesan Transaksi diperluas untuk menyertakan elemen <Context> yang akan menentukan parameter kueri. Harga yang diterima dari Kueri Harga Real Time dengan Konteks dapat di-cache sebagai Paket Kamar (jika merupakan harga untuk jumlah tamu tertentu) dan/atau Tarif Bersyarat (jika untuk negara pengguna atau perangkat pengguna).

Pesan Kueri Metadata

Pesan Kueri Metadata berisi detail tentang ruangan dan Paket Kamar untuk properti yang ditentukan.

Saat menerima pesan Kueri metadata, Anda harus merespons dengan pesan <Transaction> yang menentukan harga untuk properti yang diminta di elemen <Result>.

Untuk mengetahui informasi selengkapnya, lihat Menentukan metadata paket dan kamar.

Mengontrol kueri

Bagian ini menjelaskan cara Anda mengontrol properti dan/atau itinerari yang dapat menjadi subjek pesan Kueri dari Google.

Batas itinerari

Anda menentukan kemungkinan batas kueri harga menggunakan <ItineraryCapabilities>. Anda menentukan aturan yang menentukan rentang tanggal dan lama menginap maksimum yang Anda dukung.

Anda dapat menetapkan nilai default untuk <MaxAdvancePurchase> dan <MaxLengthOfStay> yang berlaku untuk semua kombinasi hotel/itinerari. Anda juga dapat menentukan setelan ini untuk grup hotel.

Contoh pesan kueri

Bagian ini menampilkan beberapa contoh pesan Kueri harga dan pesan Kueri metadata. Contoh tambahan dapat ditemukan di Referensi XML Kueri.

Contoh itinerari

Contoh berikut menunjukkan <Query> harga yang meminta pembaruan harga untuk 4 hotel, yang tersedia untuk 3 malam dari tanggal 10 Juni 2018:

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <Checkin>2018-06-10</Checkin>
  <Nights>3</Nights>
  <PropertyList>
    <Property>pid5</Property>
    <Property>pid8</Property>
    <Property>pid13</Property>
    <Property>pid21</Property>
  </PropertyList>
</Query>

Contoh ini meminta pembaruan harga untuk tanggal menginap berikut saja (untuk setiap hotel):

6/10/18 - 6/13/18

Kueri Harga Real Time dengan contoh Konteks

Contoh berikut menunjukkan Kueri Harga Real Time dengan batas waktu respons 500 milidetik:

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

Contoh ini meminta harga untuk tanggal menginap berikut saja (untuk satu hotel):

07/23/17 - 7/25/17

Contoh respons pesan transaksi untuk kueri ini dapat ditemukan dalam Referensi XML Harga & Inventaris Kamar (Transaksi).

Rentang tanggal check in

Jika Anda menggunakan Harga yang Diubah, struktur pesan Kueri bergantung pada jenis petunjuk yang Anda gunakan (rentang tanggal check in, itinerari pasti, atau itinerari dengan rentang). Untuk mengetahui informasi selengkapnya tentang setiap jenis petunjuk ini, lihat Pesan Respons Petunjuk.

Contoh berikut menunjukkan pesan <Query> harga untuk rentang tanggal check in:

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <FirstDate>2018-06-10</FirstDate>
  <LastDate>2018-06-12</LastDate>
  <Nights>3</Nights>
  <PropertyList>
    <Property>pid5</Property>
    <Property>pid8</Property>
    <Property>pid13</Property>
    <Property>pid21</Property>
  </PropertyList>
</Query>

Contoh ini meminta pembaruan harga untuk tanggal menginap berikut (untuk setiap hotel):

6/10/18 - 6/11/18
6/10/18 - 6/12/18
6/10/18 - 6/13/18
6/11/18 - 6/12/18
6/11/18 - 6/13/18
6/11/18 - 6/14/18
6/12/18 - 6/13/18
6/12/18 - 6/14/18
6/12/18 - 6/15/18

Itinerari dengan rentang (atau Rentang Menginap)

Contoh berikut menampilkan pesan <Query> harga untuk rentang tanggal menginap:

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <FirstDate>2018-06-10</FirstDate>
  <LastDate>2018-06-13</LastDate>
  <AffectedNights>3</AffectedNights>
  <PropertyList>
    <Property>pid5</Property>
    <Property>pid8</Property>
    <Property>pid13</Property>
    <Property>pid21</Property>
  </PropertyList>
</Query>

Contoh ini meminta pembaruan harga untuk tanggal menginap berikut (untuk setiap hotel):

6/10/18 - 6/11/18
6/10/18 - 6/12/18
6/10/18 - 6/13/18
6/11/18 - 6/12/18
6/11/18 - 6/13/18
6/11/18 - 6/14/18
6/12/18 - 6/13/18
6/12/18 - 6/14/18
6/12/18 - 6/15/18

Plus tanggal menginap yang dimulai sebelum (tetapi termasuk) malam berikut:

6/7/18 - 6/10/18
6/8/18 - 6/10/18
6/8/18 - 6/11/18
6/9/18 - 6/10/18
6/9/18 - 6/11/18
6/9/18 - 6/12/18

Pesan kueri metadata

Contoh berikut menampilkan pesan <Query> yang meminta pembaruan metadata untuk kamar dan Paket Kamar untuk beberapa properti:

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

Anda perlu merespons jenis pesan Kueri ini dengan pesan Transaksi yang menentukan metadata kamar dan Paket Kamar. Untuk mengetahui informasi selengkapnya, lihat Menentukan metadata paket dan kamar.