مرجع XML الخاص بالطلب وتلميحات

يوفّر هذا القسم مرجعًا لرسائل طلبات التلميح ورسائل ردّ التلميح ورسائل طلبات البحث المستندة إلى Google XML.

<Hint> (رسالة ردّ على طلب قائمة بالتعديلات)

عنصر الجذر لرسالة "ردّ على طلب قائمة بالتعديلات" رسائل الردّ التي تتضمّن تلميحات: تحدد هذه الرسائل مجموعات الفنادق أو برامج الرحلات التي يجب إعادة تسعيرها. وهي تمثل ردّك على رسالة طلب تلميح من Google.

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

تستخدِم رسائل ردّ التلميح إحدى الطريقتَين أدناه لتحديد الفنادق وبرامج الرحلات التي يجب أن تعيد Google تسعيرها:

  • برامج الرحلة الدقيقة: مزيج من تاريخ تسجيل الوصول و مدة الإقامة

  • النطاقات الزمنية لتسجيل الوصول: تُحدِّد نطاقًا لتاريخ تسجيل الوصول، بدءًا من تاريخ تسجيل الوصول الأول وانتهاءً بتاريخ تسجيل الوصول الأخير.

  • الإقامة ضمن نطاق سعري (أو مسارات الرحلة ضمن نطاق سعري)

تتطلّب كلّ من هذه الطرق بنية مختلفة لرسالة ردّ التلميح.

لمزيد من المعلومات، يُرجى الاطّلاع على رسائل ردّ على التلميح.

البنية

يستخدم العنصر <Hint> بنية مختلفة، استنادًا إلى نوع رسالة 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>

نطاقات تسجيل الوصول

يعرض ما يلي بنية نطاقات تسجيل الدخول في رسالة "ردّ تلميح":

<!-- 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>

فترات الإقامة

يعرض ما يلي بنية الإقامة ضمن نطاق في رسالة ردّ على تلميح:

<!-- 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 الكل

رقم تعريف فندق، باستخدام رقم التعريف نفسه في قائمة الفنادق. يتم تحديد عدد عناصر <Property> التي يمكنك تحديدها في <Item> واحد حسب نوع رسالة "استجابة التلميح":

  • برامج الرحلات الدقيقة: ما يصل إلى 100 فندق
  • نطاقات تسجيل الوصول: أكثر من نطاق واحد في حال ضبط <MultipleItineraries> على "checkin_range" في رسالة <QueryControl>.
  • الإقامة ضمن نطاق زمني: أكثر من مرة إذا ضبطت <MultipleItineraries> على "affected_dates" في رسالة <QueryControl>.
<Stay> Required Object برامج الرحلات المحدّدة حاوية لعنصرَي <CheckinDate> و <LengthOfStay> في رسالة ردّ بشأن خط سير دقيق يمكن أن يحتوي كل <Item> على <Stay> واحد فقط.
<StaysIncludingRange> Required Object برامج الرحلات المتعدّدة حاوية لعنصرَي <FirstDate> و <LastDate> في رسالة "ردّ على تلميح" بشأن الإقامة ضمن نطاق زمني

أمثلة

برامج الرحلات المحدّدة

يحدِّد المثال التالي برامج رحلات متعددة لفندق واحد رسالة ردّ على تلميح:

<!-- 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 في تلقّي رسالة ردّ على طلب قائمة بالتعديلات في رسالة طلب قائمة بالتعديلات

إذا كان هذا الوقت أقدم من آخر مرة عدّلت فيها الأسعار على خادمك، عليك الردّ برسالة ردّ تتضمّن تلميحًا يحدّد الفنادق التي تم تغييرها.

إذا لم تكن هناك عملية جلب ناجحة مؤخرًا، سيتم ضبط هذه القيمة على قيمة فاصل زمني ثابت (لتجنُّب حدوث مشاكل أكثر خطورة في حالة توفُّر عددٍ كبير من العناصر في قائمة المحتوى اللاحق). إنّ قيمة الفاصل الزمني الثابت الحالي هي 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 لتعديل الأسعار أو البيانات الوصفية. ويتم استخدامها مع كل من وضعَي "السحب" و"الأسعار المتغيّرة" .

رسائل طلب الأسعار

تحدِّد رسائل طلب الأسعار مجموعات الفنادق وبرامج الرحلات التي تقدِّم لها الأسعار.

عندما يتلقّى خادمك رسالة طلب الأسعار، من المفترض أن يردّ برسالة <Transaction> تحتوي على معلومات الأسعار المطلوبة.

لمزيد من المعلومات، يُرجى الاطّلاع على نظرة عامة على الأسعار.

هناك ثلاثة أنواع خاصة من رسائل Query:

  • الأسعار المباشرة: تستجيب Google لطلب محدد من المستخدم يطلب تعديل السعر في الوقت الفعلي. عندما يتلقّى الشركاء رسالة Live pricing query ، عليهم الردّ برسالة <Transaction> تحتوي على معلومات الأسعار المطلوبة في عناصر <Result>.

  • مع تحديد الأسعار حسب السياق: تعدّل Google ذاكرة التخزين المؤقت للأسعار استنادًا إلى السياقات التي كانت رائجة في السابق. عند تلقّي رسالة With context query ، عليك الردّ برسالة <Transaction> تتضمّن معلومات الأسعار المطلوبة في عناصر <Result>.

  • البيانات الوصفية: تطلب 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> بالنسبة إلى طلبات البحث عن الأسعار في الوقت الفعلي، تحدِّد مَعلمات معيّنة يتم بموجبها إجراء طلب البحث. تشمل العناصر الفرعية ما يلي:
  • <Occupancy>: إجمالي عدد الضيوف
  • <OccupancyDetails>: نوع الضيوف، مثل البالغين أو الأطفال
  • <UserCountry>: البلد الذي يقطن فيه المستخدِم
  • <UserDevice>: نوع الجهاز الذي استخدمه الضيف للبحث عن فندق، مثل "mobile" "tablet" أو "desktop"

