एक्स्ट्रा मेहमान शुल्क

<OTA_HotelRateAmountNotifRQ> तक भेजा गया किराया इतना हो सकता है किराये की मूल जानकारी के अलावा, वयस्कों और बच्चों के हिसाब से बदला गया हो मेहमानों की संख्या. ExtraGuestCharges मैसेज आपको इस बात की जानकारी कि इन अतिरिक्त मेहमानों के लिए, किराये का हिसाब कैसे लगाया जाना चाहिए और कमरे, रेट प्लान, और ठहरने की तारीखों के लिए शुल्क लागू होने चाहिए.

कपैसिटी से जुड़ी ज़रूरी शर्तें

ExtraGuestCharges मैसेज से कैलकुलेट की गई कीमतें सिर्फ़ तब मान्य होती हैं, जब सभी कपैसिटी की ज़रूरी शर्तें पूरी हो गई हैं. लेन-देन (प्रॉपर्टी का डेटा) देखें हमारा वीडियो देखें.

अनुरोध

सिंटैक्स

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

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestCharges partner="partner_account_name"
                   id="message_ID"
                   timestamp="timestamp">
  <HotelExtraGuestCharges hotel_id="HotelID" action="[overlay]">
    <ExtraGuestCharge>
      <RatePlans>
        <RatePlan id="PackageID_1"/>
        <RatePlan id="PackageID_2"/>
      </RatePlans>
      <RoomTypes>
        <RoomType id="RoomID_1"/>
        <RoomType id="RoomID_2"/>
      </RoomTypes>
      <StayDates>
        <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD"
                   days_of_week="MTWHFSU_or_subset"/>
      </StayDates>
      <AgeBrackets>
        <AdultCharge amount="float"/>
        <ChildAgeBrackets>
        <!-- The following are different ways child charges can be specified.
        Use the option that matches your system. -->
          <ChildAgeBracket max_age="integer" amount="float"
                           exclude_from_capacity="[true|false]"/>
          <ChildAgeBracket max_age="integer" percentage="float"
                           exclude_from_capacity="[true|false]"
                           counts_as_base_occupant="[never|preferred|always]"/>
          <ChildAgeBracket max_age="integer" discount_amount="float"
                           exclude_from_capacity="[true|false]"
                           counts_as_base_occupant="[never|preferred|always]"/>
        </ChildAgeBrackets>
      </AgeBrackets>
    </ExtraGuestCharge>
  </HotelExtraGuestCharges>
</ExtraGuestCharges>

एलिमेंट और विशेषताएं

ExtraGuestCharges मैसेज में ये एलिमेंट होते हैं और विशेषताएं:

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

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

ExtraGuestCharges / @id 1 string अनुरोध वाले इस मैसेज के लिए यूनीक आइडेंटिफ़ायर. यह मान लौटाया जाता है डालें. a-z वर्णों की अनुमति है, A-Z, 0-9, _ (अंडरस्कोर), और - (डैश).
ExtraGuestCharges / @timestamp 1 DateTime यह मैसेज बनाए जाने की तारीख और समय.
ExtraGuestCharges / HotelExtraGuestCharges 0..n HotelExtraGuestCharges एक ही प्रॉपर्टी के शुल्क वाला कंटेनर.
ExtraGuestCharges / HotelExtraGuestCharges / @hotel_id 1 string प्रॉपर्टी के लिए यूनीक आइडेंटिफ़ायर. यह मान का इस्तेमाल करके तय किया गया होटल आईडी <listing> एलिमेंट में <id> का इस्तेमाल करें. होटल आईडी को Hotel Center में भी शामिल किया गया है.
ExtraGuestCharges / HotelExtraGuestCharges / @action 0..1 enum इससे पता चलता है कि अपडेट को कैसे लागू किया जाता है. सिर्फ़ overlay है समर्थित है और डिफ़ॉल्ट रूप से ओवरले होता है. इसके लिए पिछला कोई शुल्क अपडेट लागू होने से पहले प्रॉपर्टी को मिटा दिया जाता है.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge 0..99 ExtraGuestCharge

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

