प्रमोशन

खास जानकारी

इस एपीआई की मदद से, आपको संभावित छूट के बारे में जानकारी मिलती है. बताए गए प्रमोशन में से, 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, 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" 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 इस मैसेज के लिए पार्टनर खाता. इस स्ट्रिंग का मान "पार्टनर कुंजी" वैल्यू यहां दी गई है खाते की सेटिंग वाले पेज पर जाएं.

अगर आपके पास एक ऐसा बैकएंड है जो एक से ज़्यादा खातों के लिए फ़ीड उपलब्ध कराता है, तो यह वैल्यू उसी खाते के लिए, <OTA_HotelRateAmountNotifRQ> और <OTA_HotelAvailNotifRQ> मैसेज के <RequestorID> एलिमेंट में बताई गई ID एट्रिब्यूट वैल्यू से मेल खानी चाहिए.

Promotions / @id 1 string अनुरोध वाले इस मैसेज के लिए यूनीक आइडेंटिफ़ायर. यह वैल्यू, रिस्पॉन्स मैसेज में दिखती है. a-z, A-Z, 0-9, _ जैसे वर्ण इस्तेमाल किए जा सकते हैं (अंडरस्कोर), और - (डैश).
Promotions / @timestamp 1 DateTime यह मैसेज बनाए जाने की तारीख और समय.
Promotions / HotelPromotions 0..n HotelPromotions

किसी प्रॉपर्टी के लिए प्रमोशन. हर एक प्रमोशन, प्रॉपर्टी.

जब तक <Stacking> का इस्तेमाल नहीं किया जाता, सबसे ज़्यादा छूट वाला प्रमोशन, बुकिंग पर तब लागू होता है, जब एक से ज़्यादा प्रमोशन के लिए मंज़ूरी दी गई है.

Promotions / HotelPromotions / @hotel_id 1 string प्रॉपर्टी के लिए यूनीक आइडेंटिफ़ायर. यह मान का इस्तेमाल करके तय किया गया होटल आईडी <listing> एलिमेंट में <id> का इस्तेमाल करें. होटल आईडी को Hotel Center में भी शामिल किया गया है.
Promotions / HotelPromotions / @action 0..1 enum

अगर बताया गया है, तो वैल्यू "overlay". वैल्यू "overlay" होने पर, सभी बताए गए प्रमोशन को स्टोर करने से पहले ही, सेव किए गए प्रमोशन मिटा दिए जाते हैं को भी शामिल करें.

अगर बताया नहीं गया है, तो मौजूदा मैसेज है:

  • Added (अगर सेव किए गए किसी भी प्रमोशन में वही id)
  • Updated (अगर सेव किए गए प्रमोशन में कोई अंतर नहीं है id)
  • Deleted (अगर सेव किए गए प्रमोशन में कोई अंतर नहीं है id और action एट्रिब्यूट की वैल्यू मौजूदा मैसेज में बताए गए प्रमोशन के लिए है "delete")
Promotions / HotelPromotions / Promotion 0..99 Promotion

किसी प्रॉपर्टी के लिए एक प्रमोशन. ध्यान दें कि अगर action="overlay" और <Promotion> बताया नहीं जाता, तो प्रॉपर्टी के सभी प्रमोशन मिटा दिए जाते हैं.

अगर आपको 99 से ज़्यादा प्रमोशन इस्तेमाल करने हैं, तो यहां संपर्क करें आपका तकनीकी खाता मैनेजर (टीएएम) होगा.

Promotions / HotelPromotions / Promotion / @id 1 string प्रमोशन के लिए यूनीक आइडेंटिफ़ायर. ज़्यादा से ज़्यादा 40 वर्ण डाले जा सकते हैं. a-z, A-Z, 0-9, और ये वर्ण इस्तेमाल किए जा सकते हैं _ (अंडरस्कोर), - (डैश), और . (पीरियड).
Promotions /HotelPromotions / Promotion / @action 0..1 enum

अगर वैल्यू दी गई है, तो वह delete होनी चाहिए. अगर नहीं तय किया गया है और उसी id वाला प्रमोशन सेव नहीं किया जाता है, तो यह प्रमोशन सेव किया गया है. अगर इस बारे में नहीं बताया गया है, तो आपके पास वही id सेव किया जाता है, तो मौजूदा प्रमोशन अपडेट किया गया.

अगर delete बताया गया है, तो वही id मिटा दिया गया है. delete का इस्तेमाल करते समय, इसमें कोई भी चाइल्ड एलिमेंट शामिल न करें <Promotion>. साथ ही, delete को <HotelPromotions action="overlay"/> के साथ इस्तेमाल करने की अनुमति है.

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

प्रॉपर्टी के शुरू होने की तारीख या तारीख और समय (प्रॉपर्टी के टाइम ज़ोन के आधार पर), रेंज में से कोई एक विकल्प चुनें.

  • start के ज़रिए तय की गई तारीख या तारीख यह होनी चाहिए तारीख या समय से पहले (या उसके बराबर) जो end.
  • अगर start तय नहीं किया गया है, तो रेंज असरदार तरीके से है शुरुआत के समय के लिए अनलिमिटेड.
  • अगर start को "DD-MM-YYYY" के तौर पर भरा जाता है, तो यह इसे तारीख और समय "YYYY-MM-DDT00:00:00" माना जाता है.
Promotions / HotelPromotions / Promotion / BookingDates / DateRange / @end 0..1 Date या DateTime

खत्म होने की तारीख या तारीख (प्रॉपर्टी के टाइम ज़ोन के आधार पर), रेंज में से कोई एक विकल्प चुनें.

  • end की दी गई तारीख या समय, start की दी गई तारीख या समय के बाद का होना चाहिए या दोनों एक ही होने चाहिए.
  • अगर end तय नहीं किया गया है, तो रेंज असरदार तरीके से है अनलिमिटेड खत्म हो सकता है.
  • अगर end को तारीख "YYYY-MM-DD" के तौर पर दिया गया है, तो इसे समय और तारीख "YYYY-MM-DDT23:59:59" के तौर पर समझा जाता है.
