XML-справка по правилам тарифов

XML-файл правил тарифов определяет правила предоставления условных и индивидуальных тарифов. Вы можете добавить или изменить XML-файл правил тарифов на странице «Правила тарифов» в Hotel Center . Подробнее об условных и индивидуальных тарифах см. в разделе «Условные и индивидуальные тарифы» .

Каждому правилу ставки требуется id , на который можно ссылаться в теге <Rate> сообщения о транзакции. Тег <Rate> , ссылающийся на идентификатор правила ставки, предоставляется только пользователям и при соблюдении условий, определенных этим правилом. На идентификатор правила ставки также можно ссылаться с помощью переменной в URL целевой страницы .

<RateRuleSettings>

Корневой элемент XML-файла правил тарификации. Элемент <RateRuleSettings> (ранее <PrivateRates> ) содержит:

  • Элементы <UserRateCondition> определяют условия сопоставления условных и частных ставок. Например, вы можете создать условную ставку, которая будет соответствовать условиям для всех пользователей в определённой стране.

  • Элементы <RateRule> , каждый из которых определяет правило ставки, используемое в теге <Rate> сообщения транзакции. Каждый элемент <RateRule> определяет условия и обработку пользовательского интерфейса, которые формируют условную или частную ставку.

Элемент <RateRuleSettings> отображается в следующем месте в иерархии XML правил ставок:

+ <RateRuleSettings>
    + <UserRateCondition>
    + <RateRule>
        + <UserRateCondition>
        + <RateIneligibility>
        + <RateModification>

Синтаксис

Элемент <RateRuleSettings> использует следующий синтаксис:

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <UserRateCondition id="some_id" op="[all|any|none]">
    ...
  </UserRateCondition>
  <!-- Required -->
  <RateRule id="rate_rule_id">
    <!-- Required -->
    <UserRateCondition op="[all|any|none]">
      ...
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

Атрибуты

Элемент <RateRuleSettings> не имеет атрибутов.

Дочерние элементы

Элемент <RateRuleSettings> имеет следующие дочерние элементы:

Дочерний элемент Необходимый? Тип Описание
<RateRule> Required <RateRule>

Определяет условия соответствия, модификации и право на обслуживание по условной или частной ставке. Требуется атрибут id , на который можно ссылаться в теге <Rate> сообщения о транзакции или в URL целевой страницы .

<UserRateCondition> Optional <UserRateCondition>

Определяет одно или несколько условий, при соблюдении которых предоставляются условные или частные тарифы.

Условия можно определять либо встроенными с помощью дочерних элементов <UserRateCondition> , либо ссылкой на другой элемент <UserRateCondition> с помощью атрибута reference_id , либо как встроенными, так и по ссылке. Однако любой <UserRateCondition> с reference_id должен иметь 0 дочерних элементов.

У элемента <UserRateCondition> верхнего уровня под <RateRuleSettings> должен быть атрибут id .

Примеры условных ставок

В следующих примерах показаны основные способы определения условных ставок.

Рекомендуется ссылаться на предопределенные условия, как показано в примере с мобильными пользователями .

Мобильные пользователи

В следующем примере условных ставок определяется правило ставки, которое соответствует всем мобильным пользователям, ссылаясь на предопределенное <UserRateCondition> :

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <UserRateCondition id="mobile">
    <UserDeviceType>mobile</UserDeviceType>
  </UserRateCondition>
  <RateRule id="mobile">
    <!-- Referencing pre-defined conditions is recommended -->
    <UserRateCondition reference_id="mobile"/>
  </RateRule>
</RateRuleSettings>

Пользователи из США

В следующем примере условных ставок определяется правило ставки, которое соответствует всем пользователям, выполняющим поиск в США, ссылаясь на предопределенное <UserRateCondition> :

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <UserRateCondition id="us">
    <UserCountry>US</UserCountry>
  </UserRateCondition>
  <RateRule id="us">
    <UserRateCondition reference_id="us"/>
  </RateRule>
</RateRuleSettings>

<RateRule>

Контейнер для указания:

  • Условия обслуживания ставки
  • Изменения, если таковые имеются, в цене и обработке пользовательского интерфейса для ставки
  • Использование скрытых процедур пользовательского интерфейса для частных тарифов

