معلومات الضرائب

طلبات

البنية

تستخدم الرسالة 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>
        <Rank>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>
        <Rank>integer</Rank>
      </Fee>
    </Fees>
  </Property>
</TaxFeeInfo>

العناصر والسمات

تحتوي رسالة TaxFeeInfo على العناصر والسمات التالية:

العنصر / @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.

ملاحظة: إذا كانت لديك خلفية توفّر خلاصات لحسابات متعددة، يجب أن تتطابق هذه القيمة مع قيمة السمة ID المحدّدة في العنصر <RequestorID> في رسالتَي <OTA_HotelRateAmountNotifRQ> و<OTA_HotelAvailNotifRQ> للحساب نفسه.

TaxFeeInfo / Property 1..n Property تمثّل هذه السمة حاوية لتحديد الضرائب والرسوم لموقع واحد.
TaxFeeInfo / Property / @action 0..1 string تُحدِّد هذه السياسة طريقة تطبيق التحديث. يُسمح فقط باستخدام overlay، والقيمة التلقائية هي overlay. سيتم محو أي Taxes وFees سابقَين لهذه السمة قبل تطبيق هذا التعديل.
TaxFeeInfo / Property / ID 1 string تشير هذه السمة إلى المعرّف الفريد الخاص بالمكان المخصّص للاستئجار. ويجب أن تتطابق هذه القيمة مع رقم تعريف الفندق المحدّد باستخدام <id> في العنصر <listing> في خلاصة قائمة الفنادق. مُدرَج أيضًا رقم تعريف الفندق في مركز إدارة معلومات الفنادق.
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 تحدّد خطة أسعار. يتم تحديد خطة الأسعار من خلال مجموعة تشمل الحزمة والأسعار ومدى التوفّر، على النحو المحدّد في رسائل المعاملات (بيانات الموقع) و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" أنّ أيام الأسبوع مسموح بها في النطاق الزمني.

الأحرف الصالحة هي:

  • M ليوم الاثنين
  • T يوم الثلاثاء
  • W يوم الأربعاء
  • H يوم الخميس
  • F يوم الجمعة
  • S ليوم السبت
  • U ليوم الأحد

أي تركيبة أحرف صالحة.

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" أنّ أيام الأسبوع مسموح بها في النطاق الزمني.

الأحرف الصالحة هي:

  • M ليوم الاثنين
  • T يوم الثلاثاء
  • W يوم الأربعاء
  • H يوم الخميس
  • F يوم الجمعة
  • S ليوم السبت
  • U ليوم الأحد

أي تركيبة أحرف صالحة.

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" أنّ أيام الأسبوع مسموح بها في النطاق الزمني.

الأحرف الصالحة هي:

  • M ليوم الاثنين
  • T يوم الثلاثاء
  • W يوم الأربعاء
  • H يوم الخميس
  • F يوم الجمعة
  • S ليوم السبت
  • U ليوم الأحد

أي تركيبة أحرف صالحة.

TaxFeeInfo / Property / Taxes / Tax / StayDates 0..1 StayDates

تمثّل هذه السمة حاوية لنطاق زمني واحد أو أكثر تحدّد ما إذا كان سيتم تطبيق الضريبة، مثل لاستيعاب الخصومات الموسمية.

TaxFeeInfo / Property / Taxes / Tax / StayDates / @application 1 enum

تمثّل هذه السمة طريقة تطبيق الضريبة.

القيم الصالحة هي:

  • all: يطبّق هذا الخيار الضريبة على كل ليلة في برنامج الرحلة إذا تداخلت جميع التواريخ في برنامج الرحلة مع تواريخ الإقامة.
  • any: يطبّق هذا الخيار الضريبة على جميع الليالي في برنامج الرحلة إذا تداخل أي تاريخ في برنامج الرحلة مع تاريخ ضمن نطاق تواريخ الإقامة.
  • overlap: لا يطبّق الضريبة إلا على تلك الليالي في برنامج الرحلة الذي يتداخل مع تاريخ في النطاق الزمني للإقامة.

    ملاحظة: لا يكون overlap صالحًا إلا عند ضبط <Period> على night.