Promotions / HotelPromotions / Promotion / BookingDates / DateRange / @days_of_week 0..1 string

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

मान्य वर्ण हैं:

  • सोमवार का किराया M
  • मंगलवार के लिए T
  • बुधवार का W
  • गुरुवार का H
  • शुक्रवार का F
  • शनिवार का S
  • रविवार का किराया U

वर्णों का कोई भी कॉम्बिनेशन मान्य होता है.

Promotions / HotelPromotions / Promotion / BookingWindow 0..1 BookingWindow उस समयावधि के बारे में बताता है जिसमें बुकिंग चेक इन करने की तारीख (प्रॉपर्टी के टाइम ज़ोन के हिसाब से). उदाहरण के लिए, बुकिंग विंडो की अवधि 7 दिन पर सेट की जा सकती है, लेकिन 180 दिनों से ज़्यादा नहीं, तय करें.
Promotions / HotelPromotions / Promotion / BookingWindow / @min 0..1 integer or duration बुकिंग के समय, चेक-इन से पहले कम से कम अवधि प्रमोशन लागू करने के लिए. अगर यह तय नहीं किया गया है या इसकी वैल्यू 0 है, कोई कम से कम सीमा नहीं है.

मान्य वैल्यू टाइप इस तरह हैं:

  • पूर्णांक: चेक-इन करने की तारीख से पहले के दिनों की संख्या. उदाहरण के लिए, 30 वैल्यू यह दिखाती है कि प्रमोशन, चेक इन करने की तारीख.
  • ISO 8601 अवधि (दिन, घंटे, और मिनट): चेक-इन करने की तारीख से पहले दिन (और विकल्प के तौर पर घंटे/मिनट). इसके लिए उदाहरण के लिए, P30D वैल्यू सिर्फ़ प्रमोशन को दिखाती है चेक-इन करने की तारीख से कम से कम 30 दिन पहले की बुकिंग पर लागू होता है. P30DT6H की वैल्यू के लिए, आने से 30 दिन पहले, 18:00 बजे तक बुकिंग करना ज़रूरी है.
Promotions / HotelPromotions / Promotion / BookingWindow / @max 0..1 integer or duration प्रमोशन लागू करने के लिए, बुकिंग की तारीख, चेक-इन करने की तारीख से कितने दिन पहले होनी चाहिए. अगर यह तय नहीं किया गया है या इसकी वैल्यू 0 है, कोई अधिकतम सीमा नहीं है.

मान्य वैल्यू टाइप इस तरह हैं:

  • पूरी संख्या: चेक-इन से पहले के दिनों की संख्या तारीख. उदाहरण के लिए, 30 वैल्यू यह दिखाती है कि प्रमोशन, चेक इन करने की तारीख.
  • ISO 8601 के हिसाब से कुल समय (दिन, घंटे, और मिनट): चेक-इन की तारीख से पहले के दिन (और ज़रूरत पड़ने पर घंटे/मिनट). उदाहरण के लिए, P30D की वैल्यू से पता चलता है कि प्रमोशन सिर्फ़ चेक-इन की तारीख से ज़्यादा से ज़्यादा 30 दिन पहले की बुकिंग पर लागू होता है. ऐप्लिकेशन P30DT6H की वैल्यू 18:00 बजे या उसके बाद की बुकिंग करना ज़रूरी है पहुंचने से 30 दिन पहले.
Promotions / HotelPromotions / Promotion / Ceiling 0..1 Ceiling

इससे उस ज़्यादा से ज़्यादा वैल्यू की सीमाओं के बारे में पता चलता है जिस पर दर सेट की जा सकती है प्रमोशन लागू होने के बाद.

प्रमोशन में हमेशा <Discount> या <BestDailyDiscount> की मदद से, ऐसा प्रमोशन बनाया जा सकता है सिर्फ़ <Ceiling> लागू होता है. एक विकल्प यह है कि <Discount> के साथ percentage की सदस्यता 0.

अगर स्टैकिंग कॉन्फ़िगर की गई है, तो एक बार ठहरने पर <Ceiling> का इस्तेमाल किया जा सकता है. हर प्रमोशन उस पर छूट लागू हो जाएगी और उसके तुरंत बाद उसकी सीमा लागू हो जाएगी. कॉन्टेंट बनाने नीचे दिए गए उदाहरण से पता चलता है कि हर छत का अगले चरण में कितना योगदान है स्टैक में प्रमोशन की गिनती की जा रही है.

उदाहरण:

AmountBeforeTax वाले देश में 1 रात ठहरने का किराया 100 और दो प्रमोशन का स्टैक है:

  1. स्टैकिंग प्रकार base वाला प्रचार, एक 25 में से fixed_amount और एक छत 60 में से amount_per_night
  2. स्टैकिंग टाइप second, fixed_amount 25, और सीलिंग amount_per_night 90 वाला प्रमोशन

यहां गिनती का क्रम बताया गया है:

  1. base प्रमोशन सबसे पहले लागू होता है और उसके बाद छूट मिलती है AmountBeforeTax को 75 पर सेट किया, लेकिन इसके बाद छत को नीचे कर दिया इसे 60 तक सेट करें.
  2. second प्रमोशन की वजह से, AmountBeforeTax की कीमत 60 से घटकर 35 हो जाती है. यह छत के नीचे है की सीमा 90 है, इसलिए दूसरी छत लागू नहीं की जाती. आखिरी दर है 35.

यह तथ्य कुछ भी नहीं है कि 60 एक जटिल समग्र सीमा है, क्योंकि वह केवल उसके अपने प्रचार के लिए मान्य होता है और जो पूरे प्रमोशन स्टैक तक सीमित है.

Promotions / HotelPromotions / Promotion / Ceiling / @amount_per_night 1 float

इस तारीख के बाद, एक रात का किराया ज़्यादा से ज़्यादा पर सेट किया जा सकता है छूट लागू होती है.

अगर <Floor> एलिमेंट भी बताया गया है, तो यह वैल्यू, इसकी वैल्यू से ज़्यादा या इसके बराबर होनी चाहिए इसमें amount_per_night एट्रिब्यूट <Floor>.