Элемент <RateRule> появляется в следующем месте в иерархии XML правил ставок:

+ 
<RateRuleSettings>
    + <UserRateCondition>
    + <RateRule>
        + <UserRateCondition>
        + <RateIneligibility>
        + <RateModification>

Синтаксис

Элемент <RateRule> использует следующий синтаксис:

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings ...>
  <UserRateCondition ...>
  ...
  </UserRateCondition>
  <!-- At least one RateRule is required. The id attribute is required -->
  <RateRule id="rate_rule_id">
    <!-- One or more UserRateCondition elements (inline or referenced) are required. -->
    <UserRateCondition op="[all|any|none]"> // Inline example
      <Description>user_rate_condition_description</Description>
      <!-- Uses the member rate visible UI treatment -->
      <AlwaysEligibleMembershipProgram>program_name</AlwaysEligibleMembershipProgram>
      <LanguageCode>language_code</LanguageCode>
      <MaxUsersPercent>20</MaxUsersPercent> // 20% of users
      <!-- Requires <RateIneligibility> -->
      <MembershipProgram>program_name</MembershipProgram>
      <UserRateCondition reference_id="user_rate_condition_id"/>
      <UserCountry>country_code</UserCountry>
      <UserDeviceType>[mobile|desktop|tablet]</UserDeviceType>
      <UserListId>id</UserListId>
      <UserSignedIn>[true|false]</UserSignedIn>
      <IsDomestic>[true|false]</IsDomestic>
    </UserRateCondition>
    <RateIneligibility>
      <IneligibilityType>[exact|price_band|existence]</IneligibilityType>
      <IneligibilityReason>[program_member]</IneligibilityReason>
    </RateIneligibility>
    <RateModification>
      <HotelAmenity>[free_wifi]</HotelAmenity>
    </RateModification>
  </RateRule>
</RateRuleSettings>

Атрибуты

Элемент <RateRule> имеет следующие атрибуты:

Атрибут Необходимый? Тип Описание
id Необходимый нить

Уникальный идентификатор правила ставки. Этот идентификатор указывается с помощью атрибута rate_rule_id элемента <Rate> в сообщении транзакции для предоставления условной или приватной ставки. id правила ставки также можно указать с помощью переменной и условий в URL целевой страницы .

Максимально допустимое количество символов — 40.

Дочерние элементы

Элемент <RateRule> имеет следующие дочерние элементы:

Дочерний элемент Необходимый? Тип Описание
<RateIneligibility> Optional <RateIneligibility> Задает значения, определяющие конкретную обработку пользовательского интерфейса для ставки <MembershipProgram> .

Действительно только в том случае, если в <UserRateCondition> указано <MembershipProgram> .

<UserRateCondition> Required <UserRateCondition>

Определяет одно или несколько условий, при соблюдении которых предоставляются условные или частные тарифы.

Условия могут быть определены либо встроенными с помощью дочерних элементов <UserRateCondition> , либо ссылкой на другой <UserRateCondition> с помощью атрибута reference_id , либо как встроенными, так и по ссылке.

Однако следует отметить, что если <UserRateCondition> является дочерним элементом <RateRule> , то элемент <UserRateCondition> не может иметь атрибут id и на него не может ссылаться другой <UserRateCondition> .

<RateModification> Optional <RateModification> Изменяет обработку пользовательского интерфейса для частных ставок.
<PromoCode> Optional string Указывает код, который будет связан с тарифом, если применяется это правило тарифа. Отражается в переменной целевой страницы PROMO-CODE .

<UserRateCondition>

Определяет одно или несколько условий, при соблюдении которых предоставляются условные или частные тарифы.

Элемент <UserRateCondition> появляется в следующем месте в иерархии XML правил оценки:

+ <RateRuleSettings>
    + <UserRateCondition>
    + <RateRule>
        + <UserRateCondition>
        + <RateIneligibility>
        + <RateModification>

Синтаксис

