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

هذا المثال هو نسخة متوافقة مع الأجهزة الجوّالة من حِزم الغرف التي تتألف من جميع أنواع الغرف المختلفة لعدد الأشخاص المطلوب وصور الغرف الخاصة بهم.
ملاحظة: يتم استبدال حِزم الغرف التي لا تتضمّن صورًا بصورة عنصر نائب للسرير.
ميزات التقييم
تعرض الصور التالية أمثلة على ميزات الأسعار:
يخضع عرض ميزات "حِزم الغرف" و"الأسعار" في نتائج البحث لعملية الاختيار نفسها التي تخضع لها أسعار الغرف العادية.
حِزم الغرف
يمكنك تحديد "حِزم الغرف" وميزات الأسعار في رسائل المعاملات. العنصر الجذر
لرسالة المعاملة هو <Transaction>
.
يعتمد بنية "رسالة المعاملة" على الإجراء الذي تتّخذه، سواء كان تحديد البيانات الوصفية الخاصة بميزة "حزمة الغرف" أو "السعر"، أو تعديل أسعار "حزمة الغرف" أو مدى توفّرها.
- البيانات الوصفية
- حدِّد البيانات الوصفية لميزة "حزمة الغرف" والسعر باستخدام
<PackageData>
في عنصر<PropertyDataSet>
. لمزيد من المعلومات، يُرجى الاطّلاع على تحديد البيانات الوصفية للغرفة والحزمة. تستخدم "حِزم الغرف" عناصر<RoomData>
الحالية في أوصاف الغرف المادية. - السعر ومدى التوفّر
- حدِّد أسعار حِزم الغرف ومدى توفّرها باستخدام العنصر
<RoomBundle>
في<Result>
لكل مجموعة/برنامج رحلة. لمزيد من المعلومات، يُرجى الاطّلاع على تحديد السعر ومدى التوفّر.
يكون سعر الغرفة الأساسية والضرائب والرسوم الأخرى إلزامية ضمن
<Result>
عندما لا يتم استخدامها مع "حِزم الغرف"، ويمكن إزالتها عند استخدامها مع "حِزم الغرف". إذا كنت بصدد تنفيذ حِزم Room باستخدام حساب مباشر، اتّبِع الخطوات التالية:
أدرِج سعر الغرفة الأساسية والضرائب والرسوم الأخرى ضمن
<Result>
وأضِف حزمة غرف واحدة تتطابق مع حزمة الغرف الأساسية.إذا لزم الأمر، حدِّد حِزم غرف إضافية ضمن حزمة
<Result>
نفسها لأنواع غرف أخرى في هذا الفندق أو حِزم مختلفة من الخدمات.بعد إطلاق حزمة الغرف، أزِل سعر الغرفة الأساسية والضرائب والرسوم الأخرى.
البيانات الوصفية لحزمة الغرف
عند تحديد حِزم الغرف وميزات الأسعار، عليك عادةً تحديد الوصف والخدمات الإضافية التي تشكّل جزءًا من السعر وغيرها من المعلومات حول حزمة الغرف مسبقًا. وتُعرف هذه المعلومات باسم البيانات الوصفية لحزمة الغرف. بعد ذلك، يمكنك الرجوع إلى هذه البيانات الوصفية في تعديلات الأسعار، ولكن بدون تضمينها في رسائل تعديل الأسعار.
عند تحديد حِزم الغرف، استخدِم عناصر <RoomData>
لأوصاف الغرف المادية وعناصر <PackageData>
لميزات الأسعار والشروط التي لا تشكّل جزءًا من وصف الغرفة المادية.
يمكن أن يؤدي استخدام العنصرَين <RoomData>
و<PackageData>
إلى تقليل حجم خلاصة أسعار الفنادق وقائمة الفنادق بشكل كبير، لأنّه يقلّل من مقدار البيانات المتكرّرة التي يتم إرسالها في رسائل المعاملات.
على سبيل المثال، تتكرر عادةً بيانات مثل اسم الغرفة ووصفها مع كل خطة سفر. يمكنك استخدام العنصرَين <RoomData>
و<PackageData>
لتحديد هذا النوع من البيانات مرة واحدة. بعد ذلك، يتم دمج بيانات حزمة الغرف الخاصة ببرنامج الرحلة مع تعريفات الغرف والحزم المخزَّنة لعرضها للمستخدم النهائي.
تُطابِق Google بياناتك الوصفية مع البيانات الخاصة ببرنامج الرحلة لعرض محتوى إعلاناتك. تتوفّر معالجة خاصة لدمج الأسماء والأوصاف من العنصرَين <RoomData>
و<PackageData>
، ما يتيح وصف الغرفة المادية في <RoomData>
وتضمين ميزات السعر وتفاصيل الحزمة في <PackageData>
.
إذا حدّدت بيانات الغرفة وبيانات الحزمة لغرفة واحدة أو حزمة غرف، ستدرج Google كلتيهما في ناتج الإعلان، مع الفصل بينهما بشرطة.
إرشادات متعلقة بالصور
عند إرسال صور للغرف، إليك بعض الإرشادات التي يجب اتّباعها لضمان عرض صورك للمستخدمين:
أرسِل صورًا لكل نوع من الغرف، بما في ذلك صور الغرف المخصّصة لذوي الاحتياجات الخاصة، مثل الغرف المخصّصة لذوي الاحتياجات الخاصة التي تحتوي على تجهيزات حمّام مختلفة، مثل مقصورة دُش يمكن استخدامها من الكرسي المتحرّك.
يجب تضمين أربع صور على الأقل للغرفة وصورة واحدة على الأقل للحمام.
يجب أن تكون الصور للغرفة نفسها وليس للمكان المخصّص للاستئجار. أهم الصور هي تلك التي تعرض السرير والغرفة بأكملها والحمّام ومساحة المعيشة والإطلالة من الغرفة (مع بقية الغرفة في الصورة نفسها)، والشرفة أو الباحة أو التراس، إذا كان ذلك منطبقًا.
من المفيد أيضًا التقاط صور للمكتب والمطبخ وآلات تحضير القهوة والشاي والميزات المميزة في الغرفة.
تجنَّب الصور التي تظهر فيها أشخاص وممتلكات، مثل الصور الخارجية أو وسائل الراحة في الممتلكات، وصور مشاهدة المعالم السياحية أو السياحة، وصور الطعام.
تجنَّب اللقطات المقرّبة للأشياء، مثل اللقطات المقرّبة لأكواب ذات ساق.
تجنَّب عرض العلامات التجارية، ولكن لا بأس من تضمين مستلزمات الزينة التي تحمل علامات تجارية في صورة تعرض منطقة الحمام بأكملها. يجب ألا تتضمّن الصور مجموعات كبيرة من النصوص أو الشعارات أو العلامات المائية.
قدِّم صورًا عادية وأفقية (عرضية) مع مجال رؤية واسع، وتجنَّب الصور المشوّهة والصور الملتقَطة بزاوية واسعة جدًا. التقِط صورًا بأعلى دقة لتحسين الترتيب. ولا تحتاج إلى إرسال الصورة نفسها بدقة عرض مختلفة.
أولوية البيانات
يتم جمع بيانات "حزمة الغرف" من جميع المصادر ودمجها باستخدام قواعد الأولوية لإنتاج البيانات النهائية لفندق وبرنامج رحلة و"حزمة غرف" معيّنين. يكون الترتيب على النحو التالي، من الأولوية الأدنى إلى الأعلى:
- (الأدنى) بيانات الشريك
- بيانات الموقع
-
<RoomData>
، حيث يتطابق<RoomID>
مع<RoomID>
في كتلة<RoomBundle>
-
<PackageData>
، حيث يتطابق<PackageID>
مع<PackageID>
في كتلة<RoomBundle>
- (الأعلى)
<RoomBundle>
تحديد الأسعار ومدى التوفّر
لتحديد سعر وتوفّر حزمة الغرف، استخدِم العنصر <RoomBundle>
في رسالة المعاملة لكل حزمة أو مجموعة برامج رحلات. يجب أن يكون العنصر <RoomBundle>
داخل العنصر <Result>
. يتم عرض رمز نموذجي لعنصرَي <RoomBundle>
. يُرجى العِلم أنّه في هذا المثال، يشير العنصران <RoomBundle>
إلى البيانات الوصفية الخاصة بالغرفة والحزمة باستخدام <RoomID>
و<PackageID>
.
لكل <Result>
، ستؤدي مجموعة حِزم الغرف المضمّنة إلى استبدال المجموعة الحالية الخاصة بهذا الموقع أو مجموعة برامج الرحلات. إذا لم تحدّد أي حِزم غرف أو ميزات أسعار في العنصر <Result>
، ستتم إزالة جميع حِزم الغرف ولن تظهر في نتائج البحث سوى الغرفة الأساسية في ذلك الفندق أو برنامج الرحلة.
احرص على استخدام عناصر مثل <Name>
لجعل "حِزم الغرف" أكثر جاذبية للعملاء المحتملين، وتأكَّد من أنّها تتطابق مع الصفحة المقصودة للفندق. في هذا المثال، عليك تحديد الأسماء والمعلومات الوصفية الأخرى في البيانات الوصفية.
السمة <RatePlanID>
اختيارية وتمثّل المعرّف الفريد لمجموعة من الغرف والحزم. ننصحك بشدة باستخدام RatePlanID
كمتغيّر لإنشاء عنوان URL ديناميكي للصفحة المقصودة (المعروفة سابقًا باسم "نقطة البيع"). يجب أن يتضمّن أقل من 50 حرفًا لتحقيق الأداء الأمثل. لمزيد من التفاصيل، يُرجى الاطّلاع على استخدام المتغيّرات والشروط.
العناصر التالية اختيارية في "حِزم الغرف":
<Baserate>
<Tax>
<OtherFees>
<RoomID>
<PackageID>
<Occupancy>
<OccupancyDetails>
عند تنفيذ حزمة Room في حساب نشط، عليك إزالة <Baserate>
بعد تفعيل حزمة Room.
<Result>
<!-- Note: When using Room Bundles, the top level result price is no
longer necessary. -->
<Property>180054</Property>
<Checkin>2017-10-07</Checkin>
<Nights>2</Nights>
<!-- Base Room Bundle -->
<RoomBundle>
<RoomID>060773</RoomID>
<PackageID>P54321</PackageID>
<Baserate currency="USD">199.99</Baserate>
<Tax currency="USD">25.12</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>060773-P54321</RatePlanID>
</RoomBundle>
<!-- Premium Room Bundle -->
<RoomBundle>
<RoomID>436233</RoomID>
<PackageID>P12345</PackageID>
<!-- Price for 4 ("occupancy") -->
<Baserate currency="USD">298.88</Baserate>
<Tax currency="USD">42.12</Tax>
<OtherFees currency="USD">10.00</OtherFees>
<RatePlanID>436233-P12345</RatePlanID>
</RoomBundle>
</Result>
تحديد البيانات الوصفية للغرف والحِزم
لتحديد البيانات الوصفية لحزمة الغرف، استخدِم العنصرَين <PackageData>
و<RoomData>
داخل العنصر <PropertyDataSet>
في رسالة المعاملة.
يمكنك تحديد البيانات الوصفية للغرف والحِزم في رسالة "معاملة" منفصلة عن بيانات الأسعار ومدى التوفّر. من خلال تحديد هذه البيانات مسبقًا، لن تحتاج تعديلات الأسعار إلى تضمين معلومات متكررة، مثل الأوصاف وعناوين URL الخاصة بالصور ووسائل الراحة وغيرها من البيانات حول كل غرفة أو حزمة لكل برنامج رحلة.
تخزّن Google البيانات الوصفية نيابةً عنك وتدرجها في إعلاناتك عند عرضها. يمكنك تعديل البيانات الوصفية للغرفة والحزمة في أي وقت باستخدام رسالة Transaction جديدة.
في رسالة المعاملة، يمكنك ضبط معرّف حزمة ومعرّف غرفة في كلّ حزمة
تُشير إليها بعد ذلك في حِزم <Result>
الخاصة بتعديلات الأسعار.
إذا تغيّرت بيانات الغرفة والحزمة، مثلاً إذا أضفت نوع غرفة جديدًا في مكان إقامة، أرسِل رسالة Transaction جديدة تحتوي على بيانات الغرفة والحزمة المعدَّلة، وسيستبدل محرّك بحث Google البيانات الوصفية الحالية الخاصة بغرفة أو حزمة بالبيانات الجديدة.
تنصح Google بتحديد البيانات الوصفية أثناء عملية الإعداد الأولي. بعد تحديد البيانات الوصفية مسبقًا، ما عليك سوى الإشارة إلى القيمتَين <RoomID>
و<PackageID>
في تعديلات الأسعار بدلاً من تضمين كل هذه المعلومات مرة أخرى. تستخدم Google أرقام التعريف هذه لمطابقة الغرف و"حِزم الغرف" مع البيانات الوصفية المخزَّنة. يمكن أن يؤدي ذلك إلى تقليل الحجم الإجمالي لرسائل المعاملات بشكل كبير.
بما أنّ أسعار مجموعات الغرف أو برامج الرحلات تتغيّر بشكل متكرّر أكثر من أوصاف الغرف أو الحِزم، فإنّ تحديد البيانات الوصفية مرة واحدة ثم الرجوع إليها هو استخدام أكثر فعالية لرسائل المعاملات. بالإضافة إلى ذلك، يمكن التخلص من الأخطاء، مثل عدم تطابق أوصاف الغرف، باستخدام البيانات الوصفية بدلاً من تحديد البيانات المضمّنة.
في ما يلي الطريقة المقترَحة والأكثر كفاءة لتحديد البيانات الوصفية والسعر بشكل منفصل:
<!-- Efficient method of defining Room Bundles -->
<!----- Occupancy of 2 and 4 example ------>
<Transaction timestamp="2019-04-18T16:20:00-04:00" id="12345678">
<!-- Part1: Define RoomData and PackageData in PropertyDataSet -->
<!-- Note: Once defined it does not have to be repeated for future Transaction Messages. -->
<!-- PropertyDataSets can also be defined and sent in their own Transaction Message -->
<!-- separately from pricing. Google can be configured to pull just PropertyDataSets -->
<!-- once per day (or on a predefined frequency). -->
<PropertyDataSet>
<Property>180054</Property>
<!-- Can be reused by multiple Room Bundles -->
<RoomData>
<RoomID>060773</RoomID>
<Name>
<Text text="Single Queen Room - Non-Smoking" language="en"/>
<Text text="Chambre de la Roi Premium - Pas de Fumeurs" language="fr"/>
</Name>
<!-- Room can accommodate 4, but bundle is for 2 -->
<Capacity>4</Capacity>
<PhotoURL>
<URL>http://www.foo.com/static/bar/imageQueen.jpg</URL>
<Caption>
<Text text="A bright and breezy way to enjoy your mornin'
cuppa tea." language="en"/>
<Text text="Une façon lumineuse et aérée pour profiter
de votre journée tasse de thé." language="fr"/>
</Caption>
</PhotoURL>
</RoomData>
<RoomData>
<RoomID>436233</RoomID>
<Name>
<Text text="Premium King Room - Non-Smoking" language="en"/>
<Text text="Chambre de le Roi Premium - Pas de Fumeurs" language="fr"/>
</Name>
<!-- Room can accommodate 4 and bundle is for 4 -->
<Capacity>4</Capacity>
<PhotoURL>
<URL>http://www.foo.com/static/bar/imageKing.jpg</URL>
<Caption>
<Text text="A bright and breezy way to enjoy your mornin'
cuppa tea." language="en"/>
<Text text="Une façon lumineuse et aérée pour profiter
de votre journée tasse de thé." language="fr"/>
</Caption>
</PhotoURL>
</RoomData>
<!-- Can be reused by multiple Room Bundles -->
<PackageData>
<PackageID>P54321</PackageID>
<Occupancy>2</Occupancy>
<ChargeCurrency>web</ChargeCurrency>
<Refundable available="1" refundable_until_days="7"
refundable_until_time="18:00:00"/>
<ParkingIncluded>1</ParkingIncluded>
<InternetIncluded>1</InternetIncluded>
</PackageData>
<PackageData>
<PackageID>P12345</PackageID>
<Occupancy>4</Occupancy>
<ChargeCurrency>web</ChargeCurrency>
<Refundable available="1" refundable_until_days="1"
refundable_until_time="18:00:00"/>
<BreakfastIncluded/>
<ParkingIncluded>1</ParkingIncluded>
<InternetIncluded>1</InternetIncluded>
</PackageData>
</PropertyDataSet>
<!-- Efficient method of defining Room Bundles -->
<!-- Part 2: Reference RoomData and PackageData through ID -->
<Result>
<Property>180054</Property>
<Checkin>2017-10-07</Checkin>
<Nights>2</Nights>
<!-- Base Room Bundle -->
<RoomBundle>
<RoomID>060773</RoomID>
<PackageID>P54321</PackageID>
<Baserate currency="USD">199.99</Baserate>
<Tax currency="USD">25.12</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>060773-P54321</RatePlanID>
</RoomBundle>
<!-- Premium Room Bundle -->
<RoomBundle>
<RoomID>436233</RoomID>
<PackageID>P12345</PackageID>
<!-- Price for 4 ("occupancy") -->
<Baserate currency="USD">298.88</Baserate>
<Tax currency="USD">42.12</Tax>
<OtherFees currency="USD">10.00</OtherFees>
<RatePlanID>060773-P12345</RatePlanID>
</RoomBundle>
<!-- Continue providing all available RoomBundle rates under matched
property for any other occupancies -->
</Result>
</Transaction>
الإشغال والسعة
عند تحديد "حِزم الغرف"، عليك فهم الفرق بين الإشغال والسعة:
- الإشغال
- عدد الضيوف الذين من المفترض أن تنطبق عليهم حزمة الغرف على سبيل المثال،
تتضمّن "باقة شهر العسل" إشغالاً لشخصين. يمكنك ضبط قيمة الإشغال في الحزمة باستخدام العنصر الفرعي
<Occupancy>
للعنصرين<PackageData>
أو<RoomBundle>
. - السعة
- الحد الأقصى لعدد الأشخاص الذين يمكن أن تستوعبهم الغرفة فعليًا تكون سعة الغرفة دائمًا مساوية لعدد الأشخاص الذين يشغلونها أو أكبر منه. على سبيل المثال، يتضمّن "جناح شهر العسل" في فندقك حدًا أقصى يبلغ ستة أشخاص، ولكنك تحدّد سعرًا لحزمة لشخصين. يمكنك ضبط قيمة سعة الحزمة باستخدام العنصر الفرعي
<Capacity>
الخاص بالعنصر<RoomData>
.
عند تحديد سعر "حزمة الغرف"، يجب تحديد السعر لعدد الضيوف الذي تم تصميم الحزمة له (القيمة المحدّدة في العنصر <Occupancy>
الخاص بالحزمة). إذا تم ضبط <Occupancy>
على القيمة 2، يجب أن يكون السعر في تلك الحزمة لشخصين. لا يمكنك ضبط <Occupancy>
على أربعة ضيوف، وتحديد سعر الحزمة لشخصين.
الغرف المشتركة
يمكنك أيضًا استخدام سمة "الإشغال" وسمة "السعة" في "حِزم الغرف" لتحديد أسعار أماكن الإقامة التي تتضمّن غرفًا مشتركة، مثل النُزل. على سبيل المثال، لضبط سعر لكل شخص في غرفة سكن تضم 8 أسرّة، عليك ضبط قيمة Occupancy على 1
وقيمة Capacity على 8
، وتحديد ذلك في الاسم <RoomData>
. الاطّلاع على
مثال
تعديل حِزم الغرف
يوضّح هذا القسم كيفية إزالة حزمة غرف لم تعُد متاحة وكيفية تعديل سعر حزمة غرف حالية.
إزالة حزمة غرف
تختلف "حِزم الغرف" عن أسعار الفنادق في طريقة إزالتها.
لإزالة مجموعة غرف أو برامج رحلات من المستودع، عليك ضبط قيمة السمة <Baserate>
للعنصر <Result>
على -1
. لإزالة حزمة غرف لفندق أو برنامج رحلة معيّن، عليك إزالة العنصر <RoomBundle>
من الحزمة <Result>
في رسالة المعاملة.
يتم اعتبار حِزم الغرف في خلاصات البيانات مجموعة، ويمكن أن يتراوح عددها بين 0 وعشرات الحِزم. عند إرسال "حِزم الغرف" إلى Google، عليك إرسال المجموعة الحالية والكاملة. لا تغيِّر قيم حزمة غرفة فردية لتحديد حزمة كانت متاحة سابقًا على أنّها غير متاحة. ويحلّ محل المجموعة الحالية أي مجموعة من الحِزم تظهر في أحدث رسالة "معاملة".
على سبيل المثال، هناك حِزم A وB وC وD. عليك أولاً إرسال رسالة تحدّد مجموعة حِزم الغرف A وB وC وD. في وقت لاحق، إذا تم بيع الحزمة B بالكامل، يمكنك إعادة إرسال المجموعة الكاملة مع الحزم A وC وD فقط. إذا تم بيع جميع حِزم الغرف، أرسِل مجموعة فارغة من حِزم الغرف.
تعديلات الأسعار
لتغيير سعر "حزمة الغرف"، اضبط السعر الجديد <Baserate>
في العنصر <Result>
.
في كل مرة تعدّل فيها <Result>
في غرفة أو برنامج رحلة ضمن رسائل المعاملات، عليك تضمين مجموعة كاملة من حِزم الغرف المتاحة لكل <Result>
. تستبدل Google مجموعة "حِزم الغرف" الحالية بالمجموعة الجديدة. إذا لم تدرِج أي حِزم غرف في <Result>
، ستزيل Google جميع حِزم الغرف الخاصة بهذه الغرفة أو خطة الرحلة.
تعديلات على البيانات الوصفية
يمكنك تعديل البيانات الوصفية لحزمة الغرف من خلال الردّ على <Query>
من Google.
تردّ على رسالة طلب البحث برسالة معاملة تحدّد البيانات الوصفية للغرفة والحزمة الخاصة بالفنادق المحدّدة. لمزيد من المعلومات، يُرجى الاطّلاع على رسائل الطلبات.