टैक्स और शुल्क पर amount_per_night तब लागू होता है, जब वे AmountAfterTax का इस्तेमाल करके, रात के समय के किराये में शामिल है, लेकिन नहीं होते हैं.

Promotions / HotelPromotions / Promotion / Floor 0..1 Floor

इससे उस कम से कम वैल्यू की सीमा के बारे में पता चलता है जिस पर दर सेट की जा सकती है प्रमोशन लागू होने के बाद.

प्रमोशन में हमेशा <Discount> या <BestDailyDiscount> की जानकारी होनी चाहिए. इसलिए, ऐसा प्रमोशन बनाने के लिए जो सिर्फ़ <Floor> लागू करता है, एक विकल्प यह है कि 0 के percentage के साथ <Discount> सेट किया जाए.

<Floor> लॉजिक अब भी <FreeNights> छूट पर लागू होता है. भले ही, मुफ़्त रात के लिए 100% छूट लागू की गई हो.

अगर स्टैकिंग कॉन्फ़िगर की गई है, तो एक ही ठहरने पर <Floor> वाले कई प्रमोशन लागू हो सकते हैं. हर प्रमोशन छूट के तुरंत बाद, फ़्लोर पर छूट लागू कर देगा. कॉन्टेंट बनाने नीचे दिए गए उदाहरण से पता चलता है कि हर मंज़िल का अगले फ़्लोर पर क्या योगदान होता है स्टैक में प्रमोशन की गिनती की जा रही है.

उदाहरण:

AmountBeforeTax वाले देश में 1 रात ठहरने का किराया 100 और दो प्रमोशन का स्टैक है:

  1. स्टैकिंग प्रकार base वाला प्रचार, एक 25 में से fixed_amount और एक फ़्लोर 90 में से amount_per_night
  2. स्टैकिंग प्रकार second वाला प्रचार, 25 में से fixed_amount और एक फ़्लोर 60 में से amount_per_night

यहां कैलकुलेशन का क्रम दिया गया है:

  1. base प्रमोशन सबसे पहले लागू होता है और उसके बाद छूट मिलती है AmountBeforeTax को 75 पर सेट करता है, लेकिन फिर फ़्लोर इसे उठा देता है 90 तक.
  2. second के प्रमोशन में छूट 90 से 65 तक AmountBeforeTax. यह फ़्लोर से ऊपर है की वैल्यू 60 है, इसलिए दूसरा फ़्लोर लागू नहीं होता. आखिरी दर है 65.

यह तथ्य कुछ भी नहीं है कि 90, पहले से ज़्यादा सख्त है, क्योंकि वह केवल उसके अपने प्रचार के लिए मान्य होता है और फ़्लोर जो पूरे प्रमोशन स्टैक तक फैला हुआ है.

Promotions / HotelPromotions / Promotion / Floor / @amount_per_night 1 float

कमरे का कम से कम किराया इतने दिनों के बाद सेट किया जा सकता है: छूट लागू होती है.

अगर <Ceiling> एलिमेंट भी बताया गया है, तो यह को इससे कम या उसके बराबर के मान पर सेट किया जाना चाहिए इसमें amount_per_night एट्रिब्यूट <Ceiling>.

टैक्स और शुल्क पर amount_per_night तब लागू होता है, जब वे AmountAfterTax का इस्तेमाल करके, रात के समय के किराये में शामिल है, लेकिन नहीं होते हैं.

Promotions / HotelPromotions / Promotion / CheckinDates 0..1 CheckinDates एक या उससे ज़्यादा तारीख की सीमाओं के लिए कंटेनर, जो यह तय करता है कि चेक-इन कब करना ज़रूरी है प्रमोशन को लागू करने के लिए होता है.
Promotions / HotelPromotions / Promotion / CheckinDates / DateRange 1..20 DateRange

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

YearlessDate का फ़ॉर्मैट भी इस फ़ॉर्मैट के साथ काम करता है.

  • अगर start या end में से कोई साल एक साल का है तारीख, दोनों को साल भर की तारीखों के तौर पर भरा जाना चाहिए.
  • साल भर की तारीख की सीमाएं, नए साल के आस-पास नहीं होनी चाहिए. इसके बजाय, तारीख की सीमा को दो आस-पास की तारीख की सीमाओं के तौर पर दिखाते हैं. उदाहरण के लिए, {"12-29", "01-05"} को {"12-29", "12-31"} के तौर पर दिखाया जा सकता है और {"01-01", "01-05"}.
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" तय करता है हफ़्ते के दिन, तारीख की सीमा में अनुमति है.

मान्य वर्ण हैं:

  • सोमवार का किराया M
  • मंगलवार के लिए T
  • बुधवार का W
  • गुरुवार का H
  • शुक्रवार का F
  • शनिवार का S
  • रविवार का किराया U

वर्णों का कोई भी कॉम्बिनेशन मान्य होता है.

Promotions / HotelPromotions / Promotion / CheckoutDates 0..1 CheckoutDates एक या उससे ज़्यादा तारीख की सीमाओं के लिए कंटेनर, जो चेक-आउट करते समय तय करता है प्रमोशन लागू करने के लिए ज़रूरी है.
Promotions / HotelPromotions / Promotion / CheckoutDates / DateRange 1..20 DateRange

तारीख की वह सीमा जिससे तय होता है कि प्रमोशन के लिए चेक-आउट कब होना चाहिए इन्हें लागू किया जाएगा. इस एलिमेंट की ज़रूरत नहीं है, अगर आपको एक या अधिक प्रचार हटाना.

YearlessDate का फ़ॉर्मैट भी इस फ़ॉर्मैट के साथ काम करता है.

  • अगर start या end में से कोई एक साल का बच्चा है तारीख, दोनों को साल भर की तारीखों के तौर पर डाला जाना चाहिए.
  • साल भर की तारीख की सीमाएं, नए साल के आस-पास नहीं होनी चाहिए. इसके बजाय, तारीख की सीमा को दो आस-पास की तारीख की सीमाओं के तौर पर दिखाते हैं. उदाहरण के लिए, {"12-29", "01-05"} को इस तरह दिखाया जा सकता है {"12-29", "12-31"} और {"01-01", "01-05"}.
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" तय करता है हफ़्ते के दिन, तारीख की सीमा में अनुमति है.