Элемент <UserRateCondition> использует следующий синтаксис:

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings ...>
  <!-- "op" is required for more than one child element -->
  <UserRateCondition id="some_id" op="[all|any|none]">
    <UserDeviceType>device_type</UserDeviceType>
  </UserRateCondition>
  <UserRateCondition id="some_other_id" op="[all|any|none]">
    <UserDeviceType>device_type</UserDeviceType>
  </UserRateCondition>
  <!-- At least one RateRule is required -->
  <RateRule id="rate_rule_id">
    <UserRateCondition reference_id="some_id"/>
  </RateRule>
  <RateRule id="rate_rule_id">
    <UserRateCondition reference_id="some_other_id"/>
  </RateRule>
  <RateRule id="rate_rule_id">
    <UserRateCondition>
      <UserDeviceType>device_type</UserDeviceType>
    </UserRateCondition>
  </RateRule>
<span class="nocode"></RateRuleSettings></span>

Атрибуты

Элемент <UserRateCondition> имеет следующие атрибуты:

Атрибут Необходимый? Тип Описание
id Required (if top-level under <RateRuleSettings> ) string

Уникальный идентификатор для этого <UserRateCondition> . На него можно ссылаться с помощью атрибута id <RateRule> или атрибута reference_id <UserRateCondition> .

op Optional enum

Атрибут op обязателен, если у <UserRateCondition> несколько дочерних элементов. Значение атрибута может быть одним из следующих:

  • all : включить конечных пользователей, соответствующих всем условиям, определенным этим правилом оценки. Это значение не может быть использовано, если одним из условий является <UserListId> , если только не определено только одно другое условие — либо <AlwaysEligibleMembershipProgram> , либо <MembershipProgram> .
  • any : включить конечных пользователей, которые соответствуют любому из условий, определенных этим правилом ставки.
  • none : исключить конечных пользователей, соответствующих любому из условий, определенных этим правилом ставки. Это значение нельзя использовать, если одним из условий является <UserListId> .
reference_id Optional string

Определяет этот элемент как ссылку на другой предопределенный <UserRateCondition> с соответствующим id .

При наличии reference_id :

  • Дочерние элементы не анализируются
  • id и op не должны присутствовать

Дочерние элементы

Элемент <UserRateCondition> имеет следующие дочерние элементы:

Дочерний элемент Необходимый? Тип Описание
<AlwaysEligibleMembershipProgram> Optional string

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

Значением этого элемента может быть любое название программы членства.

<Description> Optional string Описывает <UserRateCondition> . Это сделано для целей документирования и не влияет на его возможности.
<LanguageCode> Optional string Указывает, что тариф будет предложен пользователям, язык которых соответствует этому двухбуквенному коду языка .

Примечание : Рекомендуется использовать <UserCountry> вместо <LanguageCode> везде, где это возможно.

<MaxUsersPercent> Optional float

Указывает, что ставка будет предлагаться случайным образом указанному проценту конечных пользователей.

Значение должно быть целым числом от 0 до 100 (включительно). Например, значение 20 будет охватывать 20% конечных пользователей.

<MembershipProgram> Optional string

Указывает, что ставка будет использовать обработку пользовательского интерфейса программы членства, как определено <IneligibilityReason> из <RateIneligibility> .

Чтобы <MembershipProgram> был действительным, необходимо указать <RateIneligibility> .

Значением <MembershipProgram> может быть любое название программы членства.

<UserRateCondition> Optional <UserRateCondition>

Определяет одно или несколько условий, при соблюдении которых предоставляются условные или частные тарифы.

<UserRateCondition> с reference_id должен иметь 0 дочерних элементов.

<UserCountry> Optional string

Код страны CLDR , например, DE или FR . Обратите внимание, что для некоторых стран код CLDR не совпадает с двухбуквенным кодом ISO. Коды регионов CLDR не поддерживаются.

Указывает, что пользователь должен находиться в указанной стране. Google определяет страну конечного пользователя по его IP-адресу.

<UserDeviceType> Optional enum Определяет тип устройства. Допустимые значения:
  • mobile
  • desktop
  • tablet
<UserListId> Optional string Идентификатор списка пользователей Google Ads для списка аудитории.

Это условие можно использовать только с <AlwaysEligibleMembershipProgram> или <MembershipProgram> , или когда op имеет any .

