कंडिशनल रेट

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

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

खास जानकारी

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

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

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

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

fenced_rates

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

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

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

अलग-अलग भाषा के हिसाब से किराये सिर्फ़ उन लोगों को दिखते हैं जो Google में भाषा की किसी सेटिंग का इस्तेमाल करते समय होटल खोज रहे होते हैं. किसी खास भाषा के लिए शर्तें, <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>
        <!-- NOTE: OtherFees is inherited from the above setting -->
        <Custom1>ratecode123</Custom1>
      </Rate>
    </Rates>

  </Result>
</Transaction>

एक रूम बंडल

इस उदाहरण में, लेन-देन के ऐसे मैसेज दिखाए गए हैं जिसमें <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> के तहत एक से ज़्यादा दरें शामिल हैं:

<?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>
      <Custom1>ratebasic</Custom1>
      <!-- Neither rate overrides Custom2. -->
      <Custom2>ratebasic</Custom2>

      <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>
          <!-- The value below overrides Custom1 from roombundle. -->
          <Custom1>ratecode321</Custom1>
          <!-- Custom2 is inherited from roombundle. -->
        </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>
          <!-- The value below overrides Custom1 from roombundle. -->
          <Custom1>ratecode432</Custom1>
          <!-- Custom2 is inherited from roombundle. -->
        </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>

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

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

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

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

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

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