खास जानकारी
इस एपीआई की मदद से, ऐसे तरीके बताए जा सकते हैं जिनसे दर पर डाइनैमिक तौर पर कार्रवाइयां लागू की जा सकें. ऐसा तब किया जा सकता है, जब शर्तें पूरी हों. उदाहरण के लिए, कीमत में बदलाव करना या रिफ़ंड पाने की सुविधा चालू करना. प्रमोशन एपीआई के उलट, जो ज़रूरी शर्तें पूरी करने वाले उन प्रमोशन को ही लागू करता है जिन पर सबसे ज़्यादा छूट मिलती है. यह एपीआई, ज़रूरी शर्तें पूरी करने पर सभी कार्रवाइयां करता है. इनमें, ऐसी कीमतें भी शामिल हैं जिनकी वजह से कीमत में बदलाव हो सकता है.
अनुरोध
सिंटैक्स
RateModifications
मैसेज इस सिंटैक्स का इस्तेमाल करता है:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="partner_key"
id="message_ID"
timestamp="timestamp">
<HotelRateModifications hotel_id="HotelID" action="[overlay]">
<ItineraryRateModification id="ModificationID" action="[delete]">
<BookingDates>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
</BookingDates>
<BookingWindow min="integer" max="integer"/>
<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>
<Devices>
<Device type="[desktop|tablet|mobile]"/>
</Devices>
<LengthOfStay min="integer" max="integer"/>
<MinimumAmount before_discount="integer"/>
<RatePlans>
<RatePlan id="PackageID_1"/>
<RatePlan id="PackageID_2"/>
</RatePlans>
<RoomTypes>
<RoomType id="RoomID_1"/>
<RoomType id="RoomID_2"/>
</RoomTypes>
<StayDates application="[all|any]">
<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>
<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 में
खाता सेटिंग पेज पर लिस्ट किया गया है.
ध्यान दें: अगर आपके पास ऐसा बैकएंड है जो कई खातों के लिए फ़ीड उपलब्ध कराता है, तो इस वैल्यू को आपके |
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 | अगर |
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 | अगर इसके बारे में तय नहीं किया जाता है और उसी
अगर बताया गया है, तो वैल्यू |
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" से पता चलता है कि तारीख की सीमा में, सोमवार से शुक्रवार तक भी इसका इस्तेमाल किया जा सकता है. मान्य वर्ण हैं:
वर्णों का कोई भी कॉम्बिनेशन मान्य होता है. |
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" से पता चलता है कि तारीख की सीमा में, सोमवार से शुक्रवार तक भी इसका इस्तेमाल किया जा सकता है. मान्य वर्ण हैं:
वर्णों का कोई भी कॉम्बिनेशन मान्य होता है. |
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" से पता चलता है कि तारीख की सीमा में, सोमवार से शुक्रवार तक भी इसका इस्तेमाल किया जा सकता है. मान्य वर्ण हैं:
वर्णों का कोई भी कॉम्बिनेशन मान्य होता है. |
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 | यह आईडी, दर के बारे में जानकारी देने वाली आपकी
किराये के नियम की परिभाषा वाली फ़ाइल में दी गई दर से मेल खाता है.
ध्यान दें:
|
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable | 0..1 | Refundable | किराये के रिफ़ंड की संभावना को, तय की गई वैल्यू पर ओवरराइट कर दिया जाता है.
एट्रिब्यूट सेट करते समय, इन बातों का ध्यान रखें:
|
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 बजे तक ही उपलब्ध
हैं", 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 | इससे यह पता चलता है कि दर में बदलाव किस तरह लागू किया जाना चाहिए. मान्य मान हैं:
इस एट्रिब्यूट की वैल्यू हमेशा बताना ज़रूरी है. |
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" से पता चलता है कि तारीख की सीमा में, सोमवार से शुक्रवार तक भी इसका इस्तेमाल किया जा सकता है. मान्य वर्ण हैं:
वर्णों का कोई भी कॉम्बिनेशन मान्य होता है. |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries | 0..1 | UserCountries | अगर बताया गया है, तो रेट में बदलाव सिर्फ़ तब लागू होता है, जब उपयोगकर्ता किसी तय किए गए देश में रहता हो. अगर इसके बारे में नहीं बताया गया है, तो दर में बदलाव लागू होता है. भले ही, उपयोगकर्ता किसी भी जगह रहता हो. |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / @type | 0..1 | enum | उपयोगकर्ता देश के स्पेसिफ़िकेशन का टाइप.
मान्य वैल्यू अगर उपयोगकर्ता के देश अगर उपयोगकर्ता के देश का नाम अगर उपयोगकर्ता देश |
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" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1">
<ItineraryRateModification id="1">
<BookingDates>
<DateRange start="2023-07-01" end="2023-07-31" days_of_week="MTWHF"/>
<DateRange start="2023-09-01" end="2023-09-30"/>
</BookingDates>
<BookingWindow min="7" max="330"/>
<CheckinDates>
<DateRange start="2023-10-01" end="2023-10-31" days_of_week="FSU"/>
</CheckinDates>
<CheckoutDates>
<DateRange start="2023-10-08" end="2023-11-07" days_of_week="FSU"/>
</CheckoutDates>
<Devices>
<Device type="mobile"/>
<Device type="tablet"/>
</Devices>
<LengthOfStay min="2" max="14"/>
<RatePlans>
<RatePlan id="234"/>
<RatePlan id="567"/>
</RatePlans>
<RoomTypes>
<RoomType id="123"/>
<RoomType id="456"/>
</RoomTypes>
<UserCountries>
<Country code="US"/>
<Country code="GB"/>
</UserCountries>
<ModificationActions>
<PriceAdjustment multiplier="1.2"/>
</ModificationActions>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
किराये में किए गए एक बदलाव को मिटाएं
इस उदाहरण में, किसी प्रॉपर्टी के लिए दर में किए गए एक बदलाव को मिटाने का तरीका बताया गया है:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1">
<ItineraryRateModification id="1" action="delete"/>
</HotelRateModifications>
</RateModifications>
किराये में किए गए सभी बदलावों को मिटाएं
इस उदाहरण में, किसी प्रॉपर्टी के रेट में किए गए सभी बदलावों को मिटाने का तरीका बताया गया है:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1" action="overlay"/>
</RateModifications>
किराये में किए गए सभी बदलावों को ओवरले करें
इस उदाहरण में बताया गया है कि दर में एक या एक से ज़्यादा नए बदलावों के साथ, प्रॉपर्टी के लिए <HotelRateModifications>
को कैसे ओवरले करें. action="overlay"
होने पर, मौजूदा मैसेज में बताए गए किराये में बदलाव करने से पहले, किराये में किए गए सभी बदलाव मिटा दिए जाते हैं:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1" action="overlay"/>
<ItineraryRateModification id="1">
<BookingDates>
<DateRange start="2023-09-01" end="2023-09-30"/>
</BookingDates>
<ModificationActions>
<PriceAdjustment multiplier="1.2"/>
</ModificationActions>
<RoomTypes>
<RoomType id="123"/>
<RoomType id="456"/>
</RoomTypes>
<RatePlans>
<RatePlan id="234"/>
<RatePlan id="567"/>
</RatePlans>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
बदलाव करने के लिए कई कार्रवाइयां
नीचे दिए गए उदाहरण में, एक ही बार में बदलाव करने से जुड़ी कई कार्रवाइयां करने का तरीका बताया गया है:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1">
<ItineraryRateModification id="1">
<BookingDates>
<DateRange start="2023-01-01" end="2023-02-28"/>
</BookingDates>
<ModificationActions>
<PriceAdjustment multiplier=".95"/>
<Refundable available="true"
refundable_until_days="1"
refundable_until_time="12:00:00"/>
</ModificationActions>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
उपयोगकर्ता के देश के लिए रेट प्लान बंद करें
यहां दिए गए उदाहरण में, रेट प्लान को सिर्फ़ जैपनीज़ (JP
) उपयोगकर्ताओं के लिए सीमित करने का तरीका बताया गया है:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1">
<ItineraryRateModification id="1">
<RatePlans>
<RatePlan id="jp_only"/>
</RatePlans>
<UserCountries type="exclude">
<Country code="JP"/>
</UserCountries>
<ModificationActions>
<Availability status="unavailable"/>
</ModificationActions>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
जवाब
सिंटैक्स
RateModificationsResponse
मैसेज इस सिंटैक्स का इस्तेमाल करता है:
<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="timestamp"
id="message_ID"
partner="partner_key">
<!-- Either Success or Issues will be populated. -->
<Success/>
<Issues>
<Issue code="issue_code" status="issue_type"><var>issue_description</var></Issue>
</Issues>
</RateModificationsResponse>
एलिमेंट और एट्रिब्यूट
RateModificationsResponse
मैसेज में ये एलिमेंट और एट्रिब्यूट होते हैं:
एलिमेंट / @एट्रिब्यूट | दोहराए जाने की संख्या | टाइप | कंपनी का ब्यौरा |
---|---|---|---|
RateModifications | 1 | Complex element | वह रूट एलिमेंट जिससे यह पता चलता है कि RateChanges अनुरोध वाले मैसेज में सफलता या समस्याओं की वजह से ऐसा हुआ है. |
RateModificationsResponse / @timestamp | 1 | DateTime | यह मैसेज बनाए जाने की तारीख और समय. |
RateModificationsResponse / @id | 1 | string | इससे जुड़े RateRevs मैसेज से मिलने वाला यूनीक आइडेंटिफ़ायर. |
RateModificationsResponse / @partner | 1 | string | इस मैसेज को भेजने के लिए पार्टनर का खाता. |
RateModificationsResponse / Success | 0..1 | Success | इससे पता चलता है कि RateReferences मैसेज को किसी चेतावनी, गड़बड़ी या गड़बड़ी के बिना प्रोसेस किया गया है.
हर मैसेज में |
RateModificationsResponse / Issues | 0..1 | Issues | एक या एक से ज़्यादा समस्याओं का कंटेनर,
जिसमें रेट में बदलाव वाले मैसेज को प्रोसेस करते समय शामिल किया गया है.
हर मैसेज में |
RateModificationsResponse / Issues / Issue | 1..n | Issue | दर में बदलाव करने से जुड़े मैसेज को प्रोसेस करते समय मिली किसी चेतावनी, गड़बड़ी या गड़बड़ी के बारे में जानकारी. इन समस्याओं की जानकारी, फ़ीड की स्थिति से जुड़े गड़बड़ी के मैसेज में देखी जा सकती है. |
RateModificationsResponse / Issues / Issue / @code | 1 | integer | समस्या का आइडेंटिफ़ायर. |
RateModificationsResponse / Issues / Issue / @status | 1 | enum | किस तरह की समस्या का सामना करना पड़ा. मान्य वैल्यू |
उदाहरण
पुष्टि हो गई
यह विकल्प, सही तरीके से प्रोसेस किए गए RateConfirms मैसेज का जवाब है.
<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</RateModificationsResponse>
समस्याएंं
नीचे दिए गए यूआरएल में, एक जाएं. इस मैसेज को गड़बड़ियों की वजह से प्रोसेस नहीं किया गया है.
<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Issues>
<Issue code="1001" status="error">Example</Issue>
</Issues>
</RateModificationsResponse>