<UserSignedIn> Optional boolean Логическое значение, указывающее, должен ли пользователь быть в системе Google. Значение true указывает, что пользователь должен быть в системе. Значение false указывает, что пользователь не должен быть в системе. Если вам не важно, вошел ли пользователь в систему или нет, не включайте условие <UserSignedIn> .
<IsDomestic> Optional boolean Логическое значение, указывающее, должен ли пользователь быть из той же страны, где расположен отель. Значение true указывает, что пользователь должен быть из той же страны, что и отель. Значение false указывает, что пользователь может быть из любой страны, кроме страны отеля. Для более точного управления используйте условие <UserCountry> .

Примеры условных ставок

Процент пользователей

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

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="20_percent_users">
    <UserRateCondition>
      <MaxUsersPercent>20</MaxUsersPercent>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

Пользователи Великобритании и мобильных устройств

В следующем примере условных ставок определяется правило ставки, которое соответствует всем пользователям, осуществляющим поиск в Соединенном Королевстве с помощью мобильного устройства, с использованием встроенного <UserRateCondition> :

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="gb_mobile">
    <UserRateCondition op="all">
      <UserCountry>GB</UserCountry>
      <UserDeviceType>mobile</UserDeviceType>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

Япония и не Япония

В следующем примере условных ставок показано одно правило ставки, которое соответствует пользователям в Японии, и другое правило ставки, которое соответствует пользователям в остальном мире (RoW):

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="jp">
    <UserRateCondition>
      <UserCountry>jp</UserCountry>
    </UserRateCondition>
  </RateRule>
  <RateRule id="row_not_jp">
    <UserRateCondition op="none">
      <UserCountry>jp</UserCountry>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

Любой, все и ни один

В следующем примере условных ставок показано, как атрибут op может использоваться для сопоставления по нескольким условиям различными способами, используя значения any , all и none . Например, как показано в условии au_nz , вы можете использовать any для сопоставления пользователей из любой из нескольких стран. Как показано в правиле ставки au_nz_mobile_tablet , вы можете использовать all для требования соответствия пользователей нескольким условиям. Правило ставки row_mobile_tablet будет сопоставлять пользователей, находящихся в остальном мире (row), за исключением Австралии и Новой Зеландии, и которые также соответствуют условию mobile_tablet .

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <UserRateCondition id="au_nz" op="any">
    <UserCountry>AU</UserCountry>
    <UserCountry>NZ</UserCountry>
  </UserRateCondition>
  <UserRateCondition id="mobile_tablet" op="any">
    <UserDeviceType>mobile</UserDeviceType>
    <UserDeviceType>tablet</UserDeviceType>
  </UserRateCondition>
  <RateRule id="au_nz_mobile_tablet">
    <UserRateCondition op="all">
      <UserRateCondition reference_id="au_nz"/>
      <UserRateCondition reference_id="mobile_tablet"/>
    </UserRateCondition>
  </RateRule>
  <RateRule id="row_mobile_tablet">
    <UserRateCondition op="all">
      <UserRateCondition op="none">
        <UserRateCondition reference_id="au_nz"/>
      </UserRateCondition>
      <UserRateCondition reference_id="mobile_tablet"/>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

Примеры частных тарифов

Видимая ставка участника 1

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="member_visible">
    <UserRateCondition>
      <AlwaysEligibleMembershipProgram>[enter your program here]</AlwaysEligibleMembershipProgram>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

Видимая ставка участника 2

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="member_visible_es_only">
    <UserRateCondition op="all">
      <AlwaysEligibleMembershipProgram>[enter your program here]</AlwaysEligibleMembershipProgram>
      <UserCountry>es</UserCountry>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

Рейтинг списка аудитории 1

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="audience_list">
    <UserRateCondition>
      <UserListId>[enter an audience list id]</UserListId>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

Рейтинг списка аудитории 2

В этом примере частных ставок показано, как задать видимую обработку пользовательского интерфейса ставок участников для нескольких списков аудитории:

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="membership_program">
    <UserRateCondition op="all">
      <AlwaysEligibleMembershipProgram>[enter the program name here]</AlwaysEligibleMembershipProgram>
      <UserRateCondition op="any">
        <UserListId>[enter one audience list id here]</UserListId>
        <UserListId>[enter another audience list id here]</UserListId>
      </UserRateCondition>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

