يقدّم هذا القسم مرجعًا لرسائل طلب التلميحات ورسائل الردّ على التلميحات ورسائل طلب البحث المستندة إلى XML من Google.
<Hint> (رسالة ردّ على طلب قائمة بالتعديلات)
عنصر الجذر لرسالة ردّ على طلب قائمة بالتعديلات تحدّد رسائل Hint Response مجموعات الفنادق أو برامج الرحلات التي يجب إعادة تسعيرها. وهي تمثّل ردّك على رسالة طلب تلميح من Google.
يجب أن تحدّد رسالة Hint Response الفنادق التي تغيّرت أسعارها فقط منذ آخر مرة تلقّت فيها Google رسالة Hint Response ناجحة من خوادمك.
تستخدِم رسائل الرد على التلميحات إحدى الطرق التالية لتحديد الفنادق وبرامج الرحلات التي يجب أن تعيد Google تسعيرها:
برامج الرحلات المحدّدة: هي مزيج من تاريخ تسجيل الوصول ومدة الإقامة.
نطاقات تواريخ تسجيل الوصول: تحدّد نطاقًا من تواريخ تسجيل الوصول، بدءًا من تاريخ تسجيل الوصول الأول وانتهاءً بتاريخ تسجيل الوصول الأخير.
الإقامات المحدّدة النطاق (أو مسارات الرحلات المحدّدة النطاق)
تتطلّب كل طريقة من هذه الطرق بنية مختلفة لرسالة Hint Response.
لمزيد من المعلومات، يُرجى الاطّلاع على رسائل الردود على التلميحات.
البنية
يستخدم العنصر <Hint> بنية مختلفة، وذلك حسب نوع رسالة Hint
Response:
برامج الرحلات المطابقة تمامًا
يوضّح ما يلي بنية الجداول الزمنية الدقيقة في رسالة Hint Response:
<!-- Exact Itinerary Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
<Item>
<Property>hotel_ID</Property>
...
<Stay>
<CheckInDate>checkin_date</CheckInDate>
<LengthOfStay>number_of_nights</LengthOfStay>
</Stay>
</Item>
...
</Hint>
نطاقات تسجيل الوصول
يوضّح ما يلي صيغة نطاقات تسجيل الوصول في رسالة Hint Response:
<!-- Check-in Ranges Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
<Item>
<!-- At least one is required -->
<Property>hotel_ID</Property>
[...]
<!-- Required -->
<FirstDate>first_checkin_date</FirstDate>
<!-- Required -->
<LastDate>last_checkin_date</LastDate>
</Item>
...
</Hint>
الإقامات ضمن نطاق زمني
يوضّح ما يلي بنية الإقامات المحدودة النطاق في رسالة Hint Response:
<!-- Ranged Stay Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
<Item>
<!-- At least one is required -->
<Property>1458700</Property>
<Property>5418701</Property>
<StaysIncludingRange>
<!-- Required -->
<FirstDate>2025-04-28</FirstDate>
<!-- Optional -->
<LastDate>2025-04-29</LastDate>
</StaysIncludingRange>
</Item>
...
</Hint>
السمات
يحتوي العنصر <Hint> على سمة اختيارية: id. عند توفيرها، يتم تضمينها كسمة hintId في رسائل <Query> التي يتم إرسالها استنادًا إلى <Hint> هذا.
العناصر الفرعية
يحتوي العنصر <Hint> على العناصر الفرعية التالية:
| العنصر الفرعي | مطلوب؟ | النوع | نوع الردّ على طلب قائمة بالتعديلات | الوصف |
|---|---|---|---|---|
| <CheckInDate> | Required | Date | برامج الرحلات المطابقة تمامًا | تاريخ تسجيل الوصول في مسار الرحلة |
| <FirstDate> | Required | Date | نطاقات تسجيل الوصول وبرامج الرحلات ذات النطاقات | التاريخ الأول من النطاق الزمني لنطاق تسجيل الوصول أو رسالة تلميح الإقامة المحددة النطاق. التواريخ شاملة. |
| <Item> | Required | Object | الكل | تمثّل هذه السمة حاوية للفندق/برنامج الرحلة المطلوب تعديله. |
| <LastDate> | Required* | Date | نطاقات تسجيل الوصول وبرامج الرحلات ذات النطاقات | تمثّل هذه السمة آخر تاريخ في النطاق الزمني لنطاق تسجيل الوصول أو رسالة تلميح بشأن الإقامة ضمن نطاق زمني. التواريخ شاملة. * هذا العنصر اختياري للإقامات التي تتضمّن نطاقًا زمنيًا. |
| <LengthOfStay> | Required | integer | برامج الرحلات المطابقة تمامًا | عدد الليالي في برنامج الرحلة، ويتم التعبير عنه كعدد صحيح موجب. |
| <Property> | Required | string | الكل | رقم تعريف الفندق، باستخدام رقم التعريف نفسه المستخدَم في قائمة الفنادق يتم تحديد عدد عناصر
|
| <Stay> | Required | Object | برامج الرحلات المطابقة تمامًا | حاوية للعنصرَين <CheckinDate> و<LengthOfStay> في رسالة الرد الخاصة بتلميح حول برنامج رحلة مطابق تمامًا. يمكن أن يحتوي كل <Item> على <Stay> واحد فقط. |
| <StaysIncludingRange> | Required | Object | برامج الرحلات المحدّدة المدة | حاوية للعنصرَين <FirstDate> و<LastDate> في رسالة Hint Response الخاصة بالإقامة ضمن نطاق محدّد. |
أمثلة
برامج الرحلات المطابقة تمامًا
يحدّد المثال التالي برامج رحلات متعدّدة لمكان إقامة واحد في رسالة Hint Response:
<!-- Exact Itinerary Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
<Item>
<Property>12345</Property>
<Stay>
<CheckInDate>2018-07-03</CheckInDate>
<LengthOfStay>3</LengthOfStay>
</Stay>
</Item>
<Item>
<Property>12345</Property>
<Stay>
<CheckInDate>2018-07-03</CheckInDate>
<LengthOfStay>4</LengthOfStay>
</Stay>
</Item>
</Hint>
نطاقات تسجيل الوصول
يحدّد المثال التالي فندقَين تغيّر سعرهما ويجب استرجاعهما مرة أخرى. تحصل Google على جميع برامج الرحلات بين 3 و6 يوليو للمنشأتين 12345 و67890:
<!-- Check-in Ranges Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
<Item>
<Property>12345</Property>
<Property>67890</Property>
<FirstDate>2018-07-03</FirstDate>
<LastDate>2018-07-06</LastDate>
</Item>
</Hint>
الإقامات ضمن نطاق زمني
يوضّح المثال التالي استخدامَين مختلفَين للإقامات المحدودة المدة، أحدهما لنطاق من الليالي والآخر لليلة واحدة:
<!-- Ranged Stay Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
<!-- Google fetches prices for all itineraries (first and last date are set) -->
<Item>
<Property>12345</Property>
<StaysIncludingRange>
<FirstDate>2018-07-03</FirstDate>
<LastDate>2018-07-06</LastDate>
</StaysIncludingRange>
</Item>
<!-- Google fetches prices for a single night (first date only) -->
<Item>
<Property>67890</Property>
<StaysIncludingRange>
<FirstDate>2018-07-03</FirstDate>
</StaysIncludingRange>
</Item>
</Hint>
في كل من هذه الأمثلة، تردّ Google بالرمز <Query>، وعليك بعد ذلك الردّ بالرمز <Transaction> الذي يتضمّن تعديلات الأسعار للفنادق/برامج الرحلات المحدّدة.
<HintRequest>
العنصر الجذر لرسالة طلب تلميح ترسل Google رسالة طلب تلميح إلى الخادم وتتوقّع تلقّي ردّ يحدّد الفنادق وبرامج الرحلات التي تم تغيير أسعارها منذ آخر مرة تلقّت فيها Google رسالة ردّ تلميح ناجحة من الخادم.
في حال حدوث أي تغييرات في الأسعار، ترسل Google <Query> يجلب بيانات الأسعار المعدَّلة للفنادق وبرامج الرحلات المحدّدة.
لمزيد من المعلومات، يُرجى الرجوع إلى رسائل طلب التلميحات.
البنية
يستخدم العنصر <HintRequest> البنية التالية:
البنية
<?xml version="1.0" encoding="UTF-8"?>
<HintRequest>
<LastFetchTime>last_fetch_time</LastFetchTime>
</HintRequest>
السمات
لا يحتوي العنصر <HintRequest> على أي سمات.
العناصر الفرعية
يحتوي العنصر <HintRequest> على العناصر الفرعية التالية:
| العنصر الفرعي | النوع | الوصف |
|---|---|---|
| <LastFetchTime> | DateTime | آخر مرة نجح فيها Google في تلقّي رسالة ردّ على طلب قائمة بالتعديلات
من رسالة طلب قائمة بالتعديلات.
إذا كان هذا الوقت أقدم من آخر مرة عدّلت فيها الأسعار على الخادم، عليك الرد برسالة Hint Response تحدّد الفنادق التي تم تغييرها. إذا لم يتم إجراء عملية جلب ناجحة مؤخرًا، سيتم ضبط هذا الخيار على قيمة فاصل زمني ثابتة (لتجنُّب حدوث مشاكل أكثر خطورة مع تراكم عدد كبير من البيانات). تبلغ قيمة الفاصل الزمني الثابت الحالية 1000 ثانية، ولكنها عرضة للتغيير. لمزيد من المعلومات، يُرجى الاطّلاع على رسائل الردود على التلميحات. |
أمثلة
يوضّح المثال التالي رسالة طلب تلميح:
رسالة لطلب قائمة بالتعديلات
يعرض المثال التالي رسالة لطلب قائمة بالتعديلات:
<?xml version="1.0" encoding="UTF-8"?>
<HintRequest id="ABCDEF" timestamp="2018-06-07T16:20:00Z">
<LastFetchTime>2018-03-25T00:04:09Z</LastFetchTime>
</HintRequest>
<Query>
العنصر الجذر للرسالة Query رسائل Query هي طلبات من Google لتعديل الأسعار أو البيانات الوصفية. ويتم استخدامها مع طريقتَي التسليم "السحب" و"تغيير الأسعار".
رسائل طلبات الأسعار
تحدّد رسائل طلب البحث عن الأسعار مجموعات المكان المخصّص للاستئجار وبرنامج الرحلة التي تقدّم الأسعار لها.
عندما يتلقّى الخادم رسالة طلب بحث pricing، يجب أن يردّ برسالة <Transaction> تتضمّن معلومات الأسعار المطلوبة.
لمزيد من المعلومات، يُرجى الاطّلاع على نظرة عامة على الأسعار.
هناك ثلاثة أنواع خاصة من رسائل Query:
الأسعار المباشرة: تردّ Google على طلب محدّد من المستخدم، وتطلب منه تعديل السعر في الوقت الفعلي. عندما يتلقّى الشركاء رسالة
Live pricing query، عليهم الردّ برسالة<Transaction>تتضمّن معلومات الأسعار المطلوبة في عناصر<Result>.مع ميزة "التسعير حسب السياق": تعدّل Google ذاكرة التخزين المؤقت للأسعار استنادًا إلى السياقات الرائجة في السابق. عند تلقّي رسالة
With Context query، عليك الردّ برسالة<Transaction>تتضمّن معلومات الأسعار المطلوبة في عناصر<Result>.باستخدام "طلبات البحث السياقية" في غرفة واحدة
عند تقديم أسعار استجابةً لطلبات البحث التي تتضمّن سياقًا، يجب إرسال السعر الذي يتوافق مع السياق المحدّد فقط. تتطلّب الإقامة بالسعر الأساسي شخصَين على الأقل، لذا إذا تم إدخال شخص واحد في السعر الأساسي، سيتم تجاهله وسيتم التعامل معه على أنّه إقامة مزدوجة. في هذه الحالة، يجب إرسال السعر الأساسي على أنّه غير متوفّر واستخدام السعر المتداخل ضمن الإشغال الفردي. راجِع مثال الردّ "مع السياق". يمكنك استخدام الأسعار المتغيرة حسب السياق لدمج الأسعار من خلال ضبط السمة
mergeableعلى"true". مزيد من المعلوماتالوضع "تغيير في السعر" (معروف سابقًا باسم Pull with Hints) مع السياق
عند إرسال ردّ على رسالة
<Transaction>إلى طلب بحث عن "أسعار متغيرة مع سياق"، يتعامل معه محرّك بحث Google على أنّه استبدال كامل لمعلومات الأسعار ومدى التوفّر لفندق أو برنامج رحلة معيّن، ويتم استبعاد جميع الأسعار الخاصة بالسياق من الردّ وإزالتها من ذاكرة التخزين المؤقت.لمنع الكتابة فوقها، يجب ضبط السمة
mergeableعلى"true"ضمن العنصر<Result>في الرسالة<Transaction>. تضيف Google المعدّلات إلى المعدّلات الحالية المخزّنة مؤقتًا للسياق المقدَّم في الردّ. في حال عدم استخدام السمة القابلة للدمج، يجب إرسال جميع الأسعار لجميع السياقات السارية في الردّ.طلب البحث عن السعر في الوقت الفعلي مع السياق
يتضمّن طلب البحث عن السعر في الوقت الفعلي مع السياق سلوك السمة القابلة للدمج تلقائيًا، لذا ليس من الضروري ضبط هذه السمة. عليك إرسال الأسعار فقط للسياقات المحدّدة التي طلبتها Google إذا بقيت جميع السياقات الأخرى كما هي. إذا تغيّرت سياقات أخرى، عليك إرسال التغييرات بشكل صريح لهذه السياقات، وإلا لن يتم تعديل الأسعار الجديدة في ذاكرة التخزين المؤقت من Google.
البيانات الوصفية: تطلب Google تحديثات البيانات الوصفية للغرف وحِزم الغرف للفنادق المحدّدة. عند تلقّي رسالة
Metadata Query، عليك الردّ برسالة<Transaction>تحدّد بيانات حول الغرف وحِزم الغرف في عناصر<PropertyDataSet>. لمزيد من المعلومات، يُرجى الاطّلاع على البيانات الوصفية لحزمة الغرف.
البنية
يستخدم العنصر <Query> البنية التالية:
طلب تحديد الأسعار
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<Checkin>YYYY-MM-DD</Checkin>
<Nights>number_of_nights</Nights>
<PropertyList>
<Property>hotel_id</Property>
...
</PropertyList>
</Query>
السعر في الوقت الفعلي
<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true_or_false">
<Checkin>YYYY-MM-DD</Checkin>
<Nights>number_of_nights</Nights>
<!-- Only for Check-in Date Range pricing queries (Changed Pricing) -->
<FirstDate>YYYY-MM-DD</FirstDate>
<LastDate>YYYY-MM-DD</LastDate>
<!-- Only for Ranged Stay pricing queries (Changed Pricing) -->
<AffectedNights>number_of_nights</AffectedNights>
<PropertyList>
<Property>hotel_id</Property>
...
</PropertyList>
<!-- See documentation below for <Context> -->
<Context>
...
</Context>
</Query>
طلب بحث مع سياق
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<Checkin>YYYY-MM-DD</Checkin>
<Nights>number_of_nights</Nights>
<!-- Only for Check-in Date Range pricing queries (Changed Pricing) -->
<FirstDate>YYYY-MM-DD</FirstDate>
<LastDate>YYYY-MM-DD</LastDate>
<!-- Only for Ranged Stay pricing queries (Changed Pricing) -->
<AffectedNights>number_of_nights</AffectedNights>
<PropertyContextList>
<PropertyContext>
<Property>hotel_id</Property>
...
<!-- See documentation below for <Context> -->
<Context>
...
</Context>
</PropertyContext>
</PropertyContextList>
</Query>
البيانات الوصفية
<HotelInfoProperties>
<Property>property_ID</Property>
...
</HotelInfoProperties>
السمات
قد يحتوي العنصر <Query> على سمة واحدة: latencySensitive.
السمة latencySensitive اختيارية. عند توفيرها وضبطها على
true، يشير ذلك إلى أنّ طلب البحث هو Live Pricing Query. لطلب أن ترسل Google طلبات البحث باستخدام السمة latencySensitive، يُرجى التواصل مع مدير الحساب الفني (TAM).
العناصر الفرعية
يحتوي العنصر <Query> على العناصر الفرعية التالية:
| العنصر الفرعي | نوع طلب البحث | النوع | الوصف |
|---|---|---|---|
| <AffectedNights> | Pricing | integer | عدد الليالي للإقامة ضمن نطاق زمني يُستخدَم هذا العنصر فقط لطلبات البحث عن الأسعار الخاصة بالإقامات ضمن نطاق معيّن والتي يتم إجراؤها باستخدام ميزة "تغيير في السعر". |
| <Checkin> | Pricing | Date | تواريخ تغيير سعر محدّد |
| <Context> | Pricing (Live Pricing Queries only) | <Context> | بالنسبة إلى طلبات البحث عن "السعر في الوقت الفعلي"، تحدّد هذه السمة معلَمات معيّنة يتم بموجبها تقديم طلب البحث. تشمل العناصر الفرعية ما يلي:
يمكن تكرار العنصر |
| <FirstDate> | Pricing | Date | تمثّل هذه السمة تاريخ البدء لنطاق من برامج الرحلات التي ينطبق عليها السعر. يُستخدَم هذا العنصر فقط لطلبات البحث عن الأسعار ضمن "نطاق تواريخ تسجيل الوصول" التي يتم استخدامها مع ميزة "تغيير في السعر". |
| <HotelInfoProperties> | Metadata | string | خاصية واحدة أو أكثر تريد Google الحصول على بيانات وصفية محدّثة بشأنها حول الغرف وحِزم الغرف في رسالة بيانات وصفية Query.
يمكن أن يحتوي هذا العنصر على عنصر واحد أو أكثر من النوع <Property> يحدّد معرّفات مواقع الفنادق. |
| <LastDate> | Pricing | Date | تمثّل هذه السمة تاريخ انتهاء نطاق برامج الرحلات التي ينطبق عليها السعر. يُستخدم هذا العنصر فقط لطلبات البحث عن الأسعار ضمن "نطاق تواريخ تسجيل الوصول" التي يتم استخدامها مع ميزة "السحب + التلميحات". |
| <Nights> | Pricing | integer | عدد الليالي في خط سير معيّن، بحد أقصى 30 ليلة |
| <PropertyList> | Pricing | Object | معرّف واحد أو أكثر للفندق الذي يتطلّب تعديل الأسعار حدِّد كل فندق في عنصر <PropertyList> <Property>pid1</Property> <Property>pid2</Property> </PropertyList> |
أمثلة
طلب البحث عن الأسعار
يعرض المثال التالي رسالة طلب بحث عن الأسعار تطلب تعديلات على الأسعار لمجموعة من الفنادق، متاحة لمدة 3 ليالٍ، وتبدأ في 23 أيار (مايو) 2023:
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<Checkin>2023-05-23</Checkin>
<Nights>3</Nights>
<PropertyList>
<Property>pid5</Property>
<Property>pid8</Property>
<Property>pid13</Property>
<Property>pid21</Property>
</PropertyList>
</Query>
طلب البحث عن السعر في الوقت الفعلي
يعرض المثال التالي طلب بحث عن السعر في الوقت الفعلي مع حد أقصى لوقت الرد يبلغ 500 ملي ثانية:
<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
<Checkin>2017-06-07</Checkin>
<Nights>5</Nights>
<DeadlineMs>500</DeadlineMs>
<PropertyList>
<Property>8675309</Property>
</PropertyList>
<Context>
<Occupancy>4</Occupancy>
<OccupancyDetails>
<NumAdults>2</NumAdults>
<Children>
<Child age="8"/>
<Child age="5"/>
</Children>
</OccupancyDetails>
<UserCountry>US</UserCountry>
<UserDevice>mobile</UserDevice>
</Context>
</Query>
طلب البحث مع السياق
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<Checkin>2023-05-23</Checkin>
<Nights>2</Nights>
<PropertyContextList>
<PropertyContext>
<Property>8675309</Property>
<!-- In the future, device might be specified -->
<Context><UserCountry>US</UserCountry></Context>
<Context><UserCountry>GB</UserCountry></Context>
</PropertyContext>
<PropertyContext>
<Property>8675310</Property>
<Property>8675311</Property>
<Context><UserCountry>CA</UserCountry></Context>
</PropertyContext>
</PropertyContextList>
</Query>
الردّ مع مراعاة السياق
يوضّح المثال التالي كيفية ضبط السعر الأساسي على unavailable(-1)
لشخص واحد ودمج الأسعار في العنصر <Occupancy>.
<?xml version="1.0" encoding="UTF-8"
<Transaction id="Wtdj8QoQIWcAAbaTGlIAAAC4" timestamp="2025-11-19T18:36:48Z">
<Result>
<Property>6781291</Property>
<Checkin>2026-01-15</Checkin>
<Nights>1</Nights>
<!-- Base rate is set to -1 to indicate unavailability for the default (2-person) occupancy -->
<Baserate currency="USD">-1</Baserate>
<Tax currency="USD">0</Tax>
<OtherFees currency="USD">0</OtherFees>
<Rates>
<!-- Nested Rate for Single Occupancy -->
<Rate rate_rule_id="rule-951">
<Occupancy>1</Occupancy>
<OccupancyDetails>
<NumAdults>1</NumAdults>
</OccupancyDetails>
<Baserate currency="USD">150.00</Baserate>
<Tax currency="USD">15.00</Tax>
<OtherFees currency="USD">5.00</OtherFees>
</Rate>
<!-- Other nested rates for different occupancies or room types could be included here if available -->
</Rates>
</Result>
</Transaction>
طلب البيانات الوصفية
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<HotelInfoProperties>
<Property>pid5</Property>
<Property>pid8</Property>
<Property>pid13</Property>
<Property>pid21</Property>
</HotelInfoProperties>
</Query>
للاطّلاع على أمثلة إضافية، بما في ذلك عمليات البحث عن الأسعار ضمن نطاق زمني للإقامة ونطاق زمني لتاريخ تسجيل الوصول، يمكنك الاطّلاع على أمثلة الرسائل Query.
<Context>
يصف العنصر <Context> معلومات حول Live pricing query،
بما في ذلك عدد الضيوف ونوعهم وبلد المستخدم وجهاز المستخدم.
لن يتم استخدام عدة <Context> مع بلدان مستخدمين أو أجهزة مستخدمين مختلفة. عند استخدام عدة قيم <Context> للاستعلام عن عدة إشغال، قدِّم سعر كل إشغال كحزمة غرف إضافية للعقار أو خطة الرحلة المعنيَّين. يجب أن يتضمّن كل مكان مخصّص للاستئجار أو برنامج رحلة كتلة <Result> واحدة تتضمّن الأسعار الخاصة بعدد الأشخاص المسموح به في المكان.
للاطّلاع على تفاصيل الردّ على طلب البحث <Context>، يُرجى الاطّلاع على
<OccupancyDetails>.
البنية
يستخدم العنصر <Context> البنية التالية:
البنية
<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true_or_false">
<Checkin>date</Checkin>
<Nights>number_of_nights</Nights>
<DeadlineMs>number_of_milliseconds</DeadlineMs>
<PropertyList>
<Property>property_ID</Property>
</PropertyList>
<Context>
<Occupancy>total_number_of_guests</Occupancy>
<OccupancyDetails>
<NumAdults>number_of_adults</NumAdults>
<Children>
<Child age=age_of_one_child_guest/>
<Child age=age_of_one_child_guest/>
</Children>
</OccupancyDetails>
<UserCountry>end_user_country</UserCountry>
<UserDevice>user_device_type</UserDevice>
</Context>
</Query>
العناصر الفرعية
يحتوي العنصر <Context> على العناصر الفرعية التالية:
| العنصر الفرعي | نوع طلب البحث | النوع | الوصف |
|---|---|---|---|
| <Occupancy> | Pricing | integer | تحدّد هذه السمة إجمالي عدد الضيوف. على الرغم من أنّ استخدام ملاحظة: قد لا يظهر |
| <OccupancyDetails> | Pricing | Object | يسبقه <Occupancy>. تحدّد هذه السمة الضيوف حسب النوع، بما في ذلك:
على الرغم من أنّ استخدامها ليس إلزاميًا، من المفترض أن تؤدي طلبات البحث التي تتضمّن ملاحظة: قد لا يظهر |
| <UserCountry> | Pricing | string | تفلتر الأسعار حسب البلد الذي يقيم فيه المستخدم. القيمة هي رمز بلد مكوّن من حرفين، مثل يجب أن تؤدي طلبات البحث التي تتضمّن |
| <UserDevice> | Pricing | string | تتم فلترة الأسعار حسب نوع الجهاز الذي يجري المستخدم البحث منه. القيم المتاحة:
يجب أن تؤدي الطلبات التي تم تحديد |
أمثلة
الإشغال
يعرض المثال التالي طلب بحث عن "أسعار مباشرة" <Occupancy>
ضمن <Context>. طلب البحث عن السعر في الوقت الفعلي مخصّص لـ 3 ضيوف بالغين.
<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
<Checkin>2017-06-07</Checkin>
<Nights>4</Nights>
<DeadlineMs>500</DeadlineMs>
<PropertyList>
<Property>45617</Property>
</PropertyList>
<Context>
<Occupancy>3</Occupancy>
<UserCountry>US</UserCountry>
<UserDevice>mobile</UserDevice>
</Context>
</Query>
تفاصيل الإشغال
يعرض المثال التالي طلب بحث عن "الأسعار المباشرة" مع <OccupancyDetails> ضمن <Context>.
طلب البحث عن "الأسعار المباشرة" يخصّ 4 ضيوف، بينهم طفلان، ويهدف إلى الحصول على سعر ينطبق على حجز ضيف من الولايات المتحدة يتم إجراؤه من جهاز جوّال:
<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
<Checkin>2017-06-07</Checkin>
<Nights>5</Nights>
<DeadlineMs>500</DeadlineMs>
<PropertyList>
<Property>8675309</Property>
</PropertyList>
<Context>
<Occupancy>4</Occupancy>
<OccupancyDetails>
<NumAdults>2</NumAdults>
<Children>
<Child age="4"/>
<Child age="12"/>
</Children>
</OccupancyDetails>
<UserCountry>US</UserCountry>
<UserDevice>mobile</UserDevice>
</Context>
</Query>
سياقات متعدّدة
يوضّح المثال التالي كيفية استخدام عنصر <Context> إضافي في طلب بحث عن الأسعار المباشرة.
<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
<Checkin>2017-06-07</Checkin>
<Nights>4</Nights>
<DeadlineMs>500</DeadlineMs>
<PropertyList>
<Property>45617</Property>
</PropertyList>
<Context>
<Occupancy>3</Occupancy>
<UserCountry>US</UserCountry>
<UserDevice>mobile</UserDevice>
</Context>
<Context>
<Occupancy>6</Occupancy>
<OccupancyDetails>
<NumAdults>4</NumAdults>
<Children>
<Child age="6"/>
<Child age="10"/>
</Children>
</OccupancyDetails>
<UserCountry>US</UserCountry>
<UserDevice>mobile</UserDevice>
</Context>
</Query>