रेट में बदलाव

खास जानकारी

इस एपीआई की मदद से, किसी किराये पर शर्तें पूरी होने पर, डाइनैमिक तौर पर कार्रवाइयां लागू करने के तरीके तय किए जा सकते हैं. जैसे, किराये में बदलाव करना या रिफ़ंड की सुविधा चालू करना. Promotions API की तुलना में, यह एपीआई कुछ शर्तें पूरी होने पर ही कोई कार्रवाई करता है. इसमें कीमत में बदलाव करना भी शामिल है. इससे आखिर में कीमत बढ़ सकती है. वहीं, Promotions API सिर्फ़ ज़्यादा छूट वाले प्रमोशन लागू कर सकता है.

अनुरोध

सिंटैक्स

RateModifications मैसेज में इस सिंटैक्स का इस्तेमाल किया जाता है:

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="partner_key&quot;
                      id="message_ID"
   >   <                timestamp="timestamp"
  HotelRateM>odifi<cations hotel_id="HotelID" action="[overlay]&quo>t;
    <ItineraryRat>eModifica<tion id="ModificationID" action="[delete]&quot;
      BookingDates>
        <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD&quot; days_of_week=&q>uot;&qu<ot;MTWHFSU_or>_subset<""/
        DateRange start=&quo>t;YYYY-<MM-DD" >end="<;YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/
      />Booking<Dates
      B>ookingW<indow min=&qu>ot;intege<r" max="integer"/
      CheckinDates
        DateRange start=&quot>;YYYY-M<M-DD" end>="<YYYY-MM>-DD"< days_of_week=""MTWHFSU_or_s>ubset&q<uot;&quo>t;/
   <   /CheckinDates
      CheckoutDates
    >    Dat<eRange start="YYYY-MM-DD&quot; end=>"Y<YYY-MM-DD>" da<ys_of_week=&quot;"MTW>HFSU_or_s<ubset"&quot;/
      />Checkou<tDates
   >   Devi<ces
     >   Device< type="[desktop|ta>blet|mobi<le]"/
      /Devic>es
    <  L>engthOfStay mi<n="integer" max="i>nteger&qu<ot;/
      MinimumAmount before_discount="integer"/
      RatePlans
   >     Ra<tePlan id=>"P<ackageID_1"/
        RatePlan id=>"Pac<kageID_2"/
      /RateP>lans
  <    Roo>mTypes
       < RoomType id=">RoomID_1&<quot;/
        RoomType id=&quot;Ro>omID_2&qu<ot;/
      /RoomTypes
   >   StayDa<tes application="[all|any]&quot;
        DateRange start="YYYY-MM-DD&quot; end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_su>bset"<;"/
      /StayDates
      User>Countri<es type="[inclu>de|ex<clude]"
        Count>ry <code="country_code>&<quot;/
      /User>Countries
      ModificationActions
        PriceAdjustment multiplier="float"/
        RateRule id="RateRuleID"/
        Refundable available="[false|true]"
                       refundable_until_days="number_of_days"
                       refundable_until_time="time"/
        Availability status="[unavailable]"/
      /ModificationActions
    /ItineraryRateModification
  /HotelRateModifications
/RateModifications

एलिमेंट और एट्रिब्यूट

RateModifications मैसेज में ये एलिमेंट और एट्रिब्यूट होते हैं:

एलिमेंट / @एट्रिब्यूट आवृत्तियां टाइप ब्यौरा
RateModifications 1 Complex element किराये में बदलाव करने के मैसेज का रूट एलिमेंट.
RateModifications / @partner 1 string इस मैसेज के लिए पार्टनर खाता. यह स्ट्रिंग वैल्यू, Hotel Center में खाते की सेटिंग वाले पेज पर दी गई "पार्टनर की कुंजी" वैल्यू होती है.

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

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

किसी प्रॉपर्टी के लिए किराये में बदलाव. किराये में किया गया हर बदलाव, सिर्फ़ एक प्रॉपर्टी पर लागू होता है.

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

