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

देश के हिसाब से खास किराया
किसी देश के लिए तय किए गए किराये, होटल के ऐसे किराये होते हैं जो सिर्फ़ उस देश के उपयोगकर्ताओं को दिखते हैं और वे ही उन्हें बुक कर सकते हैं. 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 and it should be within 50 characters in length for optimal
performance. 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>
लैंडिंग पेज की फ़ाइल अपडेट करना
यह पक्का करने के लिए कि ज़रूरी शर्तें पूरी करने वाले असली उपयोगकर्ता, डीप लिंक के ज़रिए छूट वाली कीमत पर बुकिंग कर सकें, अपनी लैंडिंग पेज फ़ाइल में बदलाव करें. किराये में छूट को सही तरीके से दिखाने और लागू करने के लिए, बुकिंग वेबसाइट पर कुछ और बदलाव करने पड़ सकते हैं.
हमारा मानना है कि पार्टनर, शर्तों के साथ तय किए गए किराये के डीप लिंक में दिखाए गए किराये के हिसाब से ही बुकिंग स्वीकार करेंगे.
डाइनैमिक डीप लिंक में, 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)¤cy=(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)¤cy=(USER-CURRENCY)
इस उदाहरण में, दो लैंडिंग पेजों में से किसी एक को चुना जाता है. यह इस बात पर निर्भर करता है कि किराया तय करने के नियम का आईडी सेट है या नहीं.
ज़्यादा जानकारी के लिए, वैरिएबल और शर्तों का इस्तेमाल करना लेख पढ़ें.