الأسعار الشرطية هي نوع من قواعد الأسعار التي تتيح لك تقديم أسعار مختلفة لبرامج الرحلات استنادًا إلى معايير مثل جهاز المستخدم أو البلد أو ما إذا كان المستخدم قد سجّل الدخول إلى Google.
عندما يتوفّر أكثر من سعر علني أو مشروط لحزمة غرفة أو خط سير رحلة، سيظهر للمستخدم السعر الأدنى. تختار Google دائمًا أدنى سعر مؤهّل للمستخدم.
نظرة عامة
تظهر الأسعار المشروطة في خانات الأسعار العادية، ولا يتم عرضها إلا للمستخدمين الذين تستوفي عمليات بحثهم معايير السعر المشروط المرتبط. يمكن أن تستند هذه المعايير إلى ما يلي:
- جهاز المستخدم النهائي
- بلد المستخدم النهائي
- اللغة المفضّلة للمستخدم النهائي
- مجموعة فرعية من جميع المستخدمين تم تقليل حجمها
- ما إذا كان المستخدِم النهائي قد سجّل الدخول
لتفعيل الأسعار الشرطية، عدِّل ما يلي:
ملف XML الخاص بقواعد الأسعار: حدِّد الشروط التي يتم بموجبها تطبيق الأسعار الشرطية.
خلاصة الأسعار: استخدِم العنصر
<Rate>في رسالة المعاملة لضبط الأسعار.ملف الصفحة المقصودة: أضِف قيمًا خاصة بقاعدة الأسعار إلى الروابط لصفحات في التطبيق.
الأسعار المشروطة الخاصة بالجهاز
الأسعار الخاصة بالأجهزة هي أسعار فنادق لا يمكن للمستخدمين الاطّلاع عليها وحجزها إلا على جهاز معيّن، مثل جهاز جوّال أو جهاز لوحي أو كمبيوتر مكتبي. يقدّم الشركاء الأسعار، ويمكن للمستخدمين النهائيين الاطّلاع على الأسعار نفسها الخاصة بالجهاز وحجزها على الموقع الإلكتروني للشريك.

الأسعار المشروطة الخاصة بكل بلد
الأسعار الخاصة ببلد معيّن هي أسعار فنادق لا يمكن للمستخدمين الذين يبحثون عن فنادق من بلد معيّن سوى الاطّلاع عليها والحجز بها. تحدّد Google البلد باستخدام عنوان IP الخاص بالمستخدم النهائي. يقدّم الشركاء الأسعار، ويمكن للمستخدمين النهائيين الاطّلاع على الأسعار الخاصة بالبلد وحجزها على الموقع الإلكتروني الخاص بالشريك والمخصّص للبلد نفسه.
الأسعار المشروطة بلغات معيّنة
لا تظهر الأسعار الخاصة بلغة معيّنة إلا للمستخدمين الذين يبحثون عن فنادق
مع تفعيل إعدادات لغة معيّنة في Google. يتم تحديد الشروط الخاصة بلغة معيّنة باستخدام العنصر <LanguageCode>.
لم يتم تحديد اللغة في رسائل الطلبات الخاصة بالاستعلامات مع السياق. لذا، إذا حدّدت <LanguageCode> في قواعد الأسعار، يجب أن يتضمّن الردّ With Context جميع الأسعار ذات الصلة الخاصة باللغة.
معدّلات مشروطة تم تقليل عدد نقاطها
لا تظهر الأسعار الشرطية التي تم تخفيض دقتها إلا لمجموعة فرعية عشوائية من جميع المستخدمين المؤهّلين. يتم تحديد معدّل أخذ العيّنات باستخدام العنصر <MaxUsersPercent> ويتم احتسابه باستخدام ما يلي:
MaxUsersPercent = (number of users selected to view rate)/(total eligible users)
الأسعار المشروطة للمستخدمين الذين سجّلوا الدخول
لا تظهر نِسب المستخدمين الذين سجّلوا الدخول إلا للمستخدمين الذين سجّلوا الدخول باستخدام حساب Google. يقدّم شركاء 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>
</Rate>
</Rates>
</Result>
</Transaction>
RoomBundle single
يعرض المثال التالي رسالة معاملة تتضمّن سعرًا واحدًا
ضمن <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 multiple
يعرض المثال التالي رسالة بالمعاملات تحتوي على أسعار متعددة
ضمن <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 and it should be within 50 characters in length for optimal
performance. 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>
<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>
</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>
</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)¤cy=(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)¤cy=(USER-CURRENCY)
يختار هذا المثال بين صفحتَين مقصودتَين، وذلك استنادًا إلى ما إذا تم ضبط معرّف قاعدة الأسعار.
لمزيد من المعلومات، اطّلِع على استخدام المتغيّرات والشروط.