कंडिशनल रेट

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

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

खास जानकारी

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

खास स्थितियों में किराया तय करने की सुविधा चालू करने के लिए, इनमें बदलाव करें:

डिवाइस के हिसाब से खास किराया

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

fenced_rates

देश के हिसाब से खास किराया

किसी देश के हिसाब से तय किए गए किराये, होटल के ऐसे किराये होते हैं जो सिर्फ़ उन उपयोगकर्ताओं को दिखते हैं और जिन्हें किसी खास देश में होटल बुक करने हैं. Google, आखिरी उपयोगकर्ता के आईपी पते का इस्तेमाल करके देश का पता लगाता है. किराये की जानकारी, Google के पार्टनर देते हैं. साथ ही, देश के हिसाब से तय किए गए किराये को, उपयोगकर्ता उस देश के हिसाब से बनाई गई पार्टनर की साइट पर देख सकते हैं और बुक कर सकते हैं.

भाषा के हिसाब से खास किराया

भाषा के हिसाब से तय किए गए किराये, सिर्फ़ उन उपयोगकर्ताओं को दिखते हैं जो Google पर किसी खास भाषा की सेटिंग का इस्तेमाल करके होटल खोज रहे हैं. भाषा के हिसाब से शर्तों को तय करने के लिए, <LanguageCode> एलिमेंट का इस्तेमाल किया जाता है.

कॉन्टेक्स्ट क्वेरी के साथ अनुरोध मैसेज में भाषा की जानकारी नहीं दी जाती. इसलिए, अगर आपने किराये के नियमों में <LanguageCode> की जानकारी दी है, तो 'संदर्भ के साथ जवाब' में, भाषा के हिसाब से सभी काम के किराये शामिल होने चाहिए.

खास किराये के लिए, कम किए गए सैंपल

डाउनसैंपल किए गए खास किराये, ज़रूरी शर्तें पूरी करने वाले सभी उपयोगकर्ताओं के किसी सबसेट को ही दिखते हैं. सैंपलिंग रेट को <MaxUsersPercent> एलिमेंट का इस्तेमाल करके तय किया जाता है. इसका हिसाब लगाने के लिए, इनका इस्तेमाल किया जाता है:

MaxUsersPercent = (number of users selected to view rate)/(total eligible users)

साइन इन करने पर मिलने वाली खास किराये की सुविधा

साइन इन करने पर दिखने वाली किराये की जानकारी, सिर्फ़ उन उपयोगकर्ताओं को दिखती है जिन्होंने Google खाते से साइन इन किया है. Google के पार्टनर किराये तय करते हैं. साथ ही, लोग पार्टनर की साइट पर जाकर किराये देख सकते हैं और बुकिंग कर सकते हैं. साइन इन करने पर मिलने वाली किराये की जानकारी देने के लिए, <UserSignedIn> एलिमेंट का इस्तेमाल किया जाता है.

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

किराये के नियमों की एक्सएमएल फ़ाइल बनाना

खास स्थितियों में किराया तय करने के नियमों को, किराया तय करने के नियमों वाली एक्सएमएल फ़ाइल का इस्तेमाल करके तय किया जाता है. ज़्यादा जानकारी के लिए, रेटिंग के नियमों का एक्सएमएल रेफ़रंस देखें.

कीमत का फ़ीड अपडेट करना

शर्त के हिसाब से किराया तय करने की सुविधा, लेन-देन के मैसेज में एलिमेंट का इस्तेमाल करके सेट की जाती है.

<Rate> एलिमेंट का इस्तेमाल, <RoomBundle> या <Result> एलिमेंट में <Rates> के कई चाइल्ड एलिमेंट के तौर पर भी किया जा सकता है. इसे शर्त के साथ तय किए गए किराये के तौर पर इस्तेमाल करने के लिए, आपको rate_rule_id एट्रिब्यूट की वैल्यू सेट करनी होगी, ताकि वह किराया तय करने के नियमों की एक्सएमएल फ़ाइल में तय किए गए किराया नियम आईडी से मैच कर सके.