RateModifications / HotelRateModifications / @hotel_id 1 string प्रॉपर्टी के लिए यूनीक आइडेंटिफ़ायर. यह वैल्यू, होटल सूची फ़ीड में <listing> एलिमेंट में <id> का इस्तेमाल करके बताए गए होटल आईडी से मेल खानी चाहिए. होटल आईडी, Hotel Center में भी मौजूद होता है.
RateModifications / HotelRateModifications / @action 0..1 enum

अगर action की वैल्यू नहीं दी गई है, तो इस एलिमेंट में किए गए बदलावों को इस होटल के लिए जोड़ा या अपडेट किया जाता है. अगर action="overlay" की वैल्यू दी गई है, तो इस होटल के लिए पहले से किए गए सभी बदलावों को मिटा दिया जाता है. इसके बाद, यहां बताए गए बदलाव लिखे जाते हैं. अगर action="overlay" का इस्तेमाल किया जाता है और इस एलिमेंट में कोई बदलाव नहीं किया जाता है, तो इस होटल के लिए किए गए सभी बदलाव मिटा दिए जाते हैं.

RateModifications / HotelRateModifications / ItineraryRateModification 0..200 ItineraryRateModification

किसी प्रॉपर्टी के लिए, किराये में एक बार किया गया बदलाव.

ध्यान दें:किराये में बदलाव करने पर, उसे डीबग करना मुश्किल होता है. इसलिए, हमारा सुझाव है कि आप इसका इस्तेमाल कम से कम करें. ऐसे इस्तेमाल के उदाहरणों के लिए, अपने तकनीकी खाता मैनेजर (टैम) से संपर्क करें जिनमें बिलिंग दर में 200 से ज़्यादा बदलाव करने की ज़रूरत होती है.

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

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

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

RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates 0..1 BookingDates एक या एक से ज़्यादा तारीख की सीमाओं के लिए कंटेनर, जो यह तय करता है कि किराये में बदलाव लागू करने के लिए, बुकिंग कब होनी चाहिए.
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange 1..99 DateRange तारीख की वह सीमा जिसमें किराये में बदलाव लागू करने के लिए, बुकिंग की जानी चाहिए.
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @start 0..1 Date तारीख की सीमा के साथ-साथ, शुरू होने की तारीख (प्रॉपर्टी के टाइम ज़ोन के आधार पर). यह तारीख, end की तारीख से पहले की होनी चाहिए या उसी तारीख की होनी चाहिए. अगर start की जानकारी नहीं दी गई है, तो तारीख की सीमा के लिए शुरू होने की तारीख की कोई सीमा नहीं होती.
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @end 0..1 Date तारीख की सीमा के साथ-साथ, खत्म होने की तारीख (प्रॉपर्टी के टाइम ज़ोन के आधार पर). यह तारीख, start की तारीख के बराबर या उसके बाद की होनी चाहिए. अगर end की जानकारी नहीं दी जाती है, तो तारीख की सीमा के लिए, खत्म होने की तारीख असीमित होती है.
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @days_of_week 0..1 string

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

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

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

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

RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow 0..1 BookingWindow इससे पता चलता है कि चेक-इन करने की तारीख (प्रॉपर्टी के टाइम ज़ोन के हिसाब से) के हिसाब से, बुकिंग कब होनी चाहिए. उदाहरण के लिए, बुकिंग विंडो को चेक-इन से कम से कम सात दिन पहले सेट किया जा सकता है. हालांकि, इसे 180 दिन से ज़्यादा नहीं किया जा सकता.
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @min 0..1 integer किराये में बदलाव लागू करने के लिए, बुकिंग कम से कम कितने दिन पहले की जानी चाहिए चेक-इन करने से पहले. अगर इसकी कोई वैल्यू नहीं दी गई है, तो इसका मतलब है कि कम से कम एक दिन के लिए ही बुकिंग की जा सकती है.
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @max 0..1 integer किराये में बदलाव लागू करने के लिए, बुकिंग की तारीख, चेक-इन से कितने दिन पहले होनी चाहिए. अगर इसकी जानकारी नहीं दी गई है, तो इसका मतलब है कि ज़्यादा से ज़्यादा वैल्यू तय नहीं की गई है.
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates 0..1 CheckinDates तारीख की एक या उससे ज़्यादा सीमाओं के लिए कंटेनर, जो यह तय करता है कि किराये में बदलाव लागू करने के लिए, चेक-इन कब होना चाहिए.
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange 1..99 DateRange तारीख की वह सीमा जिसमें यह तय किया गया है कि किराये में बदलाव लागू करने के लिए, चेक-इन कब होना चाहिए. अगर आपको किराये में किए गए एक या उससे ज़्यादा बदलावों को मिटाना है, तो इस एलिमेंट की ज़रूरत नहीं है.
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @start 0..1 Date तारीख की सीमा के साथ-साथ, शुरू होने की तारीख (प्रॉपर्टी के टाइम ज़ोन के आधार पर). यह तारीख, end की तारीख से पहले की होनी चाहिए या उसी तारीख की होनी चाहिए. अगर start की जानकारी नहीं दी गई है, तो तारीख की सीमा के लिए शुरू होने की तारीख की कोई सीमा नहीं होती.
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @end 0..1 Date तारीख की सीमा के साथ-साथ, खत्म होने की तारीख (प्रॉपर्टी के टाइम ज़ोन के आधार पर). यह तारीख, start की तारीख के बराबर या उसके बाद की होनी चाहिए. अगर end की जानकारी नहीं दी जाती है, तो तारीख की सीमा के लिए, खत्म होने की तारीख असीमित होती है.
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @days_of_week 0..1 string

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

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

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

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

RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates 0..1 CheckoutDates एक या एक से ज़्यादा तारीख की सीमाओं के लिए कंटेनर, जो यह तय करता है कि किराये में बदलाव लागू करने के लिए, चेक-आउट कब होना चाहिए.
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange 1..99 DateRange तारीख की वह सीमा जिसमें यह तय किया गया है कि किराये में बदलाव लागू करने के लिए, चेक-आउट कब होना चाहिए. अगर आपको किराये में किए गए एक या उससे ज़्यादा बदलावों को मिटाना है, तो इस एलिमेंट की ज़रूरत नहीं है.
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @start 0..1 Date तारीख की सीमा के साथ-साथ, शुरू होने की तारीख (प्रॉपर्टी के टाइम ज़ोन के आधार पर). यह तारीख, end की तारीख से पहले की होनी चाहिए या उसी तारीख की होनी चाहिए. अगर start की जानकारी नहीं दी गई है, तो तारीख की सीमा के लिए शुरू होने की तारीख की कोई सीमा नहीं होती.
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @end 0..1 Date तारीख की सीमा के साथ-साथ, खत्म होने की तारीख (प्रॉपर्टी के टाइम ज़ोन के आधार पर). यह तारीख, start की तारीख के बराबर या उसके बाद की होनी चाहिए. अगर end की जानकारी नहीं दी जाती है, तो तारीख की सीमा के लिए, खत्म होने की तारीख असीमित होती है.
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @days_of_week 0..1 string

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

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

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

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

RateModifications / HotelRateModifications / ItineraryRateModification / Devices 0..1 Devices ऐसे उपयोगकर्ता डिवाइसों की सूची बनाने के लिए कंटेनर जिनके लिए, बिलिंग अगर यह जानकारी दी गई है, तो किराये में बदलाव सिर्फ़ तब लागू किया जाएगा, जब उपयोगकर्ता सूची में दिए गए किसी डिवाइस से मेल खाता हो. अगर यह जानकारी नहीं दी जाती है, तो इसका मतलब है कि किराये में बदलाव करने पर, यह पाबंदी लागू नहीं होगी.
RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device 1..3 Device उपयोगकर्ता के उस डिवाइस के बारे में बताता है जिस पर किराये में बदलाव किया जा सकता है.
RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device / @type 1 enum डिवाइस का टाइप. यह ज़रूरी है कि वैल्यू desktop, tablet या mobile हो.
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions 1 ModificationActions