يجب تحديد هذه السمة دائمًا.

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" أنّ أيام الأسبوع مسموح بها في النطاق الزمني.

الأحرف الصالحة هي:

  • M ليوم الاثنين
  • T يوم الثلاثاء
  • W يوم الأربعاء
  • H يوم الخميس
  • F يوم الجمعة
  • S ليوم السبت
  • U ليوم الأحد

أي تركيبة أحرف صالحة.

TaxFeeInfo / Property / Taxes / Tax / Type 1 enum

القيم الصالحة هي:

  • percent: نسبة مئوية من المعدل الإجمالي
  • amount: مبلغ ثابت يمكن إضافته إلى السعر النهائي
  • cumulative_percent: نسبة مئوية من إجمالي المعدل والضرائب والرسوم المتراكمة قبل احتساب هذه الضريبة أو الرسوم. إذا تم تحديد هذه القيمة، يجب تحديد <Rank> أيضًا.
  • لا يمكن تحديد <Brackets> و<AgeBrackets> مع cumulative_percent كنوع.

TaxFeeInfo / Property / Taxes / Tax / Basis 1 enum

القيم الصالحة هي:

  • room: يتم تطبيق <Amount> على الغرفة.
  • person: يتم تطبيق <Amount> لكل شخص. لا تنطبق هذه القيمة إلا في حال ضبط <Type> على مبلغ محدّد.
TaxFeeInfo / Property / Taxes / Tax / Period 1 enum

القيم الصالحة هي:

  • stay: تتم إضافة <Amount> إلى إجمالي سعر الإقامة.
  • night: تتم إضافة <Amount> لكل ليلة خلال فترة الإقامة.
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> على المبلغ وضبط <Period> على الليلة.

تفرض هذه السمة قيودًا على عدد الليالي التي يمكن تطبيق ضريبة عليها.

حدِّد السمة max أو السمة excluded ولكن ليس كليهما.

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> واحد أو أكثر تحدّد هذه السمة مجموعة من الأقواس الضريبية المتجاورة وغير المتداخلة، مثل ضرائب حصص ضريبة السلع والخدمات الهندية.

يكون هذا العنصر صالحًا فقط عند ضبط <Period> على night وعدم تحديد <Amount>.

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

لتحديد الحد الأدنى لفئة ضريبية. ويتم تحديد الحد الأعلى في الحقل starts_at للقوس اللاحق. ليس هناك حد أعلى للقوس الأخير.

يكون مستوى الضريبة نشطًا عندما يكون سعر الليلة أكبر من أو مساويًا لقيمة starts_at للقوسين، وأقل تمامًا من قيمة starts_at للقوس اللاحق.

يجب أن تكون هذه القيمة أكبر من 0 تمامًا.

TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket / @amount 1 float قيمة النسبة المئوية أو مبلغ الضريبة المطبَّق على شريحة الضريبة هذه.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets 0..1 AgeBrackets يسمح بتحديد مجموعة من الضرائب بناءً على أعمار الأشخاص.

لا يكون هذا العنصر صالحًا إلا في حال عدم تحديد <Brackets> و<Amount>، وضبط <Basis> على person وضبط <Type> على amount.

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

ويحدِّد الحدّ الأقصى لعمر الطفل. ويتم تحديد الحد الأدنى في الحقل max_age + 1 للقوس السابق. كل من الحدين العلوي والسفلي شامل. الحد الأدنى للقوس الأول هو 0.

يجب أن يكون max_age في النطاق الذي يتراوح بين 0 و17 (ضمنًا).

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 تمثّل هذه السمة نوع مواصفات Userالبُلدان.

القيمتان الصالحتان هما include وexclude.

في حال ضبط سمة type في Userالبُلدان على include، لن تُطبَّق الضريبة إلا على المستخدمين المقيمين في البُلدان المُدرَجة.

وفي حين أنّ قيمة type في Userالبُلدان هي exclude، لن تُطبَّق الضريبة إلا على المستخدمين خارج البُلدان المدرَجة.

وفي حال ترك سمة Userالبُلدان type بدون ضبط، سنتعامل معها على أنّها include وسيتم تطبيق الضريبة على المستخدمين المقيمين في البُلدان المُدرَجة فقط.