अगर आपके पास दो लोगों के लिए डिफ़ॉल्ट सार्वजनिक किराया नहीं है, तो <Result> मैसेज के <Baserate> चाइल्ड एलिमेंट को -1 पर सेट करें. इस मामले में, Google को भेजे गए सभी शर्तों वाले <Rates> को मान्य माना जाएगा.

उदाहरण

बेस + कंडीशनल

इस उदाहरण में, लेन-देन का एक मैसेज दिखाया गया है. इसमें बुनियादी और शर्तों के हिसाब से तय की गई दर शामिल है:

<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2023-04-10</Checkin>
    <Nights>1</Nights>

    <Baserate currency="USD">200.00</Baserate>
    <Tax currency="USD">20.00</Tax>
    <OtherFees currency="USD">1.00</OtherFees>

    <Rates>
      <!-- The rate_rule_id is required when using conditional rates -->
      <Rate rate_rule_id="mobile">
        <!-- Override base rate and taxes for conditional rates -->
        <Baserate currency="USD">180.00</Baserate>
        <Tax currency="USD">18.00</Tax>
      </Rate>
    </Rates>

  </Result>
</Transaction>

RoomBundle single

इस उदाहरण में, लेन-देन का एक मैसेज दिखाया गया है. इसमें <RoomBundle> के तहत एक ही दर दी गई है:

<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2023-04-10</Checkin>
    <Nights>2</Nights>

    <Baserate currency="USD">300.00</Baserate>
    <Tax currency="USD">30.00</Tax>
    <OtherFees currency="USD">2.00</OtherFees>

    <RoomBundle>
      <RoomID>single</RoomID>
      <Baserate currency="USD">300.00</Baserate>
      <Tax currency="USD">30.00</Tax>
      <OtherFees currency="USD">2.00</OtherFees>
    </RoomBundle>

    <RoomBundle>
      <RoomID>3</RoomID>  <!-- Links to data in metadata -->
      <RatePlanID>basic</RatePlanID>
      <Baserate currency="USD">275.00</Baserate>
      <Tax currency="USD">27.50</Tax>
      <ChargeCurrency>web</ChargeCurrency>
      <BreakfastIncluded>1</BreakfastIncluded>

      <Rates>
        <Rate rate_rule_id="mobile">
          <Baserate currency="USD">269.00</Baserate>
          <Tax currency="USD">2.69</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
        </Rates>
      </Rates>

    </RoomBundle>
  </Result>
</Transaction>

RoomBundle multiple

इस उदाहरण में, लेन-देन का एक मैसेज दिखाया गया है. इसमें <RoomBundle> के तहत कई दरें दी गई हैं:

<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2023-04-10</Checkin>
    <Nights>2</Nights>
    <!-- When Google receives new room bundle information for an itinerary, all
    previous room bundle pricing is dropped from Google's cache. Thus, if you
    want to delete a specific room bundle from Google's cache, you may do so
    by simply not providing that specific room bundle in subsequent transaction
    messages. -->
    <RoomBundle>
     ...
      <!-- RoomID is required, PackageID is recommended. -->
      <RoomID>5</RoomID>
      <PackageID>ABC</PackageID>
      <!-- Baserate is required. -->
      <Baserate currency="USD">275.00</Baserate>
      <Tax currency="USD">27.50</Tax>
      <OtherFees currency="USD">2.00</OtherFees>

      <!-- RatePlanID is optional and represents the unique identifier for a
      room and package data combination. We strongly recommend using RatePlanID
      as a variable to build your dynamic landing page (formerly Point of Sale)
      URL. For details, see Using Variables and Conditions. -->
      <RatePlanID>5-ABC</RatePlanID>

      <!-- Occupancy is mandatory for RoomBundle elements. -->
      <!-- Elements below will get inherited to nested rate elements. -->
      <Occupancy>2</Occupancy>
      <OccupancyDetails>
        <NumAdults>2</NumAdults>
      </OccupancyDetails>
      <InternetIncluded>1</InternetIncluded>

      <!-- Rate rule "mobile" overrides chargeCurrency, "us_or_gb" doesn't. -->
      <ChargeCurrency>web</ChargeCurrency>

      <Rates>
        <Rate rate_rule_id="mobile">
          <Baserate currency="USD">258.33</Baserate>
          <Tax currency="USD">25.83</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
          <!-- The value below overrides ChargeCurrency from roombundle. -->
          <ChargeCurrency>hotel</ChargeCurrency>
        </Rate>
        <Rate rate_rule_id="us_or_gb">
          <Baserate currency="USD">268.33</Baserate>
          <Tax currency="USD">26.83</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
        </Rate>
      </Rates>
    </RoomBundle>
  </Result>