<RateIneligibility>

Указывает, как отображать скрытый интерфейс для оценки участника. Если не указано иное, скрытый интерфейс для оценки участника не отображается.

Чтобы использовать <RateIneligibility> в <RateRule> , <MembershipProgram> также необходимо указать в элементе <UserRateCondition> для <RateRule> .

Элемент <RateIneligibility> появляется в следующем месте в иерархии XML правил ставок:

+ 
<RateRuleSettings>
    + <UserRateCondition>
    + <RateRule>
        + <UserRateCondition>
        + <RateIneligibility>
        + <RateModification>

Синтаксис

Элемент <RateIneligibility> использует следующий синтаксис:

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings ...>
  <UserRateCondition ...>
  ...
  </UserRateCondition>
  <RateRule ...>
    <UserRateCondition ...>
      ...
      <!-- Required when using RateIneligibility -->
      <MembershipProgram>program_name</MembershipProgram>
      ...
    </UserRateCondition>
    <RateIneligibility>
      <IneligibilityType>[exact|price_band|existence]</IneligibilityType>
      <IneligibilityReason>[program_member]</IneligibilityReason>
    </RateIneligibility>
  </RateRule>
</RateRuleSettings>

Атрибуты

Элемент <RateIneligibility> не имеет атрибутов.

Дочерние элементы

Элемент <RateIneligibility> имеет следующие дочерние элементы:

Дочерний элемент Необходимый? Тип Описание
<IneligibilityType> Required enum

Определяет, как текст (отображаемый рядом с перечеркнутой ставкой) будет описывать скрытую ставку.

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

  • exact : процент скидки. Текст будет выглядеть так: «Получите скидку X% при бесплатной регистрации».
  • price_band : диапазон скидок. Текст будет выглядеть так: «Получите скидку XY% при бесплатной регистрации». Для скидок от 1% до 5% текст будет выглядеть так: «Получите скидку до 5%». Более крупные скидки будут отображаться с шагом в 5 пунктов, например, «Получите скидку 5–10%» или «Получите скидку 10–15%».
  • existence : Неконкретная подсказка. В данном случае текст будет выглядеть так: «Получите более низкую цену благодаря бесплатной регистрации».

Дополнительную информацию о лечении недержания мочи можно найти в разделе «Подробности и примеры частных тарифов» .

<IneligibilityReason> Required enum

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

  • program_member : отображает ставку, используя скрытую обработку пользовательского интерфейса ставки участника.

Примеры частных тарифов

В этом разделе представлены примеры скрытых тарифов для участников (базовые) и примеры скрытых тарифов для участников (множественные условия). Вы также можете показывать свои тарифы для участников подгруппам пользователей. Чтобы отобразить цены для участников, сначала отправьте цену одного тарифа для самого дешёвого пакета номеров, а затем — цены для остальных пакетов номеров. Несколько тарифов для участников не допускаются.

Примеры смотрите в разделе Примеры частных тарифов .

Скрытые примеры оценок участников (базовые)

Точная скидка

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="membership_program">
    <RateIneligibility>
      <IneligibilityReason>program_member</IneligibilityReason>
      <IneligibilityType>exact</IneligibilityType>
    </RateIneligibility>
    <UserRateCondition>
      <MembershipProgram>[enter program name here]</MembershipProgram>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

Скидка на группу

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="membership_program">
    <RateIneligibility>
      <IneligibilityReason>program_member</IneligibilityReason>
      <IneligibilityType>price_band</IneligibilityType>
    </RateIneligibility>
    <UserRateCondition>
      <MembershipProgram>[enter program name here]</MembershipProgram>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

Намек на скидку

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="membership_program">
    <RateIneligibility>
      <IneligibilityReason>program_member</IneligibilityReason>
      <IneligibilityType>existence</IneligibilityType>
    </RateIneligibility>
    <UserRateCondition>
      <MembershipProgram>[enter program name here]</MembershipProgram>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

Скрытые примеры оценок участников (множественные условия)

op="любой"

Ставка списка аудитории для участников + скрытая ставка участника (скидка за существование) для не участников

