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 Уникальный идентификатор этого сообщения запроса. Это значение возвращается в ответном сообщении. Допустимые символы: a-z, A-Z, 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> сообщения Transaction (Property Data) и идентифицируется с помощью RoomID. (На его значение <RoomID> также ссылается атрибут InvTypeCode в сообщениях OTA_HotelRateAmountNotifRQ).
TaxFeeInfo / Property / Taxes / Tax / RoomTypes / RoomType / @id 1 string Уникальный идентификатор инвентаря (типа номера). Это значение сопоставляется с <RoomID> в сообщении Transaction (Property Data). Максимальное количество символов – 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> сообщения Transaction (Property Data) и со значением 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> задано amount.
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>. Определяет набор смежных и неперекрывающихся налоговых категорий. Пример: налог на товары и услуги в Индии.

Этот элемент действителен, только если для <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.

Если для параметра UserCountries type задано значение include, налог будет применяться только к пользователям из перечисленных стран.

Если же для UserCountries type задано значение exclude, налог будет применяться только к пользователям за пределами указанных стран.

Если параметр UserCountries type не задан, мы будем считать, что он имеет значение 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>

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

Чтобы включить все налоги и сборы одного ранга, не задавайте для атрибута 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 лет.
  • Налог для детей от 0 до 10 лет составляет 5 долларов США.
<?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% с рангом 1 exclusive="true".
  • Налог на обслуживание в номерах в размере 10 долларов США с рангом 1.
  • Плата за уборку в размере 50 долларов США с рангом 2 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>