मान्य वर्ण हैं:

  • सोमवार का किराया M
  • मंगलवार के लिए T
  • बुधवार का W
  • गुरुवार का H
  • शुक्रवार का F
  • शनिवार का S
  • रविवार का किराया U

वर्णों का कोई भी कॉम्बिनेशन मान्य होता है.

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

Discount में से कोई एक या BestDailyDiscount तय करना ज़रूरी है.

इस प्रमोशन पर लागू होने वाली छूट की जानकारी देता है.

Promotions / HotelPromotions / Promotion / Discount / @percentage 0..1 float

percentage, fixed_amount, fixed_amount_per_night, fixed_price या fixed_price_per_night में से किसी एक की वैल्यू ज़रूर होनी चाहिए.

यह दशमलव वाली वैल्यू 0 से 100 के बीच होनी चाहिए. इससे छूट का प्रतिशत पता चलता है. यह AmountAfterTax (या अगर AmountAfterTax नहीं है, तो AmountBeforeTax बताया गया है).

उदाहरण:

  • अगर AmountAfterTax, 100 और percentage है 20 है, फिर

    प्रमोशन की दर = AmountAfterTax * (1 - प्रतिशत छूट)

    80.00 = 100 * (1 - 0.2)

  • अगर AmountBeforeTax 100 है, percentage 20 है, और TaxFeeInfo में 10 का टैक्स बताया गया है, तो

    प्रमोशन की दर = AmountBeforeTax * (1 - प्रतिशत छूट) + टैक्स

    90.00 = 100 * (1 - 0.2) + 10

Promotions / HotelPromotions / Promotion / Discount / @fixed_amount 0..1 float

percentage में से एक, fixed_amount, fixed_amount_per_night, fixed_price या fixed_price_per_night है आवश्यक.

वह तय रकम जिसे गुणा करके घटाना है एक रात के लिए AmountAfterTax का किराया (या हर रात के लिए AmountBeforeTax का कुल किराया, अगर AmountAfterTax की जानकारी नहीं दी गई है). माना जाता है कि उसी मुद्रा में पेमेंट करना होगा जो एक रात का किराया है. अगर यह एक रात का किराया जोड़ने पर, नतीजे की वैल्यू शून्य होगी.

उदाहरण:

  • अगर हम एक रात के ठहरने की कीमत तय कर रहे हैं, जहां AmountBeforeTax 90 है, AmountAfterTax 100 है, और fixed_amount 20 है, तो

    प्रमोशन की दर = AmountAfterTax - तय की गई छूट

    80.00 = 100 - 20

  • अगर किराया एक रात के लिए है, तो AmountBeforeTax का मान 100 है, fixed_amount का मान 20 है और TaxFeeInfo, 8% का टैक्स तय करता है, तो

    प्रमोशन की दर = (AmountBeforeTax - तय की गई) छूट) * (1 + टैक्स का प्रतिशत)

    86.40 = (100 - 20) * 1.08

  • अगर किराया एक रात के लिए है, तो AmountBeforeTax का मान 50 है और fixed_amount है 60 का टैक्स देता है और TaxFeeInfo, 10 का टैक्स तय करता है, तो

    प्रमोशन की दर = (AmountBeforeTax - तय की गई) छूट) * टैक्स

    10.00 = 0 + 10

  • अगर हम तीन रातों के लिए कमरा बुक करने की बात कर रहे हैं, AmountAfterTax की वैल्यू 100, 110, और 120 हैं; और fixed_amount, 150 है, फिर

    प्रमोशन रेट = कुल(AmountAfterTax) - (तय की गई कीमत) छूट)

    180.00 = (100 + 110 + 120) - 150

Promotions / HotelPromotions / Promotion / Discount / @fixed_amount_per_night 0..1 float

percentage में से एक, fixed_amount, fixed_amount_per_night, fixed_price या fixed_price_per_night है आवश्यक.

हर AmountAfterTax पर तय छूट लागू होती है एक रात का किराया (या अगर applied_nights बताया गया है, तो सबसे सस्ता N). अगर आपने AmountAfterTax की जानकारी नहीं दी गई है, यह इस पर लागू होता है AmountBeforeTax. माना जाता है कि उसी मुद्रा में पेमेंट करना होगा जो एक रात का किराया है. अगर आपने fixed_amount_per_night, इससे बड़ा है एक रात का किराया बढ़ाकर, उसे शून्य कर दिया जाता है— छूट की वजह से, एक रात का किराया नेगेटिव नहीं हो सकता.

उदाहरण:

  • अगर हम तीन रातों के लिए कमरा बुक करने की बात कर रहे हैं, AmountAfterTax की वैल्यू 100, 110, और 120 हैं; और fixed_amount_per_night, 10 है, फिर

    प्रमोशन रेट = कुल(AmountBeforeTax - तय रकम छूट)

    300.00 = ((100 - 10) + (110 - 10) + (120 - 10))

  • अगर हम तीन रातों के लिए कमरा बुक करने की बात कर रहे हैं, AmountAfterTax की वैल्यू 10, 50, और 100 हैं; और fixed_amount_per_night, 20 है, फिर

    प्रमोशन रेट = कुल(AmountAfterTax - तय रकम छूट)

    110.00 = (0 + (50 - 20) + (100 - 20))

Promotions / HotelPromotions / Promotion / Discount / @fixed_price 0..1 float

percentage में से एक, fixed_amount, fixed_amount_per_night, fixed_price या fixed_price_per_night है आवश्यक.

अगर एक रात का किराया AmountAfterTax बताया गया है, तो यह में ठहरने का किराया तय करता है. इसमें टैक्स और शुल्क शामिल होते हैं. दर्ज किया गया मान. अगर AmountBeforeTax तय किया गया है, तो AmountAfterTax बताया गया है या नहीं, तो यह बताई गई वैल्यू पर ठहरने के लिए, टैक्स से पहले की कीमत. यह माना जाता है कि यह रकम, हर रात के किराये की मुद्रा में है.

