खास जानकारी
इस एपीआई की मदद से, संभावित छूट तय की जा सकती हैं. Google, बताए गए प्रमोशन में से, ज़रूरी शर्तें पूरी करने वाला प्रमोशन या प्रमोशन का ऐसा सेट लागू करता है जिससे सबसे कम कीमत मिलती है. अगर आपको ऐसा एपीआई चाहिए जो किराये में मनमुताबिक बदलाव कर सके, ताकि शर्तें पूरी होने पर किराया बढ़ाया या घटाया जा सके, तो किराये में बदलाव करने वाला एपीआई इस्तेमाल करें. ध्यान दें कि अगर दोनों एपीआई मौजूद हैं, तो किराये में बदलाव, प्रमोशन से पहले लागू किए जाते हैं.
अनुरोध
सिंटैक्स
Promotions
मैसेज में इस सिंटैक्स का इस्तेमाल किया जाता है:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner= "partner_key"
id="message_ID"
timestamp="timestamp">
<HotelPromotions hotel_id="HotelID" action="[overlay]">
<Promotion id="PromotionID" action="[delete]">
<BookingDates>
<DateRange start="YYYY-MM-DD[THH:mm:ss]" end="YYYY-MM-DD[THH:mm:ss]"
days_of_week="MTWHFSU_or_subset"/>
<DateRange start="YYYY-MM-DD[THH:mm:ss]" end="YYYY-MM-DD[THH:mm:ss]"
days_of_week="MTWHFSU_or_subset"/>
</BookingDates>
<BookingWindow min="integer_or_duration" max="integer_or_duration"/>
<Ceiling amount_per_night="float"/>
<Floor amount_per_night="float"/>
<CheckinDates>
<DateRange start="[YYYY-]MM-DD" end="[YYYY-]MM-DD" days_of_week="MTWHFSU_or_subset"/>
</CheckinDates>
<CheckoutDates>
<DateRange start="[YYYY-]MM-DD" end="[YYYY-]MM-DD" days_of_week="MTWHFSU_or_subset"/>
</CheckoutDates>
<!-- Specify only one of percentage, percentage_of_base, fixed_amount,
fixed_amount_per_night, fixed_price, or fixed_price_per_night;
applied_nights is only used with percentage, fixed_amount_per_night,
and fixed_price_per_night. -->
<Discount percentage="float" percentage_of_base="float"
fixed_amount="float" fixed_amount_per_night="float"
fixed_price="float" fixed_price_per_night="float"
applied_nights="integer_1_to_99" rank="integer_1_to_99">
<!-- FreeNights may not be used in conjunction with attributes on Discount -->
<FreeNights stay_nights="integer" discount_nights="integer"
discount_percentage="float" night_selection="[cheapest|last]"
repeats="boolean"/>
</Discount>
<!-- Exactly one of Discount or BestDailyDiscount must be specified.
Specify only one of percentage, fixed_amount, or fixed_price. -->
<BestDailyDiscount percentage="float" fixed_amount="float" fixed_price="float"/>
<Devices>
<Device type="[desktop|tablet|mobile]"/>
</Devices>
<InventoryCount min="integer" max="integer"/>
<LengthOfStay min="integer" max="integer"/>
<MembershipRateRule id="RateRuleID"/>
<MinimumAmount before_discount="integer"/>
<Occupancy min="integer" max="integer"/>
<RatePlans>
<RatePlan id="PackageID_1"/>
<RatePlan id="PackageID_2"/>
</RatePlans>
<RoomTypes>
<RoomType id="RoomID_1"/>
<RoomType id="RoomID_2"/>
</RoomTypes>
<Stacking type="[any|base|none|second]"/>
<StayDates application="[all|any|overlap]">
<DateRange start="[YYYY-]MM-DD" end="[YYYY-]MM-DD" days_of_week="MTWHFSU_or_subset"/>
</StayDates>
<UserCountries type="[include|exclude]">
<Country code="country_code"/>
</UserCountries>
</Promotion>
</HotelPromotions>
</Promotions>
एलिमेंट और एट्रिब्यूट
प्रमोशन मैसेज में ये एलिमेंट और एट्रिब्यूट होते हैं:
एलिमेंट / @एट्रिब्यूट | आवृत्तियां | टाइप | ब्यौरा |
---|---|---|---|
Promotions | 1 | Complex element | प्रमोशन मैसेज का रूट एलिमेंट. |
Promotions / @partner | 1 | string | इस मैसेज के लिए पार्टनर खाता. यह स्ट्रिंग वैल्यू, Hotel Center में
खाते की सेटिंग वाले पेज पर दी गई "पार्टनर की कुंजी" वैल्यू होती है.
अगर आपके पास एक ऐसा बैकएंड है जो एक से ज़्यादा खातों के लिए फ़ीड उपलब्ध कराता है, तो यह वैल्यू उसी खाते के लिए, |
Promotions / @id | 1 | string | अनुरोध मैसेज के लिए यूनीक आइडेंटिफ़ायर. यह वैल्यू, रिस्पॉन्स मैसेज में दिखती है. इन वर्णों का इस्तेमाल किया जा सकता है: a-z, A-Z, 0-9, _ (अंडरस्कोर), और - (डैश). |
Promotions / @timestamp | 1 | DateTime | इस मैसेज को बनाने की तारीख और समय. |
Promotions / HotelPromotions | 0..n | HotelPromotions | किसी प्रॉपर्टी के लिए प्रमोशन. हर प्रमोशन, एक ही प्रॉपर्टी पर लागू होता है. अगर |
Promotions / HotelPromotions / @hotel_id | 1 | string | प्रॉपर्टी के लिए यूनीक आइडेंटिफ़ायर. यह वैल्यू, होटल सूची फ़ीड में <listing> एलिमेंट में
<id> का इस्तेमाल करके बताए गए होटल आईडी से मेल खानी चाहिए. होटल आईडी, Hotel Center में भी मौजूद होता है. |
Promotions / HotelPromotions / @action | 0..1 | enum | अगर वैल्यू दी गई है, तो वह अगर इस बारे में नहीं बताया गया है, तो मौजूदा मैसेज में बताए गए हर प्रमोशन के लिए, इनमें से कोई एक विकल्प लागू होगा:
|
Promotions / HotelPromotions / Promotion | 0..99 | Promotion | किसी प्रॉपर्टी के लिए एक प्रमोशन. ध्यान दें कि अगर
अगर आपको 99 से ज़्यादा प्रमोशन का इस्तेमाल करना है, तो अपने तकनीकी खाता मैनेजर (टैम) से संपर्क करें. |
Promotions / HotelPromotions / Promotion / @id | 1 | string | प्रमोशन के लिए यूनीक आइडेंटिफ़ायर. इसमें ज़्यादा से ज़्यादा 40 वर्ण हो सकते हैं. इन वर्णों का इस्तेमाल किया जा सकता है: a-z, A-Z, 0-9, _ (अंडरस्कोर), - (डैश), और . (फ़ुल स्टॉप). |
Promotions /HotelPromotions / Promotion / @action | 0..1 | enum | अगर वैल्यू दी गई है, तो यह अगर |
Promotions / HotelPromotions / Promotion / BookingDates | 0..1 | BookingDates | एक या एक से ज़्यादा रेंज के लिए कंटेनर, जो यह तय करता है कि प्रमोशन लागू करने के लिए, बुकिंग कब होनी चाहिए. |
Promotions / HotelPromotions / Promotion / BookingDates / DateRange | 1..99 | DateRange | यह एक सीमा होती है, जिसमें यह तय किया जाता है कि प्रमोशन लागू करने के लिए, बुकिंग कब होनी चाहिए. |
Promotions / HotelPromotions / Promotion / BookingDates / DateRange / @start | 0..1 | Date या DateTime | तारीख की सीमा की शुरुआत की तारीख या समय (प्रॉपर्टी के टाइम ज़ोन के आधार पर).
|
Promotions / HotelPromotions / Promotion / BookingDates / DateRange / @end | 0..1 | Date या DateTime | तारीख की सीमा के खत्म होने की तारीख या समय (प्रॉपर्टी के टाइम ज़ोन के आधार पर).
|
Promotions / HotelPromotions / Promotion / BookingDates / DateRange / @days_of_week | 0..1 | string | तारीख की सीमा में हफ़्ते के वे दिन जिनमें प्रॉडक्ट दिखाए जा सकते हैं. अगर इस बारे में जानकारी न दी गई हो, तो तारीख की सीमा में सभी दिन शामिल किए जा सकते हैं. स्ट्रिंग में मौजूद हर वर्ण, एक दिन के बारे में बताता है. उदाहरण के लिए, "MTWHF" से पता चलता है कि तारीख की सीमा में, हफ़्ते के कामकाजी दिन शामिल हैं. मान्य वर्ण ये हैं:
वर्णों का कोई भी कॉम्बिनेशन मान्य है. |
Promotions / HotelPromotions / Promotion / BookingWindow | 0..1 | BookingWindow | इससे पता चलता है कि चेक-इन करने की तारीख (प्रॉपर्टी के टाइम ज़ोन के हिसाब से) के हिसाब से, बुकिंग कब होनी चाहिए. उदाहरण के लिए, बुकिंग विंडो को चेक-इन से कम से कम सात दिन पहले सेट किया जा सकता है. हालांकि, इसे 180 दिन से ज़्यादा नहीं किया जा सकता. |
Promotions / HotelPromotions / Promotion / BookingWindow / @min | 0..1 | integer or duration | प्रमोशन लागू करने के लिए, बुकिंग करते समय चेक-इन से पहले कम से कम इतना समय होना चाहिए. अगर इसकी वैल्यू 0 है या कोई वैल्यू नहीं दी गई है, तो इसका मतलब है कि कोई तय सीमा नहीं है.
वैल्यू के लिए ये टाइप मान्य हैं:
|
Promotions / HotelPromotions / Promotion / BookingWindow / @max | 0..1 | integer or duration | प्रमोशन लागू करने के लिए, चेक-इन से पहले बुकिंग करने की ज़्यादा से ज़्यादा अवधि. अगर इसकी वैल्यू 0 है या कोई वैल्यू नहीं दी गई है, तो इसका मतलब है कि कोई ज़्यादा से ज़्यादा सीमा तय नहीं की गई है.
वैल्यू के लिए ये टाइप मान्य हैं:
|
Promotions / HotelPromotions / Promotion / Ceiling | 0..1 | Ceiling |
प्रमोशन लागू होने के बाद, किराये की सबसे ज़्यादा वैल्यू पर पाबंदियां तय करता है. प्रमोशन के लिए, हमेशा अगर स्टैकिंग कॉन्फ़िगर की गई है, तो एक ही ठहरने पर
उदाहरण: एक रात के ठहरने की कीमत तय करना, जहां
यहां गिनती का क्रम बताया गया है:
यह ज़रूरी नहीं है कि 60 एक तय सीमा हो, क्योंकि यह सिर्फ़ अपने प्रमोशन के लिए मान्य है. साथ ही, पूरे प्रमोशन स्टैक के लिए कोई एक सीमा नहीं हो सकती. |
Promotions / HotelPromotions / Promotion / Ceiling / @amount_per_night | 1 | float |
छूट लागू होने के बाद, एक रात के किराये की ज़्यादा से ज़्यादा रकम. अगर
|
Promotions / HotelPromotions / Promotion / Floor | 0..1 | Floor |
प्रमोशन लागू होने के बाद, किराये की कम से कम वैल्यू पर पाबंदियां तय करता है. प्रमोशन के लिए, हमेशा
अगर स्टैकिंग कॉन्फ़िगर की गई है, तो एक ही ठहरने पर
उदाहरण: एक रात के ठहरने की कीमत तय करना, जहां
यहां गिनती का क्रम बताया गया है:
यह ज़रूरी नहीं है कि 90% एक ज़्यादा सख्त फ़्लोर हो, क्योंकि यह सिर्फ़ अपने प्रमोशन के लिए मान्य है. साथ ही, ऐसा कोई भी फ़्लोर नहीं हो सकता जो पूरे प्रमोशन स्टैक पर लागू हो. |
Promotions / HotelPromotions / Promotion / Floor / @amount_per_night | 1 | float |
छूट लागू करने के बाद, एक रात के किराये को कम से कम इस रकम पर सेट किया जा सकता है. अगर
|
Promotions / HotelPromotions / Promotion / CheckinDates | 0..1 | CheckinDates | एक या एक से ज़्यादा तारीख की सीमाओं के लिए कंटेनर, जो यह तय करता है कि प्रमोशन लागू करने के लिए, चेक-इन कब होना चाहिए. |
Promotions / HotelPromotions / Promotion / CheckinDates / DateRange | 1..20 | DateRange | तारीख की वह सीमा जिसमें चेक-इन करने पर प्रमोशन लागू होगा. अगर एक या उससे ज़्यादा प्रमोशन मिटाए जा रहे हैं, तो इस एलिमेंट की ज़रूरत नहीं है. YearlessDate फ़ॉर्मैट का इस्तेमाल भी किया जा सकता है.
|
Promotions / HotelPromotions / Promotion / CheckinDates / DateRange / @start | 0..1 | Date or YearlessDate | तारीख की सीमा के साथ-साथ, शुरू होने की तारीख (प्रॉपर्टी के टाइम ज़ोन के आधार पर). यह तारीख,
end की तारीख से पहले की होनी चाहिए या उसी तारीख की होनी चाहिए. अगर start की जानकारी नहीं दी गई है, तो तारीख की सीमा के लिए शुरू होने की तारीख की कोई सीमा नहीं होती. |
Promotions / HotelPromotions / Promotion / CheckinDates / DateRange / @end | 0..1 | Date or YearlessDate | तारीख की सीमा के साथ-साथ, खत्म होने की तारीख (प्रॉपर्टी के टाइम ज़ोन के आधार पर). यह तारीख, start
की तारीख के बराबर या उसके बाद की होनी चाहिए. अगर end की जानकारी नहीं दी जाती है, तो तारीख की सीमा के लिए, खत्म होने की तारीख असीमित होती है. |
Promotions / HotelPromotions / Promotion / CheckinDates / DateRange / @days_of_week | 0..1 | string | तारीख की सीमा में हफ़्ते के वे दिन जिनमें प्रॉडक्ट दिखाए जा सकते हैं. अगर इस बारे में जानकारी न दी गई हो, तो तारीख की सीमा में सभी दिन शामिल किए जा सकते हैं. स्ट्रिंग में मौजूद हर वर्ण, एक दिन के बारे में बताता है. उदाहरण के लिए, "MTWHF" से पता चलता है कि तारीख की सीमा में, हफ़्ते के कामकाजी दिन शामिल हैं. मान्य वर्ण ये हैं:
वर्णों का कोई भी कॉम्बिनेशन मान्य है. |
Promotions / HotelPromotions / Promotion / CheckoutDates | 0..1 | CheckoutDates | एक या एक से ज़्यादा तारीख की सीमाओं के लिए कंटेनर, जो यह तय करता है कि प्रमोशन लागू करने के लिए, चेक-आउट कब होना चाहिए. |
Promotions / HotelPromotions / Promotion / CheckoutDates / DateRange | 1..20 | DateRange | तारीख की वह सीमा जिसमें यह तय किया गया हो कि प्रमोशन लागू करने के लिए, चेक-आउट कब होना चाहिए. अगर आपको एक या उससे ज़्यादा प्रमोशन मिटाने हैं, तो इस एलिमेंट की ज़रूरत नहीं है. YearlessDate फ़ॉर्मैट का इस्तेमाल भी किया जा सकता है.
|
Promotions / HotelPromotions / Promotion / CheckoutDates / DateRange / @start | 0..1 | Date or YearlessDate | तारीख की सीमा के साथ-साथ, शुरू होने की तारीख (प्रॉपर्टी के टाइम ज़ोन के आधार पर). यह तारीख,
end की तारीख से पहले की होनी चाहिए या उसी तारीख की होनी चाहिए. अगर start की जानकारी नहीं दी गई है, तो तारीख की सीमा के लिए शुरू होने की तारीख की कोई सीमा नहीं होती. |
Promotions / HotelPromotions / Promotion / CheckoutDates / DateRange / @end | 0..1 | Date or YearlessDate | तारीख की सीमा के साथ-साथ, खत्म होने की तारीख (प्रॉपर्टी के टाइम ज़ोन के आधार पर). यह तारीख, start
की तारीख के बराबर या उसके बाद की होनी चाहिए. अगर end की जानकारी नहीं दी जाती है, तो तारीख की सीमा के लिए, खत्म होने की तारीख असीमित होती है. |
Promotions / HotelPromotions / Promotion / CheckoutDates / DateRange / @days_of_week | 0..1 | string | तारीख की सीमा में हफ़्ते के वे दिन जिनमें प्रॉडक्ट दिखाए जा सकते हैं. अगर इस बारे में जानकारी न दी गई हो, तो तारीख की सीमा में सभी दिन शामिल किए जा सकते हैं. स्ट्रिंग में मौजूद हर वर्ण, एक दिन के बारे में बताता है. उदाहरण के लिए, "MTWHF" से पता चलता है कि तारीख की सीमा में, हफ़्ते के कामकाजी दिन शामिल हैं. मान्य वर्ण ये हैं:
वर्णों का कोई भी कॉम्बिनेशन मान्य है. |
Promotions / HotelPromotions / Promotion / Devices | 0..1 | Devices | प्रमोशन के लिए ज़रूरी शर्तें पूरी करने वाले उपयोगकर्ता डिवाइसों की सूची बनाने के लिए कंटेनर. अगर छूट की जानकारी दी गई है, तो सूची में शामिल डिवाइसों पर, सिर्फ़ ज़रूरी शर्तें पूरी करने वाले उपयोगकर्ताओं को छूट वाला किराया ऑफ़र किया जाता है. अगर यह जानकारी नहीं दी गई है, तो ज़रूरी शर्तें पूरी करने वाले उपयोगकर्ताओं को किसी भी डिवाइस पर, छूट वाली कीमत दिखाई जाती है. |
Promotions / HotelPromotions / Promotion / Devices / Device | 1..3 | Device | उपयोगकर्ता के उस डिवाइस के टाइप के बारे में बताता है जो प्रमोशन की ज़रूरी शर्तें पूरी करता है. |
Promotions / HotelPromotions / Promotion / Devices / Device / @type | 1 | enum | डिवाइस का टाइप. यह ज़रूरी है कि वैल्यू desktop ,
tablet या mobile हो. |
Promotions / HotelPromotions / Promotion / Discount | 1 | Discount |
इस प्रमोशन के लिए लागू होने वाली छूट के बारे में बताता है. |
Promotions / HotelPromotions / Promotion / Discount / @percentage | 0..1 | float |
यह दशमलव वाली वैल्यू 0 से 100 के बीच होनी चाहिए. इससे छूट का प्रतिशत पता चलता है.
यह उदाहरण:
|
Promotions / HotelPromotions / Promotion / Discount / @percentage_of_base | 0..1 | float |
0 से 100 के बीच की दशमलव वैल्यू, जो बुनियादी छूट का प्रतिशत बताती है.
उदाहरण:
|
Promotions / HotelPromotions / Promotion / Discount / @fixed_amount | 0..1 | float |
यह एक तय रकम है, जिसे उदाहरण:
|
Promotions / HotelPromotions / Promotion / Discount / @fixed_amount_per_night | 0..1 | float |
उदाहरण:
|
Promotions / HotelPromotions / Promotion / Discount / @fixed_price | 0..1 | float |
अगर अगर उदाहरण:
|
Promotions / HotelPromotions / Promotion / Discount / @fixed_price_per_night | 0..1 | float |
अगर अगर अगर उदाहरण:
|
Promotions / HotelPromotions / Promotion / Discount / @applied_nights | 0..1 | integer | इसका इस्तेमाल सिर्फ़
उन रातों की संख्या जिन पर छूट लागू होती है. यह सबसे कम कीमत वाली रात से शुरू होती है. यह 1 से 99 के बीच का कोई पूर्णांक होना चाहिए. अगर इस बारे में जानकारी नहीं दी जाती है, तो छूट सभी रातों पर लागू होती है. |
Promotions / HotelPromotions / Promotion / Discount / FreeNights | 0..1 | FreeNights | यह एट्रिब्यूट, ठहरने की कम से कम अवधि पूरी होने पर, ठहरने की कुछ रातों पर छूट की जानकारी देता है. अगर इस एलिमेंट का इस्तेमाल किया जाता है, तो पैरंट Discount एलिमेंट पर एट्रिब्यूट इस्तेमाल करने की अनुमति नहीं है. |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @stay_nights | 1 | integer | छूट लागू करने के लिए, ज़रूरी है कि बुकिंग में कम से कम उतनी रातें शामिल हों जितनी रातों के लिए छूट दी जा रही है. हर छूट, ठहरने की रातों के अलग-अलग सेगमेंट पर लागू होती है. उदाहरण के लिए, 10 रातों के ठहरने के लिए, |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @discount_nights | 1 | integer | ठहरने की रातों के हर सेगमेंट में, छूट वाली रातों की संख्या. |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @discount_percentage | 1 | float | छूट वाली रातों पर लागू होने वाली छूट. अगर यह वैल्यू
50 है, तो चुनी गई हर रात के लिए 50% की छूट मिलेगी. |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @night_selection | 1 | string | यह cheapest या last होनी चाहिए. अगर
last है, तो ठहरने की रातों के सेगमेंट के आखिर में, रातों पर छूट दी जाती है. अगर cheapest है, तो ठहरने की अवधि के सेगमेंट में सबसे सस्ती रातों पर छूट दी जाती है. |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @repeats | 1 | boolean | छूट को, ठहरने की अवधि के एक से ज़्यादा सेगमेंट पर लागू किया जा सकता है या नहीं. अगर उदाहरण के लिए, अगर |
Promotions / HotelPromotions / Promotion / Discount / @rank | 0..1 | integer | इस प्रमोशन को रैंक असाइन करता है और उसे रैंक के हिसाब से चुनने की सुविधा में शामिल करता है. इसमें, सिर्फ़ सबसे कम रैंक वाला प्रमोशन लागू करने के लिए चुना जाता है. वैल्यू, 1 से 99 के बीच की होनी चाहिए. अगर एक से ज़्यादा प्रमोशन एक ही रैंक पर हैं, तो उनमें से किसी एक को चुनकर लागू किया जाता है. |
Promotions / HotelPromotions / Promotion / BestDailyDiscount | 1 | Discount |
हर दिन के हिसाब से मिलने वाली छूट की जानकारी देता है. यह छूट, एक रात के ठहरने पर लागू की जा सकती है. यह हर प्रॉपर्टी में, प्रमोशन का एक ग्रुप हो सकता है, जिसे "रोज़ के लिए सबसे अच्छा" माना जाता है. इसका मतलब है कि ठहरने की हर रात के लिए, सबसे ज़्यादा छूट देने वाला और ज़रूरी शर्तें पूरी करने वाला एक "रोज़ का सबसे अच्छा" ऑफ़र चुना जाता है और उसे लागू किया जा सकता है.
इस तरह की छूट के लिए |
Promotions / HotelPromotions / Promotion / BestDailyDiscount / @percentage | 0..1 | float |
यह दशमलव वाली वैल्यू 0 से 100 के बीच होनी चाहिए. इससे छूट का प्रतिशत पता चलता है.
यह उदाहरण:
|
Promotions / HotelPromotions / Promotion/ BestDailyDiscount / @fixed_amount | 0..1 | float |
यह एक तय रकम है, जिसे हर रात के लिए तय किए गए
उदाहरण:
|
Promotions / HotelPromotions / Promotion/ BestDailyDiscount / @fixed_price | 0..1 | float |
अगर उदाहरण:
|
Promotions / HotelPromotions / Promotion / InventoryCount | 0..1 | InventoryCount | इस प्रमोशन को लागू करने के लिए, कमरों की संख्या से जुड़ी पाबंदियां तय करता है. छूट सिर्फ़ उन रातों पर लागू होती है जो शर्तें पूरी करती हैं. fixed_amount की छूट के साथ अनुमति नहीं है. ध्यान दें कि उपलब्ध कमरों की संख्या, OTA_HotelInvCountNotifRQ (InvCount ) या OTA_HotelAvailNotifRQ (BookingLimit ) में से किसी एक के ज़रिए बताई जाती है. |
Promotions / HotelPromotions / Promotion / InventoryCount / @min | 0..1 | integer | एक रात के किराये पर प्रमोशन लागू करने के लिए, कमरे की कम से कम संख्या. अगर इसकी कोई वैल्यू नहीं दी गई है, तो इसका मतलब है कि कम से कम एक दिन के लिए ही बुकिंग की जा सकती है. |
Promotions / HotelPromotions / Promotion / InventoryCount / @max | 0..1 | integer | एक रात के किराये पर प्रमोशन लागू करने के लिए, कमरों की ज़्यादा से ज़्यादा संख्या. अगर इसकी जानकारी नहीं दी गई है, तो इसका मतलब है कि ज़्यादा से ज़्यादा वैल्यू तय नहीं की गई है. |
Promotions / HotelPromotions / Promotion / LengthOfStay | 0..1 | LengthOfStay | इसमें ठहरने की समयसीमा तय की जाती है, जिसके दौरान यह प्रमोशन लागू किया जा सकता है. अगर ठहरने की अवधि, कम से कम और ज़्यादा से ज़्यादा अवधि की सीमाओं से बाहर है, तो प्रमोशन लागू नहीं होता. |
Promotions / HotelPromotions / Promotion / LengthOfStay / @min | 0..1 | integer | प्रमोशन लागू करने के लिए, कम से कम कितने दिनों के लिए ठहरने की अनुमति है. अगर इसकी जानकारी नहीं दी गई है, तो इसका मतलब है कि कम से कम किराया तय नहीं है. |
Promotions / HotelPromotions / Promotion / LengthOfStay / @max | 0..1 | integer | प्रमोशन लागू करने के लिए, ठहरने की ज़्यादा से ज़्यादा रातों की जानकारी. अगर इसकी वैल्यू नहीं दी गई है, तो इसका मतलब है कि कोई ज़्यादा से ज़्यादा सीमा नहीं है. |
Promotions / HotelPromotions / Promotion / MembershipRateRule | 0..1 | MembershipRateRule |
सदस्यता शुल्क के नियम का कंटेनर, जो उससे जुड़ी छूट के लिए यूज़र इंटरफ़ेस (यूआई) के खास तरीके को ट्रिगर करता है. इस एलिमेंट की वैल्यू तब तक नहीं दी जानी चाहिए, जब तक कि
|
Promotions / HotelPromotions / Promotion / MembershipRateRule / @id | 1 | string |
सदस्यता कार्यक्रम से जुड़े किराया तय करने के नियम का आईडी. |
Promotions / HotelPromotions / Promotion / MinimumAmount | 0..1 | MinimumAmount | इससे यह पता चलता है कि कमरे के लिए, एक दिन के किराये की कम से कम रकम कितनी होनी चाहिए. इसके लिए, AmountBeforeTax या AmountAfterTax में से ज़्यादा वैल्यू का इस्तेमाल किया जाता है. प्रमोशन लागू करने के लिए, कमरे के किराये की रकम इस रकम से ज़्यादा होनी चाहिए. |
Promotions / HotelPromotions / Promotion / MinimumAmount / @before_discount | 1 | integer | प्रमोशन लागू करने के लिए, यह वैल्यू पार होनी चाहिए. |
Promotions / HotelPromotions / Promotion / Occupancy | 0..1 | Occupancy | यह उन बुकिंग पर पाबंदियों के बारे में बताता है जिन पर यह प्रमोशन लागू होता है. अगर बुकिंग की संख्या, कम से कम और ज़्यादा से ज़्यादा सीमा से बाहर है, तो प्रमोशन लागू नहीं होगा. |
Promotions / HotelPromotions / Promotion / Occupancy / @min | 0..1 | integer | छूट लागू करने के लिए, उपयोगकर्ता की बताई गई बुकिंग में कमरे में मौजूद लोगों की संख्या कम से कम इतनी होनी चाहिए. |
Promotions / HotelPromotions / Promotion / Occupancy / @max | 0..1 | integer | छूट लागू करने के लिए, उपयोगकर्ता की बताई गई बुकिंग में लोगों की संख्या ज़्यादा से ज़्यादा इतनी होनी चाहिए. |
Promotions / HotelPromotions / Promotion / RatePlans | 0..1 | RatePlans | किराये के उन प्लान की सूची के लिए कंटेनर जिन पर प्रमोशन लागू होता है.
अगर <RatePlans> की वैल्यू नहीं दी गई है, तो प्रमोशन सभी किराये के प्लान पर लागू होता है. |
Promotions / HotelPromotions / Promotion / RatePlans / RatePlan | 1..n | RatePlan | किराये का प्लान बताता है. किराये के प्लान को पैकेज, किराये, और उपलब्धता के कॉम्बिनेशन से तय किया जाता है. इसकी जानकारी, लेन-देन (प्रॉपर्टी डेटा), OTA_HotelRateAmountNotifRQ, और OTA_HotelAvailNotifRQ मैसेज में दी गई होती है. साथ ही, PackageID से भी इसकी पहचान की जा सकती है. |
Promotions / HotelPromotions / Promotion / RatePlans / RatePlan / @id | 1 | string | किराया प्लान का यूनीक आइडेंटिफ़ायर. यह वैल्यू, लेन-देन (प्रॉपर्टी डेटा) मैसेज में <PackageData> में मौजूद PackageID वैल्यू और <OTA_HotelRateAmountNotifRQ> और <OTA_HotelAvailNotifRQ> , दोनों मैसेज में <StatusApplicationControl> में मौजूद RatePlanCode एट्रिब्यूट की वैल्यू से मैप होती है.
इसमें ज़्यादा से ज़्यादा 50 वर्ण हो सकते हैं. |
Promotions / HotelPromotions / Promotion / RoomTypes | 0..1 | RoomTypes | कमरे के उन टाइप की सूची के लिए कंटेनर जिन पर प्रमोशन लागू होता है.
प्रमोशन, बताए गए हर <RoomType>
पर लागू होता है. अगर <RoomTypes> की वैल्यू नहीं दी गई है, तो प्रमोशन सभी कमरों पर लागू होगा. |
Promotions / HotelPromotions / Promotion / RoomTypes / RoomType | 1..n | RoomType | कमरे का टाइप बताता है. कमरे के टाइप की जानकारी, ट्रांज़ैक्शन (प्रॉपर्टी डेटा) मैसेज में मौजूद <RoomData> एलिमेंट में दी जाती है. साथ ही, <RoomID> वैल्यू का इस्तेमाल करके इसका रेफ़रंस दिया जाता है. (इसकी
<RoomID> वैल्यू का रेफ़रंस, OTA_HotelRateAmountNotifRQ
मैसेज में InvTypeCode एट्रिब्यूट से भी दिया जाता है.) |
Promotions / HotelPromotions / Promotion / RoomTypes / RoomType / @id | 1 | string | इन्वेंट्री (कमरे का टाइप) के लिए यूनीक आइडेंटिफ़ायर. यह वैल्यू, लेन-देन (प्रॉपर्टी डेटा) मैसेज में <RoomID> पर मैप होती है.
इसमें ज़्यादा से ज़्यादा 50 वर्ण हो सकते हैं. |
Promotions / HotelPromotions / Promotion / Stacking | 0..1 | Stacking | इससे पता चलता है कि प्रमोशन को कैसे जोड़ा जा सकता है. अगर "type" की वैल्यू नहीं दी गई है, तो इसे base माना जाएगा. |
Promotions / HotelPromotions / Promotion / Stacking / @type | 1 | enum | एक ही किराये पर कई प्रमोशन लागू किए जा सकते हैं. यह इस सेटिंग पर निर्भर करता है:
अनुमति वाले कॉम्बिनेशन में से, सबसे ज़्यादा छूट देने वाले प्रमोशन का सेट किराये पर लागू किया जाता है. |
Promotions / HotelPromotions / Promotion / StayDates | 0..1 | StayDates | एक या उससे ज़्यादा तारीख की सीमाओं के लिए कंटेनर, जो यह तय करता है कि प्रमोशन कैसे लागू किया जाए. जैसे, सीज़न के हिसाब से छूट देने के लिए. |
Promotions / HotelPromotions / Promotion / StayDates / @application | 1 | enum | इससे पता चलता है कि प्रमोशन को कैसे लागू करना चाहिए. मान्य मान हैं:
इस एट्रिब्यूट की वैल्यू हमेशा सबमिट करना ज़रूरी है.
|
Promotions / HotelPromotions / Promotion / StayDates / DateRange | 1..99 | DateRange | तारीख की वह सीमा जिसमें प्रमोशन लागू करना है. YearlessDate फ़ॉर्मैट का इस्तेमाल भी किया जा सकता है.
अगर आपको हफ़्ते के कुछ खास दिनों में प्रमोशन दिखाने के लिए, |
Promotions / HotelPromotions / Promotion / StayDates / DateRange / @start | 0..1 | Date or YearlessDate | तारीख की सीमा के साथ-साथ, शुरू होने की तारीख (प्रॉपर्टी के टाइम ज़ोन के आधार पर). यह तारीख,
end की तारीख से पहले की होनी चाहिए या उसी तारीख की होनी चाहिए. अगर start की जानकारी नहीं दी गई है, तो तारीख की सीमा के लिए शुरू होने की तारीख की कोई सीमा नहीं होती.
अगर |
Promotions / HotelPromotions / Promotion / StayDates / DateRange / @end | 0..1 | Date or YearlessDate | तारीख की सीमा के साथ-साथ, खत्म होने की तारीख (प्रॉपर्टी के टाइम ज़ोन के आधार पर). यह तारीख,
start की तारीख के बराबर या उसके बाद की होनी चाहिए. अगर end की जानकारी नहीं दी गई है, तो तारीख की सीमा start तारीख से लेकर अनलिमिटेड हो जाती है.
अगर |
Promotions / HotelPromotions / Promotion / StayDates / DateRange / @days_of_week | 0..1 | string | तारीख की सीमा में हफ़्ते के वे दिन जिनमें प्रॉडक्ट दिखाए जा सकते हैं. अगर इस बारे में जानकारी न दी गई हो, तो तारीख की सीमा में सभी दिन शामिल किए जा सकते हैं. स्ट्रिंग में मौजूद हर वर्ण, एक दिन के बारे में बताता है. उदाहरण के लिए, "MTWHF" से पता चलता है कि तारीख की सीमा में, हफ़्ते के कामकाजी दिन शामिल हैं. मान्य वर्ण ये हैं:
वर्णों का कोई भी कॉम्बिनेशन मान्य है. |
Promotions / HotelPromotions / Promotion / UserCountries | 0..1 | UserCountries | प्रमोशन के लिए ज़रूरी शर्तें पूरी करने वाले उपयोगकर्ता की जगहों (देशों) की सूची बनाने के लिए कंटेनर. अगर छूट की जानकारी दी गई है, तो सूची में शामिल देशों में रहने वाले सिर्फ़ ज़रूरी शर्तें पूरी करने वाले लोगों को छूट वाला किराया ऑफ़र किया जाता है. अगर यह जानकारी नहीं दी गई है, तो ज़रूरी शर्तें पूरी करने वाले किसी भी देश के उपयोगकर्ताओं को छूट वाली कीमत पर सदस्यता दी जाती है. |
Promotions / HotelPromotions / Promotion / UserCountries / @type | 0..1 | enum | UserCountries स्पेसिफ़िकेशन का टाइप.
मान्य वैल्यू अगर UserCountries अगर UserCountries अगर UserCountries |
Promotions / HotelPromotions / Promotion / UserCountries / Country | 1..300 | Country | उस देश की जानकारी जहां उपयोगकर्ताओं को प्रमोशन मिल सकता है. |
Promotions / HotelPromotions / Promotion / UserCountries / Country / @code | 1 | string | देश का CLDR कोड, जैसे कि DE या FR . ध्यान दें कि कुछ देशों के लिए, CLDR देश कोड और दो अक्षरों वाला आईएसओ देश कोड एक जैसा नहीं होता. साथ ही, CLDR क्षेत्र कोड भी काम नहीं करते. |
उदाहरण
हर प्रॉपर्टी में 500 प्रमोशन जोड़े जा सकते हैं. किसी प्रॉपर्टी से प्रमोशन हटाने के लिए, "एक प्रमोशन मिटाएं" उदाहरण देखें.
बुनियादी मैसेज
इस उदाहरण में, Promotions
मैसेज का बुनियादी स्ट्रक्चर दिखाया गया है:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<BookingDates>
<DateRange start="2020-07-01" end="2020-07-31" days_of_week="MTWHF"/>
<DateRange start="2020-09-01" end="2020-09-30"/>
</BookingDates>
<BookingWindow min="7" max="330"/>
<CheckinDates>
<DateRange start="2020-10-01" end="2020-10-31" days_of_week="FSU"/>
</CheckinDates>
<CheckoutDates>
<DateRange start="2020-10-08" end="2020-11-07" days_of_week="FSU"/>
</CheckoutDates>
<Devices>
<Device type="mobile"/>
<Device type="tablet"/>
</Devices>
<Discount percentage="20" applied_nights="2"/>
<LengthOfStay min="2" max="14"/>
<RatePlans>
<RatePlan id="234"/>
<RatePlan id="567"/>
</RatePlans>
<RoomTypes>
<RoomType id="123"/>
<RoomType id="456"/>
</RoomTypes>
<Stacking type="base"/>
<UserCountries>
<Country code="US"/>
<Country code="GB"/>
</UserCountries>
</Promotion>
</HotelPromotions>
</Promotions>
इन्वेंट्री की स्थिति
यहां दिए गए उदाहरण में, प्रॉडक्ट के डिलीवर होने की तारीख के आस-पास, प्रॉडक्ट की अतिरिक्त इन्वेंट्री होने पर छूट देने का तरीका बताया गया है:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<BookingWindow max="7"/>
<Discount percentage="10"/>
<InventoryCount min="3"/>
</Promotion>
</HotelPromotions>
</Promotions>
एक प्रमोशन मिटाना
यहां दिए गए उदाहरण में, किसी प्रॉपर्टी के लिए एक प्रमोशन को मिटाने का तरीका बताया गया है:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1" action="delete"/>
</HotelPromotions>
</Promotions>
सभी प्रमोशन मिटाना
यहां दिए गए उदाहरण में, किसी प्रॉपर्टी के सभी प्रमोशन मिटाने का तरीका बताया गया है:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1" action="overlay"/>
</Promotions>
सभी प्रमोशन ओवरले
यहां दिए गए उदाहरण में, किसी प्रॉपर्टी के लिए एक या एक से ज़्यादा नए प्रमोशन के साथ <HotelPromotions>
को ओवरले करने का तरीका बताया गया है. action="overlay"
होने पर, मौजूदा मैसेज में बताए गए प्रमोशन को सेव करने से पहले, सेव किए गए सभी प्रमोशन मिटा दिए जाते हैं:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1" action="overlay">
<Promotion id="1">
<BookingDates>
<DateRange start="2020-09-01" end="2020-09-30"/>
</BookingDates>
<Discount percentage="10"/>
<RoomTypes>
<RoomType id="123"/>
<RoomType id="456"/>
</RoomTypes>
<RatePlans>
<RatePlan id="234"/>
<RatePlan id="567"/>
</RatePlans>
<Stacking type="base"/>
</Promotion>
</HotelPromotions>
</Promotions>
स्टैक करने के तीन अलग-अलग तरीके
नीचे दिए गए उदाहरण में एक ऐसा मामला दिखाया गया है जिसमें तीन अलग-अलग प्रमोशन (base
, second
, any
) लागू होंगे. ध्यान दें कि none
प्रमोशन लागू नहीं होगा, क्योंकि अन्य प्रमोशन में बेहतर छूट मिलती है. अगर मूल कीमत 100 डॉलर थी, तो छूट वाली कीमत 72.90 डॉलर होगी.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<Discount percentage="10"/>
<Stacking type="base"/>
</Promotion>
<Promotion id="2">
<Discount percentage="10"/>
<Stacking type="second"/>
</Promotion>
<Promotion id="3">
<Discount percentage="10"/>
<Stacking type="any"/>
</Promotion>
<Promotion id="4">
<Discount percentage="25"/>
<Stacking type="none"/>
</Promotion>
</HotelPromotions>
</Promotions>
स्टैकिंग का कोई टाइप नहीं
नीचे दिए गए उदाहरण में, एक ऐसा मामला दिखाया गया है जहां none
प्रमोशन का इस्तेमाल किया गया है, क्योंकि अन्य प्रमोशन के कॉम्बिनेशन से कम छूट मिलती है. अगर मूल कीमत 100 डॉलर थी, तो छूट के बाद कीमत 75 डॉलर होगी.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<Discount percentage="10"/>
<Stacking type="base"/>
</Promotion>
<Promotion id="2">
<Discount percentage="10"/>
<Stacking type="any"/>
</Promotion>
<Promotion id="3">
<Discount percentage="25"/>
<Stacking type="none"/>
</Promotion>
</HotelPromotions>
</Promotions>
बुकिंग विंडो की अवधि की सीमाएं
इस उदाहरण में एक ऐसा मामला दिखाया गया है जिसमें BookingWindow
एलिमेंट का इस्तेमाल, शुरू और खत्म होने के समय के साथ किया गया है. इन समय को ISO 8601 के मुताबिक, अवधि के टाइप के तौर पर तय किया गया है. बुकिंग विंडो की इस पाबंदी के तहत, आने से एक दिन पहले शाम 6 बजे तक या उससे पहले और आने से दो दिन पहले दोपहर 12 बजे या उसके बाद बुकिंग करनी होगी.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<BookingWindow min="P1DT6H" max="P2DT12H"/>
<Discount percentage="20"/>
</Promotion>
</HotelPromotions>
</Promotions>
बुकिंग की तारीखों की समयसीमा
नीचे दिए गए उदाहरण में एक ऐसा मामला दिखाया गया है जहां BookingDates
एलिमेंट का इस्तेमाल start
और end
एट्रिब्यूट के साथ, DateTime टाइप के तौर पर किया गया है. तारीख से जुड़ी इस पाबंदी के मुताबिक, बुकिंग 01-07-2020 को सुबह 06:30 बजे से 02-07-2020 को शाम 18:45 बजे के बीच की जानी चाहिए.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<BookingDates>
<DateRange start="2020-07-01T06:30:00" end="2020-07-02T18:45:00"/>
</BookingDates>
<Discount percentage="20"/>
</Promotion>
</HotelPromotions>
</Promotions>
साल के बिना तारीख की सीमाएं
नीचे दिए गए उदाहरण में एक ऐसा मामला दिखाया गया है जिसमें CheckInDates
एलिमेंट में DateRanges
शामिल है. इसमें start
और end
फ़ील्ड में साल नहीं हैं. इस उदाहरण में, प्रमोशन 29/12 से 1/2 के बीच की चेक इन की तारीखों पर लागू होता है. भले ही, साल कोई भी हो. साल के बिना बताई गई ऐसी तारीख की सीमाएं जो नए साल की सीमा को पार करती हैं वे अमान्य होती हैं. इसलिए, तारीख की सीमा को दो आस-पास की तारीख की सीमाओं के तौर पर दिखाया जाता है.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<CheckInDates>
<DateRange start="12-29" end="12-31"/>
<DateRange start="01-01" end="01-02"/>
</CheckInDates>
<Discount percentage="20"/>
</Promotion>
</HotelPromotions>
</Promotions>
FreeNights की छूट
नीचे दिए गए उदाहरण में, बुकिंग की तारीखों की तय सीमा के लिए, हर चार रातों के ठहरने पर दो रातों के लिए 50% की छूट दी गई है. अगर यात्रा की योजना में 10 रातें शामिल हैं, तो चार रातों के लिए 50% की छूट मिलेगी.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<BookingDates>
<DateRange start="2022-01-01" end="2022-05-31"/>
</BookingDates>
<Discount>
<FreeNights stay_nights="4" discount_nights="2" discount_percentage="50" night_selection="cheapest" repeats="true"/>
</Discount>
</Promotion>
</HotelPromotions>
</Promotions>
अगले उदाहरण में, ठहरने की तय तारीखों की सीमा के लिए, हर तीन रातों के लिए एक रात पर 50% की छूट दी गई है. छूट पाने के लिए, सिर्फ़ ओवरलैप होने वाली रातों की गिनती की जाती है. यहां दी गई यात्रा की योजना के लिए, 01-01-2022 को चेक-इन और 07-01-2022 को चेक-आउट किया गया है. इसमें, छूट और ठहरने की ज़रूरी शर्तें पूरी करने वाली रातों की जानकारी इस तरह दी गई है.
- 01-01-2022 (स्टे)
- 02-01-2022 (रहने की जगह)
- 2022-01-03
- 04-01-2022 (छूट वाला)
- 05-01-2022 (रहने की जगह)
- 06-01-2022 (स्टे)
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<StayDates application="overlap">
<DateRange start="2022-01-01" end="2022-01-02"/>
<DateRange start="2022-01-04" end="2022-01-06"/>
</StayDates>
<Discount>
<FreeNights stay_nights="3" discount_nights="1" discount_percentage="50" night_selection="last" repeats="true"/>
</Discount>
</Promotion>
</HotelPromotions>
</Promotions>
रैंक के हिसाब से चुनना
नीचे दिए गए उदाहरण में दो छूट दी गई हैं, एक 20% की और दूसरी 15% की. आकलन के दौरान, सिर्फ़ 15% की छूट लागू की जाती है, क्योंकि इसकी रैंक कम है.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<Discount percentage="15" rank="25"/>
</Promotion>
<Promotion id="2">
<Discount percentage="20" rank="50"/>
</Promotion>
</HotelPromotions>
</Promotions>
BestDailyDiscount
इस उदाहरण में, दो रात के ठहरने पर छूट देने के लिए, Discount
के साथ स्टैक किया गया BestDailyDiscount
लागू किया गया है.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="HotelID" action="overlay">
<Promotion id="general">
<BestDailyDiscount fixed_amount="20"/>
</Promotion>
<Promotion id="may">
<BestDailyDiscount fixed_amount="50"/>
<StayDates application="overlap">
<DateRange start="2023-05-01" end="2023-05-31"/>
</StayDates>
</Promotion>
<Promotion id="fiesta">
<Discount fixed_amount_per_night="5"/>
<Stacking type="any"/>
</Promotion>
</HotelPromotions>
</Promotions>
मान लें कि आपको 30 अप्रैल, 2023 से 2 मई, 2023 तक दो रातों के लिए ठहरना है गिनती के लिए, सबसे ज़्यादा छूट देने वाले रोज़ की छूट के कॉम्बिनेशन को सबसे पहले ढूंढा जाता है.
पहली रात के लिए, सिर्फ़ "सामान्य" प्रमोशन की सुविधा उपलब्ध है. इसमें 20% की तय छूट मिलती है.
दूसरी रात के लिए, "मई" प्रमोशन में "सामान्य" छूट की तुलना में ज़्यादा छूट दी जाती है. इसलिए, "मई" चुनने पर, छूट की तय रकम 50 होगी.
इसके बाद, ठहरने के लिए "फ़िएस्टा" प्रमोशन की छूट, हर रात के लिए 500 रुपये या कुल 1,000 रुपये होगी. इसे हर दिन मिलने वाली सबसे अच्छी छूट के कॉम्बिनेशन के साथ स्टैक किया जा सकता है, क्योंकि "फ़िएस्टा" के लिए स्टैकिंग टाइप any
पर सेट है. अगर इसे base
पर सेट किया गया है, तो सिर्फ़ रोज़ की सबसे अच्छी छूट या "फ़िएस्टा" छूट का कॉम्बिनेशन लागू किया जाता है. ज़्यादा जानकारी के लिए, Stacking
के बारे में जानकारी देखें.
`कुल मिलाकर, ठहरने की कीमत पर 20 + 50 + 10 = 80 रुपये की तय रकम की छूट मिलती है.
जवाब
सिंटैक्स
PromotionsResponse
मैसेज में इस सिंटैक्स का इस्तेमाल किया जाता है:
<?xml version="1.0" encoding="UTF-8"?>
<PromotionsResponse timestamp="timestamp"
id="message_ID"
partner="partner_key">
<!-- Either Success or Issues are populated. -->
<Success/>
<Issues>
<Issue code="issue_code"
status="issue_type">
issue_description
</Issue>
</Issues>
</PromotionsResponse>
एलिमेंट और एट्रिब्यूट
PromotionsResponse
मैसेज में ये एलिमेंट और एट्रिब्यूट होते हैं:
एलिमेंट / @एट्रिब्यूट | आवृत्तियां | टाइप | ब्यौरा |
---|---|---|---|
PromotionsResponse | 1 | Complex element | यह रूट एलिमेंट, प्रमोशन के लिए मिले अनुरोध मैसेज के पूरा होने या उससे जुड़ी समस्याओं के बारे में बताता है. |
PromotionsResponse / @timestamp | 1 | DateTime | इस मैसेज को बनाने की तारीख और समय. |
PromotionsResponse / @id | 1 | string | प्रमोशन मैसेज से मिला यूनीक आइडेंटिफ़ायर. |
PromotionsResponse / @partner | 1 | string | इस मैसेज के लिए पार्टनर खाता. |
PromotionsResponse / Success | 0..1 | Success | इससे पता चलता है कि प्रमोशन मैसेज को बिना किसी चेतावनी, गड़बड़ी या समस्या के प्रोसेस किया गया है.
हर मैसेज में |
PromotionsResponse / Issues | 0..1 | Issues | प्रमोशन मैसेज को प्रोसेस करते समय, एक या उससे ज़्यादा समस्याओं के लिए कंटेनर.
हर मैसेज में |
PromotionsResponse / Issues / Issue | 1..n | Issue | प्रमोशन मैसेज को प्रोसेस करते समय मिली चेतावनी, गड़बड़ी या समस्या के बारे में जानकारी. इन समस्याओं के बारे में जानकारी, फ़ीड की स्थिति से जुड़ी गड़बड़ी के मैसेज में मिल सकती है. |
PromotionsResponse / Issues / Issue / @code | 1 | integer | समस्या का आइडेंटिफ़ायर. |
PromotionsResponse / Issues / Issue / @status | 1 | enum | आपको किस तरह की समस्या आ रही है. मान्य वैल्यू |
उदाहरण
पुष्टि हो गई
यहां प्रमोशन वाले उस मैसेज का जवाब दिया गया है जिसे प्रोसेस कर लिया गया है.
<?xml version="1.0" encoding="UTF-8"?>
<PromotionsResponse timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</PromotionsResponse>
समस्याएं
यहां गड़बड़ियों की वजह से प्रोमोशन मैसेज प्रोसेस न होने का जवाब दिया गया है.
<?xml version="1.0" encoding="UTF-8"?>
<PromotionsResponse timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Issues>
<Issue code="1001" status="error">Example</Issue>
</Issues>
</PromotionsResponse>