सशर्त किराये, किराये के नियम का एक टाइप है. इसकी मदद से, यात्रा कार्यक्रम के लिए अलग-अलग किराये ऑफ़र किए जा सकते हैं. ये किराये, उपयोगकर्ता के डिवाइस, देश या इस आधार पर तय किए जाते हैं कि उपयोगकर्ता ने 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> एलिमेंट का इस्तेमाल, <Rates>
में मौजूद <RoomBundle> या <Result> के कई चाइल्ड एलिमेंट के तौर पर भी किया जा सकता है. इसे सशर्त किराये के तौर पर इस्तेमाल करने के लिए, आपको rate_rule_id एट्रिब्यूट की वैल्यू को, किराये के नियमों की एक्सएमएल फ़ाइल में तय किए गए किराये के नियम के आईडी से मैच करना होगा.
अगर आपके पास, दो लोगों के लिए डिफ़ॉल्ट सार्वजनिक किराये की जानकारी नहीं है, तो <Baserate>
चाइल्ड एलिमेंट को <Result> मैसेज के -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 सिंगल
यहां लेन-देन का एक मैसेज दिखाया गया है. इसमें एक
किराया <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 मल्टीपल
यहां लेन-देन का एक मैसेज दिखाया गया है. इसमें कई
किराये <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>
लैंडिंग पेज की फ़ाइल अपडेट करना
यह पक्का करने के लिए कि ज़रूरी शर्तें पूरी करने वाले असली उपयोगकर्ता, डीप लिंक के ज़रिए छूट वाला किराया बुक कर सकें, अपनी लैंडिंग पेज फ़ाइल में बदलाव करें. छूट वाले किराये को सही तरीके से दिखाने और लागू करने के लिए, बुकिंग की वेबसाइट पर अतिरिक्त तरीके से लागू करने की ज़रूरत भी पड़ सकती है.
हमारा मानना है कि पार्टनर, सशर्त किराये के डीप लिंक पर दिखने वाली कीमत को स्वीकार करेंगे.
डाइनैमिक डीप लिंक में, किराये के नियम को उसके नाम,
id एट्रिब्यूट, <RateRule> एलिमेंट, और RATE-RULE-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)
इस उदाहरण में, किराये के नियम का आईडी सेट होने या न होने के आधार पर, दो लैंडिंग पेजों में से किसी एक को चुना जाता है.
ज़्यादा जानकारी के लिए, वैरिएबल और शर्तों का इस्तेमाल करना लेख पढ़ें.