अगर AmountAfterTax का मकसद और इसके लिए एक निश्चित मूल्य सेट करना होगा, AmountBeforeTax की वजह से, टैक्स और शुल्क की गलत जानकारी मिल सकती है. आम तौर पर, TaxFeeInfo का इस्तेमाल करें किसी प्रॉपर्टी के टैक्स और शुल्क की जानकारी देने के लिए.

उदाहरण:

  • अगर किराया एक रात के लिए है, तो AmountBeforeTax 90 है, AmountAfterTax, 100 है, और fixed_price है 80 है, तो प्रमोशन दर 80 है.
  • अगर किराया एक रात के लिए है, तो AmountBeforeTax का मान 100 है, fixed_amount का मान 80 है और TaxFeeInfo, 8% का टैक्स तय करता है, तो

    प्रमोशन की दर = तय कीमत * (1 + टैक्स का प्रतिशत)

    86.40 = 80 * 1.08

  • अगर हम तीन रातों के लिए कमरा बुक करने की बात कर रहे हैं, AmountAfterTax की वैल्यू 100, 110, और 120 हैं; और fixed_amount, 300 है, फिर

    प्रमोशन की दर = 300

Promotions / HotelPromotions / Promotion / Discount / @fixed_price_per_night 0..1 float

percentage में से एक, fixed_amount, fixed_amount_per_night, fixed_price या fixed_price_per_night है आवश्यक.

अगर एक रात का किराया AmountAfterTax बताया गया है, तो यह ठहरने की हर रात का किराया तय करता है. इसमें टैक्स और शुल्क शामिल हैं दर्ज किया गया मान. अगर AmountBeforeTax की वैल्यू दी गई है, तो AmountAfterTax की वैल्यू दी गई हो या नहीं, इससे हर रात के ठहरने की टैक्स के पहले की कीमत, दी गई वैल्यू पर सेट हो जाती है. यह माना जाता है कि यह वैसी ही मुद्रा में है जैसी कि हर रात के किराये की जानकारी में दी गई है.

अगर AmountAfterTax का मकसद और इसके लिए एक निश्चित मूल्य सेट करना होगा, AmountBeforeTax की वजह से, टैक्स और शुल्क की गलत जानकारी मिल सकती है. आम तौर पर, TaxFeeInfo का इस्तेमाल करें किसी प्रॉपर्टी के टैक्स और शुल्क की जानकारी देने के लिए.

अगर applied_nights बताया गया है, तो नई कीमत होगी सबसे कम किराये वाली N रातों के लिए लागू की गई है.

उदाहरण:

  • अगर दो रातों के लिए कमरा बुक करने की बात हो रही है, तो AmountBeforeTax की वैल्यू 90, 90 है; AmountAfterTax की वैल्यू 100, 100 हैं; और fixed_price का मान 80 है, तो प्रमोशन की दर यह होगी 80 + 80 = 160.
  • अगर दो रातों के लिए कमरा बुक करने की बात हो रही है, तो AmountBeforeTax है 100, 100; fixed_amount का मान 80 है और TaxFeeInfo में 8% टैक्स की जानकारी दी जाती है और फिर प्रचार दर है (80 + 80) * 1.08 = 172.8.
  • अगर हम तीन रात के ठहरने की कीमत तय कर रहे हैं, जहां AmountAfterTax की वैल्यू 100, 110, और 120 है और fixed_amount 110 है, तो प्रमोशन रेट 110 * 3 = 330 होगा.
Promotions / HotelPromotions / Promotion / Discount / @applied_nights 0..1 integer

इसका इस्तेमाल सिर्फ़ इसके साथ किया जाना चाहिए percentage या fixed_amount_per_night.

उन रातों की संख्या जिन पर छूट लागू होती है. यह संख्या सबसे कम कीमत वाली रात से शुरू होती है. यह 1 से 99 के बीच का कोई पूर्णांक होना चाहिए. अगर इस बारे में नहीं बताया गया है, तो छूट सभी रातों पर लागू होती है.

Promotions / HotelPromotions / Promotion / Discount / FreeNights 0..1 FreeNights इससे, एक तय समय तक ठहरने की कुछ रातों के लिए छूट की जानकारी मिलती है. अवधि पूरी हो गई. पैरंट Discount एलिमेंट में एट्रिब्यूट की अनुमति नहीं है अगर इस एलिमेंट का इस्तेमाल किया जाता है.
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @stay_nights 1 integer

छूट पाने के लिए ज़रूरी रातों की संख्या. हर ठहरने की कुल अवधि के एक सेगमेंट पर छूट लागू होती है.

उदाहरण के लिए, 10 रातों तक ठहरने के लिए, जहां stay_nights है 4 (और repeats सही है), इसके बाद दो रात ठहरने का समय सेगमेंट: पहली से चौथी रात और पांचवीं से आठवीं रात; यह 9वीं और 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

एक से ज़्यादा रात ठहरने पर छूट लागू हो सकती है या नहीं सेगमेंट. अगर false है, तो सिर्फ़ ठहरने की रातों का सेगमेंट यात्रा की शुरुआत में छूट दी जाती है. अगर true, तो होटल में ठहरने के लिए हर बुकिंग पर छूट मिलेगी.

उदाहरण के लिए, अगर stay_nights की वैल्यू 4 है और यात्रा की योजना में 10 रातें हैं, तो repeats की वैल्यू true होने पर, दो सेगमेंट (1 से 4 रातें और 5 से 8 रातें) पर छूट मिलेगी. हालांकि, repeats की वैल्यू false होने पर, सिर्फ़ एक सेगमेंट (1 से 4 रातें) पर छूट मिलेगी.

Promotions / HotelPromotions / Promotion / Discount / @rank 0..1 integer इस प्रमोशन को रैंक असाइन करता है और इसे रैंक के हिसाब से चुनने की सुविधा में शामिल करता है. इसमें, सिर्फ़ सबसे कम रैंक वाला प्रमोशन लागू करने के लिए चुना जाता है. मान यह 1 से 99 के बीच होना चाहिए. अगर कई प्रमोशन एक ही तरह के हैं रैंक करते हैं, तो एक को स्वेच्छा से चुना जाता है और लागू किया जाता है.
Promotions / HotelPromotions / Promotion / BestDailyDiscount 1 Discount

