Pesan Respons Petunjuk

Saat Google mengirimkan pesan Permintaan Petunjuk, server Anda harus merespons dengan pesan Respons Petunjuk yang menentukan hotel yang harganya telah berubah sejak terakhir kali Google menerima Respons Petunjuk yang berhasil dari server yang sama. Jika ada perubahan harga, Google kemudian mengirimkan <Query> yang mengambil data harga yang diperbarui untuk hotel dan itinerari yang ditunjukkan.

Untuk ringkasan proses penetapan ulang harga, lihat Ringkasan Harga.

Pesan Respons Petunjuk menggunakan metode berikut untuk menetapkan ulang harga hotel yang dipilih dan itinerarinya:

Elemen root pesan Respons Petunjuk adalah <Hint>. Anda meminta hotel atau itinerari agar diperbarui menggunakan satu atau beberapa <Item> elemen. Satu pesan Respons Petunjuk dapat menentukan sejumlah elemen <Item>.

Setiap pesan Respons Petunjuk harus menentukan minimal satu <Property> elemen untuk setiap <Item>. <Property> mengidentifikasi hotel menggunakan ID yang sama seperti Daftar Hotel. Secara default, Anda dapat menentukan satu ID hotel untuk setiap <Item> blok. Namun, Anda dapat menginstruksikan Google untuk mengizinkan beberapa hotel dalam blok item jika Anda menggunakan rentang tanggal check in atau menginap dengan rentang untuk penetapan ulang harga.

Alur permintaan dan respons itinerari pasti

Pesan petunjuk dapat didasarkan pada itinerari individual seperti kombinasi tanggal check-in dan panjang masa inap. Dalam hal ini, Anda menentukan tanggal check-in dan panjang masa inap untuk hotel Anda, dan Google mengambil data harga baru hanya untuk itinerari tersebut.

Respons partner

Pesan Respons Petunjuk berikut menentukan satu properti dan satu itinerari:

<Hint>
  <Item>
    <Property>12345</Property>
    <Stay>
      <CheckInDate>2023-05-20</CheckInDate>
      <LengthOfStay>3</LengthOfStay>
    </Stay>
  </Item>
</Hint>

Respons Google

Google merespons pesan Respons Petunjuk Anda dengan <Query> yang mirip dengan berikut ini:

<Query>
  <Checkin>2023-05-20</Checkin>
  <Nights>3</Nights>
  <PropertyList>
    <Property>12345</Property>
  </PropertyList>
</Query>

Membuat <Transaction>

Kemudian, Anda diharapkan untuk membuat <Transaction> dengan pembaruan harga untuk hotel untuk lama menginap berikut:

5/20/23 - 5/23/23

Alur permintaan dan respons rentang tanggal check in

Pesan Respons Petunjuk dapat menentukan rentang tanggal check in, dimulai dengan tanggal check in pertama dan diakhiri dengan tanggal check in terakhir. Saat Google mengambil data harga baru, Google mengambil itinerari untuk setiap tanggal check-in untuk hotel yang dimulai dengan tanggal tersebut dan diperpanjang hingga panjang masa inap yang Anda tentukan.

Tanggal dengan rentang partner

Contoh berikut untuk pesan Respons Petunjuk menentukan satu properti dengan rentang tanggal check in:

<Hint>
  <Item>
    <Property>12345</Property>
    <FirstDate>2023-05-20</FirstDate>
    <LastDate>2023-05-23</LastDate>
  </Item>
</Hint>

Respons Google

Google merespons pesan Respons Petunjuk ini dengan <Query> yang mirip dengan berikut ini:

<Query>
  <FirstDate>2023-05-20</FirstDate>
  <LastDate>2023-05-23</LastDate>
  <Nights>5</Nights>
  <PropertyList>
    <Property>12345</Property>
  </PropertyList>
</Query>

Membuat <Transaction>

Kemudian, Anda diharapkan untuk membuat <Transaction> dengan pembaruan harga hotel tersebut untuk lama menginap berikut:

5/20/23 - 5/21/23
5/20/23 - 5/22/23
5/20/23 - 5/23/23
5/20/23 - 5/24/23
5/20/23 - 5/25/23

5/21/23 - 5/22/23
5/21/23 - 5/23/23
5/21/23 - 5/24/23
5/21/23 - 5/25/23
5/21/23 - 5/26/23

5/22/23 - 5/23/23
5/22/23 - 5/24/23
5/22/23 - 5/25/23
5/22/23 - 5/26/23
5/22/23 - 5/27/23

Contoh ini menggunakan lama menginap 5 malam. Lama menginap default adalah 30 hari.

Alur permintaan dan respons menginap dengan rentang

