Запросы
Синтаксис
В сообщении 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 | Уникальный идентификатор для данного запроса. Это значение возвращается в ответном сообщении. Допустимые символы: az , AZ , 0-9 , _ (подчеркивание) и - (тире). |
| TaxFeeInfo / @partner | 1 | string | Партнерская учетная запись для этого сообщения. Это строковое значение соответствует значению "Партнерский ключ", указанному на странице настроек учетной записи в Hotel Center. Примечание: Если у вас есть бэкэнд, предоставляющий данные для нескольких учетных записей, это значение должно совпадать со значением атрибута |
| TaxFeeInfo / Property | 1..n | Property | Контейнер для определения налогов и сборов для отдельного объекта недвижимости. |
| TaxFeeInfo / Property / @action | 0..1 | string | Указывает способ применения обновления. Поддерживается только overlay , по умолчанию используется overlay . Все предыдущие Taxes и Fees по этому объекту недвижимости будут списаны до применения этого обновления. |
| TaxFeeInfo / Property / ID | 1 | string | Уникальный идентификатор объекта недвижимости. Это значение должно совпадать с идентификатором отеля, указанным с помощью <id> в элементе <listing> в ленте списка отелей. Идентификатор отеля также указан в Hotel Center . |
| TaxFeeInfo / Property / Taxes | 0..1 | Taxes | Контейнер для одного или нескольких элементов <Tax> . |
| TaxFeeInfo / Property / Taxes / Tax | 1..n | Tax | Индивидуальный налог, применяемый к имуществу. |
| TaxFeeInfo / Property / Taxes / Tax / RoomTypes | 0..1 | RoomTypes | Контейнер для списка типов номеров, на которые распространяется налог. Налог применяется к каждому указанному <RoomType> . Если <RoomTypes> не указан, налог применяется ко всем номерам. |
| TaxFeeInfo / Property / Taxes / Tax / RoomTypes / RoomType | 1..n | RoomType | Указывает тип номера. Тип номера определяется в элементе <RoomData> в сообщении транзакции (данные объекта недвижимости) и идентифицируется с помощью его RoomID. (Его значение <RoomID> также используется в качестве ссылки в атрибуте InvTypeCode в сообщениях OTA_HotelRateAmountNotifRQ .) |
| TaxFeeInfo / Property / Taxes / Tax / RoomTypes / RoomType / @id | 1 | string | Уникальный идентификатор инвентаря (типа номера). Это значение сопоставляется с <RoomID> в сообщении транзакции (данные об объекте недвижимости) . Максимально допустимое количество символов — 50. |
| TaxFeeInfo / Property / Taxes / Tax / RatePlans | 0..1 | RatePlans | Контейнер для списка тарифных планов, на которые распространяется налог. Если <RatePlans> не указан, налог применяется ко всем тарифным планам. |
| TaxFeeInfo / Property / Taxes / Tax / RatePlans / RatePlan | 1..n | RatePlan | Указывает тарифный план. Тарифный план определяется комбинацией пакета услуг, тарифов и доступности, как это определено в сообщениях Transaction (Property Data), OTA_HotelRateAmountNotifRQ и OTA_HotelAvailNotifRQ, а также идентифицируется по PackageID. |
| TaxFeeInfo / Property / Taxes / Tax / RatePlans / RatePlan / @id | 1 | string | Уникальный идентификатор тарифного плана. Это значение сопоставляется со значением PackageID в сообщении транзакции (данные объекта) <PackageData> и значением RatePlanCode , заданным в атрибуте <StatusApplicationControl> в сообщениях <OTA_HotelRateAmountNotifRQ> и <OTA_HotelAvailNotifRQ> . Максимальное допустимое количество символов — 50. |
| TaxFeeInfo / Property / Taxes / Tax / BookingDates | 0..1 | BookingDates | Для применения налога необходимо наличие контейнера, содержащего один или несколько диапазонов дат, определяющих момент бронирования. |
| TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange | 1..99 | DateRange | Укажите диапазон дат, в течение которых должно быть совершено бронирование, чтобы налог был применен. |
| TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange / @start | 0..1 | Date | Начальная дата (с учетом часового пояса объекта недвижимости), включая дату начала диапазона дат. Эта дата должна быть раньше или совпадать с end датой. Если start не указана, диапазон дат фактически неограничен с точки зрения начальной даты. |
| TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange / @end | 0..1 | Date | Конечная дата (с учетом часового пояса объекта недвижимости), включая дату начала, указанную в диапазоне дат. Эта дата должна совпадать с start датой или быть позже нее. Если end не указана, диапазон дат фактически не ограничен в отношении конечной даты. |
| TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange / @days_of_week | 0..1 | string | Дни недели, разрешенные в указанном диапазоне дат. Если не указано иное, разрешены все дни недели. Каждый символ в строке обозначает день недели. Например, "MTWHF" указывает, что в указанном диапазоне дат разрешены будние дни. Допустимые символы:
Допустима любая комбинация символов. |
| TaxFeeInfo / Property / Taxes / Tax / CheckinDates | 0..1 | CheckinDates | Контейнер для одного или нескольких диапазонов дат, определяющих, когда должна произойти регистрация заезда, чтобы был применен налог. |
| TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange | 1..20 | DateRange | Укажите диапазон дат, в течение которых должна состояться регистрация заезда, чтобы был применен налог. |
| TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange / @start | 0..1 | Date | Начальная дата (с учетом часового пояса объекта недвижимости), включая дату начала диапазона дат. Эта дата должна быть раньше или совпадать с end датой. Если start не указана, диапазон дат фактически неограничен с точки зрения начальной даты. |
| TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange / @end | 0..1 | Date | Конечная дата (с учетом часового пояса объекта недвижимости), включая дату начала, указанную в диапазоне дат. Эта дата должна совпадать с start датой или быть позже нее. Если end не указана, диапазон дат фактически не ограничен в отношении конечной даты. |
| TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange / @days_of_week | 0..1 | string | Дни недели, разрешенные в указанном диапазоне дат. Если не указано иное, разрешены все дни недели. Каждый символ в строке обозначает день недели. Например, "MTWHF" указывает, что в указанном диапазоне дат разрешены будние дни. Допустимые символы:
Допустима любая комбинация символов. |
| TaxFeeInfo / Property / Taxes / Tax / CheckoutDates | 0..1 | CheckoutDates | Укажите один или несколько диапазонов дат, определяющих, когда должна произойти оплата, чтобы был применен налог. |
| TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange | 1..20 | DateRange | Укажите диапазон дат, в течение которых должен произойти выезд из отеля, чтобы налог был применен. |
| TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange / @start | 0..1 | Date | Начальная дата (с учетом часового пояса объекта недвижимости), включая дату начала диапазона дат. Эта дата должна быть раньше или совпадать с end датой. Если start не указана, диапазон дат фактически неограничен с точки зрения начальной даты. |
| TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange / @end | 0..1 | Date | Конечная дата (с учетом часового пояса объекта недвижимости), включая дату начала, указанную в диапазоне дат. Эта дата должна совпадать с start датой или быть позже нее. Если end не указана, диапазон дат фактически не ограничен в отношении конечной даты. |
| TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange / @days_of_week | 0..1 | string | Дни недели, разрешенные в указанном диапазоне дат. Если не указано иное, разрешены все дни недели. Каждый символ в строке обозначает день недели. Например, "MTWHF" указывает, что в указанном диапазоне дат разрешены будние дни. Допустимые символы:
Допустима любая комбинация символов. |
| TaxFeeInfo / Property / Taxes / Tax / StayDates | 0..1 | StayDates | Контейнер для указания одного или нескольких диапазонов дат, определяющих, применяется ли налог, например, для учета сезонных скидок. |
| TaxFeeInfo / Property / Taxes / Tax / StayDates / @application | 1 | enum | Описывает порядок применения налога. Допустимые значения:
Этот атрибут необходимо указывать всегда. |
| TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange | 1..99 | DateRange | Диапазон дат, определяющий периоды применения налога. |
| TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @start | 0..1 | Date | Начальная дата (с учетом часового пояса объекта недвижимости), включая дату начала диапазона дат. Эта дата должна быть раньше или совпадать с end датой. Если start не указана, диапазон дат фактически неограничен с точки зрения начальной даты. |
| TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @end | 0..1 | Date | Конечная дата (с учетом часового пояса объекта недвижимости), включая дату начала, указанную в диапазоне дат. Эта дата должна совпадать с start датой или быть позже нее. Если end не указана, диапазон дат фактически не ограничен в отношении конечной даты. |
| TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @days_of_week | 0..1 | string | Дни недели, разрешенные в указанном диапазоне дат. Если не указано иное, разрешены все дни недели. Каждый символ в строке обозначает день недели. Например, "MTWHF" указывает, что в указанном диапазоне дат разрешены будние дни. Допустимые символы:
Допустима любая комбинация символов. |
| TaxFeeInfo / Property / Taxes / Tax / Type | 1 | enum | Допустимые значения:
В параметрах |
| TaxFeeInfo / Property / Taxes / Tax / Basis | 1 | enum | Допустимые значения:
|
| TaxFeeInfo / Property / Taxes / Tax / Period | 1 | enum | Допустимые значения:
|
| TaxFeeInfo / Property / Taxes / Tax / Currency | 0..1 | string | Трехбуквенный код валюты для налога (например: USD). Примечание: Если |
| TaxFeeInfo / Property / Taxes / Tax / Amount | 0..1 | float | Значение процента или суммы налога. |
| TaxFeeInfo / Property / Taxes / Tax / ApplicableNights | 0..1 | ApplicableNights | Это значение применяется только в том случае, если для параметра <Type> установлено значение amount , а для параметра <Period> — night .Ограничивает количество ночей, за которые может взиматься налог. Укажите либо |
| TaxFeeInfo / Property / Taxes / Tax / ApplicableNights / @max | 0..1 | integer | <ApplicableNights max="N"> указывает, что ночи, следующие за первыми N ночами, должны быть исключены. |
| TaxFeeInfo / Property / Taxes / Tax / ApplicableNights / @excluded | 0..1 | integer | <ApplicableNights excluded="N"> указывает, что первые N ночей следует исключить. |
| TaxFeeInfo / Property / Taxes / Tax / LengthOfStay | 0..1 | LengthOfStay | Определяет пределы продолжительности пребывания, в пределах которых может применяться этот налог. Налог не применяется, если продолжительность пребывания выходит за пределы минимального и максимального пределов. |
| TaxFeeInfo / Property / Taxes / Tax / LengthOfStay / @min | 0..1 | integer | Минимальное количество ночей, разрешенное для уплаты налога. Если это не указано, минимального количества ночей нет. |
| TaxFeeInfo / Property / Taxes / Tax / LengthOfStay / @max | 0..1 | integer | Максимальное количество ночей, разрешенное для уплаты налога во время пребывания. Если это значение не указано, максимального количества ночей нет. |
| TaxFeeInfo / Property / Taxes / Tax / Brackets | 0..1 | Brackets | Контейнер для одного или нескольких элементов <Bracket> . Определяет набор смежных и непересекающихся налоговых ставок. Например: ставки налога на товары и услуги в Индии (GST). Этот элемент действителен только в том случае, если для параметра |
| TaxFeeInfo / Property / Taxes / Tax / Brackets / @base_amount | 0..1 | float | Значение процента или суммы налога, применяемого к ночным тарифам ниже значения starts_at для первой категории. |
| TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket | 1..n | Bracket | Определяет налоговую категорию на основе стоимости проживания за ночь. |
| TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket / @starts_at | 1 | float | Определяет нижнюю границу налоговой ставки. Верхняя граница указывается в поле Налоговая ставка активна, когда стоимость ночного тарифа больше или равна значению Это значение должно быть строго больше 0. |
| TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket / @amount | 1 | float | Значение процента или суммы налога, применяемого к данной налоговой категории. |
| TaxFeeInfo / Property / Taxes / Tax / AgeBrackets | 0..1 | AgeBrackets | Позволяет задать набор налогов в зависимости от возраста проживающих. Этот элемент действителен только в том случае, если не указаны |
| TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / AdultCharge | 0..1 | AdultCharge | Контейнер для указания налогов для взрослых. |
| TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / AdultCharge / @amount | 1 | float | Единовременная сумма налога, применяемая к взрослым. |
| TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets | 0..1 | ChildAgeBrackets | Контейнер для размещения одного или нескольких элементов <ChildAgeBracket> . |
| TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket | 1..n | ChildAgeBracket | Определяет возрастной диапазон для детей и соответствующую сумму налога. |
| TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @max_age | 1 | integer | Определяет верхнюю границу возраста ребенка. Нижняя граница указывается в поле |
| TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @amount | 1 | float | Единовременная сумма налога, применяемая к детям этой возрастной группы. |
| TaxFeeInfo / Property / Taxes / Tax / UserCountries | 0..1 | UserCountries | Контейнер для отображения стран пользователей, для которых налог включен или исключен. Если указан, налог будет включен или исключен только для пользователей из указанных стран. |
| TaxFeeInfo / Property / Taxes / Tax / UserCountries / @type | 0..1 | enum | Тип спецификации UserCountries. Допустимые значения: Если для В то время как если Если |
| TaxFeeInfo / Property / Taxes / Tax / UserCountries / Country | 1..n | Country | Определяет одну страну из списка UserCountries. |
| TaxFeeInfo / Property / Taxes / Tax / UserCountries / Country / @code | 1 | string | Код страны CLDR , например, DE или FR . Обратите внимание, что для некоторых стран код страны CLDR не совпадает с двухбуквенным кодом страны ISO. Кроме того, региональные коды CLDR не поддерживаются. |
| TaxFeeInfo / Property / Taxes / Tax / Rank | 1 | integer | Ранг, определяющий порядок применения налога или сбора. Например, значение 2 означает, что налог применяется вторым. Этот элемент всегда следует указывать, если для <Rank>2</Rank> Допускается дублирование значений ранга среди налогов и сборов, но это может привести к неопределенному поведению, когда налоги и сборы применяются произвольно и кумулятивно. В качестве альтернативы, используйте параметр Если параметр <Rank exclusive="true">1</Rank> Налоги применяются в первую очередь, а сборы — в первую очередь; поэтому, если налог и сбор имеют одинаковый приоритет, и для сбора параметр Чтобы включить все налоги и сборы одного ранга, избегайте установки параметра Налоги и сборы, не учитывающие ранжирование, применяются до учета всех ранжированных заявок. |
| TaxFeeInfo / Property / Fees | 0..1 | Fees | Контейнер для одного или нескольких элементов <Fee> . |
| TaxFeeInfo / Property / Fees / Fee | 1..n | Fee | Индивидуальный сбор, взимаемый за использование объекта недвижимости. Все дочерние элементы |
Примеры
На один объект недвижимости установлено ограничение в 300 налогов и сборов. Для удаления налогов и сборов из объекта недвижимости воспользуйтесь примером "Удалить налоги".
Основное сообщение
Простое сообщение TaxFeeInfo :
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2024-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Property>
<ID>Property_1</ID>
<Taxes>
<Tax>
<Type>percent</Type>
<Basis>room</Basis>
<Period>stay</Period>
<Amount>10.00</Amount>
</Tax>
</Taxes>
<Fees>
<Fee>
<Type>amount</Type>
<Basis>person</Basis>
<Period>night</Period>
<Currency>USD</Currency>
<Amount>5.00</Amount>
</Fee>
</Fees>
</Property>
</TaxFeeInfo>
Удалить налоги
Удалите все налоги и сборы, взимаемые на уровне объекта недвижимости для указанного отеля:
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2024-06-16T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Property action="overlay"/>
<ID>Property_1</ID>
</Property>
</TaxFeeInfo>
Налог по ступеням
Индийский налог на товары и услуги (GST) применяется на основе ночных ставок. Налоговые ставки следующие:
- Налог не взимается, если стоимость номера за ночь составляет менее или равна 1000.
- Налог в размере 12% взимается, если стоимость номера за ночь превышает 1000 и не превышает 7500.
- Налог в размере 18% взимается, если стоимость номера за ночь превышает 7500.
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2024-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Property>
<ID>Property_1</ID>
<Taxes>
<Tax>
<Type>percent</Type>
<Basis>room</Basis>
<Period>night</Period>
<Brackets base_amount="0">
<Bracket starts_at="1000.01" amount="12"/>
<Bracket starts_at="7500.01" amount="18"/>
</Brackets>
</Tax>
</Taxes>
</Property>
</TaxFeeInfo>
Налоги, зависящие от возраста
Налоги рассчитываются в зависимости от возраста проживающих:
- Налог для взрослых пассажиров составляет 20 долларов.
- Налог в размере 10 долларов для детей в возрасте от 11 до 17 лет.
- Налог в размере 5 долларов для детей в возрасте от 0 до 10 лет.
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2024-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Property>
<ID>Property_1</ID>
<Taxes>
<Tax>
<Type>amount</Type>
<Basis>person</Basis>
<Period>night</Period>
<AgeBrackets>
<AdultCharge amount="20"/>
<ChildAgeBrackets>
<ChildAgeBracket max_age="10" amount="5"/>
<ChildAgeBracket max_age="17" amount="10"/>
</ChildAgeBrackets>
</AgeBrackets>
</Tax>
</Taxes>
</Property>
</TaxFeeInfo>
Диапазоны дат пребывания, частично совпадающие между собой.
Если определено несколько диапазонов дат пребывания, которые перекрываются друг с другом, то заданная дата пребывания должна удовлетворять только одному из этих диапазонов, а не всем. Диапазоны дат пребывания должны быть указаны в одном начальном и одном конечном диапазоне.
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2025-03-12T10:59:49+01:00"
id="12345678"
partner="partner_key">
<Property action="overlay">
<ID>987654</ID>
<Taxes>
<Tax>
<Type>amount</Type>
<Basis>person</Basis>
<Period>night</Period>
<RoomTypes>
<RoomType id="RoomID_1"/>
<RoomType id="RoomID_2"/>
</RoomTypes>
<StayDates application="any">
<DateRange start="2025-06-16"/>
</StayDates>
<Currency>USD</Currency>
<Amount>50</Amount>
</Tax>
</Taxes>
<Fees>
<Fee>
<Type>amount</Type>
<Basis>room</Basis>
<Period>stay</Period>
<StayDates application="any">
<DateRange start="2025-03-12" end="2025-03-18"/>
</StayDates>
<Currency>USD</Currency>
<Amount>200</Amount>
</Fee>
<Fee>
<Type>amount</Type>
<Basis>room</Basis>
<Period>stay</Period>
<StayDates application="any">
<DateRange start="2025-03-19"/>
</StayDates>
<Currency>USD</Currency>
<Amount>300</Amount>
</Fee>
</Fees>
</Property>
</TaxFeeInfo>
Множество налогов и сборов, не зависящих от ранга.
Ниже приведён пример с несколькими налогами и сборами, имеющими значение exclusive="true" и разные ранги. Рассмотрим следующие налоги и сборы, которые должны быть применены к ставке:
- 5% налог на проживание с
exclusive="true". - Налог на обслуживание номеров в размере 10 долларов США, имеющий 1-й ранг.
- Плата за уборку в размере 50 долларов США с
exclusive="true". - За пользование удобствами взимается плата в размере 2% для лиц 3-го ранга.
Налоги и сборы начисляются в хронологическом порядке в зависимости от <Rank> :
- В первую очередь применяется налог на проживание с
exclusive="true"и рангом 1. - Налог на обслуживание номеров, относящийся к категории 1, применяться не будет, поскольку предыдущий налог на проживание не взимался.
- Далее применяется плата за уборку с
exclusive="true"и рангом 2. - Плата за пользование удобствами (3-й ранг) взимается после платы за уборку (2-й ранг).
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2024-02-29T12:00:00Z"
id="tax-fee-id"
partner="partner_key">
<Property action="overlay">
<ID>765432</ID>
<Taxes>
<Tax>
<Type>percent</Type>
<Amount>5</Amount>
<Period>stay</Period>
<Basis>room</Basis>
<Rank exclusive="true">1</Rank>
</Tax>
<Tax>
<Type>amount</Type>
<Amount>10</Amount>
<Period>night</Period>
<Basis>room</Basis>
<Currency>USD</Currency>
<Rank>1</Rank>
</Tax>
</Taxes>
<Fees>
<Fee>
<Type>amount</Type>
<Amount>50</Amount>
<Period>night</Period>
<Basis>room</Basis>
<Currency>USD</Currency>
<Rank exclusive="true">2</Rank>
</Fee>
<Fee>
<Type>percent</Type>
<Amount>2</Amount>
<Period>stay</Period>
<Basis>room</Basis>
<Rank>3</Rank>
</Fee>
</Fees>
</Property>
</TaxFeeInfo>
Ответы
Синтаксис
В сообщении TaxFeeInfoResponse используется следующий синтаксис:
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfoResponse timestamp="timestamp"
id="message_ID"
partner="partner_key">
<!-- Either Success or Issues will be populated. -->
<Success/>
<Issues>
<Issue code="issue_code" status="issue_type">issue_description</Issue>
</Issues>
</TaxFeeInfoResponse>
Элементы и атрибуты
Сообщение TaxFeeInfoResponse содержит следующие элементы и атрибуты:
| Элемент / @Атрибут | События | Тип | Описание |
|---|---|---|---|
| TaxFeeInfoResponse | 1 | Complex element | Корневой элемент, указывающий на успешность или проблемы, возникшие при получении запроса TaxFeeInfo. |
| TaxFeeInfoResponse / @timestamp | 1 | DateTime | Дата и время создания этого сообщения. |
| TaxFeeInfoResponse / @id | 1 | string | Уникальный идентификатор из соответствующего сообщения TaxFeeInfo. |
| TaxFeeInfoResponse / @partner | 1 | string | Это сообщение отправлено на учетную запись партнера. |
| TaxFeeInfoResponse / Success | 0..1 | Success | Указывает на то, что сообщение TaxFeeInfo было успешно обработано без предупреждений, ошибок или сбоев. В каждом сообщении присутствует либо |
| TaxFeeInfoResponse / Issues | 0..1 | Issues | Контейнер для одной или нескольких проблем, возникших при обработке сообщения TaxFeeInfo . В каждом сообщении присутствует либо |
| TaxFeeInfoResponse / Issues / Issue | 1..n | Issue | Описание предупреждения, ошибки или сбоя, возникшего при обработке сообщения TaxFeeInfo. Подробную информацию об этих проблемах можно найти в разделе «Сообщения об ошибках состояния ленты» . |
| TaxFeeInfoResponse / Issues / Issue / @code | 1 | integer | Идентификатор проблемы. |
| TaxFeeInfoResponse / Issues / Issue / @status | 1 | enum | Тип возникшей проблемы. Допустимые значения: |
Примеры
Успех
Ниже приведён ответ на успешно обработанное сообщение TaxFeeInfo .
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfoResponse timestamp="2024-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</TaxFeeInfoResponse>
Проблемы
Ниже приведён ответ на сообщение TaxFeeInfo , которое не было обработано из-за ошибок.
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfoResponse timestamp="2024-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Issues>
<Issue code="1001" status="error">Example</Issue>
</Issues>
</TaxFeeInfoResponse>