हर ExtraGuestCharge में HotelExtraGuestCharges तारीखों के खास सेट पर लागू होना चाहिए और प्रॉडक्ट. अगर दो ExtraGuestCharge एलिमेंट से एक जैसी जानकारी मिलती है तारीख-प्रॉडक्ट के कॉम्बिनेशन के साथ, पूरा मैसेज अस्वीकार कर दिया गया है.

ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets 1 AgeBrackets उम्र समूह का एक कंटेनर, जो उम्र के हिसाब से शुल्कों का हिसाब लगाने के लिए या मेहमान की कैटगरी.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / AdultCharge 0..1 AdultCharge एक अतिरिक्त वयस्क के लिए शुल्क देने वाला कंटेनर.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / AdultCharge / @amount 0..1 float एक धनात्मक दशमलव मान जो फ़्लैट की राशि तय करता है एक अतिरिक्त वयस्क के लिए शुल्क लिया जाता है. इस शुल्क के लिए, उसी मुद्रा का इस्तेमाल किया जाता है जो जो रात के किराये के लिए बताया गया हो.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets 0..1 ChildAgeBrackets बच्चों के लिए अतिरिक्त शुल्क वाला कंटेनर. ये उम्र समूह सिर्फ़ उम्र सीमा 0 से 17 के बीच होनी चाहिए.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket 1..99 ChildAgeBracket यह शुल्क किसी खास उम्र सीमा के बच्चों पर लागू होता है. ये सबसे कम max_age से लेकर सबसे ज़्यादा के क्रम में होना चाहिए max_age. शुल्क की रकम को इसका इस्तेमाल करके तय किया जा सकता है amount, percentage या discount_amount. उन एट्रिब्यूट में से कोई एक ही होना चाहिए हर <ChildAgeBracket> के लिए तय किया गया है.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @max_age 1 integer ज़्यादा से ज़्यादा वह उम्र जिसके लिए शुल्क में बताया गया है <ChildAgeBracket> लागू हो सकती है. कम से कम उम्र शून्य है अगर कोई और <ChildAgeBracket> मौजूद न हो इससे पहले. अगर ऐसा नहीं है, तो यह पिछले ब्रैकेट के साइज़ से एक बड़ा है ज़्यादा से ज़्यादा उम्र.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @exclude_from_capacity 1 boolean यह एक बूलियन है. इससे पता चलता है कि इस उम्र सीमा के बच्चे को कमरे की कुल कपैसिटी और बच्चे की क्षमता को ध्यान में रखा जाता है. ये क्षमताओं को से सेट किया जा सकता है लेन-देन(प्रॉपर्टी का डेटा). उदाहरण के लिए, एक तय सीमा से कम उम्र के शिशु बच्चों के लिए तय की गई सीमा में शामिल होने की ज़रूरत नहीं हो सकती है.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @amount 0..1 float एक गैर-ऋणात्मक दशमलव मान जो बराबर की राशि तय करता है इस ब्रैकेट में शामिल एक अतिरिक्त बच्चे के लिए शुल्क लिया जाता है. यह शुल्क, जो रात के किराये के लिए बताई गई मुद्रा के समान है.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @percentage 0..1 float

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

ज़्यादा जानकारी के लिए, counts_as_base_occupant में हुई चर्चा देखें वयस्क के लिए कीमत का हिसाब लगाने के तरीके के बारे में जानकारी.

ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @discount_amount 0..1 float

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

आम तौर पर, इस ब्रैकेट में शामिल बच्चे के लिए शुल्क का हिसाब इस तरह से लगाया जाता है "इकाई की कीमत" में से तय रकम घटाकर. इकाई की कीमत यह है counts_as_base_occupant में ज़्यादा जानकारी के साथ चर्चा की गई है एट्रिब्यूट सेक्शन में सबमिट करें.

ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @counts_as_base_occupant 0..1 string

अगर percentage या discount_amount विशेषता तय है, तो counts_as_base_occupant को भी निर्दिष्ट किया जाता है. इस वैल्यू से तय होता है कि किसी बच्चे को NumberOfGuest में शामिल की जाएगी. इसके लिए, प्रतिशत लागू करने की <BaseByGuestAmount> दर शुल्क और छूट.

यहां लक्ष्य एक "इकाई की कीमत" पाना है जिससे असल शुल्क का हिसाब लगाया जा सकता है.

unit price = rate / occupancy

