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 содержит следующие элементы и атрибуты:

Элемент / @Атрибут События Тип Описание
TaxFeeInfo 1 Complex element Корневой элемент сообщения, определяющего налоги и сборы для отдельного объекта недвижимости.
TaxFeeInfo / @timestamp 1 DateTime Дата и время создания этого сообщения.
TaxFeeInfo / @id 1 string Уникальный идентификатор для данного запроса. Это значение возвращается в ответном сообщении. Допустимые символы: az , AZ , 0-9 , _ (подчеркивание) и - (тире).
TaxFeeInfo / @partner 1 string Партнерская учетная запись для этого сообщения. Это строковое значение соответствует значению "Партнерский ключ", указанному на странице настроек учетной записи в Hotel Center.

Примечание: Если у вас есть бэкэнд, предоставляющий данные для нескольких учетных записей, это значение должно совпадать со значением атрибута ID , указанным в элементе <RequestorID> ваших сообщений <OTA_HotelRateAmountNotifRQ> и <OTA_HotelAvailNotifRQ> для одной и той же учетной записи.

TaxFeeInfo / Property 1..n Property Контейнер для определения налогов и сборов для отдельного объекта недвижимости.
TaxFeeInfo / Property / @action 0..1 string Указывает способ применения обновления. Поддерживается только overlay , по умолчанию используется overlay . Все предыдущие Taxes и Fees по этому объекту недвижимости будут списаны до применения этого обновления.
TaxFeeInfo / Property / ID 1 string Уникальный идентификатор объекта недвижимости. Это значение должно совпадать с идентификатором отеля, указанным с помощью <id> в элементе <listing> в ленте списка отелей. Идентификатор отеля также указан в 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" указывает, что в указанном диапазоне дат разрешены будние дни.

Допустимые символы:

  • M на понедельник
  • T на вторник
  • W означает среду
  • H для четверга
  • F — пятница
  • S означает субботу
  • U на воскресенье

Допустима любая комбинация символов.

TaxFeeInfo / Property / Taxes / Tax / CheckinDates 0..1 CheckinDates Контейнер для одного или нескольких диапазонов дат, определяющих, когда должна произойти регистрация заезда, чтобы был применен налог.
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange 1..20 DateRange Укажите диапазон дат, в течение которых должна состояться регистрация заезда, чтобы был применен налог.
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange / @start 0..1 Date Начальная дата (с учетом часового пояса объекта недвижимости), включая дату начала диапазона дат. Эта дата должна быть раньше или совпадать с end датой. Если start не указана, диапазон дат фактически неограничен с точки зрения начальной даты.
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange / @end 0..1 Date Конечная дата (с учетом часового пояса объекта недвижимости), включая дату начала, указанную в диапазоне дат. Эта дата должна совпадать с start датой или быть позже нее. Если end не указана, диапазон дат фактически не ограничен в отношении конечной даты.
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange / @days_of_week 0..1 string

Дни недели, разрешенные в указанном диапазоне дат. Если не указано иное, разрешены все дни недели. Каждый символ в строке обозначает день недели. Например, "MTWHF" указывает, что в указанном диапазоне дат разрешены будние дни.

Допустимые символы:

  • M на понедельник
  • T на вторник
  • W означает среду
  • H для четверга
  • F — пятница
  • S означает субботу
  • U на воскресенье

Допустима любая комбинация символов.

TaxFeeInfo / Property / Taxes / Tax / CheckoutDates 0..1 CheckoutDates Укажите один или несколько диапазонов дат, определяющих, когда должна произойти оплата, чтобы был применен налог.
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange 1..20 DateRange Укажите диапазон дат, в течение которых должен произойти выезд из отеля, чтобы налог был применен.
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange / @start 0..1 Date Начальная дата (с учетом часового пояса объекта недвижимости), включая дату начала диапазона дат. Эта дата должна быть раньше или совпадать с end датой. Если start не указана, диапазон дат фактически неограничен с точки зрения начальной даты.
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange / @end 0..1 Date Конечная дата (с учетом часового пояса объекта недвижимости), включая дату начала, указанную в диапазоне дат. Эта дата должна совпадать с start датой или быть позже нее. Если end не указана, диапазон дат фактически не ограничен в отношении конечной даты.
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange / @days_of_week 0..1 string

Дни недели, разрешенные в указанном диапазоне дат. Если не указано иное, разрешены все дни недели. Каждый символ в строке обозначает день недели. Например, "MTWHF" указывает, что в указанном диапазоне дат разрешены будние дни.

