क्वेरी & हिंट एक्सएमएल रेफ़रंस

इस सेक्शन में, Google के एक्सएमएल पर आधारित सुझाव के अनुरोध वाले मैसेज, सुझाव के जवाब वाले मैसेज, और क्वेरी वाले मैसेज के बारे में जानकारी दी गई है.

<Hint> (हिंट रिस्पॉन्स मैसेज)

यह हिंट रिस्पॉन्स मैसेज का रूट एलिमेंट होता है. सुझाव वाले जवाब के मैसेज में यह बताया जाता है कि किस होटल या यात्रा योजना के कॉम्बिनेशन की कीमत फिर से तय की जानी चाहिए. ये Google से मिले जवाब के अनुरोध वाले मैसेज के जवाब होते हैं.

सुझाव के तौर पर दिए गए जवाब वाले मैसेज में, सिर्फ़ उन होटलों के बारे में जानकारी होनी चाहिए जिनके किराये में बदलाव हुआ है. ऐसा तब होना चाहिए, जब Google को आपके सर्वर से सुझाव के तौर पर दिया गया जवाब पिछली बार मिला हो.

सुझाव वाले जवाब के मैसेज में, यह तय करने के लिए इनमें से किसी एक तरीके का इस्तेमाल किया जाता है कि Google को किन होटलों और यात्रा योजनाओं के लिए फिर से कीमत तय करनी चाहिए:

  • यात्रा की सटीक योजनाएं: इसमें चेक-इन की तारीख और ठहरने की अवधि शामिल होती है.

  • चेक-इन करने की तारीख की सीमाएं: इससे चेक-इन करने की तारीखों की सीमा के बारे में पता चलता है. यह सीमा, चेक-इन करने की पहली तारीख से शुरू होकर चेक-इन करने की आखिरी तारीख पर खत्म होती है.

  • तय सीमा में ठहरना (या तय सीमा में यात्रा कार्यक्रम)

इनमें से हर तरीके के लिए, हिंट रिस्पॉन्स मैसेज का सिंटैक्स अलग-अलग होता है.

ज़्यादा जानकारी के लिए, जवाब के बारे में जानकारी देने वाले मैसेज देखें.

सिंटैक्स

<Hint> एलिमेंट अलग-अलग सिंटैक्स का इस्तेमाल करता है. यह सिंटैक्स, Hint Response मैसेज के टाइप पर निर्भर करता है:

सटीक यात्रा योजनाएं

यहां, जवाब के तौर पर दिए गए सुझाव वाले मैसेज में, यात्रा की सटीक जानकारी के लिए सिंटैक्स दिखाया गया है:

<!-- 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 सभी

होटल का आईडी. इसके लिए, होटल की सूची में इस्तेमाल किए गए आईडी का ही इस्तेमाल किया जाता है. एक <Item> ब्लॉक में, <Property> एलिमेंट की संख्या तय करने के लिए, हिंट रिस्पॉन्स मैसेज का टाइप तय किया जाता है:

  • यात्रा की सटीक योजनाएं: ज़्यादा से ज़्यादा 100 होटल.
  • चेक-इन की सीमाएं: अगर आपने <QueryControl> मैसेज में <MultipleItineraries> को "checkin_range" पर सेट किया है, तो एक से ज़्यादा सीमाएं हो सकती हैं.
  • एक से ज़्यादा दिन रुकना: अगर आपने <QueryControl> मैसेज में <MultipleItineraries> को "affected_dates" पर सेट किया है, तो एक से ज़्यादा दिन रुकने का विकल्प दिखेगा.
<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 के अनुरोध होते हैं. ये अनुरोध, कीमत या मेटाडेटा अपडेट करने के लिए किए जाते हैं. इनका इस्तेमाल, Pull और Changed pricing, दोनों डिलिवरी मोड के साथ किया जाता है.

किराये के बारे में क्वेरी करने वाले मैसेज

किराया क्वेरी के मैसेज में, प्रॉपर्टी और यात्रा की योजना के उन कॉम्बिनेशन के बारे में बताया जाता है जिनके लिए आपको किराया देना है.

जब आपके सर्वर को कीमत क्वेरी मैसेज मिलता है, तो उसे <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> लाइव किराया क्वेरी के लिए, उन पैरामीटर के बारे में बताता है जिनके आधार पर क्वेरी की जाती है. चाइल्ड एलिमेंट में ये शामिल हैं:
  • <Occupancy>: मेहमानों की कुल संख्या
  • <OccupancyDetails>: मेहमानों का टाइप, जैसे कि वयस्क या बच्चे
  • <UserCountry>: वह देश जहां उपयोगकर्ता मौजूद है
  • <UserDevice>: मेहमान ने होटल खोजने के लिए किस तरह के डिवाइस का इस्तेमाल किया. जैसे, "mobile," "tablet," या "desktop."

<Context> एलिमेंट को एक ही अनुरोध में दोहराया जा सकता है. इससे अलग-अलग ऑक्यूपेंसी के लिए क्वेरी की जा सकती हैं. चाइल्ड एलिमेंट, सिंटैक्स, और उदाहरणों की सूची के लिए, <Context> देखें.