इस एट्रिब्यूट की वैल्यू, never में से एक होनी चाहिए, preferred या always.

  • अगर never बताया गया है, तो बच्चे को किराये की बुकिंग में शामिल है.

    अगर आपको दो वयस्कों और दो बच्चों (2+2) के लिए किराये का हिसाब लगाना है, तो आपको 2 वयस्कों के लिए किराया इस्तेमाल करना चाहिए, क्योंकि शामिल नहीं किया जाना चाहिए.

  • अगर preferred बताया गया है, तो बच्चे को यह करना चाहिए किराये की बुकिंग में शामिल किया जाना चाहिए.

    अगर आपको दो वयस्कों और एक बच्चे (2+1) के लिए किराये का हिसाब लगाना है, तो आपको तीन वयस्कों के लिए इस दर का इस्तेमाल करना चाहिए. हालांकि, अगर ऐसा नहीं है, तो खोजें, तो आपको 2 वयस्कों के लिए दर का उपयोग करना चाहिए.

  • अगर always बताया गया है, तो बच्चे को यह करना चाहिए हमेशा किराये की बुकिंग में शामिल रहे.

    अगर आपको दो वयस्कों और दो बच्चों (2+2) के लिए किराये का हिसाब लगाना है, तो आपको चार वयस्कों के लिए किराया तय करना चाहिए, क्योंकि बच्चों को शामिल किए जाने चाहिए.

ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RoomTypes 0..1 RoomTypes अलग-अलग तरह के कमरों की सूची वाला कंटेनर, जिस पर शुल्क लागू होते हैं. शुल्क, हर <RoomType> पर लागू होते हैं बताया गया है. अगर <RoomTypes> तय नहीं किया गया है, तो बताई गई प्रॉपर्टी के सभी कमरों पर शुल्क लागू होंगे.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RoomTypes / RoomType 1..n RoomType इससे पता चलता है कि कमरा किस तरह का है. कमरे के टाइप को इसमें बताया गया है <RoomData> एलिमेंट लेन-देन (प्रॉपर्टी डेटा) मैसेज दिखाया जाता है. <RoomID> वैल्यू. (यह <RoomID> पर है वैल्यू को यहां दिए गए InvTypeCode एट्रिब्यूट में भी शामिल किया गया है OTA_HotelRateAmountNotifRQ मैसेज.)
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RoomTypes / RoomType / @id 1 string इन्वेंट्री के लिए यूनीक आइडेंटिफ़ायर (कमरे का टाइप). यह वैल्यू मैप करती है <RoomID> के लिए, लेन-देन (प्रॉपर्टी का डेटा) वाले मैसेज में. ज़्यादा से ज़्यादा 50 वर्ण डाले जा सकते हैं.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RatePlans 0..1 RatePlans रेट प्लान की सूची के लिए कंटेनर, जिस पर शुल्क लागू होते हैं. अगर <RatePlans> तय नहीं किया गया है, तो शुल्क सभी रेट प्लान पर लागू होता है.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RatePlans / RatePlan 1..n RatePlan यह रेट प्लान बताता है. रेट प्लान को इन चीज़ों से तय किया जाता है: पैकेज, रेट, और उपलब्धता की जानकारी जैसा कि लेन-देन में बताया गया है (प्रॉपर्टी डेटा), OTA_HotelRateAmountNotifRQ, और OTA_HotelAvailNotifRQ सकता है और जैसा कि PackageID से पहचाना जाता है.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RatePlans / RatePlan / @id 1 string रेट प्लान के लिए यूनीक आइडेंटिफ़ायर. यह मान <PackageData> में PackageID की वैल्यू लेन-देन (प्रॉपर्टी डेटा) मैसेज में और इसमें RatePlanCode एट्रिब्यूट दोनों में <StatusApplicationControl> <OTA_HotelRateAmountNotifRQ> और <OTA_HotelAvailNotifRQ> मैसेज. ज़्यादा से ज़्यादा 50 वर्ण डाले जा सकते हैं.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / StayDates 0..1 StayDates एक या उससे ज़्यादा तारीख की सीमाओं के लिए एक कंटेनर, जो तय करता है कि शुल्क लागू होते हैं.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / StayDates / DateRange 1..99 DateRange तारीख की वह सीमा जिसमें प्रमोशन लागू होने की तारीखें होती हैं.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / StayDates / DateRange / @start 0..1 Date प्रॉपर्टी के टाइम ज़ोन के हिसाब से, शुरू होने की तारीख (इसमें ये भी शामिल हैं) तारीख की सीमा चुनें. यह तारीख end तारीख. अगर start तय नहीं है, तो तारीख शुरू होने की तारीख के हिसाब से, रेंज की सीमा लागू नहीं होती.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / StayDates / DateRange / @end 0..1 Date प्रॉपर्टी के टाइम ज़ोन के आधार पर, खत्म होने की तारीख तारीख की सीमा चुनें. यह तारीख, start के जैसा या उसके बाद की होनी चाहिए तारीख. अगर end तय नहीं है, तो तारीख खत्म होने की तारीख के हिसाब से, सीमा असल में अनलिमिटेड होती है.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / StayDates / DateRange / @days_of_week 0..1 string

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

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

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

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