Discount में से कोई एक या BestDailyDiscount तय करना ज़रूरी है.

हर दिन के हिसाब से मिलने वाली छूट की जानकारी देता है. यह छूट, एक रात के ठहरने पर लागू की जा सकती है. यह इसमें है Discount के कंट्रास्ट से मेल खाता है. इसमें, छूट की पूरी दर लागू होती है ठहरने के लिए.

हर प्रॉपर्टी में प्रमोशन का एक ही ग्रुप हो सकता है, जिसमें को "हर दिन का सबसे अच्छा" स्कोर माना जाता है. इसका मतलब है कि ठहरने की हर रात के लिए, सिंगल "हर दिन की सबसे अच्छी पेशकश" ऐसा प्रमोशन जो ज़रूरी शर्तें पूरी करता है और जो सबसे ज़्यादा कमाई करता है उस रात के लिए छूट चुनी गई है और उस पर लागू की जा सकती है.

Stacking को इससे तय किया जा सकता है BestDailyDiscount. इसे इनमें से किसी पर भी सेट होना चाहिए base या none. हर रात के लिए सबसे ज़्यादा छूट देने वाली "हर दिन की सबसे अच्छी" छूट को एक साथ जोड़ दिया जाता है और इसे एक ही ठहरने की छूट (यानी Discount) के तौर पर दिखाया जाता है. हालांकि, ऐसा करते समय, कॉन्फ़िगर किए गए स्टैकिंग टाइप का ध्यान रखा जाता है. कुल छूट की तुलना की गई अन्य योग्य <Discount> के साथ स्टैक किए जा सकते हैं और ताकि आपके पास सबसे ज़्यादा गहराई से जानकारी देने वाले छूट. BestDailyDiscount या फिर कम कीमत वाला सिंगल Discount चुना गया और base स्टैकिंग टाइप के लिए लागू किया गया.

StayDates इस तरह की छूट दी जा सकती है. लेकिन application इस पर सेट होना चाहिए overlap

.
Promotions / HotelPromotions / Promotion / BestDailyDiscount / @percentage 0..1 float

percentage में से एक, fixed_amount या fixed_price ज़रूरी है.

0 से 100 के बीच की दशमलव वैल्यू, जो छूट का प्रतिशत बताती है. यह AmountAfterTax (या अगर AmountAfterTax नहीं है, तो AmountBeforeTax बताया गया है).

उदाहरण:

  • अगर एक रात ठहरने का AmountAfterTax 100 है और percentage, 20 है, फिर

    प्रमोशन की दर = AmountAfterTax * (1 - प्रतिशत छूट)

    80.00 = 100 * (1 - 0.2)

  • अगर ठहरने की कुल अवधि के लिए AmountBeforeTax 100 है, percentage का मतलब है 20 और TaxFeeInfo में 10 का टैक्स लगता है, तब

    प्रमोशन की दर = AmountBeforeTax * (1 - प्रतिशत छूट) + टैक्स

    90.00 = 100 * (1 - 0.2) + 10

Promotions / HotelPromotions / Promotion/ BestDailyDiscount / @fixed_amount 0..1 float

percentage, fixed_amount या fixed_price में से किसी एक की ज़रूरत है.

किसी तय रकम में से घटाई जाने वाली तय रकम एक रात के लिए AmountAfterTax का किराया (या एक रात का AmountBeforeTax किराया होने पर AmountAfterTax की जानकारी नहीं दी गई है). माना जाता है कि उसी मुद्रा में पेमेंट करना होगा जो एक रात का किराया है. अगर यह एक रात का किराया जोड़ने पर, नतीजे की वैल्यू शून्य होगी.

उदाहरण:

  • अगर एक रात का AmountBeforeTax 90 है, तो AmountAfterTax, 100 है, और fixed_amount है 20 है, फिर

    प्रमोशन के लिए तय की गई दर = AmountAfterTax - तय की गई छूट

    80.00 = 100 - 20

  • अगर एक रात के लिए AmountBeforeTax 100 है, fixed_amount 20 है, और TaxFeeInfo में टैक्स के तौर पर 8% बताया गया है, तो

    प्रमोशन की दर = (AmountBeforeTax - तय की गई) छूट) * (1 + टैक्स का प्रतिशत)

    86.40 = (100 - 20) * 1.08

Promotions / HotelPromotions / Promotion/ BestDailyDiscount / @fixed_price 0..1 float

percentage, fixed_amount या fixed_price में से किसी एक की ज़रूरत है.

अगर एक रात का किराया AmountAfterTax बताया गया है, तो यह रात में ठहरने का किराया तय करता है. इसमें टैक्स और शुल्क शामिल होते हैं. दर्ज किया गया मान. अगर AmountBeforeTax तय किया गया है, तो AmountAfterTax बताया गया है या नहीं, तो यह बताई गई वैल्यू पर ठहरने के लिए, टैक्स से पहले की कीमत. माना जाता है कि उसी मुद्रा में पेमेंट करना होगा जो एक रात का किराया है.

उदाहरण:

  • अगर एक रात का AmountBeforeTax 90 है, तो AmountAfterTax, 100 है, और fixed_price है 80 है, तो प्रमोशन दर 80 है.
  • अगर एक रात का AmountBeforeTax 100 है, fixed_amount का मतलब 80 है और TaxFeeInfo में 8%, तो

    प्रमोशन की दर = तय कीमत * (1 + टैक्स का प्रतिशत)

    86.40 = 80 * 1.08

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

सदस्यता दर के नियम के लिए कंटेनर, जो खास यूज़र इंटरफ़ेस (यूआई) को ट्रिगर करता है छूट के लिए लागू.

