الطلبات
البنية
تستخدم الرسالة 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
على العناصر والسمات التالية:
العنصر / @السمة | عدد مرات الظهور | النوع | الوصف |
---|---|---|---|
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 | تحدّد هذه السمة نوع الغرفة. يتم تحديد نوع الغرفة في العنصر <RoomData> ضمن الرسالة المعاملة (بيانات المنشأة)، ويتم تحديد نوع الغرفة باستخدام RoomID. (تتم أيضًا الإشارة إلى قيمة <RoomID> الخاصة به من خلال السمة InvTypeCode في رسائل OTA_HotelRateAmountNotifRQ ). |
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 | تحدّد هذه السمة خطة أسعار. يتم تحديد خطة الأسعار من خلال مجموعة من الحزم والأسعار ومدى التوفّر، كما هو محدّد في الرسائل Transaction (Property Data) وOTA_HotelRateAmountNotifRQ وOTA_HotelAvailNotifRQ، وكما هو محدّد بواسطة PackageID. |
TaxFeeInfo / Property / Taxes / Tax / RatePlans / RatePlan / @id | 1 | string | تمثّل هذه السمة المعرّف الفريد لخطة الأسعار. ترتبط هذه القيمة بقيمة PackageID في رسالة المعاملة (بيانات المنشأة) ضمن <PackageData> ، وبقيمة RatePlanCode التي يتم ضبطها ضمن السمة <StatusApplicationControl> في الرسالتين <OTA_HotelRateAmountNotifRQ> و<OTA_HotelAvailNotifRQ> .
الحد الأقصى لعدد الأحرف المسموح به هو 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 لا يتطابق مع رمز البلد المكوّن من حرفَين وفقًا لمعيار ISO في بعض البلدان. بالإضافة إلى ذلك، لا تتوفّر رموز مناطق 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 ريال سعودي أو مساويًا له.
- ضريبة بنسبة% 12 إذا كان السعر الليلي أكبر من 1,000 وأقل من أو يساوي 7,500
- ضريبة بنسبة% 18 إذا كان السعر الليلي أكبر من 7,500
<?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 دولار أمريكي للبالغين المقيمين
- ضريبة بقيمة 10 دولار أمريكي للأطفال الذين تتراوح أعمارهم بين 11 و17 عامًا
- ضريبة بقيمة 5 دولار أمريكي للأطفال الذين تتراوح أعمارهم بين 0 و10 سنوات
<?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"
وترتيبات مختلفة. يجب تطبيق الضرائب والرسوم التالية على السعر:
- ضريبة إقامة بنسبة% 5 مع الترتيب 1
exclusive="true"
- ضريبة خدمة الغرف بقيمة 10 دولار أمريكي مع الترتيب 1
- رسم تنظيف بقيمة 50 دولارًا أمريكيًا مع الترتيب 2
exclusive="true"
- رسوم وسائل الراحة بنسبة% 2 مع الترتيب 3
الترتيب الزمني الذي يتم فيه تطبيق الضرائب والرسوم استنادًا إلى
<Rank>
هو:
- يتم تطبيق ضريبة الإشغال التي تبلغ قيمتها
exclusive="true"
والمرتبة 1 أولاً. - لن يتم تطبيق ضريبة خدمة الغرف التي تحمل الترتيب 1 لأنّ ضريبة الإقامة السابقة حصرية.
- بعد ذلك، يتم تطبيق رسوم التنظيف مع
exclusive="true"
والترتيب 2. - يتم تطبيق رسوم وسائل الراحة ذات الترتيب 3 بعد رسوم التنظيف ذات الترتيب 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
العناصر والسمات التالية:
العنصر / @السمة | عدد مرات الظهور | النوع | الوصف |
---|---|---|---|
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>