درخواستها
نحو
پیام 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 دارید که برای چندین حساب کاربری فید ارائه میدهد، این مقدار باید با مقدار ویژگی |
| 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" مشخص میکند که روزهای هفته در محدوده تاریخ مجاز هستند. کاراکترهای معتبر عبارتند از:
هر ترکیب کاراکتری معتبر است. |
| 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 | کد ارز سه حرفی برای مالیات (به عنوان مثال: دلار آمریکا). نکته: اگر |
| 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. مقادیر معتبر اگر در حالی که اگر اگر |
| 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>
مالیات دال
مالیات بر کالاها و خدمات هند (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> عبارتند از:
- مالیات سکونت با
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 دارای عناصر و ویژگیهای زیر است:
| عنصر / @Attribute | رخدادها | نوع | توضیحات |
|---|---|---|---|
| TaxFeeInfoResponse | 1 | Complex element | عنصر ریشهای که موفقیت یا مشکلات مربوط به پیام درخواست TaxFeeInfo دریافتی را نشان میدهد. |
| TaxFeeInfoResponse / @timestamp | 1 | DateTime | تاریخ و زمان ایجاد این پیام. |
| TaxFeeInfoResponse / @id | 1 | string | شناسه منحصر به فرد از پیام TaxFeeInfo مرتبط. |
| TaxFeeInfoResponse / @partner | 1 | string | حساب کاربری شریک برای این پیام. |
| TaxFeeInfoResponse / Success | 0..1 | Success | نشان میدهد که پیام TaxFeeInfo با موفقیت و بدون هشدار، خطا یا خرابی پردازش شده است. در هر پیام یا |
| TaxFeeInfoResponse / Issues | 0..1 | Issues | محفظهای برای یک یا چند مشکل پیش آمده هنگام پردازش پیام TaxFeeInfo . در هر پیام یا |
| TaxFeeInfoResponse / Issues / Issue | 1..n | Issue | شرح هشدار، خطا یا خرابی که هنگام پردازش پیام TaxFeeInfo رخ داده است. جزئیات مربوط به این مشکلات را میتوانید در پیامهای خطای وضعیت فید (Feed Status Error Messages) بیابید. |
| 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>