उदाहरण

वयस्क शुल्क

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

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestCharges timestamp="2001-02-03T04:05:06+00:00" id="1">
  <HotelExtraGuestCharges hotel_id="ABC" action="overlay">
    <ExtraGuestCharge>
      <StayDates />
      <AgeBrackets>
        <AdultCharge amount="50" />
      </AgeBrackets>
    </ExtraGuestCharge>
  </HotelExtraGuestCharges>
</ExtraGuestCharges>

यहां बताई गई संबंधित दरें दी गई हैं:

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="ABC">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountAfterTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
            <BaseByGuestAmt AmountAfterTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
            <BaseByGuestAmt AmountAfterTax="120.00"
                            CurrencyCode="USD"
                            NumberOfGuests="3"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

जब कोई उपयोगकर्ता Google पर चार वयस्कों के लिए खोज करता है, तो कुल दर इतनी होगी 170 = 120 + 50.

NumberOfGuests="3" और 50 के साथ <BaseByGuestAmt> की दर पर 120 वैल्यू मिलती है AdultCharge amount="50" से मिलता है.

बच्चों के लिए शुल्क

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

नीचे दिए गए उदाहरण में एक ExtraGuestCharges मैसेज दिखाया गया है, जो यह बताता है कि बच्चे के शुल्क:

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestCharges timestamp="2001-02-03T04:05:06+00:00" id="1">
  <HotelExtraGuestCharges hotel_id="ABC" action="overlay">
    <ExtraGuestCharge>
      <AgeBrackets>
        <ChildAgeBrackets>
          <ChildAgeBracket max_age="3" percentage="10"
                           counts_as_base_occupant="never" />
          <ChildAgeBracket max_age="10" percentage="30"
                           counts_as_base_occupant="preferred"/>
          <ChildAgeBracket max_age="17" discount_amount="10"
                           counts_as_base_occupant="always" />
        </ChildAgeBrackets>
      </AgeBrackets>
    </ExtraGuestCharge>
  </HotelExtraGuestCharges>
</ExtraGuestCharges>

यहां बताई गई संबंधित दरें दी गई हैं:

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="ABC">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountAfterTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
            <BaseByGuestAmt AmountAfterTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
