क्वेरी वाले मैसेज

क्वेरी मैसेज, कीमत या मेटाडेटा अपडेट के लिए Google से अनुरोध होते हैं. इनका इस्तेमाल पुल और किराये में बदलाव, डिलीवरी मोड, दोनों के साथ किया जाता है.

क्वेरी मैसेज का रूट एलिमेंट <Query> है.

क्वेरी मैसेज का स्ट्रक्चर, इस बात पर निर्भर करता है कि मैसेज किस तरह का है:

  • कीमत: Google एक क्वेरी मैसेज भेजता है, जिसमें बताए गए होटल के किराये में बदलाव करने का अनुरोध किया जाता है.

  • मेटाडेटा: Google एक क्वेरी मैसेज भेजता है, जिसमें बताए गए होटल के कमरे और पैकेज की जानकारी का डेटा मांगा जाता है.

आप वह एंडपॉइंट तय करते हैं जिसे Google, आपके शुरुआती कॉन्फ़िगरेशन के दौरान क्वेरी मैसेज और लाइव कीमत तय करने की क्वेरी के लिए इस्तेमाल करता है. ज़्यादा जानकारी के लिए, अपने तकनीकी खाता मैनेजर (TAM) से संपर्क करें.

Google, एचटीटीपी POST अनुरोध के तौर पर एक क्वेरी मैसेज भेजता है. इसमें Content-Type हेडर को "ऐप्लिकेशन/xml" पर सेट किया जाता है और User-Agent हेडर को Google-HotelAdsPrices पर सेट किया जाता है. इस नियम का अपवाद, Google-TravelAds-Live के ज़रिए कीमत के एंडपॉइंट इंटिग्रेशन की मैन्युअल टेस्टिंग के दौरान होता है. इन सैंपल क्वेरी में User-Agent हेडर हो भी सकता है और नहीं भी.

क्वेरी मैसेज की पूरी फ़ॉर्मैटिंग क्वेरी एक्सएमएल रेफ़रंस में देखी जा सकती है.

कीमत से जुड़ी क्वेरी के मैसेज

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

जब आपके सर्वर को pricing से जुड़ा क्वेरी मैसेज मिलता है, तो उसे <Transaction> मैसेज के साथ जवाब देना चाहिए. इस मैसेज में, अनुरोध की गई कीमत की जानकारी होती है.

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

क्वेरी मैसेज तीन तरह के होते हैं:

  1. लाइव किराया: यह सुविधा चालू होने पर क्वेरी तब भेजी जाती हैं, जब कोई उपयोगकर्ता किसी खास प्रॉपर्टी या यात्रा की योजना के लिए सक्रिय रूप से किराये ब्राउज़ कर रहा होता है और आपके पास जवाब देने के लिए एक तय समयसीमा होती है.

  2. कॉन्टेक्स्ट के साथ: यह सेटिंग चालू होने पर, Google की ओर से भेजी जाने वाली हर क्वेरी में, उपयोगकर्ता संदर्भ के सुझाव शामिल होते हैं. साथ ही, सुझावों में उन उपयोगकर्ताओं के बारे में बताया जाता है जो दी गई प्रॉपर्टी या यात्रा की योजना के कॉम्बिनेशन खोजते हैं. इन सुझावों का पालन करने से आपके जवाबों की परफ़ॉर्मेंस बेहतर हो सकती है.

  3. मेटाडेटा: यह किसी खास प्रॉपर्टी के लिए, कमरों और पैकेज की जानकारी देने वाला अनुरोध होता है.

मौजूदा कीमत से जुड़े सवाल

लाइव किराया देखने से जुड़े सवालों के जवाब, Google से रीयल-टाइम में कीमत अपडेट करने के लिए किए जाते हैं. ये अनुरोध, लोगों की खोज के जवाब में किए जाते हैं. Google को किसी उपयोगकर्ता से, होटल या यात्रा की योजना बनाने का अनुरोध मिलता है. कीमत से जुड़ा डेटा उपलब्ध न होने या फ़िलहाल उपलब्ध न होने की वजह से, खोज के समय Google आपसे किराये में हुए बदलाव की जानकारी मांगता है. लाइव कीमतों से जुड़ी क्वेरी में Google, प्रॉडक्ट की कीमत जानने की कोशिश करता है और उसे खोज के समय नतीजों में दिखाता है.

लाइव कीमत से जुड़ी क्वेरी के सभी अनुरोधों का जवाब देने की समयसीमा होती है, जो आम तौर पर 4000 मिलीसेकंड तक होती है. इस सीमा की जानकारी, 'लाइव प्राइसिंग क्वेरी' अनुरोध में दी गई है. अगर समयसीमा के अंदर जवाब नहीं दिया जाता है, तो इसकी वजह से उस अवसर के लिए हिस्सा नहीं लिया जा सकेगा. हालांकि, हमारा सुझाव है कि आप कीमत भी उपलब्ध कराएं, ताकि इसे कैश मेमोरी में सेव किया जा सके और आने वाले समय के अवसरों के लिए इस्तेमाल किया जा सके. रिस्पॉन्स के लिए कनेक्शन दस मिनट तक खुला रहता है या पार्टनर के कॉन्फ़िगरेशन में दी गई जानकारी के हिसाब से चालू रहता है.