तय की गई सभी शर्तें पूरी होने पर, किराये पर लागू होने वाली कार्रवाई(कार्रवाइयां).

RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment 0..1 PriceAdjustment AmountBeforeTax और AmountAfterTax, दोनों को तय किए गए मल्टीप्लायर से गुणा करके, दर में बदलाव करता है
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment / @multiplier 1 float AmountBeforeTax और AmountAfterTax, दोनों को इस वैल्यू से गुणा किया जाता है.
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule 0..1 RateRule रेट रूल आईडी लागू करके, किराये में बदलाव करता है.
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule / @id 1 string यह आईडी, आपकी किराया तय करने के नियम की परिभाषा फ़ाइल में मौजूद परिभाषा से किराये से मेल खाता है. ध्यान दें:
  • इस फ़ील्ड में ज़्यादा से ज़्यादा 40 वर्ण डाले जा सकते हैं.
  • हर किराया, सिर्फ़ एक किराया नियम से जुड़ा हो सकता है.
  • अगर रेट रूल आईडी लागू करने के लिए कई बदलाव किए गए हैं, तो सबसे छोटा रेट रूल आईडी, किराये के लिए असाइन किया जाता है.
  • अगर यह आईडी, किराया तय करने के नियम की परिभाषा वाली फ़ाइल में मौजूद किसी नियम से मैच नहीं करता है, तो इसे अमान्य माना जाता है.
निजी किराये के यूज़र इंटरफ़ेस (यूआई) के अलग-अलग वर्शन के बारे में जानकारी पाने के लिए, यह लेख पढ़ें.
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable 0..1 Refundable किराये के लिए रिफ़ंड की सुविधा की वैल्यू को, बताई गई वैल्यू से बदल देता है.

