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> .

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

<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 Указывает, что тариф будет предложен пользователям, чей язык соответствует этому двухбуквенному коду языка .
<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 Рекламы для списка аудитории.

Это условие можно использовать только с <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 , вы можете использовать его для сопоставления пользователей в любой из нескольких стран. Как показано в правиле ставки au_nz_mobile_tablet , вы можете использовать all , чтобы потребовать, чтобы пользователи соответствовали нескольким условиям. Правило ставки row_mobile_tablet будет соответствовать пользователям из остального мира (строка), за исключением Австралии и Новой Зеландии, которые также соответствуют условию 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>

Скрытые примеры членского рейтинга (несколько условий)

оп="любой"

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

В этом примере частных тарифов указывается тип 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>