```

  1.  Suppose you want the total price for 2 adults and 1 child of 2 years
      of age.

      Children aged 0-3 are never included in the rate's occupancy,
      so here you should take the double occupancy rate and divide by 2 to
      get the unit price. Then, multiply by the percentage rate and sum
      with the rate to get the total price.

      `unit price ` = 110 / 2 = 55

      `total price` = 110 + 55 * 0.1 = 115.5

  1.  Suppose you want the total price for 1 adult and 2 children, both of 5
      years of age.

      Children aged 4-10 are preferably included in the rate's
      occupancy. you should start by looking for a 3 adult rate since both
      children are preferably included in the rate's occupancy. Since
      that doesn't exist you should fall back to the 2 adult rate and then,
      take this rate and divide by two to get the unit price. Finally,
      multiply by the percentage rate and sum with the scaled rate to
      get the total price.

      `unit price` = 110 / 2 = 55

      `total price` = 55 + 55 * 0.3 + 55 * 0.3 = 88

  1.  Suppose you want the total price for 1 adult and 1 child of 17
      years of age.

      Children aged 11-17 are always included in the rate's occupancy, so,
      in this case, take the double occupancy rate and divide by 2 to get
      the unit price. Then, deduct it by the discount amount and sum with
      the scaled rate to get the total price.

      `unit price` = 110 / 2 = 55

      `total price` = 55 + (55 - 10) = 100

शुल्क से जुड़ी पाबंदियां

सभी तरह की पाबंदियां ज़रूरी नहीं हैं. इन्हें किसी भी तरह से जोड़ा जा सकता है इस्तेमाल किया गया.

नीचे दिए गए उदाहरण में एक ExtraGuestCharges मैसेज दिखाया गया है, जो यह बताता है कि प्रतिबंध:

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestCharges timestamp="2001-02-03T04:05:06+00:00" id="1">
  <HotelExtraGuestCharges hotel_id="ABC" action="overlay">
    <ExtraGuestCharge>
      <RoomTypes>
        <RoomType id="queen" />
        <RoomType id="king" />
      </RoomTypes>
      <RatePlans>
        <RatePlan id="free-wifi" />
        <RatePlan id="hot-breakfast" />
      </RatePlans>
      <StayDates>
        <DateRange start="2020-09-01" end="2020-09-14"/>
      </StayDates>
      <AgeBrackets>
        <AdultCharge amount="50" />
      </AgeBrackets>
    </ExtraGuestCharge>
  </HotelExtraGuestCharges>
</ExtraGuestCharges>

ऊपर दिए गए मैसेज में यह बताया गया है कि किसी भी प्रॉडक्ट के लिए वयस्कों से शुल्क लिया जाना चाहिए जिसमें रूम टाइप "क्वीन" है या "राजा" "मुफ़्त वाई-फ़ाई" के रेट प्लान के साथ या "हॉट-ब्रेकफ़ास्ट" यह तारीख 1 सितंबर, 2020 से 14 सितंबर, 2020 तक की है.

ओवरलैपिंग शुल्क

यह सेक्शन एक अमान्य मैसेज का उदाहरण दिखाता है, जो तारीखों और प्रॉडक्ट के एक जैसे कॉम्बिनेशन के लिए शुल्क देना होगा.


<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestCharges timestamp="2001-02-03T04:05:06+00:00" id="1">
  <HotelExtraGuestCharges hotel_id="ABC" action="overlay">
    <ExtraGuestCharge>
      <RoomTypes>
        <RoomType id="queen" />
      </RoomTypes>
      <RatePlans>
        <RatePlan id="free-wifi" />
      </RatePlans>
      <StayDates>
        <DateRange start="2020-09-01" end="2020-09-14"/>
      </StayDates>
      <AgeBrackets>
        <AdultCharge amount="50" />
      </AgeBrackets>
    </ExtraGuestCharge>
    <ExtraGuestCharge>
      <RoomTypes>
        <RoomType id="queen" />
        <RoomType id="king" />
      </RoomTypes>
      <RatePlans>
        <RatePlan id="free-wifi" />
        <RatePlan id="hot-breakfast" />
      </RatePlans>
      <StayDates>
        <DateRange start="2020-09-01" end="2020-09-05"/>
      </StayDates>
      <AgeBrackets>
        <AdultCharge amount="20" />
      </AgeBrackets>
    </ExtraGuestCharge>
  </HotelExtraGuestCharges>
</ExtraGuestCharges>

ऊपर दिया गया मैसेज अमान्य है, क्योंकि पहले <ExtraGuestCharge> बताता है कि "रानी" और "मुफ़्त वाई-फ़ाई" का इस्तेमाल करें 1 से 14 सितंबर के लिए चार्ज होना चाहिए अतिरिक्त वयस्क 50. दूसरा <ExtraGuestCharge> बताता है कि "क्वीन" या "राजा" "फ़्री-वाई-फ़ाई" में से किसी के साथ भी या "हॉट-ब्रेकफ़ास्ट" 1 से 5 सितंबर के लिए, 20 अतिरिक्त वयस्कों का शुल्क देना होगा. "क्वीन" के लिए ओवरलैप होने वाले शुल्क हैं और "मुफ़्त वाई-फ़ाई" का इस्तेमाल करें 1 सितंबर से 5 और किसी दूसरे वयस्क के लिए 20 या 50 शुल्क लेने में अंतर हो.

जवाब

सिंटैक्स

ExtraGuestChargesResponse मैसेज इनका इस्तेमाल करता है सिंटैक्स:

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestChargesResponse timestamp="timestamp"
                    id="message_ID"
                    partner="partner_key">
  <!-- Either Success or Issues will be populated. -->
  <Success/>
  <Issues>
    <Issue code="issue_code" status="issue_type">issue_description</Issue>
  </Issues>
</ExtraGuestChargesResponse>

एलिमेंट और विशेषताएं

ExtraGuestChargesResponse मैसेज में ये एलिमेंट होते हैं और विशेषताएं:

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

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

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

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

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

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

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

उदाहरण

पुष्टि हो गई

नीचे दिए गए कोड, प्रोसेस हो चुके ExtraGuestCharges मैसेज.

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestChargesResponse timestamp="2020-05-18T16:20:00-04:00"
                    id="12345678"
                    partner="partner_key">
  <Success/>
</ExtraGuestChargesResponse>

समस्याएं

यह ExtraGuestCharges मैसेज का जवाब है, जिसे प्रोसेस नहीं किया गया ऐसा किया जा सकता है.

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestChargesResponse timestamp="2020-05-18T16:20:00-04:00"
                    id="12345678"
                    partner="partner_key">
  <Issues>
    <Issue code="1001" status="error">Example</Issue>
  </Issues>
</ExtraGuestChargesResponse>