Допустимые символы:

  • M на понедельник
  • T на вторник
  • W означает среду
  • H для четверга
  • F — пятница
  • S означает субботу
  • U на воскресенье

Допустима любая комбинация символов.

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

Контейнер для указания одного или нескольких диапазонов дат, определяющих, применяется ли налог, например, для учета сезонных скидок.

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

Описывает порядок применения налога.

Допустимые значения:

  • all : Налог применяется к каждой ночи в маршруте, если все даты в маршруте совпадают с датами пребывания.
  • any : Налог применяется ко всем ночам в маршруте, если какая-либо дата в маршруте совпадает с датой в диапазоне дат пребывания.
  • overlap : Налог применяется только к тем ночам в маршруте, которые совпадают с датой в диапазоне дат пребывания.

    Примечание : overlap допустимо только в том случае, если для параметра <Period> установлено значение night .

Этот атрибут необходимо указывать всегда.

TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange 1..99 DateRange Диапазон дат, определяющий периоды применения налога.
TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @start 0..1 Date Начальная дата (с учетом часового пояса объекта недвижимости), включая дату начала диапазона дат. Эта дата должна быть раньше или совпадать с end датой. Если start не указана, диапазон дат фактически неограничен с точки зрения начальной даты.
TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @end 0..1 Date Конечная дата (с учетом часового пояса объекта недвижимости), включая дату начала, указанную в диапазоне дат. Эта дата должна совпадать с start датой или быть позже нее. Если end не указана, диапазон дат фактически не ограничен в отношении конечной даты.
TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @days_of_week 0..1 string

Дни недели, разрешенные в указанном диапазоне дат. Если не указано иное, разрешены все дни недели. Каждый символ в строке обозначает день недели. Например, "MTWHF" указывает, что в указанном диапазоне дат разрешены будние дни.

Допустимые символы:

  • M на понедельник
  • T на вторник
  • W означает среду
  • H для четверга
  • F — пятница
  • S означает субботу
  • U на воскресенье

Допустима любая комбинация символов.

TaxFeeInfo / Property / Taxes / Tax / Type 1 enum

Допустимые значения:

  • percent: процент от общей ставки
  • amount: Фиксированная сумма, которая добавляется к окончательной цене.
  • cumulative_percent: Процент от общей суммы ставок, налогов и сборов, накопленных до расчета данного налога или сбора. Если это значение указано, необходимо также указать <Rank> .
  • В параметрах <Brackets> и <AgeBrackets> нельзя указывать тип cumulative_percent .

TaxFeeInfo / Property / Taxes / Tax / Basis 1 enum

Допустимые значения:

  • room: <Amount> применяется к номеру.
  • person: Значение <Amount> применяется к каждому человеку. Это значение применяется только в том случае, если <Type> установлен на сумму.
TaxFeeInfo / Property / Taxes / Tax / Period 1 enum

Допустимые значения:

  • stay: <Amount> добавляется к общей стоимости проживания.
  • night: <Amount> добавляется за каждую ночь проживания.
TaxFeeInfo / Property / Taxes / Tax / Currency 0..1 string Трехбуквенный код валюты для налога (например: USD).

Примечание: Если <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> . Определяет набор смежных и непересекающихся налоговых ставок. Например: ставки налога на товары и услуги в Индии (GST).

Этот элемент действителен только в том случае, если для параметра <Period> установлено значение night , а <Amount> не указан.

TaxFeeInfo / Property / Taxes / Tax / Brackets / @base_amount 0..1 float Значение процента или суммы налога, применяемого к ночным тарифам ниже значения starts_at для первой категории.
TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket 1..n Bracket Определяет налоговую категорию на основе стоимости проживания за ночь.
TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket / @starts_at 1 float

Определяет нижнюю границу налоговой ставки. Верхняя граница указывается в поле starts_at следующей ставки. Для последней ставки верхняя граница отсутствует.

Налоговая ставка активна, когда стоимость ночного тарифа больше или равна значению starts_at этой ставки и строго меньше значения starts_at следующей ставки.

Это значение должно быть строго больше 0.

TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket / @amount 1 float Значение процента или суммы налога, применяемого к данной налоговой категории.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets 0..1 AgeBrackets Позволяет задать набор налогов в зависимости от возраста проживающих.

