अनुरोध
सिंटैक्स
TaxFeeInfo मैसेज में इस सिंटैक्स का इस्तेमाल किया जाता है:
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="timestamp"
id="message_ID"
partner="partner_key">
<Property action="[overlay]">
<ID>HotelID</ID>
<Taxes>
<Tax>
<RoomTypes>
<RoomType id="RoomID_1"/>
<RoomType id="RoomID_2"/>
</RoomTypes>
<RatePlans>
<RatePlan id="PackageID_1"/>
<RatePlan id="PackageID_2"/>
</RatePlans>
<BookingDates>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
</BookingDates>
<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>
<StayDates application="[all|any|overlap]">
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
</StayDates>
<Type>[percent|amount|cumulative_percent]</Type>
<Basis>[room|person]</Basis>
<Period>[stay|night]</Period>
<Currency>currency_code</Currency>
<Amount>tax_amount</Amount>
<ApplicableNights max="integer" excluded="integer"/>
<LengthOfStay min="integer" max="integer"/>
<!-- Use either <Amount> or <Brackets> -->
<Brackets base_amount="tax_amount"/>
<Bracket starts_at="nightly_rate" amount="tax_amount"/>
</Brackets>
<AgeBrackets>
<AdultCharge amount="tax_amount"/>
<ChildAgeBrackets>
<ChildAgeBracket max_age="max_age" amount="tax_amount"/>
</ChildAgeBrackets>
</AgeBrackets>
<UserCountries type="[include|exclude]">
<Country code="country_code1"/>
<Country code="country_code2"/>
</UserCountries>
<!--"exclusive" parameter is optional -->
<Rank exclusive="[true|false]">integer</Rank>
</Tax>
</Taxes>
<Fees>
<Fee>
<RoomTypes>
<RoomType id="RoomID_1"/>
<RoomType id="RoomID_2"/>
</RoomTypes>
<RatePlans>
<RatePlan id="PackageID_1"/>
<RatePlan id="PackageID_2"/>
</RatePlans>
<BookingDates>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
</BookingDates>
<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>
<StayDates application="[all|any|overlap]">
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
</StayDates>
<Type>[percent|amount|cumulative_percent]</Type>
<Basis>[room|person]</Basis>
<Period>[stay|night]</Period>
<Currency>currency_code</Currency>
<Amount>fee_amount</Amount>
<ApplicableNights max="integer" excluded="integer"/>
<LengthOfStay min="integer" max="integer"/>
<!-- Use either <Amount> or <Brackets> -->
<Brackets base_amount="tax_amount"/>
<Bracket starts_at="nightly_rate" amount="tax_amount"/>
</Brackets>
<AgeBrackets>
<AdultCharge amount="tax_amount"/>
<ChildAgeBrackets>
<ChildAgeBracket max_age="max_age" amount="tax_amount"/>
</ChildAgeBrackets>
</AgeBrackets>
<UserCountries type="[include|exclude]">
<Country code="country_code1"/>
<Country code="country_code2"/>
</UserCountries>
<!--"exclusive" parameter is optional -->
<Rank exclusive="[true|false]">integer</Rank>
</Fee>
</Fees>
</Property>
</TaxFeeInfo>
एलिमेंट और एट्रिब्यूट
TaxFeeInfo मैसेज में ये एलिमेंट और एट्रिब्यूट शामिल होते हैं:
| Element / @Attribute | आवृत्तियां | टाइप | ब्यौरा |
|---|---|---|---|
| TaxFeeInfo | 1 | Complex element | यह मैसेज का रूट एलिमेंट है. यह किसी एक प्रॉपर्टी के लिए टैक्स और शुल्क तय करता है. |
| TaxFeeInfo / @timestamp | 1 | DateTime | इस मैसेज को बनाने की तारीख और समय. |
| TaxFeeInfo / @id | 1 | string | इस अनुरोध मैसेज के लिए यूनीक आइडेंटिफ़ायर. यह वैल्यू, जवाब वाले मैसेज में दिखती है. इन वर्णों का इस्तेमाल किया जा सकता है: a-z, A-Z, 0-9, _ (अंडरस्कोर), और - (डैश). |
| TaxFeeInfo / @partner | 1 | string | यह मैसेज किस पार्टनर खाते के लिए है. यह स्ट्रिंग वैल्यू, Hotel Center के
खाते की सेटिंग वाले पेज पर मौजूद "पार्टनर की" वैल्यू होती है.
ध्यान दें: अगर आपके पास ऐसा बैकएंड है जो कई खातों के लिए फ़ीड उपलब्ध कराता है, तो इस वैल्यू को उसी खाते के लिए |
| TaxFeeInfo / Property | 1..n | Property | किसी एक प्रॉपर्टी के लिए टैक्स और शुल्क तय करने वाला कंटेनर. |
| TaxFeeInfo / Property / @action | 0..1 | string | इससे पता चलता है कि अपडेट को कैसे लागू किया जाता है. सिर्फ़ overlay का इस्तेमाल किया जा सकता है. इसकी डिफ़ॉल्ट वैल्यू overlay होती है. इस अपडेट को लागू करने से पहले, इस प्रॉपर्टी के लिए मौजूद सभी Taxes और Fees मिटा दिए जाएंगे. |
| TaxFeeInfo / Property / ID | 1 | string | प्रॉपर्टी के लिए यूनीक आइडेंटिफ़ायर. यह वैल्यू, होटल सूची फ़ीड में <id> एट्रिब्यूट का इस्तेमाल करके दिए गए होटल आईडी से मेल खानी चाहिए. यह आईडी, <listing> एलिमेंट में मौजूद होता है. होटल आईडी, Hotel Center में भी दिखता है. |
| TaxFeeInfo / Property / Taxes | 0..1 | Taxes | एक या उससे ज़्यादा <Tax> एलिमेंट के लिए कंटेनर. |
| TaxFeeInfo / Property / Taxes / Tax | 1..n | Tax | प्रॉपर्टी पर लागू होने वाला व्यक्तिगत टैक्स. |
| TaxFeeInfo / Property / Taxes / Tax / RoomTypes | 0..1 | RoomTypes | कमरे के टाइप की सूची के लिए कंटेनर, जिस पर टैक्स लागू होता है.
टैक्स, बताई गई हर <RoomType> पर लागू होता है. अगर <RoomTypes> एट्रिब्यूट की वैल्यू नहीं दी गई है, तो टैक्स सभी कमरों पर लागू होगा. |
| TaxFeeInfo / Property / Taxes / Tax / RoomTypes / RoomType | 1..n | RoomType | इससे कमरे का टाइप पता चलता है. कमरे के टाइप को Transaction (Property Data) मैसेज में मौजूद <RoomData> एलिमेंट में तय किया जाता है. साथ ही, इसे RoomID का इस्तेमाल करके पहचाना जाता है. (इसकी <RoomID> वैल्यू का रेफ़रंस, OTA_HotelRateAmountNotifRQ मैसेज में मौजूद InvTypeCode एट्रिब्यूट से भी मिलता है.) |
| TaxFeeInfo / Property / Taxes / Tax / RoomTypes / RoomType / @id | 1 | string | इन्वेंट्री (कमरे का टाइप) के लिए यूनीक आइडेंटिफ़ायर. यह वैल्यू, लेन-देन (प्रॉपर्टी का डेटा) मैसेज में <RoomID> पर मैप करती है. ज़्यादा से ज़्यादा 50 वर्ण इस्तेमाल किए जा सकते हैं. |
| TaxFeeInfo / Property / Taxes / Tax / RatePlans | 0..1 | RatePlans | टैक्स लागू होने वाले रेट प्लान की सूची के लिए कंटेनर.
अगर <RatePlans> एट्रिब्यूट की वैल्यू नहीं दी गई है, तो टैक्स सभी रेट प्लान पर लागू होगा. |
| TaxFeeInfo / Property / Taxes / Tax / RatePlans / RatePlan | 1..n | RatePlan | इससे किसी रेट प्लान के बारे में पता चलता है. किराया प्लान, पैकेज, किराये, और उपलब्धता के कॉम्बिनेशन से तय होता है. यह जानकारी, लेन-देन (प्रॉपर्टी का डेटा), OTA_HotelRateAmountNotifRQ, और OTA_HotelAvailNotifRQ मैसेज में दी जाती है. साथ ही, इसे PackageID से पहचाना जाता है. |
| TaxFeeInfo / Property / Taxes / Tax / RatePlans / RatePlan / @id | 1 | string | किराया प्लान के लिए यूनीक आइडेंटिफ़ायर. यह वैल्यू, लेन-देन (प्रॉपर्टी का डेटा) मैसेज के <PackageData> में मौजूद PackageID वैल्यू और RatePlanCode वैल्यू पर मैप करती है. यह वैल्यू, <OTA_HotelRateAmountNotifRQ> और <OTA_HotelAvailNotifRQ>, दोनों मैसेज में <StatusApplicationControl> एट्रिब्यूट के तहत सेट की जाती है.
ज़्यादा से ज़्यादा 50 वर्ण इस्तेमाल किए जा सकते हैं. |
| TaxFeeInfo / Property / Taxes / Tax / BookingDates | 0..1 | BookingDates | यह एक या उससे ज़्यादा तारीख की सीमाओं वाला कंटेनर होता है. इससे यह तय होता है कि टैक्स कब लागू होगा. |
| TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange | 1..99 | DateRange | तारीख की वह सीमा जिसके दौरान बुकिंग होने पर टैक्स लागू होगा. |
| TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange / @start | 0..1 | Date | तारीख की सीमा की शुरुआत की तारीख. यह तारीख, प्रॉपर्टी के टाइम ज़ोन के हिसाब से तय होती है. यह तारीख, end तारीख से पहले की या उसके बराबर होनी चाहिए. अगर start तय नहीं किया जाता है, तो तारीख की सीमा, शुरू होने की तारीख के हिसाब से हमेशा के लिए सेट हो जाती है. |
| TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange / @end | 0..1 | Date | तारीख की सीमा खत्म होने की तारीख. यह तारीख, प्रॉपर्टी के टाइम ज़ोन के हिसाब से तय होती है. यह तारीख, start तारीख के बराबर या उसके बाद की होनी चाहिए. अगर end की जानकारी नहीं दी जाती है, तो तारीख की सीमा के खत्म होने की तारीख तय नहीं होती. |
| TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange / @days_of_week | 0..1 | string | तारीख की सीमा में शामिल किए जा सकने वाले हफ़्ते के दिन. अगर जानकारी नहीं दी जाती है, तो तारीख की सीमा में सभी दिनों को अनुमति दी जाती है. स्ट्रिंग में मौजूद हर वर्ण, एक दिन के बारे में बताता है. उदाहरण के लिए, "MTWHF" से पता चलता है कि तारीख की सीमा में हफ़्ते के दिनों को अनुमति है. मान्य वर्ण ये हैं:
वर्णों का कोई भी कॉम्बिनेशन मान्य होता है. |
| TaxFeeInfo / Property / Taxes / Tax / CheckinDates | 0..1 | CheckinDates | यह एक या उससे ज़्यादा तारीख की सीमाओं वाला कंटेनर होता है. इससे यह तय होता है कि टैक्स कब लागू होगा. |
| TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange | 1..20 | DateRange | तारीख की वह सीमा जिसके अंदर चेक-इन करने पर टैक्स लागू होगा. |
| TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange / @start | 0..1 | Date | तारीख की सीमा की शुरुआत की तारीख. यह तारीख, प्रॉपर्टी के टाइम ज़ोन के हिसाब से तय होती है. यह तारीख, end तारीख से पहले की या उसके बराबर होनी चाहिए. अगर start तय नहीं किया जाता है, तो तारीख की सीमा, शुरू होने की तारीख के हिसाब से हमेशा के लिए सेट हो जाती है. |
| TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange / @end | 0..1 | Date | तारीख की सीमा खत्म होने की तारीख. यह तारीख, प्रॉपर्टी के टाइम ज़ोन के हिसाब से तय होती है. यह तारीख, start तारीख के बराबर या उसके बाद की होनी चाहिए. अगर end की जानकारी नहीं दी जाती है, तो तारीख की सीमा के खत्म होने की तारीख तय नहीं होती. |
| TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange / @days_of_week | 0..1 | string | तारीख की सीमा में शामिल किए जा सकने वाले हफ़्ते के दिन. अगर जानकारी नहीं दी जाती है, तो तारीख की सीमा में सभी दिनों को अनुमति दी जाती है. स्ट्रिंग में मौजूद हर वर्ण, एक दिन के बारे में बताता है. उदाहरण के लिए, "MTWHF" से पता चलता है कि तारीख की सीमा में हफ़्ते के दिनों को अनुमति है. मान्य वर्ण ये हैं:
वर्णों का कोई भी कॉम्बिनेशन मान्य होता है. |
| TaxFeeInfo / Property / Taxes / Tax / CheckoutDates | 0..1 | CheckoutDates | यह एक या उससे ज़्यादा तारीख की सीमाओं वाला कंटेनर होता है. इससे यह तय होता है कि टैक्स कब लागू होगा. |
| TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange | 1..20 | DateRange | तारीख की वह सीमा जिसके अंदर चेक-आउट करने पर टैक्स लागू होगा. |
| TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange / @start | 0..1 | Date | तारीख की सीमा की शुरुआत की तारीख. यह तारीख, प्रॉपर्टी के टाइम ज़ोन के हिसाब से तय होती है. यह तारीख, end तारीख से पहले की या उसके बराबर होनी चाहिए. अगर start तय नहीं किया जाता है, तो तारीख की सीमा, शुरू होने की तारीख के हिसाब से हमेशा के लिए सेट हो जाती है. |
| TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange / @end | 0..1 | Date | तारीख की सीमा खत्म होने की तारीख. यह तारीख, प्रॉपर्टी के टाइम ज़ोन के हिसाब से तय होती है. यह तारीख, start तारीख के बराबर या उसके बाद की होनी चाहिए. अगर end की जानकारी नहीं दी जाती है, तो तारीख की सीमा के खत्म होने की तारीख तय नहीं होती. |
| TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange / @days_of_week | 0..1 | string | तारीख की सीमा में शामिल किए जा सकने वाले हफ़्ते के दिन. अगर जानकारी नहीं दी जाती है, तो तारीख की सीमा में सभी दिनों को अनुमति दी जाती है. स्ट्रिंग में मौजूद हर वर्ण, एक दिन के बारे में बताता है. उदाहरण के लिए, "MTWHF" से पता चलता है कि तारीख की सीमा में हफ़्ते के दिनों को अनुमति है. मान्य वर्ण ये हैं:
वर्णों का कोई भी कॉम्बिनेशन मान्य होता है. |
| TaxFeeInfo / Property / Taxes / Tax / StayDates | 0..1 | StayDates | यह एक या उससे ज़्यादा तारीख की सीमाओं वाला कंटेनर होता है. इससे यह तय होता है कि टैक्स लागू होगा या नहीं. जैसे, सीज़नल छूट को शामिल करने के लिए. |
| TaxFeeInfo / Property / Taxes / Tax / StayDates / @application | 1 | enum | यह बताता है कि टैक्स कैसे लागू किया जाना चाहिए. मान्य मान हैं:
इस एट्रिब्यूट की वैल्यू हमेशा दी जानी चाहिए. |
| TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange | 1..99 | DateRange | तारीख की वह सीमा जिसमें टैक्स लागू होना है. |
| TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @start | 0..1 | Date | तारीख की सीमा की शुरुआत की तारीख. यह तारीख, प्रॉपर्टी के टाइम ज़ोन के हिसाब से तय होती है. यह तारीख, end तारीख से पहले की या उसके बराबर होनी चाहिए. अगर start तय नहीं किया जाता है, तो तारीख की सीमा, शुरू होने की तारीख के हिसाब से हमेशा के लिए सेट हो जाती है. |
| TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @end | 0..1 | Date | तारीख की सीमा खत्म होने की तारीख. यह तारीख, प्रॉपर्टी के टाइम ज़ोन के हिसाब से तय होती है. यह तारीख, start तारीख के बराबर या उसके बाद की होनी चाहिए. अगर end की जानकारी नहीं दी जाती है, तो तारीख की सीमा के खत्म होने की तारीख तय नहीं होती. |
| TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @days_of_week | 0..1 | string | तारीख की सीमा में शामिल किए जा सकने वाले हफ़्ते के दिन. अगर जानकारी नहीं दी जाती है, तो तारीख की सीमा में सभी दिनों को अनुमति दी जाती है. स्ट्रिंग में मौजूद हर वर्ण, एक दिन के बारे में बताता है. उदाहरण के लिए, "MTWHF" से पता चलता है कि तारीख की सीमा में हफ़्ते के दिनों को अनुमति है. मान्य वर्ण ये हैं:
वर्णों का कोई भी कॉम्बिनेशन मान्य होता है. |
| TaxFeeInfo / Property / Taxes / Tax / Type | 1 | enum | मान्य मान हैं:
|
| TaxFeeInfo / Property / Taxes / Tax / Basis | 1 | enum | मान्य मान हैं:
|
| TaxFeeInfo / Property / Taxes / Tax / Period | 1 | enum |
मान्य मान हैं:
|
| TaxFeeInfo / Property / Taxes / Tax / Currency | 0..1 | string | टैक्स के लिए तीन अक्षरों वाला करंसी कोड (उदाहरण के लिए: USD).
ध्यान दें: अगर |
| TaxFeeInfo / Property / Taxes / Tax / Amount | 0..1 | float | टैक्स की दर या टैक्स की रकम. |
| TaxFeeInfo / Property / Taxes / Tax / ApplicableNights | 0..1 | ApplicableNights | यह वैल्यू सिर्फ़ तब लागू होती है, जब <Type> को amount पर और <Period> को night पर सेट किया गया हो.
इससे उन रातों की संख्या सीमित हो जाती है जिनके लिए टैक्स लागू किया जा सकता है.
|
| TaxFeeInfo / Property / Taxes / Tax / ApplicableNights / @max | 0..1 | integer | <ApplicableNights max="N"> से पता चलता है कि पहली N रातों के बाद की रातों को शामिल नहीं किया जाना चाहिए. |
| TaxFeeInfo / Property / Taxes / Tax / ApplicableNights / @excluded | 0..1 | integer | <ApplicableNights excluded="N"> से पता चलता है कि पहली N रातों को शामिल नहीं किया जाना चाहिए. |
| TaxFeeInfo / Property / Taxes / Tax / LengthOfStay | 0..1 | LengthOfStay | इससे यह तय होता है कि किसी जगह पर कितने दिन तक रुकने पर यह टैक्स लागू होगा. अगर ठहरने की अवधि, कम से कम और ज़्यादा से ज़्यादा अवधि की सीमा से बाहर है, तो टैक्स नहीं लगाया जाता. |
| TaxFeeInfo / Property / Taxes / Tax / LengthOfStay / @min | 0..1 | integer | टैक्स लागू करने के लिए, कम से कम कितनी रातें ठहरना ज़रूरी है. अगर इसके बारे में जानकारी नहीं दी गई है, तो कोई भी कम से कम वैल्यू नहीं होती. |
| TaxFeeInfo / Property / Taxes / Tax / LengthOfStay / @max | 0..1 | integer | टैक्स लागू करने के लिए, होटल में ज़्यादा से ज़्यादा कितनी रातें ठहरने की अनुमति है. अगर इसके बारे में जानकारी नहीं दी गई है, तो कोई सीमा नहीं होती. |
| TaxFeeInfo / Property / Taxes / Tax / Brackets | 0..1 | Brackets | एक या उससे ज़्यादा <Bracket> एलिमेंट के लिए कंटेनर.
यह लगातार और एक-दूसरे से न जुड़ने वाले टैक्स ब्रैकेट का सेट तय करता है. उदाहरण के लिए: भारत में जीएसटी के स्लैब के हिसाब से लगने वाले टैक्स.
यह एलिमेंट सिर्फ़ तब मान्य होता है, जब |
| TaxFeeInfo / Property / Taxes / Tax / Brackets / @base_amount | 0..1 | float | टैक्स की दर या टैक्स की रकम. यह टैक्स, पहली ब्रैकेट की starts_at वैल्यू से कम रात के किराये पर लागू होता है. |
| TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket | 1..n | Bracket | रात के हिसाब से तय किए गए किराये के आधार पर, टैक्स ब्रैकेट तय करता है. |
| TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket / @starts_at | 1 | float | इससे टैक्स ब्रैकेट की निचली सीमा के बारे में पता चलता है. ऊपरी सीमा, इसके बाद वाले ब्रैकेट के टैक्स ब्रैकेट तब लागू होता है, जब रात के हिसाब से किराया, ब्रैकेट की यह वैल्यू, 0 से ज़्यादा होनी चाहिए. |
| TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket / @amount | 1 | float | इस टैक्स ब्रैकेट पर लागू होने वाले टैक्स की दर या रकम की वैल्यू. |
| TaxFeeInfo / Property / Taxes / Tax / AgeBrackets | 0..1 | AgeBrackets | इसमें, होटल में रहने वाले लोगों की उम्र के हिसाब से टैक्स तय करने की सुविधा मिलती है.
यह एलिमेंट सिर्फ़ तब मान्य होता है, जब |
| TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / AdultCharge | 0..1 | AdultCharge | वयस्कों के लिए टैक्स की जानकारी देने वाला कंटेनर. |
| TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / AdultCharge / @amount | 1 | float | वयस्कों के लिए लागू होने वाला टैक्स. |
| TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets | 0..1 | ChildAgeBrackets | एक या उससे ज़्यादा <ChildAgeBracket>
एलिमेंट रखने के लिए कंटेनर. |
| TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket | 1..n | ChildAgeBracket | इससे बच्चों की उम्र सीमा और उस पर लगने वाले टैक्स की रकम तय की जाती है. |
| TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @max_age | 1 | integer | इससे बच्चे की उम्र की ऊपरी सीमा तय होती है. निचली सीमा, पिछले ब्रैकेट के
|
| TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @amount | 1 | float | इस उम्र सीमा के बच्चों पर लागू होने वाला टैक्स. |
| TaxFeeInfo / Property / Taxes / Tax / UserCountries | 0..1 | UserCountries | उपयोगकर्ता के उन देशों की सूची के लिए कंटेनर जहां टैक्स शामिल है या शामिल नहीं है. अगर यह मौजूद है, तो टैक्स को सिर्फ़ उन देशों के उपयोगकर्ताओं के लिए शामिल या बाहर रखा जाएगा जिनके बारे में बताया गया है. |
| TaxFeeInfo / Property / Taxes / Tax / UserCountries / @type | 0..1 | enum | UserCountries स्पेसिफ़िकेशन का टाइप.
मान्य वैल्यू अगर UserCountries वहीं, अगर UserCountries अगर UserCountries |
| TaxFeeInfo / Property / Taxes / Tax / UserCountries / Country | 1..n | Country | यह UserCountries की सूची में किसी एक देश को तय करता है. |
| TaxFeeInfo / Property / Taxes / Tax / UserCountries / Country / @code | 1 | string | CLDR देश कोड, जैसे कि DE या FR. ध्यान दें कि कुछ देशों के लिए, CLDR देश का कोड और दो अक्षरों वाला आईएसओ देश का कोड एक जैसा नहीं होता. साथ ही, CLDR क्षेत्र के कोड इस्तेमाल नहीं किए जा सकते. |
| TaxFeeInfo / Property / Taxes / Tax / Rank | 1 | integer | यह एक रैंक होती है, जिससे टैक्स या शुल्क को लागू करने का क्रम तय होता है.
उदाहरण के लिए, वैल्यू 2 का मतलब है कि टैक्स दूसरे नंबर पर लागू किया गया है.
अगर <Rank>2</Rank> टैक्स और शुल्क के लिए, रैंक की डुप्लीकेट वैल्यू इस्तेमाल की जा सकती हैं. हालांकि, इससे टैक्स और शुल्क को मनमाने तरीके से और कुल मिलाकर लागू किया जा सकता है. इसके अलावा, अगर <Rank exclusive="true">1</Rank> शुल्क से पहले टैक्स लागू होते हैं. इसलिए, अगर टैक्स और शुल्क की रैंक एक जैसी है और शुल्क को एक ही रैंक के सभी टैक्स और शुल्क शामिल करने के लिए, रैंक न किए गए टैक्स और शुल्क, रैंक की गई सभी एंट्री से पहले लागू किए जाते हैं.
|
| TaxFeeInfo / Property / Fees | 0..1 | Fees | एक या उससे ज़्यादा <Fee> एलिमेंट के लिए कंटेनर. |
| TaxFeeInfo / Property / Fees / Fee | 1..n | Fee | प्रॉपर्टी पर लागू होने वाला अलग से शुल्क. |
उदाहरण
हर प्रॉपर्टी के लिए, टैक्स और शुल्क की संख्या ज़्यादा से ज़्यादा 300 हो सकती है. किसी प्रॉपर्टी से टैक्स और शुल्क हटाने के लिए, "टैक्स हटाना" उदाहरण देखें.
बेसिक मैसेज
सामान्य TaxFeeInfo मैसेज:
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2024-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Property>
<ID>Property_1</ID>
<Taxes>
<Tax>
<Type>percent</Type>
<Basis>room</Basis>
<Period>stay</Period>
<Amount>10.00</Amount>
</Tax>
</Taxes>
<Fees>
<Fee>
<Type>amount</Type>
<Basis>person</Basis>
<Period>night</Period>
<Currency>USD</Currency>
<Amount>5.00</Amount>
</Fee>
</Fees>
</Property>
</TaxFeeInfo>
टैक्स मिटाना
बताए गए होटल के लिए, प्रॉपर्टी-लेवल पर लगने वाले सभी टैक्स और शुल्क मिटाएं:
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2024-06-16T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Property action="overlay"/>
<ID>Property_1</ID>
</Property>
</TaxFeeInfo>
स्लैब टैक्स
भारत में जीएसटी के स्लैब के हिसाब से टैक्स लगता है. यह टैक्स, एक रात ठहरने के किराये के हिसाब से लगाया जाता है. टैक्स के स्लैब ये हैं:
- अगर रात का किराया 1,000 से कम या इसके बराबर है, तो कोई टैक्स नहीं लगेगा.
- अगर रात के हिसाब से किराया 1,000 से ज़्यादा और 7,500 के बराबर या उससे कम है, तो 12% टैक्स लगेगा.
- अगर रात का किराया 7,500 रुपये से ज़्यादा है, तो 18% टैक्स लगेगा.
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2024-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Property>
<ID>Property_1</ID>
<Taxes>
<Tax>
<Type>percent</Type>
<Basis>room</Basis>
<Period>night</Period>
<Brackets base_amount="0">
<Bracket starts_at="1000.01" amount="12"/>
<Bracket starts_at="7500.01" amount="18"/>
</Brackets>
</Tax>
</Taxes>
</Property>
</TaxFeeInfo>
उम्र के हिसाब से टैक्स
कमरे में रहने वाले लोगों की उम्र के हिसाब से टैक्स लागू होते हैं:
- वयस्क यात्रियों के लिए 20 डॉलर का टैक्स.
- 11 से 17 साल के बच्चों के लिए 10 डॉलर का टैक्स.
- 0 से 10 साल के बच्चों के लिए, 5 डॉलर का टैक्स लगता है.
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2024-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Property>
<ID>Property_1</ID>
<Taxes>
<Tax>
<Type>amount</Type>
<Basis>person</Basis>
<Period>night</Period>
<AgeBrackets>
<AdultCharge amount="20"/>
<ChildAgeBrackets>
<ChildAgeBracket max_age="10" amount="5"/>
<ChildAgeBracket max_age="17" amount="10"/>
</ChildAgeBrackets>
</AgeBrackets>
</Tax>
</Taxes>
</Property>
</TaxFeeInfo>
ठहरने की तारीखों की रेंज ओवरलैप हो रही हैं
अगर ठहरने की तारीख की एक से ज़्यादा ऐसी रेंज तय की गई हैं जो एक-दूसरे से ओवरलैप हो रही हैं, तो ठहरने की दी गई तारीख को इनमें से सिर्फ़ एक रेंज के हिसाब से होना चाहिए. ठहरने की तारीख की सीमाओं को एक ही शुरुआती और आखिरी तारीख की सीमा में तय किया जाना चाहिए.
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2025-03-12T10:59:49+01:00"
id="12345678"
partner="partner_key">
<Property action="overlay">
<ID>987654</ID>
<Taxes>
<Tax>
<Type>amount</Type>
<Basis>person</Basis>
<Period>night</Period>
<RoomTypes>
<RoomType id="RoomID_1"/>
<RoomType id="RoomID_2"/>
</RoomTypes>
<StayDates application="any">
<DateRange start="2025-06-16"/>
</StayDates>
<Currency>USD</Currency>
<Amount>50</Amount>
</Tax>
</Taxes>
<Fees>
<Fee>
<Type>amount</Type>
<Basis>room</Basis>
<Period>stay</Period>
<StayDates application="any">
<DateRange start="2025-03-12" end="2025-03-18"/>
</StayDates>
<Currency>USD</Currency>
<Amount>200</Amount>
</Fee>
<Fee>
<Type>amount</Type>
<Basis>room</Basis>
<Period>stay</Period>
<StayDates application="any">
<DateRange start="2025-03-19"/>
</StayDates>
<Currency>USD</Currency>
<Amount>300</Amount>
</Fee>
</Fees>
</Property>
</TaxFeeInfo>
रैंक एक्सक्लूसिव के साथ कई टैक्स और शुल्क
यहां कई टैक्स और शुल्क का उदाहरण दिया गया है. इसमें exclusive="true" और अलग-अलग रैंक शामिल हैं. किराये पर ये टैक्स और शुल्क लागू होने चाहिए:
- पहले नंबर पर मौजूद
exclusive="true"के लिए, 5% ऑक्यूपेंसी टैक्स. - रूम सर्विस पर लगने वाला 10 डॉलर का टैक्स, जिसकी रैंक 1 है.
- सफ़ाई के लिए 50 डॉलर का शुल्क, जिसकी रैंक 2
exclusive="true"है. - सुविधाओं के लिए दो प्रतिशत का शुल्क, जिसकी रैंक 3 है.
टैक्स और शुल्क, <Rank> के आधार पर इस क्रम में लागू किए जाते हैं:
- सबसे पहले,
exclusive="true"और रैंक 1 वाला ऑक्यूपेंसी टैक्स लागू होता है. - कमरे की सेवा पर लगने वाला टैक्स, रैंक 1 के साथ लागू नहीं होगा, क्योंकि पहले से लागू टैक्स में यह शामिल नहीं है.
- इसके बाद,
exclusive="true"और रैंक 2 के साथ सफ़ाई का शुल्क लागू होता है. - तीसरी रैंक वाले सुविधाओं के शुल्क को दूसरी रैंक वाले सफ़ाई के शुल्क के बाद लागू किया जाता है.
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2024-02-29T12:00:00Z"
id="tax-fee-id"
partner="partner_key">
<Property action="overlay">
<ID>765432</ID>
<Taxes>
<Tax>
<Type>percent</Type>
<Amount>5</Amount>
<Period>stay</Period>
<Basis>room</Basis>
<Rank exclusive="true">1</Rank>
</Tax>
<Tax>
<Type>amount</Type>
<Amount>10</Amount>
<Period>night</Period>
<Basis>room</Basis>
<Currency>USD</Currency>
<Rank>1</Rank>
</Tax>
</Taxes>
<Fees>
<Fee>
<Type>amount</Type>
<Amount>50</Amount>
<Period>night</Period>
<Basis>room</Basis>
<Currency>USD</Currency>
<Rank exclusive="true">2</Rank>
</Fee>
<Fee>
<Type>percent</Type>
<Amount>2</Amount>
<Period>stay</Period>
<Basis>room</Basis>
<Rank>3</Rank>
</Fee>
</Fees>
</Property>
</TaxFeeInfo>
जवाब
सिंटैक्स
TaxFeeInfoResponse मैसेज में इस सिंटैक्स का इस्तेमाल किया जाता है:
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfoResponse 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>
</TaxFeeInfoResponse>
एलिमेंट और एट्रिब्यूट
TaxFeeInfoResponse मैसेज में ये एलिमेंट और एट्रिब्यूट शामिल होते हैं:
| Element / @Attribute | आवृत्तियां | टाइप | ब्यौरा |
|---|---|---|---|
| TaxFeeInfoResponse | 1 | Complex element | यह रूट एलिमेंट है. इससे पता चलता है कि TaxFeeInfo का अनुरोध करने वाला मैसेज मिला है या नहीं. साथ ही, यह भी पता चलता है कि इसमें कोई समस्या है या नहीं. |
| TaxFeeInfoResponse / @timestamp | 1 | DateTime | इस मैसेज को बनाने की तारीख और समय. |
| TaxFeeInfoResponse / @id | 1 | string | यह TaxFeeInfo मैसेज से मिला यूनीक आइडेंटिफ़ायर है. |
| TaxFeeInfoResponse / @partner | 1 | string | यह मैसेज किस पार्टनर खाते के लिए है. |
| TaxFeeInfoResponse / Success | 0..1 | Success | इससे पता चलता है कि TaxFeeInfo मैसेज को बिना किसी चेतावनी, गड़बड़ी या समस्या के प्रोसेस कर लिया गया है.
हर मैसेज में |
| TaxFeeInfoResponse / Issues | 0..1 | Issues | यह एक कंटेनर है. इसमें TaxFeeInfo मैसेज को प्रोसेस करते समय हुई एक या उससे ज़्यादा समस्याओं की जानकारी होती है.
हर मैसेज में |
| TaxFeeInfoResponse / Issues / Issue | 1..n | Issue | TaxFeeInfo मैसेज को प्रोसेस करते समय मिली किसी चेतावनी, गड़बड़ी या समस्या की जानकारी. इन समस्याओं के बारे में जानकारी, फ़ीड की स्थिति से जुड़ी गड़बड़ी के मैसेज में देखी जा सकती है. |
| TaxFeeInfoResponse / Issues / Issue / @code | 1 | integer | समस्या का आइडेंटिफ़ायर. |
| TaxFeeInfoResponse / Issues / Issue / @status | 1 | enum | समस्या किस तरह की है. मान्य वैल्यू |
उदाहरण
पुष्टि हो गई
यहां TaxFeeInfo मैसेज को प्रोसेस करने के बाद मिला जवाब दिया गया है.
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfoResponse timestamp="2024-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</TaxFeeInfoResponse>
समस्याएं
यहां TaxFeeInfo मैसेज का जवाब दिया गया है. इस मैसेज को गड़बड़ियों की वजह से प्रोसेस नहीं किया जा सका.
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfoResponse timestamp="2024-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Issues>
<Issue code="1001" status="error">Example</Issue>
</Issues>
</TaxFeeInfoResponse>