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