مرجع XML قوانین مربوط به نرخ

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

هر قانون نرخ به یک id نیاز دارد که می‌توان در <Rate> «پیام تراکنش» به آن ارجاع داد. <Rate> که به شناسه قانون مربوط به نرخ ارجاع می‌دهد فقط به کاربران و تحت شرایط تعریف‌شده توسط قانون مربوط به نرخ ارائه می‌شود. شناسه قانون نرخ را می‌توان بااستفاده از متغیری در نشانی وب صفحه مقصد نیز ارجاع داد.

<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> پیام «تراکنش» یا در نشانی وب صفحه مقصد به آن ارجاع داد.

<UserRateCondition> Optional <UserRateCondition>

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

شرایط را می‌توان به‌صورت درون‌خطی بااستفاده از عناصر فرزند <UserRateCondition>، با ارجاع به عنصر <UserRateCondition> دیگر بااستفاده از مشخصه reference_id، یا به‌صورت درون‌خطی و با ارجاع تعریف کرد. اما هر <UserRateCondition> با reference_id باید ۰ فرزند داشته باشد.

<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>
      <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 الزامی رشته

شناسه یکتای قانون مربوط به نرخ. این شناسه بااستفاده از مشخصه rate_rule_id مربوط به <Rate> در پیام «تراکنش» ارجاع داده می‌شود تا نرخ خصوصی یا مشروط ارائه شود. قانون نرخ id را می‌توان بااستفاده از متغیر و شرایط در نشانی وب صفحه مقصد نیز ارجاع داد.

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

عناصر فرزند

عنصر <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>
    <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

شناسه یکتا برای این <UserRateCondition>. می‌تواند با مشخصه <RateRule> id یا مشخصه <UserRateCondition> reference_id ارجاع داده شود.

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

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

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

<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 باید ۰ فرزند داشته باشد.

<UserCountry> Optional string

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

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

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

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

<UserSignedIn> Optional boolean یک مقدار بولی که مشخص می‌کند آیا کاربر باید به «حساب Google» خود وارد شده باشد یا نه. مقدار true نشان می‌دهد که کاربر باید به سیستم وارد شده باشد. مقدار false نشان می‌دهد که کاربر نباید به سیستم وارد شده باشد. اگر برایتان مهم نیست که کاربر به سیستم وارد شده است یا نه، شرط <UserSignedIn> را اضافه نکنید.
<IsDomestic> Optional boolean بولی که مشخص می‌کند آیا کاربر باید از همان کشوری باشد که هتل در آن واقع شده است یا نه. مقدار true نشان می‌دهد که کاربر باید از همان کشور هتل باشد. مقدار false نشان می‌دهد که کاربر ممکن است از هر کشوری غیراز کشور هتل باشد. اگر کنترل دقیق‌تری می‌خواهید، از شرط <UserCountry> استفاده کنید.
<PackageType> Optional enum شرط نوع بسته را تعریف می‌کند. مقادیر مجاز این‌ها هستند:
  • direct_offer

توجه: direct_offer نوع خاصی از نرخ است که توسط آگهی‌دهنده ارائه می‌شود، به‌طور عمومی دردسترس نیست، و از «بهترین نرخ عمومی» بهتر است.

نمونه‌های نرخ‌های شرطی

درصد کاربران

نمونه نرخ‌های شرطی زیر مشخص می‌کند که نرخ به‌طور تصادفی به بیست درصد از کاربران پیشنهاد خواهد شد:

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

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

Member rate visible 1

<?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> هیچ مشخصه‌ای ندارد.

عناصر فرزند

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

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

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

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

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

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

<IneligibilityReason> Required enum

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

  • program_member: نرخ را بااستفاده از رفتار واسط کاربر پنهان نرخ برای اعضا نمایش می‌دهد.

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

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

برای مشاهده نمونه‌ها، به نمونه‌های نرخ خصوصی مراجعه کنید.

Member rate hidden examples (basic)

تخفیف دقیق

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

با <MembershipProgram> و <RateIneligibility> ترکیب کنید تا رفتار واسط کاربر پنهان نرخ ویژه اعضا را اصلاح کنید.

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

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

قیمت را با ضرب کردن این مقدار در نرخ پایه، مالیات، و کارمزدها اصلاح می‌کند. برای مثال، اگر PriceMultiplier = ۰٫۹، نرخ پایه = ۱۰۰ دلار، مالیات = ۲۰ دلار، کارمزد = ۱۰ دلار باشد؛ پس‌از اعمال ضریب: نرخ پایه = ۹۰ دلار، مالیات = ۱۸ دلار، کارمزد = ۹ دلار خواهد بود.

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

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

امکانات هتل

نرخ اعضا برای همه کاربران پنهان است (تخفیف‌های گروهی) + 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>

ضریب قیمت

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

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

پیشنهاد مستقیم

اعمال ۱۵٪ تخفیف روی نرخ‌های پیشنهاد مستقیم تلفن همراه در «فید قیمت»

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