एट्रिब्यूट सेट करते समय, इन बातों का ध्यान रखें:

  • बदलाव करने की यह कार्रवाई, सिर्फ़ पॉप्युलेट किए गए फ़ील्ड को ही नहीं, बल्कि ज़रूरी शर्तें पूरी करने वाली दर की रिफ़ंड की सेटिंग को भी पूरी तरह से फिर से लिख देती है.
  • अगर available या refundable_until_days को सेट नहीं किया गया है, तो किराया रिफ़ंड के तौर पर नहीं दिखता.
  • अगर available की वैल्यू 0 या false है, तो अन्य एट्रिब्यूट को अनदेखा कर दिया जाता है. अगर एक या दोनों अन्य एट्रिब्यूट सेट किए गए हैं, तब भी किराया रिफ़ंड के तौर पर नहीं दिखता.
  • refundable_until_time सेटिंग को सेट करने का सुझाव दिया जाता है. अगर इसे सेट नहीं किया जाता है, तो सबसे पहले (आधी रात) का समय इस्तेमाल किया जाता है.
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @available 1 boolean (ज़रूरी) 1 या true पर सेट करें. इससे यह पता चलता है कि किराये पर पूरा रिफ़ंड मिलेगा या नहीं. अगर नहीं, तो 0 या false पर सेट करें.
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days 0..1 integer (available के true होने पर ज़रूरी है) इससे पता चलता है कि चेक-इन से कितने दिन पहले, पूरे रिफ़ंड का अनुरोध किया जा सकता है. refundable_until_days की वैल्यू, 0 और 330 के बीच की कोई पूर्णांक होनी चाहिए.
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @refundable_until_time 0..1 Time (अगर available की वैल्यू true है, तो इसका सुझाव दिया जाता है) इससे पता चलता है कि होटल के स्थानीय समय के हिसाब से, रिफ़ंड की तारीख और समय की पूरी जानकारी होनी चाहिए. साथ ही, इसमें पूरे पैसे रिफ़ंड (टैक्स और शुल्क के साथ) होने की बात शामिल होनी चाहिए. उदाहरण के लिए, "रिफ़ंड, चेक-इन से दो दिन पहले शाम 4:00 बजे तक उपलब्ध हैं", यह बताने के लिए, इसे refundable_until_days के साथ जोड़ा जा सकता है. अगर refundable_until_time सेट नहीं है, तो वैल्यू डिफ़ॉल्ट रूप से आधी रात पर सेट हो जाती है.
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability 0..1 Availability किराये की उपलब्धता को बताई गई वैल्यू से बदल देता है. हम सिर्फ़ unavailable पर किराया सेट करने की सुविधा देते हैं.
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability / @status 1 enum अगर status="unavailable" है, तो किराये को ऐसा माना जाता है कि वह उपलब्ध नहीं है. भले ही, उसके लिए कोई मान्य कीमत मौजूद हो.
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay 0..1 LengthOfStay इसमें ठहरने की समयसीमा तय की जाती है, जिसके दौरान किराये में यह बदलाव लागू किया जा सकता है. अगर ठहरने की अवधि, कम से कम और ज़्यादा से ज़्यादा अवधि की सीमाओं से बाहर है, तो किराये में बदलाव नहीं किया जाता.
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @min 0..1 integer किराये में बदलाव लागू करने के लिए, कमरे में ठहरने की कम से कम अवधि. अगर इसकी जानकारी नहीं दी गई है, तो इसका मतलब है कि कम से कम किराया तय नहीं है.
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @max 0..1 integer किराये में बदलाव लागू करने के लिए, ठहरने की ज़्यादा से ज़्यादा रातों की जानकारी. अगर इसकी वैल्यू नहीं दी गई है, तो इसका मतलब है कि कोई ज़्यादा से ज़्यादा सीमा नहीं है.
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount 0..1 MinimumAmount इससे यह पता चलता है कि कमरे के किराये की कम से कम रकम कितनी होनी चाहिए. इसके लिए, AmountBeforeTax या AmountAfterTax में से ज़्यादा वैल्यू का इस्तेमाल किया जाता है. किराये में बदलाव लागू करने के लिए, यह रकम ज़्यादा होनी चाहिए.
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount / @before_discount 1 integer किराये में बदलाव लागू करने के लिए, यह वैल्यू ज़्यादा होनी चाहिए.
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans 0..1 RatePlans किराये के उन प्लान की सूची के लिए कंटेनर जिन पर किराये में बदलाव लागू होता है. अगर <RatePlans> की वैल्यू नहीं दी गई है, तो किराये में बदलाव सभी किराया प्लान पर लागू होगा.
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan 1..n RatePlan किराये का प्लान बताता है. किराये के प्लान को पैकेज, किराये, और उपलब्धता के कॉम्बिनेशन से तय किया जाता है. इसकी जानकारी, लेन-देन (प्रॉपर्टी डेटा), OTA_HotelRateAmountNotifRQ, और OTA_HotelAvailNotifRQ मैसेज में दी गई होती है. साथ ही, PackageID से भी इसकी पहचान की जा सकती है.
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan / @id 1 string किराया प्लान का यूनीक आइडेंटिफ़ायर. यह वैल्यू, लेन-देन (प्रॉपर्टी डेटा) मैसेज में <PackageData> में मौजूद PackageID वैल्यू और <OTA_HotelRateAmountNotifRQ> और <OTA_HotelAvailNotifRQ>, दोनों मैसेज में <StatusApplicationControl> में मौजूद RatePlanCode एट्रिब्यूट में मैप होती है. इसमें ज़्यादा से ज़्यादा 50 वर्ण हो सकते हैं.
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes 0..1 RoomTypes कमरे के उन टाइप की सूची के लिए कंटेनर जिन पर किराये में बदलाव लागू होता है. किराये में बदलाव, बताए गए हर <RoomType> पर लागू होता है. अगर <RoomTypes> की वैल्यू नहीं दी गई है, तो किराये में किया गया बदलाव सभी रूम पर लागू होगा.
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType 1..n RoomType कमरे का टाइप बताता है. कमरे के टाइप की जानकारी, ट्रांज़ैक्शन (प्रॉपर्टी डेटा) मैसेज में मौजूद <RoomData> एलिमेंट में दी जाती है. साथ ही, <RoomID> वैल्यू का इस्तेमाल करके इसका रेफ़रंस दिया जाता है. (इसकी <RoomID> वैल्यू का रेफ़रंस, OTA_HotelRateAmountNotifRQ मैसेज में InvTypeCode एट्रिब्यूट से भी दिया जाता है.)
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType / @id 1 string इन्वेंट्री (कमरे का टाइप) के लिए यूनीक आइडेंटिफ़ायर. यह वैल्यू, लेन-देन (प्रॉपर्टी डेटा) मैसेज में <RoomID> पर मैप होती है. इसमें ज़्यादा से ज़्यादा 50 वर्ण हो सकते हैं.
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates 0..1 StayDates एक या उससे ज़्यादा तारीख की सीमाओं के लिए कंटेनर, जो यह तय करता है कि किराये में बदलाव कैसे लागू किया जाए. जैसे, सीज़न के हिसाब से किराया तय करना.
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / @application 1 enum

