رسائل الردّ على طلب قائمة بالتعديلات

عندما ترسل Google رسالة طلب قائمة بالتعديلات، يجب أن تردّ خوادمك برسالة "ردّ على طلب قائمة بالتعديلات" تحدّد الفنادق التي تغيّرت أسعارها منذ آخر مرة تلقّت فيها Google ردًّا ناجحًا على طلب قائمة بالتعديلات من هذه الخوادم نفسها. إذا كانت هناك أي تغييرات في الأسعار، ترسل Google بعد ذلك تُرسل <Query> لاسترداد بيانات الأسعار المعدَّلة للفنادق وبرامج الرحلات المحدّدة.

للحصول على نظرة عامة على عملية إعادة التسعير، يُرجى الاطّلاع على نبذة عن الأسعار.

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

العنصر الجذر لرسالة "الردّ على طلب قائمة بالتعديلات" هو <Hint>. يمكنك طلب تعديل فندق أو برنامج رحلة باستخدام عنصر واحد أو أكثر من عناصر <Item>. يمكن أن تحدّد رسالة "الردّ على طلب قائمة بالتعديلات" أي عدد من عناصر <Item>

يجب أن تحدّد كل رسالة "ردّ على طلب قائمة بالتعديلات" عنصر <Property> واحدًا على الأقل لكل <Item>. يحدّد <Property> فندقًا باستخدام المعرّفات نفسها المستخدَمة في قائمة الفنادق. تحدّد تلقائيًا معرّف فندق واحدًا لكل <Item> كتلة. ومع ذلك، يمكنك توجيه Google للسماح بفنادق متعددة في كتلة عنصر إذا كنت تستخدِم النطاقات الزمنية لتاريخ تسجيل الوصول أو الإقامات ذات النطاق الزمني لإعادة التسعير.

سير طلب برنامج الرحلة المحدّد والاستجابة له

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

ردّ الشريك

تحدّد رسالة "الردّ على طلب قائمة بالتعديلات" التالية موقعًا واحدًا وبرنامج رحلة واحدًا:

<Hint>
  <Item>
    <Property>12345</Property>
    <Stay>
      <CheckInDate>2023-05-20</CheckInDate>
      <LengthOfStay>3</LengthOfStay>
    </Stay>
  </Item>
</Hint>

ردّ Google

تردّ Google على رسالة "الردّ على طلب قائمة بالتعديلات" باستخدام <Query> مشابه لما يلي:

<Query>
  <Checkin>2023-05-20</Checkin>
  <Nights>3</Nights>
  <PropertyList>
    <Property>12345</Property>
  </PropertyList>
</Query>

إنشاء <Transaction>

يُتوقَّع منك بعد ذلك إنشاء <Transaction> يتضمّن تعديلات الأسعار للفندق للإقامة التالية:

5/20/23 - 5/23/23

سير طلب النطاقات الزمنية لتاريخ تسجيل الوصول والاستجابة له

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

التواريخ ذات النطاق الزمني للشريك

يحدّد المثال التالي لرسالة "الردّ على طلب قائمة بالتعديلات" موقعًا واحدًا يتضمّن نطاقًا زمنيًا للتواريخ لتسجيل الوصول:

<Hint>
  <Item>
    <Property>12345</Property>
    <FirstDate>2023-05-20</FirstDate>
    <LastDate>2023-05-23</LastDate>
  </Item>
</Hint>

ردّ Google

تردّ Google على رسالة "الردّ على طلب قائمة بالتعديلات" هذه باستخدام <Query> مشابه لما يلي:

<Query>
  <FirstDate>2023-05-20</FirstDate>
  <LastDate>2023-05-23</LastDate>
  <Nights>5</Nights>
  <PropertyList>
    <Property>12345</Property>
  </PropertyList>
</Query>

إنشاء <Transaction>

يُتوقَّع منك بعد ذلك إنشاء <Transaction> يتضمّن تعديلات الأسعار للإقامات التالية في هذا الفندق:

5/20/23 - 5/21/23
5/20/23 - 5/22/23
5/20/23 - 5/23/23
5/20/23 - 5/24/23
5/20/23 - 5/25/23

5/21/23 - 5/22/23
5/21/23 - 5/23/23
5/21/23 - 5/24/23
5/21/23 - 5/25/23
5/21/23 - 5/26/23

5/22/23 - 5/23/23
5/22/23 - 5/24/23
5/22/23 - 5/25/23
5/22/23 - 5/26/23
5/22/23 - 5/27/23

يستخدِم هذا المثال مدة إقامة تبلغ 5 ليالٍ. مدة الإقامة التلقائية هي 30 يومًا.

سير طلب الإقامات ذات النطاق الزمني والاستجابة له

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

الإقامات ذات النطاق الزمني للشريك

يستخدِم المثال التالي لرسالة "الردّ على طلب قائمة بالتعديلات" الإقامات ذات النطاق الزمني:

<Hint>
  <Item>
    <Property>12345</Property>
    <StaysIncludingRange>
      <FirstDate>2023-05-20</FirstDate>
      <LastDate>2023-05-23</LastDate>
    </StaysIncludingRange>
  </Item>
</Hint>

ردّ Google

تردّ Google على رسالة "الردّ على طلب قائمة بالتعديلات" باستخدام <Query> مشابه لما يلي:

<Query>
  <FirstDate>2023-05-20</FirstDate>
  <LastDate>2023-05-23</LastDate>
  <AffectedNights>3</AffectedNights>
  <PropertyList>
    <Property>12345</Property>
    <Property>67891</Property>
  </PropertyList>
</Query>

إنشاء <Transaction>

يُتوقَّع منك بعد ذلك إنشاء <Transaction> يتضمّن تعديلات الأسعار للفندق للإقامات التالية:

5/17/23 - 5/20/23

5/18/23 - 5/20/23
5/18/23 - 5/21/23

5/19/23 - 5/20/23
5/19/23 - 5/21/23
5/19/23 - 5/22/23

5/20/23 - 5/21/23
5/20/23 - 5/22/23
5/20/23 - 5/23/23

5/21/23 - 5/22/23
5/21/23 - 5/23/23
5/21/23 - 5/24/23

5/22/23 - 5/23/23
5/22/23 - 5/24/23
5/22/23 - 5/25/23

5/23/23 - 5/24/23
5/23/23 - 5/25/23
5/23/23 - 5/26/23

الإقامات ذات النطاق الزمني: حدود التجميع وتقسيم طلبات البحث

تفرض Google حدًا أقصى على كل طلب استرداد يبلغ 10,000 مجموعة من الفندق وبرنامج الرحلة (فندق وتاريخ تسجيل وصول ومدة إقامة). بالنسبة إلى تلميح "الإقامة ذات النطاق الزمني"، يتم حساب عدد المجموعات باستخدام صيغة شبه المنحرف لحساب عدد مجموعات الفندق وبرنامج الرحلة لطلبات البحث عن الإقامات ذات النطاق الزمني:

$$ \text{Total Items} = \left( \text{Date Span} \times \text{LOS} + \frac{\text{LOS} \times (\text{LOS} + 1)}{2} \right) \times N_{\text{hotel_batch_size}} $$

المكان:

  • Date Span: عدد الأيام الشاملة بين <FirstDate> و<LastDate> (النطاق الزمني = LastDate - FirstDate + 1)
  • LOS: الحد الأقصى لمدة الإقامة المطلوبة في التلميح (مثلاً، <AffectedNights>14</AffectedNights>).
  • \(N_{\text{hotel_batch_size}}\): عدد المواقع المضمّنة في مجموعة طلبات البحث (تم ضبطه من خلال hotel_batch_size)

ماذا يحدث عندما يتجاوز التلميح 10,000 عنصر؟

إذا تجاوز عدد العناصر المحسوب 10,000، تقسم Google تلقائيًا عبء عمل طلب البحث:

  1. المحاولة الأولية (الإقامة ذات النطاق الزمني): يتم إرسال نطاق زمني أصغر يغطّي بداية النطاق باستخدام <AffectedNights>.
  2. الحلّ الاحتياطي الأول (إذا كان متاحًا - النطاق الزمني لتاريخ تسجيل الوصول): سنحاول إرسال الأجزاء المتبقية الأصغر من النطاق الزمني كطلبات بحث عن النطاق الزمني لتاريخ تسجيل الوصول باستخدام <Nights> (طلب البحث أدناه).
  3. الحلّ الاحتياطي الأخير (برامج الرحلات المحدّدة): سنعود إلى توسيع مجموعة طلبات البحث لتشمل برامج الرحلات المحدّدة الفردية.
<!-- Example: Remainder batch dispatched after a split -->
<Query>
  <FirstDate>2026-10-01</FirstDate>
  <LastDate>2026-10-31</LastDate>
  <Nights>14</Nights>
  <PropertyList>
    <Property>12345</Property>
  </PropertyList>
</Query>
  • الحفاظ على أحجام مجموعات المواقع متوازنة: إذا عدّلت نطاقات زمنية كبيرة (مثل 180 إلى 365 يومًا) بمدد إقامة تبلغ 14 ليلة أو أكثر، اطلب من المدير التقني لحساباتك على Google ضبط hotel_batch_size على قيمة أقل لمنع التلميحات من بدء عمليات التقسيم.
  • تحديد نطاق التلميحات بدقة: عند إشعار Google بالتغييرات في الأسعار، قصر نطاقات <FirstDate> و<LastDate> على الفواصل الزمنية المحدّدة التي تغيّرت فيها الأسعار فعليًا، بدلاً من إرسال سنة تقويمية كاملة.
  • إذا كانت تلميحاتك تغطّي نطاقات زمنية كبيرة: تأكّد من أنّ المحلّل يقبل إما أو داخل كتل التي تحتوي على <FirstDate> و<LastDate> حتى يمكن استخدام أنواع متعددة من طلبات البحث ذات النطاق الزمني لتلبية طلبات الاسترداد.