TaxFeeInfo / Property / Taxes / Tax / UserCountries / Country 1..n Country تحدّد هذه العلامة بلدًا واحدًا في قائمة Userالبُلدان.
TaxFeeInfo / Property / Taxes / Tax / UserCountries / Country / @code 1 string رمز CLDR للبلد، مثل DE أو FR. يُرجى العلم أنّ رمز CLDR للبلد في بعض البلدان يختلف عن رمز البلد المكوّن من حرفَين وفقًا لمعيار ISO. بالإضافة إلى ذلك، لا يمكن استخدام رموز CLDR للمناطق.
TaxFeeInfo / Property / Taxes / Tax / Rank 1 integer

تمثّل هذه السمة ترتيبًا يحدّد ترتيب تقديم هذه الضريبة أو الرسوم. على سبيل المثال، تعني القيمة 2 أنّه سيتمّ تطبيق هذه الضريبة ثانيًا. يجب دائمًا تحديد هذا العنصر إذا تم ضبط <Type> على cumulative_percent. بشكل عام، يتم تطبيق هذا الترتيب على مستوى الضرائب والرسوم. يُسمح بإدراج قيم الترتيب المكررة بين الضرائب والرسوم، ولكن قد يؤدي ذلك إلى سلوك غير محدد يتم فيه تطبيق الضرائب والرسوم بطريقة عشوائية وتراكمية. تُطبق الضرائب والرسوم بدون ترتيب قبل جميع المشاركات التي تم ترتيبها.

يجب أن تتراوح قيمة <Rank> بين 1 و99 (ضمنًا).

TaxFeeInfo / Property / Fees 0..1 Fees حاوية لعنصر <Fee> واحد أو أكثر
TaxFeeInfo / Property / Fees / Fee 1..n Fee

وتُطبّق هذه الرسوم الفردية على المكان المخصّص للاستئجار.

يمكن أيضًا استخدام كل عناصر <Tax> الثانوية في <Fee> بالبنية نفسها.

أمثلة

الرسالة الأساسية

رسالة TaxFeeInfo أساسية:

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2020-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="2022-06-16T16:20:00-04:00"
            id="12345678"
            partner="partner_key"
  <Property action="overlay"/>
    <ID>Property_1</ID>
  </Property>
</TaxFeeInfo>

ضريبة الألواح

ضريبة GST في الهند، يتم تطبيقها استنادًا إلى أسعار الليلة. وتشمل الفئات الضريبية ما يلي:

  • لا يتم فرض ضريبة إذا كان سعر الليلة أقل من 1,000 أو مساوٍ له.
  • 12% ضريبة إذا كان سعر الليلة أكبر من 1,000 وأقل من 7,500 أو مساوٍ له
  • 18% ضريبة إذا كان سعر الليلة أكبر من 7500.
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2020-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="2020-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>

الردود

البنية

تستخدم الرسالة 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 على العناصر والسمات التالية:

العنصر / @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 بنجاح بدون أي تحذيرات أو أخطاء أو حالات تعذُّر.

تحتوي كل رسالة على <Success> أو <Issues>.

TaxFeeInfoResponse / Issues 0..1 Issues حدثت حاوية لمشكلة واحدة أو أكثر أثناء معالجة رسالة TaxFeeInfo.

تحتوي كل رسالة على <Success> أو <Issues>.

TaxFeeInfoResponse / Issues / Issue 1..n Issue وصف للتحذير أو الخطأ أو الخطأ الذي حدث أثناء معالجة رسالة TaxFeeInfo. يمكن العثور على تفاصيل حول هذه المشاكل في رسائل الخطأ لحالة الخلاصة.
TaxFeeInfoResponse / Issues / Issue / @code 1 integer معرِّف المشكلة.
TaxFeeInfoResponse / Issues / Issue / @status 1 enum

نوع المشكلة التي حدثت.

القيم الصالحة هي warning وerror وfailure .

أمثلة

تم الإجراء بنجاح

في ما يلي رد على رسالة TaxFeeInfo التي تمت معالجتها بنجاح.

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

المشاكل

في ما يلي رد على رسالة TaxFeeInfo التي لم تتم معالجتها بسبب حدوث أخطاء.

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