TaxFeeInfo

درخواست‌ها

نحو

پیام 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 دارای عناصر و ویژگی‌های زیر است:

عنصر / @Attribute رخدادها نوع توضیحات
TaxFeeInfo 1 Complex element عنصر ریشه برای پیامی که مالیات و عوارض یک ملک واحد را تعریف می‌کند.
TaxFeeInfo / @timestamp 1 DateTime تاریخ و زمان ایجاد این پیام.
TaxFeeInfo / @id 1 string یک شناسه منحصر به فرد برای این پیام درخواست. این مقدار در پیام پاسخ برگردانده می‌شود. کاراکترهای مجاز عبارتند از az ، AZ ، 0-9 ، _ (زیرخط) و - (خط تیره).
TaxFeeInfo / @partner 1 string حساب کاربری همکار برای این پیام. این مقدار رشته‌ای، مقدار «کلید همکار» است که در صفحه تنظیمات حساب کاربری در مرکز هتل فهرست شده است.

توجه: اگر یک backend دارید که برای چندین حساب کاربری فید ارائه می‌دهد، این مقدار باید با مقدار ویژگی 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> در یک پیام تراکنش (داده‌های ویژگی) نگاشت می‌شود. حداکثر تعداد کاراکترهای مجاز ۵۰ است.
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> پیام Transaction (Property Data) و مقدار RatePlanCode که تحت ویژگی <StatusApplicationControl> در هر دو پیام <OTA_HotelRateAmountNotifRQ> و <OTA_HotelAvailNotifRQ> تنظیم شده است، نگاشت می‌شود. حداکثر تعداد کاراکتر مجاز ۵۰ است.
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> روی amount تنظیم شده باشد.
TaxFeeInfo / Property / Taxes / Tax / Period 1 enum

مقادیر معتبر عبارتند از:

  • stay: <Amount> به کل نرخ اقامت اضافه می‌شود.
  • night: <Amount> به ازای هر شب اقامت اضافه می‌شود.
TaxFeeInfo / Property / Taxes / Tax / Currency 0..1 string کد ارز سه حرفی برای مالیات (به عنوان مثال: دلار آمریکا).

نکته: اگر <Currency> مشخص نشده باشد اما <Amount> مشخص شده باشد، مقدار <Currency> به طور پیش‌فرض روی ارز پایه تنظیم می‌شود.

TaxFeeInfo / Property / Taxes / Tax / Amount 0..1 float ارزش درصد یا مبلغ مالیات.
TaxFeeInfo / Property / Taxes / Tax / ApplicableNights 0..1 ApplicableNights این مقدار فقط در صورتی اعمال می‌شود که <Type> روی amount و <Period> روی night تنظیم شده باشد.

تعداد شب‌هایی را که می‌توان برای آنها مالیات اعمال کرد، محدود می‌کند.

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 بازه بعدی باشد.

این مقدار باید اکیداً بزرگتر از ۰ باشد.

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 داخل پرانتز قبلی + ۱ مشخص شده است. حد بالا و پایین هر دو شامل می‌شوند. حد پایین برای پرانتز اول ۰ است.

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 نوع مشخصات UserCountries.

مقادیر معتبر include و exclude .

اگر type UserCountries روی include تنظیم شده باشد، مالیات فقط برای کاربران کشورهای ذکر شده اعمال می‌شود.

در حالی که اگر type UserCountries exclude باشد، مالیات فقط برای کاربران خارج از کشورهای ذکر شده اعمال خواهد شد.

اگر type UserCountries تنظیم نشده باشد، آن را به عنوان include در نظر می‌گیریم و مالیات فقط برای کاربران کشورهای ذکر شده اعمال می‌شود.

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

رتبه‌ای که ترتیب درخواست مالیات یا هزینه را مشخص می‌کند. برای مثال، مقدار ۲ به این معنی است که مالیات در وهله دوم اعمال می‌شود. اگر <Type> روی cumulative_percent تنظیم شده باشد، این عنصر همیشه باید مشخص شود. به طور کلی، این ترتیب هم برای مالیات‌ها و هم برای هزینه‌ها اعمال می‌شود.