<FirstDate> Pricing Date यात्रा की उन योजनाओं के लिए शुरू होने की तारीख जिनमें किराया लागू होता है. इस एलिमेंट का इस्तेमाल सिर्फ़ चेक-इन की तारीख की सीमा के हिसाब से तय किए गए किराये की जानकारी पाने के लिए की गई उन क्वेरी के लिए किया जाता है जिनमें किराये और उपलब्धता में बदलाव करने की सुविधा का इस्तेमाल किया गया है.
<HotelInfoProperties> Metadata string एक या उससे ज़्यादा प्रॉपर्टी, जिनके लिए Google को मेटाडेटा Query मैसेज में, कमरे और रूम बंडल का अपडेट किया गया मेटाडेटा चाहिए. इस एलिमेंट में एक या उससे ज़्यादा <Property> एलिमेंट हो सकते हैं. ये एलिमेंट, होटल प्रॉपर्टी के आईडी तय करते हैं.
<LastDate> Pricing Date यात्रा की उन योजनाओं के लिए खत्म होने की तारीख जिन पर किराया लागू होता है. इस एलिमेंट का इस्तेमाल सिर्फ़ चेक-इन की तारीख की सीमा के हिसाब से किराये की जानकारी पाने के लिए की गई क्वेरी के लिए किया जाता है. ये क्वेरी, पुल + हिंट के साथ इस्तेमाल की जाती हैं.
<Nights> Pricing integer किसी खास यात्रा कार्यक्रम के लिए रातों की संख्या, ज़्यादा से ज़्यादा 30.
<PropertyList> Pricing Object

उन होटल के लिए एक या इससे ज़्यादा आईडी जिनके किराये को अपडेट करना है.

हर होटल को <Property> एलिमेंट में तय करें. यह वैल्यू एक स्ट्रिंग होती है. यह आपके होटल की सूची में मौजूद होटल आईडी से मेल खाती है. उदाहरण के लिए:

<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 इससे मेहमानों की कुल संख्या के बारे में पता चलता है.

हालांकि, <Occupancy> के साथ क्वेरी करना ज़रूरी नहीं है, लेकिन ऐसा करने पर आपको लेन-देन का मैसेज मिलेगा. इसमें हर <Occupancy> के लिए, सही रूम बंडल तय किए गए होंगे. हालांकि, अगर रूम बंडल उपलब्ध नहीं हैं, तो हमारा सुझाव है कि आप <Occupancy> एलिमेंट की जानकारी दें.

ध्यान दें: ऐसा हो सकता है कि <Occupancy> हमेशा किसी क्वेरी में न दिखे. ऐसे मामलों में, आपको सभी तरह के किराये की जानकारी देनी चाहिए.

<OccupancyDetails> Pricing Object <Occupancy> से पहले आता है. इसमें मेहमानों के टाइप के हिसाब से जानकारी दी जाती है. जैसे:
  • <NumAdults>: वयस्कों की संख्या
  • <Children> और <Child="age">: इससे यह पता चलता है कि मेहमानों में बच्चे कौन-कौन हैं. आम तौर पर, इनकी उम्र 0 से 17 साल होती है. साथ ही, इसमें हर बच्चे की उम्र भी शामिल की जा सकती है.

हालांकि, <OccupancyDetails> के साथ क्वेरी करना ज़रूरी नहीं है, लेकिन ऐसा करने पर आपको लेन-देन से जुड़ा मैसेज मिलेगा. इसमें हर <OccupancyDetails> के लिए, सही रूम बंडल तय किए गए होंगे. हालांकि, अगर रूम बंडल उपलब्ध नहीं हैं, तो हमारा सुझाव है कि आप <OccupancyDetails> एलिमेंट तय करें.
<Occupancy>

ध्यान दें: ऐसा हो सकता है कि <OccupancyDetails> हमेशा किसी क्वेरी में न दिखे. ऐसे मामलों में, आपको यह मान लेना चाहिए कि सभी मेहमान वयस्क हैं.

<UserCountry> Pricing string

इससे उपयोगकर्ता के देश के हिसाब से किराये फ़िल्टर किए जाते हैं. इसकी वैल्यू, दो अक्षरों वाला देश कोड होता है. जैसे, अमेरिका के लिए "US" या क्षेत्र का कोड. जैसे, "यूरोप" के लिए "EU".

<UserCountry> के साथ की गई क्वेरी के जवाब में, लेन-देन का मैसेज दिखना चाहिए. साथ ही, क्वेरी किए गए देश के लिए सही <UserCountry> ब्लॉक की जानकारी दिखनी चाहिए.<Rates>

<UserDevice> Pricing string

यह कुकी, उपयोगकर्ता के डिवाइस के टाइप के हिसाब से किराये को फ़िल्टर करती है. जितनी तरह के साइटमैप हो सकते हैं उनकी जानकारी यहां दी गई है:

  • mobile
  • desktop
  • tablet

<UserDevice> के साथ की गई क्वेरी के जवाब में, लेन-देन का मैसेज दिखना चाहिए. साथ ही, क्वेरी किए गए डिवाइस टाइप के लिए सही <Rates> ब्लॉक तय किया जाना चाहिए.

उदाहरण

बुक किया हुआ

यहां दिए गए उदाहरण में, <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>