लाइव किराये से जुड़ी क्वेरी भी संदर्भ के हिसाब से होती हैं. इनसे इन पैरामीटर के हिसाब से कीमतें पता की जा सकती हैं: उपयोगकर्ता का देश, डिवाइस का टाइप, बुकिंग के हिसाब से वयस्कों और बच्चों की संख्या. साथ ही, यह भी पता चलता है कि वे मेहमान वयस्क हैं या बच्चे हैं. लाइव कीमत से जुड़ी क्वेरी में, अप-टू-डेट किराये के बारे में बताया जा सकता है. ये ऐसी कीमतें होती हैं जो ग्राहक की खोज क्वेरी से मैच होती हैं.

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

मौजूदा कीमत से जुड़ी क्वेरी को इस्तेमाल करने के नियम

  • दी गई यात्रा की योजना का कैश मेमोरी में सेव किया गया डेटा मौजूद नहीं है, क्योंकि जिस यात्रा की योजना का अनुरोध किया गया है वह बहुत सामान्य है. जैसे, तारीखें बहुत आगे की हैं या होटल को बहुत कम खोजा गया है.

  • अनुरोध की गई तारीख एक गैर-डिफ़ॉल्ट तारीख है.

: ध्यान दें: मौजूदा किराया तय करने से जुड़ी क्वेरी के लिए, डिफ़ॉल्ट तारीखों को नहीं चुना जा सकता. मौजूदा किराये से जुड़ी क्वेरी का अनुरोध सिर्फ़ उन तारीखों के लिए किया जाता है जो डिफ़ॉल्ट नहीं हैं.

आम तौर पर, Google लाइव किराये के नतीजों को कैश मेमोरी में सेव करता है, ताकि उसी होटल या यात्रा की योजना के बारे में फिर से क्वेरी न की जाए. इसके लिए, एक होटल या यात्रा की योजना, दोनों को जोड़ने का अनुरोध किया जा सकता है. साथ ही, कई होटल या एक ही यात्रा की योजना के कॉम्बिनेशन का अनुरोध किया जा सकता है.

कॉन्टेक्स्ट के साथ लाइव किराया सुविधा की मदद से, Google लोगों को उनके डिवाइस टाइप, उस देश से लाइव कीमत तय करने का अनुरोध भेज पाता है जहां से वे खोज कर रहे हैं. साथ ही, यह इस बात पर भी निर्भर करता है कि बच्चों की संख्या कितनी है. क्वेरी मैसेज और लेन-देन मैसेज, दोनों को बड़ा किया जाता है, ताकि क्वेरी पैरामीटर के बारे में बताने वाला <Context> एलिमेंट शामिल किया जा सके. लाइव किराये की क्वेरी से मिले किराये को कमरे के बंडल के तौर पर कैश मेमोरी में सेव किया जा सकता है. ऐसा तब किया जा सकता है, जब यह कीमत किसी खास बुकिंग के लिए उपलब्ध हो. साथ ही, यह कीमत तय की गई दर के तौर पर हो. ऐसा तब होगा, जब यह कीमत किसी देश या उपयोगकर्ता के डिवाइस के लिए हो.

कॉन्टेक्स्ट क्वेरी के साथ

कॉन्टेक्स्ट क्वेरी के साथ नियमित अनुरोध होते हैं, जो किसी खास प्रॉपर्टी या यात्रा की योजना के कॉम्बिनेशन के लिए, हमारे डेटाबेस को अपडेट करते हैं. इनमें उपयोगकर्ता कॉन्टेक्स्ट की एक सूची होती है जो इन कॉम्बिनेशन के लिए लोकप्रिय है. अगर शर्तों के साथ तय की गई दरों का इस्तेमाल किया जाता है, तो सभी संभावित उपयोगकर्ता कॉन्टेक्स्ट के हिसाब से दरें भेजना महंगा हो सकता है. ऐसे में, उपयोगकर्ता कॉन्टेक्स्ट की इस सूची का इस्तेमाल करके अपने जवाब को सीमित किया जा सकता है. सिर्फ़ चुनिंदा उपयोगकर्ता कॉन्टेक्स्ट के लिए वापस आने वाली कीमतों में उपयोगकर्ताओं की ज़्यादातर क्वेरी शामिल होती हैं.

मेटाडेटा से जुड़ी क्वेरी के मैसेज

मेटाडेटा क्वेरी मैसेज में खास प्रॉपर्टी के लिए कमरे और पैकेज की जानकारी होती है.

जब आपको मेटाडेटा से जुड़ा क्वेरी मैसेज मिलता है, तो आपको <Transaction> मैसेज के साथ जवाब देना चाहिए. इसमें <Result> एलिमेंट में, अनुरोध की गई प्रॉपर्टी की कीमत की जानकारी होती है.

