الأسعار المشروطة

الأسعار المشروطة هي نوع من قواعد الأسعار التي تتيح لك تقديم أسعار مختلفة. لبرامج الرحلات استنادًا إلى معايير مثل جهاز المستخدم أو بلده أو ما إذا سجّل المستخدم الدخول إلى Google أم لا.

عندما يكون لديك أكثر من سعر علني أو مشروط لبرنامج رحلة معيّن أو حزمة الغرفة، سيرى المستخدم أدنى سعر. تختار Google دائمًا الأسعار الأدنى السعر المؤهل للمستخدم.

نظرة عامة

تظهر الأسعار المشروطة في خانات الأسعار العادية، ولا يتم عرضها إلا للمستخدمين الذين تستوفي عمليات بحثهم معايير السعر المشروط المرتبط يمكن أن تستند هذه المعايير إلى ما يلي:

لتفعيل الأسعار المشروطة، عدِّل ما يلي:

الأسعار المشروطة الخاصة بالجهاز

الأسعار الخاصة بالجهاز هي أسعار الفنادق التي يمكن الاطّلاع عليها وحجزها فقط من قِبل المستخدمين على جهاز معيّن، مثل جهاز جوّال أو جهاز لوحي أو كمبيوتر مكتبي. الأسعار هي التي يقدّمها شركاء Google، ويمكن للمستخدمين النهائيين الاطّلاع على تلك البيانات وحجزها الأسعار الخاصة بالأجهزة على موقع الشريك.

fenced_rates

الأسعار المشروطة الخاصة بالبلد

الأسعار الخاصة بكل بلد هي أسعار الفنادق الظاهرة والقابلة للحجز فقط من قِبل المستخدمين الذين يبحثون عن فنادق من بلد معيّن Google البلد باستخدام عنوان IP للمستخدم النهائي. الأسعار مقدَّمة ويمكن لشركاء Google والمستخدمين النهائيين الاطّلاع على تفاصيل الرحلة الخاصة بالبلد وحجزها الأسعار على موقع الشريك الإلكتروني الخاص بالبلد

الأسعار المشروطة بلغات معيّنة

لا تظهر الأسعار حسب اللغات إلا للمستخدمين الذين يبحثون عن فنادق أثناء استخدام إعدادات لغة معيّنة في Google لغات متفرقة يتم تحديد الشروط باستخدام العنصر <LanguageCode>.

الأسعار المشروطة المستندة إلى عيّنات منخفضة

لا تظهر المعدلات الشرطية المستندة إلى عينات إلا لمجموعة فرعية عشوائية من جميع المستخدمين المؤهَّلين. يتم تحديد معدّل أخذ العيّنات باستخدام السمة <MaxUsersPercent>. ويتم حسابه باستخدام ما يلي:

MaxUsersPercent = (number of users selected to view rate)/(total eligible users)

الأسعار المشروطة عند تسجيل الدخول

لا تظهر معدلات تسجيل الدخول إلا للمستخدمين الذين سجّلوا الدخول باستخدام الحساب. يوفّر شركاء Google الأسعار، ويمكن للمستخدمين الاطّلاع عليها وحجزها. الأسعار على الموقع الإلكتروني للشريك. يتم تحديد معدلات تسجيل الدخول باستخدام العنصر <UserSignedIn>.

وبما أنّ Google تختار دائمًا أدنى سعر مؤهَّل، إذا كان السعر المشروط أعلى من السعر المحدَّد على مستوى <Result>، أي أنّ السعر المشروط لن يتم اختياره مطلقًا. ولتجنب ذلك، عليك إزالة السعر عند <Result> المستوى والحالة. يمكنك بدلاً من ذلك التواصل مع المدير التقني للحسابات حول استخدام قاعدة أسعار تلقائية للأسعار المحدَّدة على مستوى <Result>

إنشاء ملف XML لقواعد الأسعار

يتم تحديد قواعد الأسعار للأسعار المشروطة باستخدام ملف XML لقواعد الأسعار. بالنسبة لمزيد من المعلومات، يُرجى الاطّلاع على مقالة قواعد السعر بتنسيق XML المرجع:

تعديل خلاصة الأسعار

يتم تعيين الأسعار الشرطية باستخدام العنصر في رسالة المعاملة:

يمكن أيضًا استخدام العنصر <Rate> كعناصر ثانوية متعددة لـ <Rates>. ضمن العنصر <RoomBundle> أو <Result>. لاستخدامها كشرطة معدّل الضريبة، عليك ضبط قيمة سمة rate_rule_id لتتطابق مع رقم تعريف قاعدة السعر الذي حدّدته في ملف XML لقواعد الأسعار.

إذا لم يكن لديك معدّل تلقائي للإشغال المزدوج العام، يمكنك ضبط <Baserate>. عنصر ثانوي لرسالة <Result> المُرسَلة إلى -1. أي شرطي إنّ <Rates> التي يتم إرسالها إلى Google في هذه الحالة تُعتبر صالحة.

أمثلة

القاعدة + الشرطية

يعرض المثال التالي رسالة معاملة تحتوي على حقل أساسي معدّل الضريبة ومعدّل المشروطة:

<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2023-04-10</Checkin>
    <Nights>1</Nights>

    <Baserate currency="USD">200.00</Baserate>
    <Tax currency="USD">20.00</Tax>
    <OtherFees currency="USD">1.00</OtherFees>

    <Rates>
      <!-- The rate_rule_id is required when using conditional rates -->
      <Rate rate_rule_id="mobile">
        <!-- Override base rate and taxes for conditional rates -->
        <Baserate currency="USD">180.00</Baserate>
        <Tax currency="USD">18.00</Tax>
        <!-- NOTE: OtherFees is inherited from the above setting -->
        <Custom1>ratecode123</Custom1>
      </Rate>
    </Rates>

  </Result>
</Transaction>

غرفة RoomBundle فردية

يعرض المثال التالي رسالة "معاملة" تحتوي على عبارة السعر أقلّ من <RoomBundle>:

<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2023-04-10</Checkin>
    <Nights>2</Nights>

    <Baserate currency="USD">300.00</Baserate>
    <Tax currency="USD">30.00</Tax>
    <OtherFees currency="USD">2.00</OtherFees>

    <RoomBundle>
      <RoomID>single</RoomID>
      <Baserate currency="USD">300.00</Baserate>
      <Tax currency="USD">30.00</Tax>
      <OtherFees currency="USD">2.00</OtherFees>
    </RoomBundle>

    <RoomBundle>
      <RoomID>3</RoomID>  <!-- Links to data in metadata -->
      <RatePlanID>basic</RatePlanID>
      <Baserate currency="USD">275.00</Baserate>
      <Tax currency="USD">27.50</Tax>
      <ChargeCurrency>web</ChargeCurrency>
      <BreakfastIncluded>1</BreakfastIncluded>

      <Rates>
        <Rate rate_rule_id="mobile">
          <Baserate currency="USD">269.00</Baserate>
          <Tax currency="USD">2.69</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
        </Rates>
      </Rates>

    </RoomBundle>
  </Result>
</Transaction>

العديد من مجموعات RoomBundle

يعرض المثال التالي رسالة معاملة تحتوي على القيم الأسعار ضمن <RoomBundle>:

<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2023-04-10</Checkin>
    <Nights>2</Nights>
    <!-- When Google receives new room bundle information for an itinerary, all
    previous room bundle pricing is dropped from Google's cache. Thus, if you
    want to delete a specific room bundle from Google's cache, you may do so
    by simply not providing that specific room bundle in subsequent transaction
    messages. -->
    <RoomBundle>
     ...
      <!-- RoomID is required, PackageID is recommended. -->
      <RoomID>5</RoomID>
      <PackageID>ABC</PackageID>
      <!-- Baserate is required. -->
      <Baserate currency="USD">275.00</Baserate>
      <Tax currency="USD">27.50</Tax>
      <OtherFees currency="USD">2.00</OtherFees>

      <!-- RatePlanID is optional and represents the unique identifier for a
      room and package data combination. We strongly recommend using RatePlanID
      as a variable to build your dynamic landing page (formerly Point of Sale)
      URL. For details, see Using Variables and Conditions. -->
      <RatePlanID>5-ABC</RatePlanID>

      <!-- Occupancy is mandatory for RoomBundle elements. -->
      <!-- Elements below will get inherited to nested rate elements. -->
      <Occupancy>2</Occupancy>
      <OccupancyDetails>
        <NumAdults>2</NumAdults>
      </OccupancyDetails>
      <InternetIncluded>1</InternetIncluded>


      <!-- Rate rule "mobile" overrides chargeCurrency, "us_or_gb" doesn't. -->
      <ChargeCurrency>web</ChargeCurrency>
      <Custom1>ratebasic</Custom1>
      <!-- Neither rate overrides Custom2. -->
      <Custom2>ratebasic</Custom2>

      <Rates>
        <Rate rate_rule_id="mobile">
          <Baserate currency="USD">258.33</Baserate>
          <Tax currency="USD">25.83</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
          <!-- The value below overrides ChargeCurrency from roombundle. -->
          <ChargeCurrency>hotel</ChargeCurrency>
          <!-- The value below overrides Custom1 from roombundle. -->
          <Custom1>ratecode321</Custom1>
          <!-- Custom2 is inherited from roombundle. -->
        </Rate>
        <Rate rate_rule_id="us_or_gb">
          <Baserate currency="USD">268.33</Baserate>
          <Tax currency="USD">26.83</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
          <!-- The value below overrides Custom1 from roombundle. -->
          <Custom1>ratecode432</Custom1>
          <!-- Custom2 is inherited from roombundle. -->
        </Rate>
      </Rates>
    </RoomBundle>
  </Result>
