پیام های پاسخ راهنمایی

وقتی گوگل یک پیام درخواست راهنمایی ارسال می‌کند، سرورهای شما باید با یک پیام پاسخ راهنمایی پاسخ دهند که هتل‌هایی را که قیمت آنها از آخرین باری که گوگل یک پاسخ راهنمایی موفق از همان سرورها دریافت کرده است، تغییر کرده است، مشخص می‌کند. اگر تغییری در قیمت وجود داشته باشد، گوگل یک <Query> ارسال می‌کند که داده‌های قیمت‌گذاری به‌روز شده را برای هتل‌ها و برنامه‌های سفر مشخص شده دریافت می‌کند.

برای مرور کلی فرآیند قیمت‌گذاری مجدد، به مرور کلی قیمت‌گذاری مراجعه کنید.

پیام‌های Hint Response از روش‌های زیر برای تغییر قیمت هتل‌های انتخاب‌شده و برنامه‌های سفر آنها استفاده می‌کنند:

عنصر ریشه یک پیام Hint Response، <Hint> است. شما با استفاده از یک یا چند عنصر <Item> درخواست به‌روزرسانی یک هتل یا برنامه سفر را می‌دهید. یک پیام Hint Response می‌تواند هر تعداد عنصر <Item> را تعریف کند.

هر پیام پاسخ راهنما باید حداقل یک عنصر <Property> را برای هر <Item> مشخص کند. <Property> با استفاده از همان شناسه‌های فهرست هتل ، یک هتل را شناسایی می‌کند. به طور پیش‌فرض، شما برای هر بلوک <Item> یک شناسه هتل مشخص می‌کنید. با این حال، اگر از محدوده‌های تاریخ ورود یا اقامت‌های محدوده‌دار برای تغییر قیمت استفاده می‌کنید، می‌توانید به گوگل دستور دهید که چندین هتل را در یک بلوک کالا مجاز کند.

جریان دقیق درخواست و پاسخ برنامه سفر

پیام‌های راهنما می‌توانند بر اساس برنامه‌های سفر جداگانه مانند ترکیبی از تاریخ ورود و مدت اقامت باشند. در این حالت، شما تاریخ ورود و مدت اقامت را برای هتل‌های خود مشخص می‌کنید و گوگل داده‌های قیمت‌گذاری جدید را فقط برای آن برنامه سفر دریافت می‌کند.

پاسخ شریک

پیام پاسخ راهنمایی زیر یک ویژگی واحد و یک مسیر واحد را تعریف می‌کند:

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

پاسخ گوگل

گوگل به پیام Hint Response شما با یک <Query> مشابه زیر پاسخ می‌دهد:

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

ایجاد <Transaction>

سپس از شما انتظار می‌رود که یک <Transaction> با به‌روزرسانی‌های قیمت هتل برای اقامت بعدی ایجاد کنید:

5/20/23 - 5/23/23

جریان درخواست و پاسخ در بازه‌های زمانی ورود

یک پیام پاسخ راهنما می‌تواند طیف وسیعی از تاریخ‌های ورود را مشخص کند، که از اولین تاریخ ورود شروع می‌شود و با آخرین تاریخ ورود پایان می‌یابد. وقتی گوگل داده‌های قیمت‌گذاری جدید را دریافت می‌کند، برنامه‌های سفر را برای هر تاریخ ورود به هتل، از آن تاریخ‌ها شروع می‌شود و تا مدت اقامتی که شما مشخص می‌کنید، ادامه می‌یابد.

تاریخ‌های تعیین‌شده توسط شریک

مثال زیر برای پیام Hint Response یک ویژگی واحد با طیف وسیعی از تاریخ‌ها برای ورود به سیستم تعریف می‌کند:

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

پاسخ گوگل

گوگل به این پیام Hint Response با <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

این مثال از مدت اقامت ۵ شب استفاده می‌کند. مدت اقامت پیش‌فرض ۳۰ روز است.

جریان درخواست و پاسخ در محدوده‌ی مشخصی باقی می‌ماند

یک پیام پاسخ راهنما می‌تواند شامل طیف وسیعی از تاریخ‌هایی باشد که تغییر کرده‌اند. این به گوگل اطلاع می‌دهد که باید هر برنامه سفری را که تحت تأثیر هر یک از آن تاریخ‌ها قرار گرفته است، دریافت کند. مجموعه واقعی برنامه‌های سفر دریافتی، تابعی از مجموعه تاریخ‌های دارای تغییرات و حداکثر مدت اقامت است.

اقامت‌های دور از دسترس شریک

مثال زیر از پیام Hint Response با بازه‌های زمانی مشخص استفاده می‌کند:

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

پاسخ گوگل

گوگل به پیام Hint Response شما با یک <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

محدوده‌های زمانی: محدودیت‌های دسته‌بندی و تقسیم‌بندی پرس‌وجو

گوگل هر جستجوی pull را به حداکثر ۱۰،۰۰۰ ترکیب جفت هتل-برنامه سفر (هتل، تاریخ ورود و مدت اقامت) محدود می‌کند. برای اشاره به اقامت در محدوده مشخص ، تعداد ترکیب‌ها با استفاده از فرمول ذوزنقه برای محاسبه تعداد ترکیب‌های جفت هتل-برنامه سفر برای جستجوهای اقامت در محدوده مشخص محاسبه می‌شود:

$$ \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 پیکربندی شده است).

چه اتفاقی می‌افتد وقتی یک راهنما از ۱۰۰۰۰ مورد فراتر رود؟

اگر تعداد موارد محاسبه‌شده از ۱۰۰۰۰ بیشتر شود، گوگل به‌طور خودکار حجم کار جستجو را تقسیم می‌کند:

  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>
  • اندازه دسته‌های هتل را متعادل نگه دارید: اگر پنجره‌های تاریخ بزرگ (مانند ۱۸۰ تا ۳۶۵ روز) را با مدت اقامت ۱۴+ شب به‌روزرسانی می‌کنید، از مدیر حساب فنی گوگل خود بخواهید که hotel_batch_size شما را روی مقدار کمتری تنظیم کند تا از ایجاد انشعاب‌ها جلوگیری شود.
  • نکات دقیق در مورد محدوده: هنگام اطلاع‌رسانی به گوگل در مورد تغییرات قیمت، به جای ارسال یک سال تقویمی کامل، بازه‌های زمانی <FirstDate> و <LastDate> را به بازه‌های زمانی خاصی که نرخ‌ها واقعاً تغییر کرده‌اند محدود کنید.
  • اگر نکات شما محدوده‌های زمانی بزرگی را پوشش می‌دهد: مطمئن شوید که تجزیه‌گر شما هر دو را می‌پذیرد یا داخل بلوک‌هایی حاوی <FirstDate> و <LastDate> به طوری که بتوان از چندین نوع پرس‌وجوی محدوده‌بندی‌شده برای برآورده کردن درخواست‌های pull استفاده کرد.