Этот элемент действителен только в том случае, если не указаны <Brackets> и <Amount> , <Basis> установлено на person , а <Type> — на amount .

TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / AdultCharge 0..1 AdultCharge Контейнер для указания налогов для взрослых.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / AdultCharge / @amount 1 float Единовременная сумма налога, применяемая к взрослым.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets 0..1 ChildAgeBrackets Контейнер для размещения одного или нескольких элементов <ChildAgeBracket> .
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket 1..n ChildAgeBracket Определяет возрастной диапазон для детей и соответствующую сумму налога.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @max_age 1 integer

Определяет верхнюю границу возраста ребенка. Нижняя граница указывается в поле max_age предыдущей скобки + 1. Верхняя и нижняя границы включаются в себя. Нижняя граница для первой скобки равна 0.

max_age должно находиться в диапазоне от 0 до 17 (включительно).

TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @amount 1 float Единовременная сумма налога, применяемая к детям этой возрастной группы.
TaxFeeInfo / Property / Taxes / Tax / UserCountries 0..1 UserCountries Контейнер для отображения стран пользователей, для которых налог включен или исключен. Если указан, налог будет включен или исключен только для пользователей из указанных стран.
TaxFeeInfo / Property / Taxes / Tax / UserCountries / @type 0..1 enum Тип спецификации 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

Ранг, определяющий порядок применения налога или сбора. Например, значение 2 означает, что налог применяется вторым. Этот элемент всегда следует указывать, если для <Type> установлено значение cumulative_percent . Как правило, такой порядок применяется как к налогам, так и к сборам.

<Rank>2</Rank>

Допускается дублирование значений ранга среди налогов и сборов, но это может привести к неопределенному поведению, когда налоги и сборы применяются произвольно и кумулятивно.

В качестве альтернативы, используйте параметр "exclusive" в <Rank> , чтобы указать, что все налоги и сборы одного ранга применяются к ставке. Значение по умолчанию — false , и все налоги и сборы одного ранга применяются к ставке произвольным образом. Параметр "exclusive" является необязательным.

Если параметр exclusive установлен в true , к ставке применяется только первый налог, указанный в разделе <Tax> , или первый сбор, указанный в разделе <Fee> .

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

Налоги применяются в первую очередь, а сборы — в первую очередь; поэтому, если налог и сбор имеют одинаковый приоритет, и для сбора параметр "exclusive" установлен в true , налог все равно применяется первым. Рекомендуется указывать налоги и сборы в том порядке, в котором они должны применяться.

Чтобы включить все налоги и сборы одного ранга, избегайте установки параметра exclusive в true .

Налоги и сборы, не учитывающие ранжирование, применяются до учета всех ранжированных заявок.

<Rank> должно находиться в диапазоне от 1 до 99 (включительно).

TaxFeeInfo / Property / Fees 0..1 Fees Контейнер для одного или нескольких элементов <Fee> .
TaxFeeInfo / Property / Fees / Fee 1..n Fee

Индивидуальный сбор, взимаемый за использование объекта недвижимости.

Все дочерние элементы <Tax> также поддерживаются для <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> :

  1. В первую очередь применяется налог на проживание с exclusive="true" и рангом 1.
  2. Налог на обслуживание номеров, относящийся к категории 1, применяться не будет, поскольку предыдущий налог на проживание не взимался.
  3. Далее применяется плата за уборку с exclusive="true" и рангом 2.
  4. Плата за пользование удобствами (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 было успешно обработано без предупреждений, ошибок или сбоев.

В каждом сообщении присутствует либо <Success> , либо <Issues> .

TaxFeeInfoResponse / Issues 0..1 Issues Контейнер для одной или нескольких проблем, возникших при обработке сообщения TaxFeeInfo .

В каждом сообщении присутствует либо <Success> , либо <Issues> .

TaxFeeInfoResponse / Issues / Issue 1..n Issue Описание предупреждения, ошибки или сбоя, возникшего при обработке сообщения TaxFeeInfo. Подробную информацию об этих проблемах можно найти в разделе «Сообщения об ошибках состояния ленты» .
TaxFeeInfoResponse / Issues / Issue / @code 1 integer Идентификатор проблемы.
TaxFeeInfoResponse / Issues / Issue / @status 1 enum

Тип возникшей проблемы.

Допустимые значения: warning , error и failure .

Примеры

Успех

Ниже приведён ответ на успешно обработанное сообщение TaxFeeInfo .

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfoResponse timestamp="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>