<Rank>2</Rank>

مقادیر رتبه تکراری در بین مالیات‌ها و هزینه‌ها مجاز است، اما این می‌تواند منجر به رفتار نامشخصی شود که در آن مالیات‌ها و هزینه‌ها به صورت دلخواه و تجمعی اعمال می‌شوند.

روش دیگر، استفاده از پارامتر "exclusive" در <Rank> است تا نشان دهد که تمام مالیات‌ها و هزینه‌های یک رتبه بر نرخ اعمال می‌شوند. مقدار پیش‌فرض false است و تمام مالیات‌ها و هزینه‌هایی که رتبه یکسانی دارند به صورت دلخواه بر نرخ اعمال می‌شوند. "exclusive" اختیاری است.

اگر پارامتر exclusive روی true تنظیم شود، فقط اولین مالیات ذکر شده در <Tax> یا اولین هزینه ذکر شده در <Fee> برای نرخ اعمال می‌شود.

<Rank exclusive="true">1</Rank>

مالیات‌ها ابتدا قبل از هزینه‌ها اعمال می‌شوند؛ بنابراین، اگر مالیات و هزینه رتبه یکسانی داشته باشند و هزینه "exclusive" روی true تنظیم شده باشد، مالیات همچنان اول اعمال می‌شود. بهترین روش این است که مالیات‌ها و هزینه‌ها به ترتیبی که باید اعمال شوند، فهرست شوند.

برای شامل کردن تمام مالیات‌ها و هزینه‌های هم رتبه، از تنظیم exclusive برابر با true خودداری کنید.

مالیات و هزینه‌ها بدون رتبه‌بندی، قبل از همه ورودی‌های رتبه‌بندی‌شده اعمال می‌شوند.

<Rank> باید در محدوده ۱ تا ۹۹ (شامل) باشد.

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="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>

مالیات دال

مالیات بر کالاها و خدمات هند (GST)، که بر اساس نرخ هر شب اعمال می‌شود. طبقات مالیاتی عبارتند از:

  • اگر نرخ هر شب کمتر یا مساوی ۱۰۰۰ باشد، مالیاتی تعلق نمی‌گیرد.
  • ۱۲٪ مالیات اگر نرخ هر شب بیشتر از ۱۰۰۰ و کمتر یا مساوی ۷۵۰۰ باشد.
  • ۱۸٪ مالیات اگر نرخ هر شب بیشتر از ۷۵۰۰ باشد.
<?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>

مالیات بر اساس سن

مالیات بر اساس سن ساکنین اعمال می‌شود:

  • مالیات ۲۰ دلاری برای سرنشینان بزرگسال.
  • مالیات ۱۰ دلاری برای کودکان بین ۱۱ تا ۱۷ سال.
  • ۵ دلار مالیات برای کودکان بین ۰ تا ۱۰ سال.
<?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" .
  • مالیات خدمات اتاق ۱۰ دلار آمریکا با رتبه ۱.
  • هزینه نظافت ۵۰ دلار آمریکا با رتبه ۲ exclusive="true" .
  • هزینه امکانات رفاهی ۲٪ با رتبه ۳.

ترتیب زمانی اعمال مالیات‌ها و هزینه‌ها بر اساس <Rank> عبارتند از:

  1. مالیات سکونت با exclusive="true" و رتبه ۱ ابتدا اعمال می‌شود.
  2. مالیات خدمات اتاق با رتبه ۱ اعمال نخواهد شد زیرا مالیات اشغال قبلی منحصر به فرد است.
  3. هزینه نظافت با exclusive="true" و رتبه ۲ در مرحله بعد اعمال می‌شود.
  4. هزینه امکانات رفاهی با رتبه ۳ پس از هزینه نظافت با رتبه ۲ اعمال می‌شود.

<?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 دارای عناصر و ویژگی‌های زیر است:

عنصر / @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 رخ داده است. جزئیات مربوط به این مشکلات را می‌توانید در پیام‌های خطای وضعیت فید (Feed Status Error Messages) بیابید.
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="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>