खास जानकारी
इस एपीआई की मदद से, शर्तें पूरी होने पर रेट पर कार्रवाइयों को डाइनैमिक तौर पर लागू करने के तरीके तय किए जा सकते हैं. जैसे, कीमत घटाना या बढ़ाना या रिफ़ंड पाने की सुविधा चालू करना. प्रमोशन एपीआई सिर्फ़ ज़रूरी शर्तें पूरी करने वाले प्रमोशन पर ही बेहतरीन छूट वाले प्रमोशन लागू कर सकता है, जबकि यह एपीआई कुछ शर्तें पूरी करने पर ही किसी भी कार्रवाई को लागू करता है. इसमें, कीमत में ऐसे बदलाव भी शामिल हैं जिनकी वजह से कीमत बढ़ सकती है.
अनुरोध
सिंटैक्स
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 | किसी प्रॉपर्टी के लिए सिंगल रेट में बदलाव. ध्यान दें: दर में होने वाले बदलावों को डीबग करना मुश्किल होता है. हमारा सुझाव है कि आप इन्हें कभी-कभी ही इस्तेमाल करें. अपने टेक्निकल अकाउंट मैनेजर (TAM) से संपर्क करके, दरों में 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 | इससे वह समयावधि तय होती है जब बुकिंग, चेक इन करने की तारीख के हिसाब से होनी चाहिए. यह अवधि, प्रॉपर्टी के टाइम ज़ोन के हिसाब से तय होती है. उदाहरण के लिए, चेक-इन से पहले, बुकिंग विंडो को कम से कम 7 दिन लेकिन 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 हो, तो इसका सुझाव दिया जाता है) इससे होटल के स्थानीय समय के हिसाब से, दिन का सबसे नया समय पता चलता है कि पूरे रिफ़ंड के अनुरोध पर कार्रवाई की जाती है. उदाहरण के लिए, इसे
refundable_until_days के साथ जोड़ा जा सकता है, ताकि
यह बताया जा सके कि "रिफ़ंड, चेक-इन करने से दो दिन पहले शाम 4 बजे तक" तक मिलते हैं. अगर 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 मैसेज में बताया गया है. |
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 | UserCountry की खास जानकारी.
मान्य वैल्यू अगर उपयोगकर्ता देश अगर उपयोगकर्ता देश अगर उपयोगकर्ता देश |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country | 1..300 | Country | इससे, किराये में बदलाव करने की अनुमति वाले देश की जानकारी मिलती है. |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country / @code | 1 | string | CLDR देश का कोड, जैसे कि DE या FR . ध्यान दें कि कुछ देशों के लिए,
CLDR देश का कोड और दो अक्षरों वाले ISO
देश के कोड को एक जैसा नहीं होता. साथ ही, 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 | वह मुख्य एलिमेंट जिससे रेट में बदलाव के अनुरोध वाले मैसेज की सफलता या उससे जुड़ी समस्याओं की जानकारी मिलती है. |
RateModificationsResponse / @timestamp | 1 | DateTime | इस मैसेज को बनाने की तारीख और समय. |
RateModificationsResponse / @id | 1 | string | रेट में बदलाव करने से जुड़े मैसेज से मिला यूनीक आइडेंटिफ़ायर. |
RateModificationsResponse / @partner | 1 | string | इस मैसेज के लिए पार्टनर खाता. |
RateModificationsResponse / Success | 0..1 | Success | इससे पता चलता है कि रेट में बदलाव करने की जानकारी देने वाला मैसेज, बिना किसी चेतावनी, गड़बड़ी या गड़बड़ी के प्रोसेस किया गया था.
हर मैसेज में |
RateModificationsResponse / Issues | 0..1 | Issues | दर में बदलाव की जानकारी वाले मैसेज को प्रोसेस करते समय, एक या एक से ज़्यादा समस्याओं वाला कंटेनर.
हर मैसेज में |
RateModificationsResponse / Issues / Issue | 1..n | Issue | दर में बदलाव करने की जानकारी वाले मैसेज को प्रोसेस करते समय, किसी चेतावनी, गड़बड़ी या गड़बड़ी का ब्यौरा मिलता है. इन समस्याओं की जानकारी, फ़ीड के स्टेटस से जुड़ी गड़बड़ी का मैसेज में देखी जा सकती है. |
RateModificationsResponse / Issues / Issue / @code | 1 | integer | समस्या के लिए आइडेंटिफ़ायर. |
RateModificationsResponse / Issues / Issue / @status | 1 | enum | किस तरह की समस्या हुई है. मान्य वैल्यू हैं |
उदाहरण
पुष्टि हो गई
नीचे, स्वीकार किए गए दर बदलाव के मैसेज का जवाब दिया गया है.
<?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>