ज़्यादा जानकारी के लिए, कमरे और पैकेज का मेटाडेटा तय करना देखें.

कंट्रोल क्वेरी

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

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

<ItineraryCapabilities> का इस्तेमाल करके, कीमत से जुड़ी क्वेरी की संभावित सीमाएं तय की जा सकती हैं. आपके तय किए गए नियम, तारीखों की सीमा और ठहरने की ज़्यादा से ज़्यादा अवधि तय करते हैं.

<MaxAdvancePurchase> और <MaxLengthOfStay> के लिए, ऐसी डिफ़ॉल्ट वैल्यू सेट की जा सकती हैं जो सभी होटल या यात्रा की योजना के कॉम्बिनेशन पर लागू होती हैं. होटल के ग्रुप के लिए, ये सेटिंग तय की जा सकती हैं.

क्वेरी मैसेज के उदाहरण

यह सेक्शन, कीमत से जुड़े क्वेरी मैसेज और मेटाडेटा से जुड़े क्वेरी मैसेज के कई उदाहरण दिखाता है. क्वेरी एक्सएमएल रेफ़रंस में कुछ और उदाहरण दिए गए हैं.

यात्रा की योजना का सैंपल

इस उदाहरण में बताया गया है कि किराये <Query> के तहत, 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>

इस उदाहरण में, हर होटल के किराये में बदलाव करने का अनुरोध किया गया है:

5/23/18 - 6/26/18

मौजूदा कीमत से जुड़ी क्वेरी का उदाहरण

इस उदाहरण में, 500 मिलीसेकंड की जवाब देने की समयसीमा वाली लाइव कीमत से जुड़ी क्वेरी दिखाई गई है:

<?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>2023-05-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>

इस उदाहरण में एक होटल के किराये का अनुरोध किया गया है:

6/23/23 - 6/25/23

इस क्वेरी का सैंपल लेन-देन मैसेज, कीमत और रूम इन्वेंट्री (लेन-देन) एक्सएमएल रेफ़रंस में देखा जा सकता है.

कॉन्टेक्स्ट क्वेरी के उदाहरण के साथ

यहां दिए गए उदाहरण में, कॉन्टेक्स्ट क्वेरी का एक उदाहरण दिया गया है:

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <Checkin>2023-05-23</Checkin>
  <Nights>2</Nights>
  <PropertyContextList>
    <PropertyContext>
      <Property>8675309</Property>
      <!-- In the future, occupancy and 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>

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

चेक इन करने की तारीख की सीमाएं

अगर आपने 'कीमत में बदलाव किया है' विकल्प इस्तेमाल किया है, तो क्वेरी मैसेज का स्ट्रक्चर उस संकेत के टाइप पर निर्भर करता है जिसका इस्तेमाल चेक-इन करने की तारीख की सीमाओं, सटीक यात्रा की योजना या यात्रा की योजना के लिए किया जाता है. इनमें से हर तरह के संकेत के बारे में ज़्यादा जानकारी के लिए, हिंट रिस्पॉन्स मैसेज देखें.

इस उदाहरण में, चेक इन करने की तारीख की सीमाओं के लिए कीमत <Query> वाला मैसेज दिखाया गया है:

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <FirstDate>2023-05-23</FirstDate>
  <LastDate>2023-05-26</LastDate>
  <Nights>3</Nights>
  <PropertyList>
    <Property>pid5</Property>
    <Property>pid8</Property>
    <Property>pid13</Property>
    <Property>pid21</Property>
  </PropertyList>
</Query>

इस उदाहरण में, ठहरने के किराये (हर होटल के लिए) के किराये में बदलाव करने का अनुरोध किया गया है:

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

किराये पर ठहरने की जगह

नीचे दिए गए उदाहरण में, अलग-अलग दूरी पर ठहरने के लिए, किराया <Query> से जुड़ा मैसेज दिखाया गया है:

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <FirstDate>2023-05-23</FirstDate>
  <LastDate>2023-05-26</LastDate>
  <AffectedNights>3</AffectedNights>
  <PropertyList>
    <Property>pid5</Property>
    <Property>pid8</Property>
    <Property>pid13</Property>
    <Property>pid21</Property>
  </PropertyList>
</Query>

इस उदाहरण में, हर होटल के किराये में बदलाव करने का अनुरोध किया गया है:

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

साथ ही, जो रात से पहले शुरू होती है (हालांकि, उसमें शामिल है):

5/20/23 - 5/23/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

मेटाडेटा क्वेरी मैसेज

इस उदाहरण में <Query> मैसेज दिखाया गया है. इसमें कई प्रॉपर्टी के लिए, कमरे और पैकेज की जानकारी के मेटाडेटा को अपडेट करने का अनुरोध किया गया है:

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

इस तरह के क्वेरी मैसेज का जवाब, लेन-देन से जुड़े ऐसे मैसेज के साथ दिया जाता है जिसमें रूम और पैकेज मेटाडेटा के बारे में बताया जाता है. ज़्यादा जानकारी के लिए, कमरे और पैकेज का मेटाडेटा तय करना देखें.