قوانین رتبه بندی مرجع XML

فایل XML قوانین نرخ، قوانینی را برای ارائه نرخ‌های شرطی و نرخ‌های خصوصی تعریف می‌کند. می‌توانید با استفاده از صفحه قوانین نرخ‌گذاری در مرکز هتل، فایل XML قوانین نرخ را اضافه یا ویرایش کنید. برای اطلاعات بیشتر درباره نرخ‌های مشروط و نرخ‌های خصوصی، به نرخ‌های مشروط و خصوصی مراجعه کنید.

هر قانون نرخ به یک 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>

ظرفی برای مشخص کردن:

  • شرایط ارائه یک نرخ
  • تغییرات، در صورت وجود، در قیمت و درمان UI برای نرخ
  • استفاده از درمان های UI پنهان برای نرخ های خصوصی

عنصر <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> مقادیری را مشخص می کند که درمان UI خاص را برای نرخ <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

هنگامی که <UserRateCondition> دارای چندین عنصر فرزند باشد، ویژگی op مورد نیاز است. مقدار مشخصه می تواند یکی از موارد زیر باشد:

  • all : شامل کاربران نهایی می شود که با تمام شرایط تعریف شده توسط این قانون نرخ مطابقت دارند. وقتی یکی از شرایط <UserListId> باشد، این مقدار نمی تواند استفاده شود، مگر اینکه فقط یک شرط دیگر - یا <AlwaysEligibleMembershipProgram> یا <MembershipProgram> - تعریف شده باشد.
  • any : شامل کاربران نهایی می شود که با هر یک از شرایط تعریف شده توسط این قانون نرخ مطابقت دارند.
  • none : کاربران نهایی را که با هر یک از شرایط تعریف شده توسط این قانون نرخ مطابقت دارند حذف کنید. وقتی یکی از شرایط <UserListId> باشد، نمی توان از این مقدار استفاده کرد.
reference_id Optional string

این عنصر را به عنوان ارجاع به <UserRateCondition> از پیش تعریف شده دیگر با id منطبق تعریف می کند.

هنگامی که reference_id وجود دارد:

  • عناصر کودک تجزیه نمی شوند
  • id و op نباید وجود داشته باشد

عناصر کودک

عنصر <UserRateCondition> دارای عناصر فرزند زیر است:

عنصر کودک ضروری؟ تایپ کنید شرح
<AlwaysEligibleMembershipProgram> Optional string

مشخص می‌کند که نرخ از درمان UI قابل مشاهده نرخ عضو استفاده می‌کند.

مقدار این عنصر می تواند هر نام برنامه عضویت باشد.

<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 2 حرفی یکسان نیست. کدهای منطقه CLDR پشتیبانی نمی شوند.

مشخص می کند که کاربر باید در کشور مشخص شده باشد. Google کشور کاربر نهایی را از آدرس IP آنها تعیین می کند.

<UserDeviceType> Optional enum شرایط نوع دستگاه را مشخص می کند. مقادیر مجاز عبارتند از:
  • mobile
  • desktop
  • tablet
<UserListId> Optional string شناسه فهرست کاربران Google Ads فهرست مخاطبان.

این شرط فقط با <AlwaysEligibleMembershipProgram> یا <MembershipProgram> قابل استفاده است، یا زمانی که op any دارد.

<UserSignedIn> Optional boolean یک 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>

نحوه نمایش UI پنهان نرخ عضو را نشان می دهد. اگر شامل نشود، درمان رابط کاربری پنهان نرخ عضو نمایش داده نمی‌شود.

برای استفاده از <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 : نرخ را با استفاده از درمان UI پنهان نرخ عضو نمایش می دهد.

نمونه هایی از نرخ های خصوصی

این بخش شامل نمونه‌های پنهان نرخ عضو (پایه) و نمونه‌های پنهان نرخ عضو (شرایط چندگانه) است. همچنین می توانید نرخ عضویت خود را به زیر مجموعه های کاربران نشان دهید. برای مثال، نمونه‌های نرخ‌های خصوصی را ببینید.

نمونه های پنهان نرخ عضو (پایه)

تخفیف دقیق

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

op = "همه"

نرخ عضو فقط برای کاربران لیست مخاطب پنهان است

این مثال نرخ خصوصی نوع 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>

UI شفاف/قابل مشاهده

این مثال نشان می‌دهد که چگونه می‌توان نرخ عضو را با دو روش UI (واسط کاربری شفاف و قابل مشاهده) برای کاربران در فهرست مخاطبان و نرخ‌های پنهان برای همه کاربران دیگر مشخص کرد.

<?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> ترکیب کنید تا درمان UI پنهان نرخ عضو را تغییر دهید.

مقادیر معتبر عبارتند از:

  • free_wifi : plus free wifi به متن اضافه می کند.
<PriceMultiplier> Optional float

با ضرب این مقدار در نرخ پایه، مالیات و کارمزد، قیمت را تغییر می‌دهد. برای مثال، اگر PriceMultiplier = 0.9، نرخ پایه = 100 دلار، مالیات = 20 دلار، هزینه ها = 10 دلار؛ سپس پس از اعمال ضریب: نرخ پایه = 90 دلار، مالیات = 18 دلار، هزینه ها = 9 دلار.

این به شما امکان می دهد برای همه نرخ ها با یک قانون نرخ مشخص تخفیف اعمال کنید.

نمونه هایی از نرخ های خصوصی

امکانات رفاهی هتل

نرخ عضو پنهان برای همه کاربران (تخفیف باند) + وای فای رایگان

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