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> | Определяет условия сопоставления, изменения и критерии для предоставления условного или частного тарифа. Требует атрибута |
<UserRateCondition> | Optional | <UserRateCondition> | Определяет одно или несколько условий, при совпадении которых предоставляются условные или частные тарифы. Условия могут быть определены либо непосредственно в элементе Элемент верхнего уровня |
Примеры условных ставок
Следующие примеры демонстрируют основные способы определения условных ставок.
Рекомендуется использовать предопределенные условия, как показано в примере для мобильных пользователей .
Пользователи мобильных устройств
В следующем примере условных тарифов определяется правило тарифа, которое соответствует всем пользователям мобильной связи, ссылаясь на предопределенное условие <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>
<PackageType>[direct_offer]</PackageType>
</UserRateCondition>
<RateIneligibility>
<IneligibilityType>[exact|price_band|existence]</IneligibilityType>
<IneligibilityReason>[program_member]</IneligibilityReason>
</RateIneligibility>
<RateModification>
<HotelAmenity>[free_wifi]</HotelAmenity>
</RateModification>
</RateRule>
</RateRuleSettings>
Атрибуты
Элемент <RateRule> имеет следующие атрибуты:
| Атрибут | Необходимый? | Тип | Описание |
|---|---|---|---|
id | Необходимый | нить | Уникальный идентификатор правила расчета тарифа. Этот идентификатор используется с атрибутом Максимально допустимое количество символов — 40. Этот идентификатор не может быть пустой строкой. |
Дочерние элементы
Элемент <RateRule> имеет следующие дочерние элементы:
| Дочерний элемент | Необходимый? | Тип | Описание |
|---|---|---|---|
<RateIneligibility> | Optional | <RateIneligibility> | Указывает значения, определяющие конкретный способ обработки пользовательского интерфейса для тарифа <MembershipProgram> . Действительно только при наличии параметра |
<UserRateCondition> | Required | <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>
<PackageType>package_type</PackageType>
</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 | Уникальный идентификатор для этого |
op | Optional | enum | Атрибут
|
reference_id | Optional | string | Определяет этот элемент как ссылку на другой предопределенный Если присутствует
|
Дочерние элементы
Элемент <UserRateCondition> имеет следующие дочерние элементы:
| Дочерний элемент | Необходимый? | Тип | Описание |
|---|---|---|---|
<AlwaysEligibleMembershipProgram> | Optional | string | Указывает, что для расчета ставки будет использоваться видимый пользовательский интерфейс для расчета ставки участника. Значением этого элемента может быть любое название программы членства. |
<Description> | Optional | string | Описывает условие <UserRateCondition> . Это сделано в целях документирования и не влияет на его возможности. |
<LanguageCode> | Optional | string | Указывает, что тариф будет предложен пользователям, язык которых соответствует этому двухбуквенному языковому коду . Примечание : Рекомендуется по возможности использовать |
<MaxUsersPercent> | Optional | float | Указывается, что данная ставка будет предлагаться случайным образом указанному проценту конечных пользователей. Значение должно быть целым числом от 0 до 100 (включительно). Например, значение 20 будет соответствовать 20% конечных пользователей. |
<MembershipProgram> | Optional | string | Указывает, что для расчета тарифа будет использоваться обработка пользовательского интерфейса программы членства, определяемая параметром Для корректной работы Значение параметра |
<UserRateCondition> | Optional | <UserRateCondition> | Определяет одно или несколько условий, при совпадении которых предоставляются условные или частные тарифы. Объект |
<UserCountry> | Optional | string | Код страны CLDR , например, Указывает, что пользователь должен находиться в указанной стране. Google определяет страну конечного пользователя по его IP-адресу. |
<UserDeviceType> | Optional | enum | Определяет условие типа устройства. Допустимые значения:
|
<UserListId> | Optional | string | Идентификатор списка пользователей Google Ads для списка аудитории. Это условие может использоваться только с |
<UserSignedIn> | Optional | boolean | Логическое значение, указывающее, должен ли пользователь быть авторизован в своей учетной записи Google. Значение true означает, что пользователь должен быть авторизован. Значение false означает, что пользователь не должен быть авторизован. Если вам неважно, авторизован пользователь или нет, не используйте условие <UserSignedIn> . |
<IsDomestic> | Optional | boolean | Логическое значение, указывающее, должен ли пользователь быть из той же страны, что и отель. Значение true означает, что пользователь должен быть из той же страны, что и отель. Значение false означает, что пользователь может быть из любой страны, кроме страны отеля. Для более точного контроля используйте условие <UserCountry> . |
<PackageType> | Optional | enum | Определяет условие типа пакета. Допустимые значения:
Примечание : |
Примеры условных ставок
Процент пользователей
В следующем примере с условными тарифами указано, что тариф будет предлагаться случайным образом двадцати процентам пользователей:
<?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 будет сопоставлять пользователей, находящихся в остальном мире (строка), за исключением Австралии и Новой Зеландии, и которые также соответствуют условию 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 | Определяет, как текст (отображаемый рядом с перечеркнутой ставкой) будет описывать скрытую ставку. Допустимые значения:
Подробнее о методах обработки пользовательского интерфейса см. в разделе «Подробная информация о тарифах и примеры для частных клиентов» . |
<IneligibilityReason> | Required | enum | Допустимые значения:
|
Примеры частных тарифов
В этом разделе представлены примеры скрытых тарифов для участников (базовые) и примеры скрытых тарифов для участников (с несколькими условиями). Вы также можете показывать свои тарифы для участников подгруппам пользователей. Для отображения цен по тарифам для участников сначала следует отправить цену по одному тарифу для самого дешевого пакета номеров, а затем цены на остальные пакеты номеров. Показ нескольких тарифов для участников не допускается.
Примеры можно посмотреть в разделе «Примеры тарифов для частных лиц» .
Примеры скрытых тарифов для участников (базовые)
Точная скидка
<?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="any"
Стоимость подписки для членов клуба + скрытая скидка для членов клуба (скидка за наличие подписки) для нечленов клуба.
В этом примере с частными тарифами указан тип 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>
op="all"
Скидка для участников скрыта только для пользователей из списка аудитории.
В этом примере с индивидуальным тарифом указан 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 | Используйте в сочетании с Допустимые значения:
|
<PriceMultiplier> | Optional | float | Изменяет цену, умножая это значение на базовую ставку, налоги и сборы. Например, если Это позволяет применять скидку ко всем тарифам, для которых действует определенное правило расчета. |
Примеры частных тарифов
Удобства отеля
Скрытая скидка для всех пользователей (скидки на билеты) + бесплатный 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>
Прямое предложение
Примените скидку 15% к тарифам мобильного предложения Direct в разделе «Цены».
<?xml version="1.0" encoding="UTF-8"?>
<RateRuleSettings>
<RateRule id="do-mobile">
<RateModification>
<PriceMultiplier>0.85</PriceMultiplier>
</RateModification>
<UserRateCondition>
<UserDeviceType>mobile</UserDeviceType>
<PackageType>direct_offer</PackageType>
</UserRateCondition>
</RateRule>
</RateRuleSettings>