</Transaction>

दो लोगों के लिए सार्वजनिक कमरा उपलब्ध नहीं है

इस उदाहरण में, लेन-देन का एक मैसेज दिखाया गया है. इसमें सार्वजनिक किराये के बजाय, खास किराया दिखाया गया है. इसमें दो लोगों के लिए किराया शामिल नहीं है:

<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">

  <Result>
    <Property>1234</Property>
    <Checkin>2023-04-10</Checkin>
    <Nights>1</Nights>

    <!-- <Unavailable/> should not be specified when available nested rates
    exist. -->
    <Baserate currency="USD">-1</Baserate>
    <Tax currency="USD">0</Tax>
    <OtherFees currency="USD">0</OtherFees>

    <Rates>
      <!-- The rate_rule_id is required when using conditional rates. -->
      <Rate rate_rule_id="mobile">
        <Baserate currency="USD">180.00</Baserate>
        <Tax currency="USD">18.00</Tax>
        <OtherFees currency="USD">1.00</OtherFees>
        <Custom1>ratecode123</Custom1>
      </Rate>
    </Rates>

  </Result>
</Transaction>

अपनी लैंडिंग पेज फ़ाइल अपडेट करना

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

हम उम्मीद करते हैं कि पार्टनर, खास किराये के डीप लिंक पर दिखाई गई कीमत को लागू करेंगे.

डाइनैमिक डीप लिंक में, किराया तय करने के नियम को उसके नाम, <RateRule> एलिमेंट के id एट्रिब्यूट के साथ, RATE-RULE-ID वैरिएबल की मदद से शामिल किया जा सकता है.

नीचे दिए गए उदाहरण में, किराया तय करने के नियम का आईडी जोड़ा गया है:

https://bookingsite.com/landing.do?id=(PARTNER-HOTEL-ID)&arrival=(CHECKINDAY)-(CHECKINMONTH)-(CHECKINYEAR)&departure=(CHECKOUTDAY)-(CHECKOUTMONTH)-(CHECKOUTYEAR)&lang=(USER-LANGUAGE)&currency=(USER-CURRENCY)&prid=(RATE-RULE-ID)

लैंडिंग पेज फ़ाइल में IF-RATE-RULE-ID डायरेक्टिव भी काम करता है. इसकी मदद से, किराया तय करने का नियम मौजूद है या नहीं, इस आधार पर यूआरएल के कुछ हिस्सों को कंडीशन के हिसाब से तय किया जा सकता है:

https://bookingsite.com/(IF-RATE-RULE-ID)privatelanding.do(RATE-RULE-ID)(ELSE)landing.do(ENDIF)?id=(PARTNER-HOTEL-ID)&arrival=(CHECKINDAY)-(CHECKINMONTH)-(CHECKINYEAR)&departure=(CHECKOUTDAY)-(CHECKOUTMONTH)-(CHECKOUTYEAR)&lang=(USER-LANGUAGE)&currency=(USER-CURRENCY)

इस उदाहरण में, किराया तय करने के लिए इस्तेमाल होने वाले नियम का आईडी सेट होने या न होने के आधार पर, दो लैंडिंग पेजों में से किसी एक को चुना जाता है.

ज़्यादा जानकारी के लिए, वैरिएबल और शर्तों का इस्तेमाल करना लेख पढ़ें.