درخواستها
نحو
پیام 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> در «فید فهرست هتل» مطابقت داشته باشد. «شناسه هتل» در مرکز هتل نیز فهرست شده است. |
| 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 | طرح قیمت را مشخص میکند. طرح نرخ براساس ترکیبی از بسته، نرخها، و دردسترس بودن تعریف میشود، همانطور که در پیامهای «تراکنش» (دادههای ملک)، OTA_HotelRateAmountNotifRQ، و OTA_HotelAvailNotifRQ تعریف شده است و با PackageID شناسایی میشود. |
| TaxFeeInfo / Property / Taxes / Tax / RatePlans / RatePlan / @id | 1 | string | شناسه یکتای طرح نرخ. این مقدار با
مقدار PackageID در
<PackageData> پیام
تراکنش (دادههای ملک) و
مقدار 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» مشخص میکند که روزهای هفته در محدوده تاریخ مجاز است. نویسههای معتبر عبارتند از:
هر ترکیبی از نویسهها معتبر است. |
| 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 | حد پایین گروه مالیاتی را تعریف میکند. کران بالا در فیلد وقتی نرخ شبانه بیشتر یا مساوی مقدار این مقدار باید دقیقاً بزرگتر از ۰ باشد. |
| 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 | رتبهای که ترتیب اعمال مالیات یا کارمزد را مشخص میکند.
برای مثال، مقدار ۲ یعنی مالیات در مرحله دوم اعمال میشود.
اگر <Rank>2</Rank> مقادیر رتبه تکراری در مالیاتها و کارمزدها مجاز است اما این امر میتواند منجر به رفتار تعریفنشدهای شود که در آن مالیاتها و کارمزدها بهصورت دلخواه و تجمعی اعمال میشوند. یا از پارامتر اگر پارامتر <Rank exclusive="true">1</Rank> مالیاتها قبلاز کارمزدها اعمال میشوند؛ بنابراین، اگر
مالیات و کارمزد رتبه یکسانی داشته باشند و کارمزد برای گنجاندن همه مالیاتها و کارمزدهای همرتبه، از تنظیم کردن
مالیاتها و کارمزدهای بدون رتبه قبلاز همه ورودیهای رتبهبندیشده اعمال میشوند.
|
| TaxFeeInfo / Property / Fees | 0..1 | Fees | ظرفی برای یک یا چند عنصر <Fee>. |
| TaxFeeInfo / Property / Fees / Fee | 1..n | 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>
مالیات پلکانی
مالیات کالا و خدمات هند، براساس نرخهای شبانه اعمال میشود. گروههای مالیاتی عبارتند از:
- اگر نرخ شبانه کمتر یا مساوی ۱۰۰۰ باشد، مالیات ندارد.
- ۱۲٪ مالیات اگر نرخ شبانه بیشتر از ۱۰۰۰ و کمتر یا مساوی ۷۵۰۰ باشد.
- ۱۸٪ مالیات اگر نرخ شبانه بیشتر از ۷۵۰۰ باشد.
<?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> عبارت است از:
- مالیات اشغال با
exclusive="true"و رتبه ۱ ابتدا اعمال میشود. - مالیات خدمات اتاق با رتبه ۱ اعمال نخواهد شد چون مالیات اشغال قبلی انحصاری است.
- هزینه نظافت با
exclusive="true"و رتبه ۲ در مرحله بعد اعمال میشود. - هزینه امکانات رفاهی با رتبه ۳ بعداز هزینه نظافت با رتبه ۲ اعمال میشود.
<?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>