इसमें बताया गया है कि किराये में बदलाव कैसे लागू किया जाना चाहिए.

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

  • all: अगर यात्रा की योजना में दी गई सभी तारीखें, ठहरने की तारीखों से ओवरलैप होती हैं, तो यात्रा की योजना में बताई गई हर रात के लिए किराये में बदलाव लागू होता है.
  • any: अगर यात्रा की योजना में दी गई कोई तारीख, ठहरने की तारीख की सीमा में दी गई तारीख से मेल खाती है, तो किराये में हुए बदलाव को यात्रा की योजना में बताई गई सभी रातों पर लागू किया जाता है.

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

RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange 1..99 DateRange तारीख की वह सीमा जिसमें किराये में बदलाव लागू करने की तारीखें बताई गई हों.
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @start 0..1 Date तारीख की सीमा के साथ-साथ, शुरू होने की तारीख (प्रॉपर्टी के टाइम ज़ोन के आधार पर). यह तारीख, end की तारीख से पहले की होनी चाहिए या उसी तारीख की होनी चाहिए. अगर start की जानकारी नहीं दी गई है, तो तारीख की सीमा के लिए शुरू होने की तारीख की कोई सीमा नहीं होती.
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @end 0..1 Date तारीख की सीमा के साथ-साथ, खत्म होने की तारीख (प्रॉपर्टी के टाइम ज़ोन के आधार पर). यह तारीख, start की तारीख के बराबर या उसके बाद की होनी चाहिए. अगर end की जानकारी नहीं दी जाती है, तो तारीख की सीमा के लिए, खत्म होने की तारीख असीमित होती है.
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @days_of_week 0..1 string

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

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

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

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

RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries 0..1 UserCountries अगर यह जानकारी दी गई है, तो किराये में बदलाव सिर्फ़ तब लागू होगा, जब उपयोगकर्ता उनमें से किसी देश में हो. अगर यह जानकारी नहीं दी जाती है, तो किराये में बदलाव, उपयोगकर्ता की जगह की जानकारी के बावजूद लागू होता है.
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / @type 0..1 enum UserCountries स्पेसिफ़िकेशन का टाइप.

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

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

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

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

RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country 1..300 Country किराये में बदलाव करने के लिए, उपयोगकर्ता के उस देश की जानकारी देता है जहां ऐसा किया जा सकता है.
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country / @code 1 string देश का CLDR कोड, जैसे कि DE या FR. ध्यान दें कि कुछ देशों के लिए, CLDR देश कोड और दो अक्षरों वाला आईएसओ देश कोड एक जैसा नहीं होता. साथ ही, CLDR क्षेत्र कोड भी काम नहीं करते.

उदाहरण

बुनियादी मैसेज