يمكن تكرار العنصر <Context> في طلب واحد، ما يسمح بطلبات البحث عن أماكن إقامة مختلفة. يمكنك الرجوع إلى <Context> للحصول على قائمة بالعناصر الفرعية والبنية والأمثلة.

<FirstDate> Pricing Date تاريخ بدء نطاق برامج الرحلات التي تنطبق عليها الأسعار لا يُستخدَم هذا العنصر إلّا لطلبات البحث التي تتعلّق بأسعار النطاق الزمني لتاريخ تسجيل الدخول والتي يتم استخدامها مع ميزة "تغيير في السعر".
<HotelInfoProperties> Metadata string موقع واحد أو أكثر تريد Google تعديل البيانات الوصفية للغرف وحِزم الغرف فيه في رسالة Query للبيانات الوصفية. يمكن أن يحتوي هذا العنصر على عنصر واحد أو أكثر من <Property> يحدّد معرّفات الفنادق.
<LastDate> Pricing Date تاريخ انتهاء لمجموعة من برامج الرحلات التي تنطبق عليها الأسعار لا يُستخدَم هذا العنصر إلّا في طلبات البحث عن أسعار فندق في نطاق تاريخ تسجيل الدخول التي يتم استخدامها مع ميزة "السحب + التلميحات".
<Nights> Pricing integer عدد الليالي لبرنامج رحلة معيّن، بحد أقصى 30 ليلة
<PropertyList> Pricing Object

معرّف واحد أو أكثر للفنادق التي تتطلّب تعديلات على الأسعار

حدِّد كل فندق في عنصر <Property>. قيمة هي سلسلة تتطابق مع رقم تعريف الفندق في قائمة الفنادق. على سبيل المثال:

<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, occupancy and 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>

طلب البيانات الوصفية

<?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 تُحدِّد إجمالي عدد النزلاء.

على الرغم من أنّ طلبات البحث التي تتضمّن <Occupancy> ليست إلزامية، إلا أنّها повинна تؤدي إلى إرسال رسالة معاملة تتضمّن حزم الغرف المناسبة المحدّدة لكل <Occupancy>، ولكن إذا كانت حزم الغرف غير متاحة، ننصحك بتحديد العنصر <Occupancy>.

ملاحظة: قد لا يظهر<Occupancy> دائمًا في طلب بحث. في هذه الحالات، يجب عرض أسعار كل أنواع الإقامة.

<OccupancyDetails> Pricing Object يسبقه <Occupancy>. لتحديد النزلاء حسب النوع، بما في ذلك:
  • <NumAdults>: عدد النزلاء البالغين
  • <Children> و <Child="age">: لتحديد الضيوف الأطفال (عادةً ما تتراوح أعمارهم بين 0 و17 عامًا)، مع تضمين عمر كل طفل اختياريًا

على الرغم من أنّ طلبات البحث التي تتضمّن <OccupancyDetails> ليست إلزامية، إلا أنّها من المفترض أن تؤدي إلى ظهور رسالة معاملة تتضمّن حزم الغرف المناسبة التي تم تحديدها لكل <Occupancy>، ولكن إذا كانت حزم الغرف غير متاحة، ننصحك بتحديد عنصر <OccupancyDetails>.

ملاحظة: قد لا يظهر<OccupancyDetails> في طلب بحث في بعض الأحيان. في هذه الحالات، يجب افتراض أنّ جميع النزلاء بالغون.

<UserCountry> Pricing string

فلترة الأسعار حسب البلد الذي يقيم فيه المستخدم القيمة هي رمز بلد مكوّن من حرفَين، مثل "US" للولايات المتحدة، أو رمز منطقة، مثل "EU" لـ "أوروبا".

من المفترض أن تؤدي طلبات البحث التي تم تحديد <UserCountry> فيها إلى ظهور رسالة معاملة تتضمّن مجموعة <Rates> المناسبة المحدّدة للبلد الذي تم البحث عنه.

<UserDevice> Pricing string

تصفية الأسعار حسب نوع الجهاز الذي يبحث منه المستخدم القيم المتاحة:

  • mobile
  • desktop
  • tablet

من المفترض أن تؤدي طلبات البحث التي تم تحديد <UserDevice> فيها إلى توليد رسالة معاملة تتضمّن <Rates> المناسبة التي تم تحديدها لنوع الجهاز الذي تم البحث عنه.

أمثلة

الإشغال

يعرض المثال التالي طلب بحث عن الأسعار في الوقت الفعلي لـ <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>. طلب الأسعار المباشر مخصّص لأربعة نزلاء، اثنان منهم أطفال، ويبحث عن سعر ينطبق على ضيف أمريكي يحجز من جهاز جوّال:

<?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>