इस एलिमेंट को तब तक नहीं बताया जाना चाहिए, जब तक कि <Discount> भी तय किया गया है.

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 की वैल्यू लेन-देन (प्रॉपर्टी का डेटा) मैसेज में और RatePlanCode एट्रिब्यूट दोनों में <StatusApplicationControl> <OTA_HotelRateAmountNotifRQ> और <OTA_HotelAvailNotifRQ> संदेश. ज़्यादा से ज़्यादा 50 वर्ण डाले जा सकते हैं.
Promotions / HotelPromotions / Promotion / RoomTypes 0..1 RoomTypes कमरों के टाइप की सूची के लिए कंटेनर, जिस पर प्रमोशन लागू होता है. यह प्रमोशन, हर <RoomType> पर लागू होता है बताया गया है. अगर <RoomTypes> तय नहीं किया गया है, तो प्रमोशन सभी कमरों पर लागू होता है.
Promotions / HotelPromotions / Promotion / RoomTypes / RoomType 1..n RoomType इससे पता चलता है कि कमरा किस तरह का है. कमरे के टाइप को इसमें बताया गया है <RoomData> एलिमेंट लेन-देन (प्रॉपर्टी डेटा) मैसेज इसकी <RoomID> वैल्यू का इस्तेमाल करके, रेफ़रंस के तौर पर इस्तेमाल किया जाता है. ( <RoomID> वैल्यू को OTA_HotelRateAmountNotifRQ में InvTypeCode एट्रिब्यूट messages.)
Promotions / HotelPromotions / Promotion / RoomTypes / RoomType / @id 1 string इन्वेंट्री के लिए यूनीक आइडेंटिफ़ायर (कमरे का टाइप). यह वैल्यू मैप करती है <RoomID> के लिए, लेन-देन (प्रॉपर्टी का डेटा) वाले मैसेज में. ज़्यादा से ज़्यादा 50 वर्ण डाले जा सकते हैं.
Promotions / HotelPromotions / Promotion / Stacking 0..1 Stacking इससे पता चलता है कि प्रमोशन को एक साथ कैसे जोड़ा जा सकता है. अगर इसके बारे में नहीं बताया गया है, तो "टाइप" को base माना गया है.
Promotions / HotelPromotions / Promotion / Stacking / @type 1 enum

एक ही दर पर कई प्रमोशन लागू किए जा सकते हैं. हालांकि, ऐसा इन वजहों से हो सकता है यह सेटिंग:

  • any: इसे किसी दूसरे प्रमोशन के साथ जोड़ा जा सकता है (इसे छोड़कर none), लेकिन प्रमोशन किस क्रम में होने चाहिए लागू होने की कोई गारंटी नहीं है.
  • base: सबसे ज़रूरी शर्तें पूरी करने वाला base प्रमोशन यह है प्रमोशन को चुना जाएगा और अन्य प्रमोशन से पहले लागू किया जाएगा. यह था पहले base_only नाम दिया गया था.
  • second: सबसे योग्य second प्रचार को चुना गया है और base प्रमोशन के बाद लागू किया गया है (अगर लागू हो) और any प्रमोशन से पहले.
  • none: इसे अन्य प्रमोशन के साथ नहीं जोड़ा जा सकता.

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

Promotions / HotelPromotions / Promotion / StayDates 0..1 StayDates एक या उससे ज़्यादा तारीख की सीमाओं के लिए कंटेनर, जो यह तय करता है कि प्रमोशन कैसे लागू किया जाए. जैसे, सीज़न के हिसाब से छूट देने के लिए.
Promotions / HotelPromotions / Promotion / StayDates / @application 1 enum

इसमें बताया गया है कि प्रमोशन को कैसे लागू करना चाहिए.

मान्य मान हैं:

  • all: प्रमोशन इस रात के समय पर लागू होता है अगर यात्रा की योजना में सभी तारीखें ओवरलैप हैं, तो यात्रा की योजना जिसमें ठहरने की तारीखें भी शामिल होंगी.
  • any: प्रमोशन, इस इवेंट की सभी रातों के लिए लागू होता है अगर यात्रा की योजना की कोई तारीख, ठहरने की तारीखों की सीमा.
  • overlap: यह प्रमोशन, यात्रा की योजना में सिर्फ़ उन रातों पर लागू होता है जो ठहरने की तारीखों की सीमा में आती हैं.

इस एट्रिब्यूट की वैल्यू हमेशा बताना ज़रूरी है.

  • अगर <Discount> में percentage का इस्तेमाल किया गया है और application को all या any पर सेट किया गया है, तो छूट, ठहरने की पूरी अवधि के किराये के प्रतिशत के तौर पर लागू होती है.
  • अगर <Discount>, percentage को तय करता है और application overlap पर सेट हो, तो ओवरलैप होने पर, एक रात के लिए मिलने वाले किराये के प्रतिशत के तौर पर छूट लागू की जाती है रातें.
  • fixed_amount के बारे में बताने वाला <Discount> और application को overlap पर सेट किया गया हो, तो अमान्य संयोजन.
  • <FreeNights> सभी का समर्थन करता है application वैल्यू. ध्यान दें कि overlap के लिए, छूट के लिए, सिर्फ़ एक रात ठहरने की अवधि को माना जाता है ज़रूरतें.
Promotions / HotelPromotions / Promotion / StayDates / DateRange 1..99 DateRange

तारीख की वह सीमा जिसमें प्रमोशन लागू होने की तारीखें होती हैं.

YearlessDate फ़ॉर्मैट का इस्तेमाल भी किया जा सकता है.

  • अगर start या end में से कोई साल एक साल का है तारीख, दोनों को साल भर की तारीखों के तौर पर भरा जाना चाहिए.
  • साल भर की तारीख की सीमाएं, नए साल के आस-पास नहीं होनी चाहिए. इसके बजाय, तारीख की सीमा को दो आस-पास की तारीख की सीमाओं के तौर पर दिखाते हैं. उदाहरण के लिए, {"12-29", "01-05"} को इस तरह दिखाया जा सकता है {"12-29", "12-31"} और {"01-01", "01-05"}.

अगर आपको StayDates रेंज को इस पर सेट करना है सप्ताह के खास दिनों में प्रचार की अनुमति दें, इसलिए आपको मौजूदा तारीख के तौर पर start तारीख. इसमें end नहीं है कि प्रमोशन की समयसीमा खत्म नहीं होती है.