В этом примере с приватными ставками existence тип скрытого пользовательского интерфейса, который будет отображаться для пользователей, а не для списка аудитории. Пользователи в списке аудитории будут видеть ставку аудитории.

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="membership_program">
    <RateIneligibility>
      <IneligibilityReason>program_member</IneligibilityReason>
      <IneligibilityType>existence</IneligibilityType>
    </RateIneligibility>
    <UserRateCondition op="any">
      <MembershipProgram>[enter program name here]</MembershipProgram>
      <UserListId>[enter you audience list id here]</UserListId>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

оп="все"

Ставка участника скрыта только для пользователей списка аудитории

В этом примере тарифа для частных лиц указан exact тип скрытого пользовательского интерфейса тарифа для участников, модифицированный дополнительным текстом «плюс бесплатный Wi-Fi». Этот вариант пользовательского интерфейса будет отображаться пользователям, соответствующим списку аудитории.

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="membership_program_for_audience_list">
    <RateIneligibility>
      <IneligibilityReason>program_member</IneligibilityReason>
      <IneligibilityType>exact</IneligibilityType>
    </RateIneligibility>
    <RateModification>
      <HotelAmenity>free_wifi</HotelAmenity>
    </RateModification>
    <UserRateCondition op="all">
      <MembershipProgram>[enter program name here]</MembershipProgram>
      <UserListId>[enter you audience list id here]</UserListId>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

Прозрачный/видимый пользовательский интерфейс

В этом примере показано, как указать ставку участника с двумя вариантами пользовательского интерфейса (прозрачный и видимый) для пользователей в списке аудитории и скрытые ставки для всех остальных пользователей.

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="membership_program">
    <RateIneligibility>
      <IneligibilityReason>program_member</IneligibilityReason>
      <IneligibilityType>existence</IneligibilityType>
    </RateIneligibility>
    <UserRateCondition op="any">
      <MembershipProgram>[enter program name here]</MembershipProgram>
      <UserRateCondition op="all">
        <UserListId>[enter you audience list id here]</UserListId>
        <AlwaysEligibleMembershipProgram>program_name</AlwaysEligibleMembershipProgram>
      </UserRateCondition>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

<RateModification>

Изменяет обработку пользовательского интерфейса для частных ставок.

Элемент <RateModification> появляется в следующем месте в иерархии XML правил ставок:

+ 
<RateRuleSettings>
    + <UserRateCondition>
    + <RateRule>
        + <UserRateCondition>
        + <RateIneligibility>
        + <RateModification>

Атрибуты

Элемент <RateModification> не имеет атрибутов.

Дочерние элементы

Элемент <RateModification> имеет следующие дочерние элементы:

Дочерний элемент Необходимый? Тип Описание
<HotelAmenity> Optional enum

Объедините с <MembershipProgram> и <RateIneligibility> , чтобы изменить обработку скрытого пользовательского интерфейса ставки участника.

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

  • free_wifi : Добавляет к тексту plus free wifi .
<PriceMultiplier> Optional float

Изменяет цену, умножая это значение на базовую ставку, налоги и сборы. Например, если PriceMultiplier = 0,9, базовая ставка = $100, налоги = $20, сборы = $10; то после применения множителя: базовая ставка = $90, налоги = $18, сборы = $9.

Это позволяет вам применять скидку ко всем тарифам с определенным правилом ставки.

Примеры частных тарифов

Удобства отеля

Тариф скрыт для всех пользователей (скидки для участников группы) + бесплатный Wi-Fi

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="membership_program">
    <RateIneligibility>
      <IneligibilityReason>program_member</IneligibilityReason>
      <IneligibilityType>price_band</IneligibilityType>
    </RateIneligibility>
    <RateModification>
      <HotelAmenity>free_wifi</HotelAmenity>
    </RateModification>
    <UserRateCondition>
      <MembershipProgram>[enter program name here]</MembershipProgram>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>

Множитель цены

Примените скидку 5% к тарифам мобильной связи в ленте цен

<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
  <RateRule id="mobile">
    <RateModification>
      <PriceMultiplier>0.95</PriceMultiplier>
    </RateModification>
    <UserRateCondition>
      <UserDeviceType>mobile</UserDeviceType>
    </UserRateCondition>
  </RateRule>
</RateRuleSettings>