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

وقتی 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 داده‌های قیمت‌گذاری جدید را واکشی می‌کند، 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

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

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

پیام «پاسخ خوانایاری» می‌تواند شامل طیفی از تاریخ‌هایی باشد که تغییر کرده‌اند. این به 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 هر پُرسمان واکشی را به حداکثر ۱۰٬۰۰۰ ترکیب جفت «هتل-برنامه سفر» (هتل، تاریخ ورود، و مدت اقامت) محدود می‌کند. برای اشاره اقامت با محدوده زمانی، تعداد ترکیب‌ها بااستفاده از فرمول ذوزنقه برای محاسبه تعداد ترکیب‌های جفت «هتل-برنامه سفر» برای «پرس‌وجوهای اقامت با محدوده زمانی» محاسبه می‌شود:

$$ \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> (بازه تاریخ = آخرین تاریخ - اولین تاریخ + ۱).
  • LOS: حداکثر مدت اقامت درخواست‌شده در راهنمایی (برای مثال، <AffectedNights>14</AffectedNights>).
  • \(N_{\text{hotel_batch_size}}\): تعداد دارایی‌های موجود در دسته پُرسمان (پیکربندی‌شده ازطریق hotel_batch_size).

وقتی تعداد موارد اشاره از ۱۰٬۰۰۰ فراتر برود چه اتفاقی می‌افتد؟

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