Promotions / HotelPromotions / Promotion / StayDates / DateRange / @start 0..1 Date or YearlessDate प्रॉपर्टी के टाइम ज़ोन के हिसाब से, शुरू होने की तारीख (इसमें ये भी शामिल हैं) तारीख की सीमा. यह तारीख end तारीख. अगर start तय नहीं है, तो तारीख शुरू होने की तारीख के हिसाब से, रेंज की सीमा लागू नहीं होती.

अगर end वैल्यू नहीं दी गई है, तो आपको start वैल्यू देनी होगी.

Promotions / HotelPromotions / Promotion / StayDates / DateRange / @end 0..1 Date or YearlessDate तारीख की सीमा के साथ-साथ, खत्म होने की तारीख (प्रॉपर्टी के टाइम ज़ोन के आधार पर). यह तारीख, start की तारीख या उसके बाद की होनी चाहिए. अगर end तय नहीं है, तो तारीख start तारीख से लेकर अब तक, रेंज की कोई सीमा नहीं रहेगी.

अगर start वैल्यू नहीं दी गई है, तो आपको end वैल्यू देनी होगी.

Promotions / HotelPromotions / Promotion / StayDates / DateRange / @days_of_week 0..1 string

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

मान्य वर्ण हैं:

  • सोमवार का किराया M
  • मंगलवार के लिए T
  • बुधवार का W
  • गुरुवार का H
  • शुक्रवार का F
  • शनिवार का S
  • रविवार का किराया U

वर्णों का कोई भी कॉम्बिनेशन मान्य है.

Promotions / HotelPromotions / Promotion / UserCountries 0..1 UserCountries ज़रूरी शर्तें पूरी करने वाले उपयोगकर्ताओं की जगहों (देशों) की लिस्टिंग दिखाने वाला कंटेनर देखें. अगर छूट की जानकारी दी गई है, तो सूची में शामिल देशों में रहने वाले सिर्फ़ ज़रूरी शर्तें पूरी करने वाले लोगों को छूट वाला किराया ऑफ़र किया जाता है. अगर इसके बारे में नहीं बताया गया है, तो इसका मतलब है कि किसी भी देश के लोगों को छूट वाली कीमत ऑफ़र की जाती है.
Promotions / HotelPromotions / Promotion / UserCountries / @type 0..1 enum UserCountries स्पेसिफ़िकेशन का टाइप.

मान्य वैल्यू include हैं और exclude.

अगर उपयोगकर्ता के देशों का type इस तौर पर सेट है include, यह प्रमोशन सूची में शामिल देश.

अगर UserCountries type की वैल्यू exclude है, तो इसका मतलब है कि प्रमोशन, सूची में शामिल देशों के बाहर के उपयोगकर्ताओं पर लागू होगा.

अगर उपयोगकर्ता देश type सेट नहीं है, तो इसे include और प्रमोशन इनके उपयोगकर्ताओं पर लागू होता है: सूची में शामिल देश हैं.

Promotions / HotelPromotions / Promotion / UserCountries / Country 1..300 Country उस देश के बारे में बताता है जहां उपयोगकर्ता, प्रमोशन की ज़रूरी शर्तें पूरी करते हैं.
Promotions / HotelPromotions / Promotion / UserCountries / Country / @code 1 string CLDR देश कोड, जैसे कि DE या FR. ध्यान दें, कुछ देशों में, CLDR देश कोड और 2-अक्षर वाला ISO अलग-अलग कोड है देश कोड. इसके अलावा, 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 के मुताबिक, अवधि के टाइप के तौर पर तय किया गया है. बुकिंग विंडो की इस पाबंदी के लिए, रात 18 बजे या उससे पहले बुकिंग करना ज़रूरी है पहुंचने से एक दिन पहले और दूसरे दिन पहले 12:00 बजे या उसके बाद आने का समय.

<?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 एलिमेंट का इस्तेमाल DateTime टाइप के तौर पर start और end एट्रिब्यूट के साथ किया गया है. बुकिंग की तारीख से जुड़ी इस पाबंदी के लिए, बुकिंग करना ज़रूरी है 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 के बीच की चेक इन की तारीखों पर लागू होता है. भले ही, साल कोई भी हो. वर्षीय नए साल की सीमा को पार करने वाली तारीख की सीमाएं अमान्य हैं. इसलिए, DateRange को दो निकटतम तारीख की सीमाओं के रूप में दिखाया जाता है.

<?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

यहां दिए गए उदाहरण में, ऑफ़र का इस्तेमाल करके दो रातों के लिए कमरा बुक करने पर छूट दी गई है BestDailyDiscount को Discount के साथ स्टैक किया गया.

<?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 रुपये होगी. इसमें रोज़ाना मिलने वाली सबसे अच्छी छूट का इस्तेमाल किया जा सकता है क्योंकि "festa" स्टैकिंग प्रकार को 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 इससे पता चलता है कि प्रमोशन मैसेज प्रोसेस हो गया है वह भी चेतावनी, गड़बड़ी या गड़बड़ी के बिना.

<Success> या <Issues> मौजूद हैं.

PromotionsResponse / Issues 0..1 Issues प्रोसेस करते समय एक या ज़्यादा समस्याओं का कंटेनर प्रमोशन मैसेज.

<Success> या <Issues> मौजूद हैं.

PromotionsResponse / Issues / Issue 1..n Issue इस दौरान मिली किसी चेतावनी, गड़बड़ी या गड़बड़ी का ब्यौरा प्रमोशन मैसेज प्रोसेस कर रहा है. इन समस्याओं की जानकारी देखी जा सकती है इंच फ़ीड की स्थिति से जुड़े गड़बड़ी के मैसेज.
PromotionsResponse / Issues / Issue / @code 1 integer समस्या का आइडेंटिफ़ायर.
PromotionsResponse / Issues / Issue / @status 1 enum

किस तरह की समस्या का सामना करना पड़ा.

मान्य वैल्यू warning, error, और failure हैं.

उदाहरण

काम हो गया

यहां प्रमोशन वाले उस मैसेज का जवाब दिया गया है जिसे प्रोसेस कर लिया गया है.

<?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>