قوانین رتبه بندی مرجع 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>

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

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

عنصر <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 صفحه فرود ارجاع داده شود.

حداکثر تعداد کاراکتر مجاز ۴۰ است. این شناسه نمی‌تواند رشته خالی باشد.

عناصر فرزند

عنصر <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 مشخص می‌کند که این نرخ به کاربرانی ارائه می‌شود که زبان آنها با این کد زبان دو حرفی مطابقت دارد.

نکته : توصیه می‌شود در صورت امکان از <UserCountry> به جای <LanguageCode> استفاده کنید.

<MaxUsersPercent> Optional float

مشخص می‌کند که نرخ به صورت تصادفی به این درصد از کاربران نهایی ارائه می‌شود.

مقدار باید یک عدد صحیح بین ۰ تا ۱۰۰ (شامل) باشد. برای مثال، عدد ۲۰، ۲۰٪ از کاربران نهایی را هدف قرار می‌دهد.

<MembershipProgram> Optional string

مشخص می‌کند که نرخ از یک رابط کاربری برنامه عضویت مطابق با <IneligibilityReason> از <RateIneligibility> استفاده خواهد کرد.

برای اینکه <MembershipProgram> معتبر باشد، <RateIneligibility> باید مشخص شود.

مقدار <MembershipProgram> می‌تواند هر نام برنامه عضویتی باشد.

<UserRateCondition> Optional <UserRateCondition>

یک یا چند شرط را تعریف می‌کند که در صورت تطبیق، منجر به ارائه نرخ‌های مشروط یا خصوصی می‌شوند.

یک <UserRateCondition> با یک reference_id باید 0 فرزند داشته باشد.

<UserCountry> Optional string

کد کشور CLDR ، مانند DE یا FR . توجه داشته باشید که برای برخی از کشورها، کد CLDR با کد ISO دو حرفی یکسان نیست. کدهای منطقه‌ای CLDR پشتیبانی نمی‌شوند.

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

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

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

<UserSignedIn> Optional boolean یک مقدار بولی که مشخص می‌کند آیا کاربر باید وارد حساب گوگل خود شود یا خیر. مقدار 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>

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

امتیاز اعضا قابل مشاهده ۱

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

امتیاز اعضا قابل مشاهده ۲

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

امتیاز فهرست مخاطبان ۱

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

امتیاز فهرست مخاطبان ۲

این مثال نرخ‌های خصوصی نشان می‌دهد که چگونه می‌توان یک رابط کاربری قابل مشاهده برای نرخ اعضا را برای چندین لیست مخاطب مشخص کرد:

<?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> هیچ ویژگی (attribute) ندارد.

عناصر فرزند

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

عنصر فرزند الزامی است؟ نوع توضیحات
<IneligibilityType> Required enum

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

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

  • exact : درصد تخفیف. متن به این صورت خواهد بود: «با ثبت‌نام رایگان، X٪ تخفیف بگیرید.»
  • price_band : محدوده تخفیف. متن به این صورت خواهد بود: «با ثبت‌نام رایگان، XY٪ تخفیف بگیرید.» برای تخفیف‌های ۱ تا ۵٪، متن به این صورت خواهد بود: «تا ۵٪ تخفیف بگیرید.» تخفیف‌های بزرگتر با افزایش ۵ امتیازی نشان داده می‌شوند، مانند «۵ تا ۱۰٪ تخفیف بگیرید» یا «۱۰ تا ۱۵٪ تخفیف بگیرید».
  • existence : یک راهنمایی غیرمشخص. در این مورد، متن به این صورت خواهد بود: «با ثبت‌نام رایگان، قیمت پایین‌تری دریافت کنید.»

برای کسب اطلاعات بیشتر در مورد درمان‌های UI به جزئیات و مثال‌های نرخ‌های خصوصی مراجعه کنید.

<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 رابط کاربری پنهان نرخ اعضا را مشخص می‌کند که با متن اضافی "به‌علاوه وای‌فای رایگان" اصلاح شده است. این رابط کاربری به کاربرانی نشان داده می‌شود که با لیست مخاطبان مطابقت دارند.

<?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> هیچ ویژگی (attribute) ندارد.

عناصر فرزند

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

عنصر فرزند الزامی است؟ نوع توضیحات
<HotelAmenity> Optional enum

برای تغییر رابط کاربری مخفی مربوط به نرخ عضویت، این کد را با <MembershipProgram> و <RateIneligibility> ترکیب کنید.

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

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

ضریب قیمت

اعمال ۵٪ تخفیف روی نرخ‌های موبایل در فید قیمت

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