यहां दिए गए उदाहरण में, RateModifications` मैसेज का एक बुनियादी वर्शन दिखाया गया है:

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
 < HotelRateModifications hotel_id>="<Property_1&q>uot;
    I<tineraryRateModification id="1"
      BookingDates
      >   DateRan<ge start="2023-07-01" end="2023>-07-31&<quot; days_of>_week=&<quot;MTWHF"/
         DateR>ange st<art="20>23-09-01&q<uot; end="2023-09-30"/
      /BookingDates
      Bookin>gWindow< min="7&>quot; m<ax="330&>quot;/
   <   CheckinDates
         DateRange start="2023-10-01" e>nd=&quo<t;2023-10-31&q>uot; da<ys_of_w>eek="<;FSU"/
      /Ch>eckinDate<s
      CheckoutDates>
      <   DateRange st<art="2023-10-08" end>="<2023-11-0>7" da<ys_of_week="F>SU"/
<      /CheckoutDat>es
    <  D>evices
       < Device t>ype="<mobile"/
    >    Device< type="tablet>"/<
      /De>vices
 <     L>engthOfStay min=<"2" max=>"14&<quot;/
      RateP>lans
  <       >RatePlan id=&q<uot;234"/
    >     Rate<Plan id="567"/
      /R>atePlan<s
      RoomTypes
  >     <  RoomType id="123&qu>ot;</
         RoomType id=>&<quot;456"/
  >    /RoomTypes
      UserCountries
        Country code="US"/
        Country code="GB"/
      /UserCountries
      ModificationActions
        PriceAdjustment multiplier="1.2"/
      /ModificationActions
    /ItineraryRateModification
  /HotelRateModifications
/RateModifications


किराये में किया गया एक बदलाव मिटाना

यहां दिए गए उदाहरण में, किसी प्रॉपर्टी के लिए किराये में किए गए एक बदलाव को मिटाने का तरीका बताया गया है:

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
 < HotelRateModifications hotel_id="Property_1>&qu<ot;
    ItineraryRateMo>d<ification id=">;1" action="delete"/
  /HotelRateModifications
/RateModifications

किराये में किए गए सभी बदलाव मिटाना

नीचे दिए गए उदाहरण में, किसी प्रॉपर्टी के लिए किराये में किए गए सभी बदलावों को मिटाने का तरीका बताया गया है:

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00"
  HotelRateMod>i<fications hotel_id>=&quot;Property_1" action="overlay"/
/RateModifications


किराये में हुए सभी बदलावों को ओवरले करना

नीचे दिए गए उदाहरण में, प्रॉपर्टी के लिए एक या उससे ज़्यादा नए किराये में बदलाव करके, <HotelRateModifications> को ओवरले करने का तरीका बताया गया है. action="overlay" चुनने पर, मौजूदा मैसेज में बताए गए किराये में किए गए बदलावों को सेव करने से पहले, सेव किए गए सभी बदलाव मिटा दिए जाते हैं:

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00"
  HotelRateMod>ifica<tions hotel_id="Property_1&>quot; a<ction=">overlay&qu<ot;/
    ItineraryRateModification id="1&>quot;
 <     B>ookingDates
  <       DateRange st>art="<;2023-09-01" end="2023->09-30&q<uot;/
      /Booking>Dates
 <     ModificationAc<tions
        Pric>eAdjustmen<t multiplier=">;1.2&qu<ot;/
     > /Modif<icationAc>tions
    <  RoomTypes
      >   RoomTyp<e id="123&quo>t;/
   <      RoomType <id="456"/
      >/Ro<omTypes
      RatePlans>
<         RatePlan >id="234"/
         RatePlan id="567"/
      /RatePlans
    /ItineraryRateModification
  /HotelRateModifications
/RateModifications

कई बदलाव करने की कार्रवाइयां

नीचे दिए गए उदाहरण में, एक साथ कई बदलाव करने का तरीका बताया गया है:

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
 < HotelRateModifications hotel_id>="<Property_1&q>uot;
    I<tineraryRateModification id="1"
    >  Booki<ngDates
     >    Dat<eRange start=">2023-01-0<1" end="2023-02-28">;/
      </BookingDates
      ModificationActions
        PriceAdjustment multiplier=".95"/
        Refundable available=">true&qu<ot;
                >    r<efundable_until_days=">;1&<quot;
                 > <  refundabl>e_until_time="12:00:00"/
      /ModificationActions
    /ItineraryRateModification
  /HotelRateModifications
/RateModifications


उपयोगकर्ताओं के देशों के लिए किराया प्लान बंद करना

यहां दिए गए उदाहरण में, किराये के प्लान को सिर्फ़ जापानी (JP) उपयोगकर्ताओं के लिए सीमित करने का तरीका बताया गया है:

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
 < HotelRateModifications hotel_id>="<Property_>1"
  <  ItineraryRate>Modification i<d="1&>quot;
 <     RatePlans
         Rate>Plan id=&<quot;jp_only">/
     < /RatePlans
  >    Use<rCountries type=&qu>ot;exclud<e"
        Country code=">;JP&quo<t;/
      /UserCount>ries
<      ModificationActions
>   <     Availability statu>s<="unavailable>&quot;/
      /ModificationActions
    /ItineraryRateModification
  /HotelRateModifications
/RateModifications


जवाब

सिंटैक्स

RateModificationsResponse मैसेज में इस सिंटैक्स का इस्तेमाल किया जाता है:

<?xml version="1.0" encodin>g<="UTF-8"?
RateModificationsResponse timestamp="timestamp&quot;
                    id="message_ID"
 >   <                partner="partner_key"
  >!--< Either >Suc<cess o>r Iss<ues will be populated. --
  Success/
  Issu><es
>    Issue code=&q<uot;><issue_>cod<e"> <status="issue_type&qu>ot;varissue_description/var/Issue
  /Issues
/RateModificationsResponse

एलिमेंट और एट्रिब्यूट

RateModificationsResponse मैसेज में ये एलिमेंट और एट्रिब्यूट होते हैं:

एलिमेंट / @एट्रिब्यूट आवृत्तियां टाइप ब्यौरा
RateModifications 1 Complex element रूट एलिमेंट, जो कि मिले रेट में बदलाव करने के अनुरोध मैसेज के लिए, अनुरोध पूरा होने या उससे जुड़ी समस्याओं के बारे में बताता है.
RateModificationsResponse / @timestamp 1 DateTime इस मैसेज को बनाने की तारीख और समय.
RateModificationsResponse / @id 1 string RateModifications मैसेज से मिला यूनीक आइडेंटिफ़ायर.
RateModificationsResponse / @partner 1 string इस मैसेज के लिए पार्टनर खाता.
RateModificationsResponse / Success 0..1 Success इससे पता चलता है कि RateModifications मैसेज को चेतावनियों, गड़बड़ियों या गड़बड़ी के बिना प्रोसेस किया गया था.

हर मैसेज में <Success> या <Issues> मौजूद हो.

RateModificationsResponse / Issues 0..1 Issues RateModifications मैसेज को प्रोसेस करते समय, एक या उससे ज़्यादा समस्याओं के लिए कंटेनर.

हर मैसेज में <Success> या <Issues> मौजूद हो.

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

आपको किस तरह की समस्या आ रही है.

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

उदाहरण

पुष्टि हो गई

यहां, किराये में बदलाव करने के अनुरोध को प्रोसेस करने के बाद मिलने वाला जवाब दिया गया है.

<?xml version="1.0" encodin>g<="UTF-8"?
RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
                    id="12345678"
 >   <        > <       partner=&quo>t;partner_key"
  Success/
/RateModificationsResponse

समस्याएं

यहां उस RateModifications मैसेज का जवाब दिया गया है जिसे गड़बड़ियों की वजह से प्रोसेस नहीं किया गया था.

<?xml version="1.0" encodin>g<="UTF-8"?
RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
                    id="12345678"
 >   <      >     <     partner="partne>r_key"
  <Issues>
  <  Issue <code="1001" stat>us="error"Example/Issue
  /Issues
/RateModificationsResponse