</Transaction>

لا يمكن الإقامة المزدوجة في الأماكن العامة.

يعرض المثال التالي رسالة معاملة تحتوي على سعر مشروط بدون معدّل الإقامة المزدوج للجميع:

<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">

  <Result>
    <Property>1234</Property>
    <Checkin>2023-04-10</Checkin>
    <Nights>1</Nights>

    <!-- <Unavailable/> should not be specified when available nested rates
    exist. -->
    <Baserate currency="USD">-1</Baserate>
    <Tax currency="USD">0</Tax>
    <OtherFees currency="USD">0</OtherFees>

    <Rates>
      <!-- The rate_rule_id is required when using conditional rates. -->
      <Rate rate_rule_id="mobile">
        <Baserate currency="USD">180.00</Baserate>
        <Tax currency="USD">18.00</Tax>
        <OtherFees currency="USD">1.00</OtherFees>
        <Custom1>ratecode123</Custom1>
      </Rate>
    </Rates>

  </Result>
</Transaction>

تعديل ملف الصفحة المقصودة

لضمان أن يتمكّن المستخدمون النهائيون المؤهلون من حجز السعر المُخفَّض من خلال عملية رابط، فيمكنك تعديل صفحتك المقصودة . عملية تنفيذ إضافية على موقع الحجز الإلكتروني لعرض وتنفيذ الأسعار المخفضة.

نتوقّع من الشركاء الالتزام بالسعر المعروض في الرابط لصفحة في التطبيق للسعر المشروط.

في رابط ديناميكي لصفحة في التطبيق، يمكنك تضمين قاعدة السعر حسب اسمها السمة id للعنصر <RateRule> والمتغير RATE-RULE-ID

يضيف المثال التالي رقم تعريف قاعدة الأسعار:

https://bookingsite.com/landing.do?id=(PARTNER-HOTEL-ID)&arrival=(CHECKINDAY)-(CHECKINMONTH)-(CHECKINYEAR)&departure=(CHECKOUTDAY)-(CHECKOUTMONTH)-(CHECKOUTYEAR)&lang=(USER-LANGUAGE)&currency=(USER-CURRENCY)&prid=(RATE-RULE-ID)

يتوافق ملف الصفحة المقصودة أيضًا مع توجيه IF-RATE-RULE-ID الذي يتيح يمكنك تحديد أجزاء من عنوان URL بشكل مشروط استنادًا إلى ما إذا كانت قاعدة السعر موجود:

https://bookingsite.com/(IF-RATE-RULE-ID)privatelanding.do(RATE-RULE-ID)(ELSE)landing.do(ENDIF)?id=(PARTNER-HOTEL-ID)&arrival=(CHECKINDAY)-(CHECKINMONTH)-(CHECKINYEAR)&departure=(CHECKOUTDAY)-(CHECKOUTMONTH)-(CHECKOUTYEAR)&lang=(USER-LANGUAGE)&currency=(USER-CURRENCY)

يختار هذا المثال صفحتين مقصودتين على حسب ما إذا كان السعر رقم تعريف القاعدة.

لمزيد من المعلومات، راجع استخدام المتغيّرات الشروط: