Bagian ini menyediakan referensi untuk pesan Permintaan Petunjuk, pesan Respons Petunjuk, dan pesan Kueri berbasis XML Google.
<Hint> (Pesan Respons Petunjuk)
Elemen root pesan Respons Petunjuk. Pesan Respons Petunjuk menentukan kombinasi hotel atau itinerari mana yang harus ditentukan ulang harganya. Pesan tersebut adalah respons Anda terhadap pesan Permintaan Petunjuk dari Google.
Pesan Respons Petunjuk hanya akan menentukan hotel yang harganya telah berubah sejak terakhir kali Google menerima Respons Petunjuk yang berhasil dari server Anda.
Pesan Respons Petunjuk menggunakan salah satu metode berikut untuk menentukan hotel dan itinerari yang harus ditentukan ulang harganya oleh Google:
Itinerari pasti: Kombinasi tanggal check-in dan lama menginap.
Rentang tanggal check-in: Menentukan rentang tanggal check-in, yang dimulai dengan tanggal check-in pertama dan diakhiri dengan tanggal check-in terakhir.
Menginap dengan rentang (atau itinerari dengan rentang)
Setiap metode ini memerlukan sintaksis yang berbeda untuk pesan Respons Petunjuk.
Untuk mengetahui informasi selengkapnya, baca Pesan Respons petunjuk.
Sintaksis
Elemen <Hint> menggunakan sintaksis yang berbeda, bergantung pada jenis pesan Respons
Petunjuk:
Itinerari pasti
Berikut adalah sintaksis untuk itinerari pasti pada pesan Respons Petunjuk:
<!-- Exact Itinerary Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
<Item>
<Property>hotel_ID</Property>
...
<Stay>
<CheckInDate>checkin_date</CheckInDate>
<LengthOfStay>number_of_nights</LengthOfStay>
</Stay>
</Item>
...
</Hint>
Rentang check-in
Berikut adalah sintaksis untuk rentang check-in pada pesan Respons Petunjuk:
<!-- Check-in Ranges Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
<Item>
<!-- At least one is required -->
<Property>hotel_ID</Property>
[...]
<!-- Required -->
<FirstDate>first_checkin_date</FirstDate>
<!-- Required -->
<LastDate>last_checkin_date</LastDate>
</Item>
...
</Hint>
Menginap dengan rentang
Berikut adalah sintaksis untuk menginap dengan rentang pada pesan Respons Petunjuk:
<!-- Ranged Stay Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
<Item>
<!-- At least one is required -->
<Property>1458700</Property>
<Property>5418701</Property>
<StaysIncludingRange>
<!-- Required -->
<FirstDate>2025-04-28</FirstDate>
<!-- Optional -->
<LastDate>2025-04-29</LastDate>
</StaysIncludingRange>
</Item>
...
</Hint>
Atribut
Elemen <Hint> berisi atribut opsional: id. Jika
disediakan, nilai ini akan disertakan sebagai atribut hintId dalam <Query>
pesan yang dikirim berdasarkan <Hint> ini.
Elemen turunan
Elemen <Hint> memiliki elemen turunan berikut:
| Elemen Turunan | Wajib? | Jenis | Jenis Respons Petunjuk | Deskripsi |
|---|---|---|---|---|
| <CheckInDate> | Required | Date | Itinerari pasti | Tanggal check-in untuk itinerari. |
| <FirstDate> | Required | Date | Rentang check-in dan itinerari dengan rentang | Tanggal pertama dari rentang tanggal untuk pesan Respons Petunjuk rentang check-in atau menginap dengan rentang. Tanggal bersifat inklusif. |
| <Item> | Required | Object | Semua | Container untuk hotel/itinerari yang akan diperbarui. |
| <LastDate> | Required* | Date | Rentang check-in dan itinerari dengan rentang | Tanggal terakhir dari rentang tanggal untuk pesan Respons Petunjuk rentang check-in atau menginap dengan rentang. Tanggal bersifat inklusif. * Elemen ini bersifat opsional untuk menginap dengan rentang. |
| <LengthOfStay> | Required | integer | Itinerari pasti | Jumlah malam untuk itinerari, yang dinyatakan sebagai bilangan bulat positif. |
| <Property> | Required | string | Semua | ID hotel, yang menggunakan ID yang sama seperti Daftar Hotel. Jumlah elemen
|
| <Stay> | Required | Object | Itinerari pasti | Container untuk elemen <CheckinDate> dan <LengthOfStay> dalam pesan Respons Petunjuk itinerari pasti. Setiap <Item> hanya boleh berisi satu <Stay>. |
| <StaysIncludingRange> | Required | Object | Itinerari dengan rentang | Container untuk elemen <FirstDate> dan <LastDate> dalam pesan Respons Petunjuk menginap dengan rentang. |
Contoh
Itinerari pasti
Contoh berikut menentukan beberapa itinerari untuk Pesan Respons Petunjuk satu properti:
<!-- Exact Itinerary Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
<Item>
<Property>12345</Property>
<Stay>
<CheckInDate>2018-07-03</CheckInDate>
<LengthOfStay>3</LengthOfStay>
</Stay>
</Item>
<Item>
<Property>12345</Property>
<Stay>
<CheckInDate>2018-07-03</CheckInDate>
<LengthOfStay>4</LengthOfStay>
</Stay>
</Item>
</Hint>
Rentang check-in
Contoh berikut menentukan dua hotel yang harganya telah berubah dan harus diambil lagi. Google mendapatkan semua itinerari antara 3 Juli dan 6 Juli untuk properti 12345 dan 67890:
<!-- Check-in Ranges Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
<Item>
<Property>12345</Property>
<Property>67890</Property>
<FirstDate>2018-07-03</FirstDate>
<LastDate>2018-07-06</LastDate>
</Item>
</Hint>
Menginap dengan rentang
Contoh berikut menunjukkan dua penggunaan menginap dengan rentang yang berbeda, satu untuk rentang malam dan satu lagi untuk satu malam:
<!-- Ranged Stay Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
<!-- Google fetches prices for all itineraries (first and last date are set) -->
<Item>
<Property>12345</Property>
<StaysIncludingRange>
<FirstDate>2018-07-03</FirstDate>
<LastDate>2018-07-06</LastDate>
</StaysIncludingRange>
</Item>
<!-- Google fetches prices for a single night (first date only) -->
<Item>
<Property>67890</Property>
<StaysIncludingRange>
<FirstDate>2018-07-03</FirstDate>
</StaysIncludingRange>
</Item>
</Hint>
Untuk setiap contoh ini, Google merespons dengan <Query>, lalu Anda harus merespons dengan <Transaction> yang menyertakan pembaruan harga untuk hotel/itinerari yang ditentukan.
<HintRequest>
Elemen root pesan Permintaan Petunjuk. Google mengirimkan pesan Permintaan Petunjuk ke server Anda dan mengharapkan respons yang menentukan hotel dan itinerari yang harganya telah berubah sejak terakhir kali Google menerima Respons Petunjuk yang berhasil dari server Anda.
Jika ada perubahan harga, Google akan mengirimkan <Query> yang mengambil data harga yang diperbarui untuk hotel dan itinerari yang ditunjukkan.
Untuk mengetahui informasi selengkapnya, baca Pesan Permintaan Petunjuk.
Sintaksis
Elemen <HintRequest> menggunakan sintaksis berikut:
Sintaksis
<?xml version="1.0" encoding="UTF-8"?>
<HintRequest>
<LastFetchTime>last_fetch_time</LastFetchTime>
</HintRequest>
Atribut
Elemen <HintRequest> tidak memiliki atribut.
Elemen turunan
Elemen <HintRequest> memiliki elemen turunan berikut:
| Elemen Turunan | Jenis | Deskripsi |
|---|---|---|
| <LastFetchTime> | DateTime | Terakhir kali Google berhasil mendapatkan pesan Respons Petunjuk terhadap pesan Permintaan Petunjuk.
Jika waktu ini lebih lama dari terakhir kali Anda memperbarui harga di server, Anda harus merespons dengan pesan Respons Petunjuk yang menentukan hotel yang telah diubah. Jika tidak ada pengambilan yang berhasil baru-baru ini, nilai ini akan ditetapkan ke nilai interval tetap (untuk menghindari masalah yang lebih serius dengan backlog besar). Nilai interval tetap saat ini adalah 1.000 detik, tetapi dapat berubah. Untuk mengetahui informasi selengkapnya, baca Pesan Respons Petunjuk. |
Contoh
Contoh berikut menampilkan pesan Permintaan Petunjuk:
Pesan Permintaan Petunjuk
Contoh berikut menampilkan pesan Permintaan Petunjuk:
<?xml version="1.0" encoding="UTF-8"?>
<HintRequest id="ABCDEF" timestamp="2018-06-07T16:20:00Z">
<LastFetchTime>2018-03-25T00:04:09Z</LastFetchTime>
</HintRequest>
<Query>
Elemen root pesan Query. Pesan Query adalah permintaan dari Google untuk pembaruan harga atau metadata. Pesan ini digunakan dengan mode pengiriman Pull dan Harga yang diubah.
Pesan kueri harga
Pesan Kueri Harga menentukan kombinasi properti dan itinerari yang harganya Anda berikan.
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.
Ada tiga jenis khusus pesan Query:
Harga real time: Google merespons permintaan pengguna tertentu, dengan meminta pembaruan harga real time. Saat menerima pesan
Live pricing query, partner harus merespons dengan pesan<Transaction>yang berisi informasi harga yang diminta di elemen<Result>.Dengan harga Konteks: Google memperbarui cache harganya berdasarkan konteks yang populer secara historis. Saat menerima pesan
With Context query, Anda harus merespons dengan pesan<Transaction>yang berisi informasi harga yang diminta di elemen<Result>.Dengan Kueri Konteks untuk jumlah tamu satu orang
Saat memberikan tarif sebagai respons terhadap kueri Dengan Konteks, Anda hanya boleh mengirim tarif yang sesuai dengan konteks yang ditentukan. Hunian tarif dasar memerlukan minimal 2 penghuni, jadi jika satu penghuni diteruskan dalam tarif dasar, tarif tersebut akan diabaikan dan tetap diperlakukan sebagai hunian ganda. Dalam hal ini, Anda harus meneruskan tarif dasar sebagai tidak tersedia dan menggunakan tarif bertingkat di dalam tarif kamar untuk satu orang. Lihat Contoh respons Dengan Konteks. Anda dapat menggunakan Harga yang Berubah dengan Konteks untuk menggabungkan tarif dengan menetapkan atribut
mergeableke"true". Pelajari lebih lanjut.Harga yang Diubah (sebelumnya Harga Tarik dengan Petunjuk) dengan Konteks
Saat Anda mengirim respons pesan
<Transaction>ke kueri Harga yang Berubah dengan Konteks, Google memperlakukannya sebagai penggantian penuh informasi harga dan ketersediaan untuk hotel atau rencana perjalanan tertentu, dan semua tarif khusus konteks dikecualikan dari respons dan dihapus dari cache.Untuk mencegah penimpaan, Anda harus menyetel atribut
mergeableke"true"dalam elemen<Result>di pesan<Transaction>. Google menambahkan tarif dengan tarif yang di-cache yang ada untuk konteks yang diberikan dalam respons. Jika Anda tidak menggunakan atribut dapat digabungkan, Anda harus mengirim semua tarif untuk semua konteks yang berlaku dalam respons.Kueri Harga Real Time dengan Konteks
Kueri Harga Real Time dengan Konteks memiliki perilaku atribut yang dapat digabungkan secara default, sehingga atribut ini tidak perlu ditetapkan. Anda hanya perlu mengirimkan tarif untuk konteks tertentu yang diminta Google jika semua konteks lainnya tetap sama. Jika konteks lain telah berubah, Anda harus mengirim perubahan untuk konteks tersebut secara eksplisit; jika tidak, tarif baru tidak akan diperbarui di cache Google.
Metadata: Google meminta pembaruan metadata untuk kamar dan Paket Kamar untuk hotel yang ditentukan. Saat menerima pesan
Metadata Query, Anda harus merespons dengan pesan<Transaction>yang menentukan data tentang kamar dan Paket Kamar di elemen<PropertyDataSet>. Untuk mengetahui informasi selengkapnya, lihat metadata Paket Kamar.
Sintaksis
Elemen <Query> menggunakan sintaksis berikut:
Kueri Harga
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<Checkin>YYYY-MM-DD</Checkin>
<Nights>number_of_nights</Nights>
<PropertyList>
<Property>hotel_id</Property>
...
</PropertyList>
</Query>
Harga real time
<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true_or_false">
<Checkin>YYYY-MM-DD</Checkin>
<Nights>number_of_nights</Nights>
<!-- Only for Check-in Date Range pricing queries (Changed Pricing) -->
<FirstDate>YYYY-MM-DD</FirstDate>
<LastDate>YYYY-MM-DD</LastDate>
<!-- Only for Ranged Stay pricing queries (Changed Pricing) -->
<AffectedNights>number_of_nights</AffectedNights>
<PropertyList>
<Property>hotel_id</Property>
...
</PropertyList>
<!-- See documentation below for <Context> -->
<Context>
...
</Context>
</Query>
Kueri Dengan Konteks
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<Checkin>YYYY-MM-DD</Checkin>
<Nights>number_of_nights</Nights>
<!-- Only for Check-in Date Range pricing queries (Changed Pricing) -->
<FirstDate>YYYY-MM-DD</FirstDate>
<LastDate>YYYY-MM-DD</LastDate>
<!-- Only for Ranged Stay pricing queries (Changed Pricing) -->
<AffectedNights>number_of_nights</AffectedNights>
<PropertyContextList>
<PropertyContext>
<Property>hotel_id</Property>
...
<!-- See documentation below for <Context> -->
<Context>
...
</Context>
</PropertyContext>
</PropertyContextList>
</Query>
Metadata
<HotelInfoProperties>
<Property>property_ID</Property>
...
</HotelInfoProperties>
Atribut
Elemen <Query> dapat berisi satu atribut: latencySensitive.
Atribut latencySensitive bersifat opsional. Jika disediakan dan ditetapkan ke
true, ini menunjukkan bahwa kueri tersebut adalah Live Pricing Query. Agar Google dapat mengirimkan kueri dengan atribut latencySensitive, hubungi Manajer Akun Teknis (TAM) Anda.
Elemen turunan
Elemen <Query> memiliki elemen turunan berikut:
| Elemen Turunan | Jenis Kueri | Jenis | Deskripsi |
|---|---|---|---|
| <AffectedNights> | Pricing | integer | Jumlah malam untuk menginap dengan rentang. Elemen ini hanya digunakan untuk kueri harga Menginap dengan Rentang yang digunakan dengan Harga yang Diubah. |
| <Checkin> | Pricing | Date | Tanggal perubahan harga tertentu. |
| <Context> | Pricing (Live Pricing Queries only) | <Context> | Untuk Kueri Harga Real Time, menentukan parameter tertentu yang digunakan untuk membuat kueri. Elemen turunan mencakup:
Elemen |
| <FirstDate> | Pricing | Date | Tanggal mulai untuk rentang itinerari saat harga diterapkan. Elemen ini hanya digunakan untuk kueri harga Rentang Tanggal Check-in yang digunakan dengan Harga yang Diubah. |
| <HotelInfoProperties> | Metadata | string | Satu atau beberapa properti yang diinginkan Google untuk memperbarui metadata kamar dan Paket Kamar pada pesan Query metadata.
Elemen ini dapat berisi satu atau beberapa elemen <Property> yang menentukan ID properti hotel. |
| <LastDate> | Pricing | Date | Tanggal akhir untuk rentang itinerari saat harga diterapkan. Elemen ini hanya digunakan untuk kueri harga Rentang Tanggal Check-in yang digunakan dengan Pull + Petunjuk. |
| <Nights> | Pricing | integer | Jumlah malam untuk itinerari tertentu, maksimal 30. |
| <PropertyList> | Pricing | Object | Satu atau beberapa ID untuk hotel yang memerlukan pembaruan harga. Tentukan setiap hotel dalam elemen <PropertyList> <Property>pid1</Property> <Property>pid2</Property> </PropertyList> |
Contoh
Kueri harga
Contoh berikut menampilkan pesan Kueri harga yang meminta pembaruan harga untuk serangkaian hotel, yang tersedia untuk 3 malam, dan mulai 23 Mei 2023:
<?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>
Kueri harga real time
Contoh berikut menunjukkan Kueri Harga Real Time dengan batas waktu respons 500 milidetik:
<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
<Checkin>2017-06-07</Checkin>
<Nights>5</Nights>
<DeadlineMs>500</DeadlineMs>
<PropertyList>
<Property>8675309</Property>
</PropertyList>
<Context>
<Occupancy>4</Occupancy>
<OccupancyDetails>
<NumAdults>2</NumAdults>
<Children>
<Child age="8"/>
<Child age="5"/>
</Children>
</OccupancyDetails>
<UserCountry>US</UserCountry>
<UserDevice>mobile</UserDevice>
</Context>
</Query>
Dengan kueri konteks
<?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>
Dengan respons Konteks
Contoh berikut menjelaskan cara menyetel tarif dasar ke unavailable(-1)
untuk jumlah tamu satu orang dan menyusun tarif dalam elemen <Occupancy>.
<?xml version="1.0" encoding="UTF-8"
<Transaction id="Wtdj8QoQIWcAAbaTGlIAAAC4" timestamp="2025-11-19T18:36:48Z">
<Result>
<Property>6781291</Property>
<Checkin>2026-01-15</Checkin>
<Nights>1</Nights>
<!-- Base rate is set to -1 to indicate unavailability for the default (2-person) occupancy -->
<Baserate currency="USD">-1</Baserate>
<Tax currency="USD">0</Tax>
<OtherFees currency="USD">0</OtherFees>
<Rates>
<!-- Nested Rate for Single Occupancy -->
<Rate rate_rule_id="rule-951">
<Occupancy>1</Occupancy>
<OccupancyDetails>
<NumAdults>1</NumAdults>
</OccupancyDetails>
<Baserate currency="USD">150.00</Baserate>
<Tax currency="USD">15.00</Tax>
<OtherFees currency="USD">5.00</OtherFees>
</Rate>
<!-- Other nested rates for different occupancies or room types could be included here if available -->
</Rates>
</Result>
</Transaction>
Kueri metadata
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<HotelInfoProperties>
<Property>pid5</Property>
<Property>pid8</Property>
<Property>pid13</Property>
<Property>pid21</Property>
</HotelInfoProperties>
</Query>
Untuk contoh lainnya, termasuk kueri harga rentang tanggal check-in dan rentang tanggal menginap, lihat Contoh pesan Query.
<Context>
Elemen <Context> menjelaskan informasi untuk Live pricing query,
termasuk jumlah dan jenis tamu, negara pengguna, dan perangkat pengguna.
Beberapa <Context> tidak akan pernah digunakan dengan negara atau perangkat pengguna yang berbeda. Jika beberapa <Context> digunakan untuk mengkueri beberapa jumlah tamu, berikan setiap harga jumlah tamu sebagai Paket Kamar tambahan untuk properti atau itinerari yang sesuai. Setiap properti atau itinerari harus memiliki satu blok <Result> dengan harga untuk beberapa jumlah tamu yang disertakan.
Untuk mengetahui detail respons untuk kueri <Context>, lihat
<OccupancyDetails>.
Sintaksis
Elemen <Context> menggunakan sintaksis berikut:
Sintaksis
<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true_or_false">
<Checkin>date</Checkin>
<Nights>number_of_nights</Nights>
<DeadlineMs>number_of_milliseconds</DeadlineMs>
<PropertyList>
<Property>property_ID</Property>
</PropertyList>
<Context>
<Occupancy>total_number_of_guests</Occupancy>
<OccupancyDetails>
<NumAdults>number_of_adults</NumAdults>
<Children>
<Child age=age_of_one_child_guest/>
<Child age=age_of_one_child_guest/>
</Children>
</OccupancyDetails>
<UserCountry>end_user_country</UserCountry>
<UserDevice>user_device_type</UserDevice>
</Context>
</Query>
Elemen turunan
Elemen <Context> memiliki elemen turunan berikut:
| Elemen Turunan | Jenis kueri | Jenis | Deskripsi |
|---|---|---|---|
| <Occupancy> | Pricing | integer | Menentukan jumlah total tamu. Meskipun tidak wajib, kueri yang berisi Catatan: |
| <OccupancyDetails> | Pricing | Object | Didahului oleh <Occupancy>. Menentukan tamu berdasarkan jenis, termasuk:
Meskipun tidak wajib, kueri yang berisi Catatan: |
| <UserCountry> | Pricing | string | Memfilter tarif berdasarkan negara tempat pengguna berada. Nilainya adalah
kode negara 2 huruf seperti Kueri yang berisi |
| <UserDevice> | Pricing | string | Memfilter tarif berdasarkan jenis perangkat yang digunakan pengguna untuk melakukan penelusuran. Kemungkinan nilai:
Kueri yang berisi |
Contoh
Kehadiran
Contoh berikut menampilkan Kueri harga real time untuk <Occupancy> dalam <Context>. Kueri Harga real time untuk 3 orang dewasa.
<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
<Checkin>2017-06-07</Checkin>
<Nights>4</Nights>
<DeadlineMs>500</DeadlineMs>
<PropertyList>
<Property>45617</Property>
</PropertyList>
<Context>
<Occupancy>3</Occupancy>
<UserCountry>US</UserCountry>
<UserDevice>mobile</UserDevice>
</Context>
</Query>
Detail hunian
Contoh berikut menunjukkan Kueri harga real time dengan
<OccupancyDetails> dalam <Context>.
Kueri Harga real time adalah untuk 4 tamu, 2 di antaranya adalah anak-anak, dan mencari tarif yang berlaku untuk pemesanan tamu AS dari perangkat seluler:
<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
<Checkin>2017-06-07</Checkin>
<Nights>5</Nights>
<DeadlineMs>500</DeadlineMs>
<PropertyList>
<Property>8675309</Property>
</PropertyList>
<Context>
<Occupancy>4</Occupancy>
<OccupancyDetails>
<NumAdults>2</NumAdults>
<Children>
<Child age="4"/>
<Child age="12"/>
</Children>
</OccupancyDetails>
<UserCountry>US</UserCountry>
<UserDevice>mobile</UserDevice>
</Context>
</Query>
Beberapa konteks
Contoh berikut menunjukkan penggunaan elemen <Context> tambahan dalam kueri harga real time.
<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
<Checkin>2017-06-07</Checkin>
<Nights>4</Nights>
<DeadlineMs>500</DeadlineMs>
<PropertyList>
<Property>45617</Property>
</PropertyList>
<Context>
<Occupancy>3</Occupancy>
<UserCountry>US</UserCountry>
<UserDevice>mobile</UserDevice>
</Context>
<Context>
<Occupancy>6</Occupancy>
<OccupancyDetails>
<NumAdults>4</NumAdults>
<Children>
<Child age="6"/>
<Child age="10"/>
</Children>
</OccupancyDetails>
<UserCountry>US</UserCountry>
<UserDevice>mobile</UserDevice>
</Context>
</Query>