Pesan Respons Petunjuk dapat mencakup rentang tanggal yang telah berubah. Hal ini memberi tahu Google bahwa Google harus mengambil itinerari yang terpengaruh oleh tanggal tersebut. Kumpulan itinerari yang sebenarnya diambil adalah fungsi dari kumpulan tanggal dengan perubahan dan panjang masa inap maksimum.

Menginap dengan rentang partner

Contoh pesan Respons Petunjuk berikut menggunakan menginap dengan rentang:

<Hint>
  <Item>
    <Property>12345</Property>
    <StaysIncludingRange>
      <FirstDate>2023-05-20</FirstDate>
      <LastDate>2023-05-23</LastDate>
    </StaysIncludingRange>
  </Item>
</Hint>

Respons Google

Google merespons pesan Respons Petunjuk Anda dengan <Query> yang mirip dengan berikut ini:

<Query>
  <FirstDate>2023-05-20</FirstDate>
  <LastDate>2023-05-23</LastDate>
  <AffectedNights>3</AffectedNights>
  <PropertyList>
    <Property>12345</Property>
    <Property>67891</Property>
  </PropertyList>
</Query>

Membuat <Transaction>

Kemudian, Anda diharapkan untuk membuat <Transaction> dengan pembaruan harga untuk hotel untuk lama menginap berikut:

5/17/23 - 5/20/23

5/18/23 - 5/20/23
5/18/23 - 5/21/23

5/19/23 - 5/20/23
5/19/23 - 5/21/23
5/19/23 - 5/22/23

5/20/23 - 5/21/23
5/20/23 - 5/22/23
5/20/23 - 5/23/23

5/21/23 - 5/22/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

5/23/23 - 5/24/23
5/23/23 - 5/25/23
5/23/23 - 5/26/23

Menginap dengan Rentang: Batas batch dan pemisahan kueri

Google membatasi setiap kueri pull hingga maksimum 10.000 kombinasi pasangan Hotel-Itinerari (hotel, tanggal check in, dan panjang masa inap). Untuk petunjuk Menginap dengan Rentang, jumlah kombinasi dihitung menggunakan rumus trapesium untuk menghitung jumlah kombinasi pasangan Hotel-Itinerari untuk Kueri Menginap dengan Rentang:

$$ \text{Total Items} = \left( \text{Date Span} \times \text{LOS} + \frac{\text{LOS} \times (\text{LOS} + 1)}{2} \right) \times N_{\text{hotel_batch_size}} $$

Dengan:

  • Date Span: Jumlah hari inklusif antara <FirstDate> dan <LastDate> (Rentang tanggal = LastDate - FirstDate + 1).
  • LOS: Panjang masa inap maksimum yang diminta dalam petunjuk (misalnya, <AffectedNights>14</AffectedNights>).
  • \(N_{\text{hotel_batch_size}}\): Jumlah properti yang disertakan dalam batch kueri (dikonfigurasi melalui hotel_batch_size).

Apa yang terjadi jika petunjuk melebihi 10.000 item?

Jika item yang dihitung melebihi 10.000, Google akan otomatis membagi beban kerja kueri:

  1. Upaya Awal (Menginap dengan Rentang): Jendela tanggal yang lebih kecil yang mencakup awal rentang Anda dikirim menggunakan <AffectedNights>.
  2. Penggantian Pertama (Jika didukung - Rentang Check-in): Kami akan mencoba mengirim sisa rentang tanggal Anda yang lebih kecil sebagai kueri Rentang Tanggal Check-in menggunakan <Nights> (kueri di bawah).
  3. Penggantian Terakhir (Itinerari Pasti): Kami akan kembali memperluas kumpulan kueri ke itinerari pasti individual.
<!-- Example: Remainder batch dispatched after a split -->
<Query>
  <FirstDate>2026-10-01</FirstDate>
  <LastDate>2026-10-31</LastDate>
  <Nights>14</Nights>
  <PropertyList>
    <Property>12345</Property>
  </PropertyList>
</Query>
  • Menjaga ukuran batch properti tetap seimbang: Jika Anda memperbarui jendela tanggal yang besar (seperti 180 hingga 365 hari) dengan lama menginap 14+ malam, minta Pengelola Akun Teknis Google Anda untuk menetapkan hotel_batch_size ke nilai yang lebih rendah guna mencegah petunjuk memicu pemisahan.
  • Menentukan cakupan petunjuk secara ketat: Saat memberi tahu Google tentang perubahan harga, batasi rentang <FirstDate> dan <LastDate> ke interval tanggal tertentu saat tarif benar-benar berubah, bukan mengirim seluruh tahun kalender.
  • Jika petunjuk Anda mencakup rentang tanggal yang besar: Pastikan parser Anda menerima atau di dalam blok yang berisi <FirstDate> dan <LastDate> sehingga beberapa jenis kueri dengan rentang dapat digunakan untuk memenuhi permintaan pull.