इस सेक्शन में, Google के एक्सएमएल पर आधारित सुझाव के अनुरोध वाले मैसेज, सुझाव के जवाब वाले मैसेज, और क्वेरी वाले मैसेज के बारे में जानकारी दी गई है.
<Hint> (हिंट रिस्पॉन्स मैसेज)
यह हिंट रिस्पॉन्स मैसेज का रूट एलिमेंट होता है. सुझाव वाले जवाब के मैसेज में यह बताया जाता है कि किस होटल या यात्रा योजना के कॉम्बिनेशन की कीमत फिर से तय की जानी चाहिए. ये Google से मिले जवाब के अनुरोध वाले मैसेज के जवाब होते हैं.
सुझाव के तौर पर दिए गए जवाब वाले मैसेज में, सिर्फ़ उन होटलों के बारे में जानकारी होनी चाहिए जिनके किराये में बदलाव हुआ है. ऐसा तब होना चाहिए, जब Google को आपके सर्वर से सुझाव के तौर पर दिया गया जवाब मिला हो.
सुझाव के जवाब वाले मैसेज में, यह तय करने के लिए इनमें से किसी एक तरीके का इस्तेमाल किया जाता है कि Google को किन होटलों और यात्रा योजनाओं के लिए फिर से कीमत तय करनी चाहिए:
यात्रा की सटीक योजनाएं: चेक-इन करने की तारीख और ठहरने की अवधि का कॉम्बिनेशन.
चेक-इन करने की तारीख की सीमाएं: इससे चेक-इन करने की तारीखों की सीमा के बारे में पता चलता है. यह सीमा, चेक-इन करने की पहली तारीख से शुरू होकर चेक-इन करने की आखिरी तारीख पर खत्म होती है.
तय सीमा में ठहरने की सुविधा (या तय सीमा में यात्रा कार्यक्रम)
इनमें से हर तरीके के लिए, हिंट रिस्पॉन्स मैसेज का सिंटैक्स अलग-अलग होता है.
ज़्यादा जानकारी के लिए, जवाब के बारे में जानकारी देने वाले मैसेज देखें.
सिंटैक्स
<Hint> एलिमेंट अलग-अलग सिंटैक्स का इस्तेमाल करता है. यह सिंटैक्स, HintResponse मैसेज के टाइप पर निर्भर करता है:
सटीक यात्रा योजनाएं
यहां, जवाब के तौर पर दिए गए सुझाव वाले मैसेज में, यात्रा की सटीक जानकारी के लिए सिंटैक्स दिखाया गया है:
<!-- 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>
चेक-इन करने की सीमाएं
यहां, जवाब के तौर पर दिए गए मैसेज में चेक-इन की रेंज के लिए सिंटैक्स दिखाया गया है:
<!-- 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>
अलग-अलग तरह के स्टे
यहां, किसी जवाब में ठहरने की अवधि के बारे में जानकारी देने वाले मैसेज का सिंटैक्स दिखाया गया है:
<!-- 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>
विशेषताएं
<Hint> एलिमेंट में एक ऐसा एट्रिब्यूट शामिल है जिसकी वैल्यू देना ज़रूरी नहीं है: id. यह जानकारी देने पर, इसे <Query> के आधार पर भेजे गए मैसेज में hintId एट्रिब्यूट के तौर पर शामिल किया जाता है.<Hint>
चाइल्ड एलीमेंट
<Hint> एलिमेंट में ये चाइल्ड एलिमेंट होते हैं:
| चाइल्ड एलिमेंट | ज़रूरी है? | टाइप | जवाब में दी गई जानकारी का टाइप | ब्यौरा |
|---|---|---|---|---|
| <CheckInDate> | Required | Date | सटीक यात्रा योजनाएं | यात्रा की योजना के लिए चेक-इन करने की तारीख. |
| <FirstDate> | Required | Date | चेक-इन की रेंज और रेंज वाली यात्रा की योजनाएं | चेक-इन की तारीख की सीमा या तारीख की सीमा के हिसाब से ठहरने के सुझाव वाले जवाब के मैसेज के लिए, तारीख की सीमा की पहली तारीख. तारीखें शामिल हैं. |
| <Item> | Required | Object | सभी | जिस होटल/यात्रा योजना को अपडेट करना है उसके लिए एक कंटेनर. |
| <LastDate> | Required* | Date | चेक-इन की रेंज और रेंज वाली यात्रा की योजनाएं | चेक-इन की तारीख की सीमा या ठहरने की अवधि की सीमा के लिए, तारीख की सीमा की आखिरी तारीख. तारीखें शामिल हैं. * रेंज के हिसाब से ठहरने की सुविधा के लिए, यह एलिमेंट इस्तेमाल करना ज़रूरी नहीं है. |
| <LengthOfStay> | Required | integer | सटीक यात्रा योजनाएं | यात्रा की अवधि, जिसे धनात्मक पूर्णांक के तौर पर दिखाया जाता है. |
| <Property> | Required | string | सभी | होटल का आईडी. इसके लिए, होटल की सूची में इस्तेमाल किए गए आईडी का ही इस्तेमाल किया जाता है. एक
|
| <Stay> | Required | Object | सटीक यात्रा योजनाएं | यह, यात्रा के सुझाव के जवाब वाले मैसेज में मौजूद <CheckinDate> और <LengthOfStay> एलिमेंट के लिए कंटेनर होता है. हर <Item> में सिर्फ़ एक <Stay> हो सकता है. |
| <StaysIncludingRange> | Required | Object | यात्रा की अलग-अलग तरह की योजनाएं | यह रेंज में रहने की सलाह देने वाले मैसेज में, <FirstDate> और <LastDate> एलिमेंट के लिए कंटेनर होता है. |
उदाहरण
सटीक यात्रा योजनाएं
यहां दिए गए उदाहरण में, एक प्रॉपर्टी के लिए कई यात्रा योजनाओं के बारे में बताया गया है. यह जानकारी, जवाब के तौर पर दिए गए मैसेज में दी गई है:
<!-- 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>
चेक-इन करने की सीमाएं
नीचे दिए गए उदाहरण में, ऐसे दो होटल दिखाए गए हैं जिनके किराये में बदलाव हुआ है. इसलिए, इनके किराये की जानकारी को फिर से फ़ेच किया जाना चाहिए. Google को प्रॉपर्टी 12345 और 67890 के लिए, 3 जुलाई से 6 जुलाई के बीच की सभी यात्राओं की जानकारी मिलती है:
<!-- 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>
अलग-अलग तरह के स्टे
यहां दिए गए उदाहरण में, एक से ज़्यादा रातों के लिए ठहरने की सुविधा के दो अलग-अलग इस्तेमाल दिखाए गए हैं. एक में, रातों की संख्या की रेंज दी गई है और दूसरे में, सिर्फ़ एक रात के लिए ठहरने की सुविधा दी गई है:
<!-- 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>
इनमें से हर उदाहरण के लिए, Google <Query> के साथ जवाब देता है. इसके बाद, आपको <Transaction> के साथ जवाब देना चाहिए. इसमें बताए गए होटल/यात्रा की योजनाओं के लिए, कीमत से जुड़े अपडेट शामिल होने चाहिए.
<HintRequest>
यह हिंट रिक्वेस्ट मैसेज का रूट एलिमेंट होता है. Google, आपके सर्वर को कीमत में बदलाव की जानकारी देने का अनुरोध भेजता है. साथ ही, वह ऐसे जवाब की उम्मीद करता है जिसमें उन होटलों और यात्रा की योजनाओं के बारे में बताया गया हो जिनकी कीमतों में बदलाव हुआ है. यह बदलाव, उस समय से लेकर अब तक हुआ हो, जब Google को आपके सर्वर से कीमत में बदलाव की जानकारी देने का अनुरोध मिला था.
अगर किराये में कोई बदलाव होता है, तो Google एक <Query> भेजता है. इससे, बताए गए होटलों और यात्रा की योजनाओं के लिए, अपडेट किया गया किराया मिलता है.
ज़्यादा जानकारी के लिए, सुझाव के अनुरोध वाले मैसेज देखें.
सिंटैक्स
<HintRequest> एलिमेंट में इस सिंटैक्स का इस्तेमाल किया जाता है:
सिंटैक्स
<?xml version="1.0" encoding="UTF-8"?>
<HintRequest>
<LastFetchTime>last_fetch_time</LastFetchTime>
</HintRequest>
विशेषताएं
<HintRequest> एलिमेंट में कोई एट्रिब्यूट नहीं है.
चाइल्ड एलीमेंट
<HintRequest> एलिमेंट में ये चाइल्ड एलिमेंट होते हैं:
| चाइल्ड एलिमेंट | टाइप | ब्यौरा |
|---|---|---|
| <LastFetchTime> | DateTime | पिछली बार जब Google को, हिंट के अनुरोध वाले मैसेज का हिंट रिस्पॉन्स मैसेज मिला था.
अगर यह समय, सर्वर पर कीमतों को पिछली बार अपडेट किए गए समय से पहले का है, तो आपको हिंट रिस्पॉन्स मैसेज भेजना चाहिए. इसमें यह जानकारी होनी चाहिए कि किन होटलों की कीमतों में बदलाव हुआ है. अगर हाल ही में फ़ेच पूरा नहीं हुआ है, तो इसे तय इंटरवल की वैल्यू पर सेट किया जाएगा, ताकि बड़े बैकलॉग से जुड़ी ज़्यादा गंभीर समस्याओं से बचा जा सके. फ़िलहाल, तय किए गए इंटरवल की वैल्यू 1,000 सेकंड है. हालांकि, इसमें बदलाव हो सकता है. ज़्यादा जानकारी के लिए, जवाब के बारे में जानकारी देने वाले मैसेज देखें. |
उदाहरण
यहां हिंट का अनुरोध करने वाले मैसेज का उदाहरण दिया गया है:
हिंट के लिए अनुरोध करने वाला मैसेज
यहां हिंट के अनुरोध वाले मैसेज का उदाहरण दिया गया है:
<?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>
यह Query मैसेज का रूट एलिमेंट होता है. Query मैसेज, Google के अनुरोध होते हैं. ये अनुरोध, कीमत या मेटाडेटा अपडेट करने के लिए किए जाते हैं. इनका इस्तेमाल, पुल और बदली हुई कीमत वाले डिलिवरी मोड, दोनों के साथ किया जाता है.
किराये के बारे में क्वेरी करने वाले मैसेज
किराये के बारे में क्वेरी वाले मैसेज में, प्रॉपर्टी और यात्रा की योजना के उन कॉम्बिनेशन के बारे में बताया जाता है जिनके लिए आपको किराया देना है.
जब आपके सर्वर को कीमत क्वेरी मैसेज मिलता है, तो उसे <Transaction> मैसेज के साथ जवाब देना चाहिए. इस मैसेज में, कीमत की अनुरोध की गई जानकारी शामिल होती है.
ज़्यादा जानकारी के लिए, कीमत की खास जानकारी देखें.
Query मैसेज तीन खास तरह के होते हैं:
लाइव प्राइसिंग: Google, किसी उपयोगकर्ता के अनुरोध का जवाब देता है. इसमें रीयल-टाइम में कीमत अपडेट करने के लिए कहा जाता है. जब पार्टनर को
Live pricing queryमैसेज मिलता है, तो उन्हें<Transaction>मैसेज के ज़रिए जवाब देना चाहिए. इस मैसेज में,<Result>एलिमेंट में किराये की मांगी गई जानकारी शामिल होनी चाहिए.कॉन्टेक्स्ट के हिसाब से कीमत तय करने की सुविधा के साथ: Google, कॉन्टेक्स्ट के आधार पर कीमत की अपनी कैश मेमोरी को अपडेट करता है. ये ऐसे कॉन्टेक्स्ट होते हैं जो पहले से लोकप्रिय हैं.
With Context queryमैसेज मिलने पर, आपको<Transaction>मैसेज के साथ जवाब देना चाहिए. इसमें<Result>एलिमेंट में, किराये के बारे में मांगी गई जानकारी शामिल होती है.एक व्यक्ति के लिए कॉन्टेक्स्ट क्वेरी की सुविधा
कॉन्टेक्स्ट के साथ क्वेरी करने पर, किराये की जानकारी देते समय आपको सिर्फ़ उस कॉन्टेक्स्ट के हिसाब से किराया भेजना चाहिए. बेसिक किराये के लिए, कम से कम दो लोगों का होना ज़रूरी है. इसलिए, अगर बेसिक किराये में एक व्यक्ति की जानकारी दी जाती है, तो उसे अनदेखा कर दिया जाएगा और उसे दो लोगों के लिए तय किया गया किराया ही माना जाएगा. ऐसे मामले में, आपको मूल किराया 'उपलब्ध नहीं है' के तौर पर पास करना चाहिए. साथ ही, एक व्यक्ति के लिए किराये की जानकारी में नेस्ट किया गया किराया इस्तेमाल करना चाहिए. कॉन्टेक्स्ट के साथ जवाब देने का उदाहरण देखें. संदर्भ के साथ बदली गई कीमत सुविधा का इस्तेमाल करके, किराये को मर्ज किया जा सकता है. इसके लिए,
mergeableएट्रिब्यूट को"true"पर सेट करें. ज़्यादा जानें.कॉन्टेक्स्ट के साथ किराये और उपलब्धता में बदलाव (जिसे पहले, 'संकेत के साथ पुल किया गया' कहा जाता था)
जब किसी होटल या यात्रा की योजना के लिए, संदर्भ के साथ किराये में बदलाव की क्वेरी के जवाब के तौर पर
<Transaction>मैसेज भेजा जाता है, तो Google इसे किराये और उपलब्धता की जानकारी के पूरी तरह से बदले गए जवाब के तौर पर लेता है. साथ ही, संदर्भ के हिसाब से तय किए गए सभी किराये, जवाब में शामिल नहीं किए जाते और उन्हें कैश मेमोरी से हटा दिया जाता है.डेटा को ओवरराइट होने से रोकने के लिए, आपको
<Transaction>मैसेज में<Result>एलिमेंट के अंदरmergeableएट्रिब्यूट को"true"पर सेट करना चाहिए. Google, जवाब में दिए गए कॉन्टेक्स्ट के लिए, कैश मेमोरी में सेव की गई मौजूदा दरों के साथ नई दरें जोड़ता है. अगर आपने मर्ज किए जा सकने वाले एट्रिब्यूट का इस्तेमाल नहीं किया है, तो आपको जवाब में, लागू होने वाले सभी संदर्भों के लिए सभी किराये भेजने होंगे.कॉन्टेक्स्ट के साथ लाइव क्वेरी
कॉन्टेक्स्ट के साथ लाइव प्राइसिंग क्वेरी में, डिफ़ॉल्ट रूप से मर्ज किए जा सकने वाले एट्रिब्यूट का व्यवहार होता है. इसलिए, इस एट्रिब्यूट को सेट करने की ज़रूरत नहीं होती. अगर अन्य सभी कॉन्टेक्स्ट में कोई बदलाव नहीं हुआ है, तो आपको सिर्फ़ उन कॉन्टेक्स्ट के लिए किराया भेजना होगा जिनके लिए Google ने अनुरोध किया है. अगर अन्य कॉन्टेक्स्ट में बदलाव हुए हैं, तो आपको उन कॉन्टेक्स्ट के लिए बदलावों को साफ़ तौर पर भेजना होगा. ऐसा न करने पर, Google की कैश मेमोरी में नए किराये अपडेट नहीं किए जाएंगे.
मेटाडेटा: Google, चुने गए होटलों के कमरों और रूम बंडल के मेटाडेटा को अपडेट करने का अनुरोध करता है.
Metadata Queryमैसेज मिलने पर, आपको<Transaction>मैसेज के ज़रिए जवाब देना चाहिए. इसमें<PropertyDataSet>एलिमेंट में मौजूद कमरों और रूम बंडलों के बारे में डेटा शामिल होना चाहिए. ज़्यादा जानकारी के लिए, रूम बंडल का मेटाडेटा देखें.
सिंटैक्स
<Query> एलिमेंट में इस सिंटैक्स का इस्तेमाल किया जाता है:
कीमत से जुड़ी क्वेरी
<?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>
मौजूदा कीमत
<?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>
कॉन्टेक्स्ट के हिसाब से क्वेरी करने की सुविधा
<?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>
मेटाडेटा
<HotelInfoProperties>
<Property>property_ID</Property>
...
</HotelInfoProperties>
विशेषताएं
<Query> एलिमेंट में एक एट्रिब्यूट हो सकता है: latencySensitive.
latencySensitive एट्रिब्यूट की वैल्यू देना ज़रूरी नहीं है. अगर इसे true पर सेट किया जाता है, तो इसका मतलब है कि क्वेरी Live Pricing Query है. अगर आपको Google को latencySensitive एट्रिब्यूट के साथ क्वेरी भेजनी हैं, तो अपने टेक्निकल खाता मैनेजर (टीएएम) से संपर्क करें.
चाइल्ड एलीमेंट
<Query> एलिमेंट में ये चाइल्ड एलिमेंट होते हैं:
| चाइल्ड एलिमेंट | क्वेरी का टाइप | टाइप | ब्यौरा |
|---|---|---|---|
| <AffectedNights> | Pricing | integer | तय की गई अवधि के लिए रातें. इस एलिमेंट का इस्तेमाल सिर्फ़ उन क्वेरी के लिए किया जाता है जिनमें किराये की रेंज दी गई हो. साथ ही, इनका इस्तेमाल किराये और उपलब्धता में बदलाव वाले मोड के साथ किया जाता है. |
| <Checkin> | Pricing | Date | कीमत में हुए किसी बदलाव की तारीखें. |
| <Context> | Pricing (Live Pricing Queries only) | <Context> | लाइव प्राइसिंग क्वेरी के लिए, उन पैरामीटर के बारे में बताता है जिनके आधार पर क्वेरी की जाती है. चाइल्ड एलिमेंट में ये शामिल हैं:
|
| <FirstDate> | Pricing | Date | यात्रा की उन योजनाओं के लिए शुरू होने की तारीख जिनमें किराया लागू होता है. इस एलिमेंट का इस्तेमाल सिर्फ़ चेक-इन की तारीख की सीमा के हिसाब से किराये की जानकारी देने वाली उन क्वेरी के लिए किया जाता है जो किराये और उपलब्धता में बदलाव वाले मोड के साथ इस्तेमाल की जाती हैं. |
| <HotelInfoProperties> | Metadata | string | एक या उससे ज़्यादा प्रॉपर्टी, जिनके लिए Google को मेटाडेटा Query मैसेज में, रूम और रूम बंडल के अपडेट किए गए मेटाडेटा की ज़रूरत है.
इस एलिमेंट में एक या उससे ज़्यादा <Property> एलिमेंट हो सकते हैं. ये एलिमेंट, होटल प्रॉपर्टी के आईडी तय करते हैं. |
| <LastDate> | Pricing | Date | यात्रा की उन योजनाओं के लिए खत्म होने की तारीख जिन पर किराया लागू होता है. इस एलिमेंट का इस्तेमाल सिर्फ़ चेक-इन की तारीख की सीमा के हिसाब से किराये की जानकारी पाने के लिए की गई क्वेरी के लिए किया जाता है. ये क्वेरी, पुल + हिंट के साथ इस्तेमाल की जाती हैं. |
| <Nights> | Pricing | integer | किसी खास यात्रा कार्यक्रम के लिए रातों की संख्या. यह संख्या 30 तक हो सकती है. |
| <PropertyList> | Pricing | Object | उन होटल के लिए एक या उससे ज़्यादा आईडी जिनके किराये को अपडेट करना है. हर होटल को <PropertyList> <Property>pid1</Property> <Property>pid2</Property> </PropertyList> |
उदाहरण
कीमत से जुड़ी क्वेरी
नीचे दिए गए उदाहरण में, किराये के बारे में क्वेरी का एक ऐसा मैसेज दिखाया गया है जिसमें होटलों के एक सेट के लिए, किराये की जानकारी अपडेट करने का अनुरोध किया गया है. ये होटल, 23 मई, 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>
मौजूदा कीमत से जुड़ी क्वेरी
इस उदाहरण में, लाइव कीमत की क्वेरी दिखाई गई है. इसमें जवाब देने के लिए 500 मिलीसेकंड की समयसीमा तय की गई है:
<?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>
कॉन्टेक्स्ट क्वेरी के साथ
<?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>
कॉन्टेक्स्ट के साथ जवाब देने की सुविधा
इस उदाहरण में, एक व्यक्ति के लिए unavailable(-1) बेस रेट सेट करने और <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>
मेटाडेटा क्वेरी
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<HotelInfoProperties>
<Property>pid5</Property>
<Property>pid8</Property>
<Property>pid13</Property>
<Property>pid21</Property>
</HotelInfoProperties>
</Query>
तय सीमा में ठहरने और चेक-इन करने की तारीख की सीमा के हिसाब से किराये के बारे में पूछे गए सवालों के साथ-साथ अन्य उदाहरणों के लिए, Query मैसेज के उदाहरण देखें.
<Context>
<Context> एलिमेंट, Live pricing query के बारे में जानकारी देता है. इसमें मेहमानों की संख्या और टाइप, उपयोगकर्ता का देश, और उपयोगकर्ता का डिवाइस शामिल है.
एक से ज़्यादा <Context> का इस्तेमाल, अलग-अलग देशों के उपयोगकर्ताओं या उपयोगकर्ताओं के डिवाइसों के साथ कभी नहीं किया जाएगा. अगर एक से ज़्यादा लोगों के ठहरने के लिए क्वेरी करने के लिए, कई <Context> का इस्तेमाल किया जाता है, तो हर व्यक्ति के हिसाब से किराया, संबंधित प्रॉपर्टी या यात्रा कार्यक्रम के लिए अतिरिक्त रूम बंडल के तौर पर दें. हर प्रॉपर्टी या यात्रा कार्यक्रम के लिए, एक <Result> ब्लॉक होना चाहिए. इसमें अलग-अलग लोगों के हिसाब से किराये की जानकारी शामिल होनी चाहिए.
<Context> क्वेरी के रिस्पॉन्स की जानकारी के लिए, <OccupancyDetails> देखें.
सिंटैक्स
<Context> एलिमेंट में इस सिंटैक्स का इस्तेमाल किया जाता है:
सिंटैक्स
<?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>
चाइल्ड एलीमेंट
<Context> एलिमेंट में ये चाइल्ड एलिमेंट होते हैं:
| चाइल्ड एलिमेंट | क्वेरी का टाइप | टाइप | ब्यौरा |
|---|---|---|---|
| <Occupancy> | Pricing | integer | इससे मेहमानों की कुल संख्या के बारे में पता चलता है. हालांकि, ध्यान दें: ऐसा हो सकता है कि |
| <OccupancyDetails> | Pricing | Object | <Occupancy> से पहले आता है. इसमें मेहमानों के टाइप के हिसाब से जानकारी दी जाती है. जैसे:
हालांकि, ध्यान दें: ऐसा हो सकता है कि |
| <UserCountry> | Pricing | string | इससे, उपयोगकर्ता के देश के हिसाब से किराये फ़िल्टर किए जाते हैं. इसकी वैल्यू, दो अक्षरों वाला देश कोड होता है. जैसे, अमेरिका के लिए
|
| <UserDevice> | Pricing | string | यह कुकी, उपयोगकर्ता के डिवाइस के टाइप के हिसाब से किराये को फ़िल्टर करती है. जितनी तरह के साइटमैप हो सकते हैं उनकी जानकारी यहां दी गई है:
|
उदाहरण
बुक किया हुआ
यहां दिए गए उदाहरण में, <Context> में मौजूद <Occupancy> के लिए, लाइव प्राइसिंग की क्वेरी दिखाई गई है. लाइव क्वेरी में, तीन वयस्कों के लिए किराया पूछा गया है.
<?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>
डिवाइस की व्यस्तता की जानकारी
इस उदाहरण में, <Context> में <OccupancyDetails> के साथ लाइव प्राइसिंग क्वेरी दिखाई गई है.
लाइव किराया क्वेरी में चार मेहमानों के लिए किराया पूछा गया है. इनमें से दो बच्चे हैं. साथ ही, इसमें अमेरिका में रहने वाले मेहमान के लिए, मोबाइल डिवाइस से की गई बुकिंग पर लागू होने वाला किराया पूछा गया है:
<?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>
एक से ज़्यादा संदर्भ
इस उदाहरण में, लाइव फ़ेअर की जानकारी पाने के लिए की गई क्वेरी में, अतिरिक्त <Context> एलिमेंट का इस्तेमाल दिखाया गया है.
<?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>