پیام های پرس و جو

پیام‌های درخواستی درخواست‌هایی از طرف Google برای قیمت‌گذاری یا به‌روزرسانی فراداده هستند. آنها با هر دو حالت تحویل Pull و Changed Pricing استفاده می شوند.

عنصر ریشه پیام های Query <Query> است.

ساختار پیام Query به نوع پیام بستگی دارد:

  • قیمت‌گذاری: Google یک پیام درخواستی ارسال می‌کند که درخواست به‌روزرسانی قیمت‌ها را برای هتل‌های مشخص‌شده می‌دهد.

  • فراداده: Google یک پیام پرس و جو ارسال می کند که اطلاعات مربوط به اتاق و اطلاعات بسته را در هتل های مشخص شده درخواست می کند.

شما نقطه پایانی را که Google برای پیام‌های Query و جستارهای قیمت‌گذاری زنده در طول پیکربندی اولیه‌تان استفاده می‌کند، تعیین می‌کنید. برای اطلاعات بیشتر، با مدیر حساب فنی خود (TAM) تماس بگیرید.

Google یک پیام Query را به عنوان یک درخواست HTTP POST با هدر Content-Type روی "application/xml" و سربرگ User-Agent روی Google-HotelAdsPrices ارسال می کند. استثنا از این قانون در طول آزمایش دستی ادغام نقطه پایانی قیمت از طریق Google-TravelAds-Live رخ می دهد. این پرس و جوهای نمونه ممکن است حاوی سرصفحه User-Agent باشند یا نباشند.

قالب بندی تفصیلی پیام های Query را می توان در Query XML Reference پیدا کرد.

پیام های استعلام قیمت

پیام‌های استعلام قیمت، ملک یا ترکیبات مسیری را که قیمت‌ها را برای آن‌ها ارائه می‌کنید، مشخص می‌کند.

هنگامی که سرور شما یک پیام پرس و جو قیمت را دریافت می کند، باید با یک پیام <Transaction> که حاوی اطلاعات قیمت درخواستی است پاسخ دهد.

برای اطلاعات بیشتر، به نمای کلی قیمت‌گذاری مراجعه کنید.

سه نوع خاص از پیام های پرس و جو وجود دارد:

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

  2. با زمینه: در صورت فعال بودن، توصیه‌های زمینه کاربر در هر عبارت جستجویی که Google برای شما ارسال می‌کند گنجانده می‌شود و توصیه‌ها متداول‌ترین انواع کاربرانی را نشان می‌دهند که ویژگی‌ها یا ترکیب‌های برنامه سفر را جستجو می‌کنند. پیروی از این توصیه ها ممکن است کارایی پاسخ های شما را افزایش دهد.

  3. فراداده: این درخواست برای جزئیات در مورد اتاق ها و بسته های دارایی های مشخص شده است.

استعلام قیمت زنده

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

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

درخواست‌های قیمت‌گذاری زنده نیز متنی هستند و می‌توانند قیمت‌ها را برای پارامترهای زیر بازیابی کنند: کشور کاربر، نوع دستگاه، میزان اشغال (تعداد مهمان‌ها)، و بزرگسالان یا کودکان بودن آن مهمان‌ها. با درخواست‌های قیمت‌گذاری زنده، می‌توانید قیمت‌های به‌روز بیشتری را نشان دهید که مطابق با آنچه مشتری جستجو کرده است، باشد.

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

قوانین استفاده از پرس و جوهای قیمت گذاری زنده

  • هیچ داده ذخیره‌سازی شده برای برنامه سفر داده شده وجود ندارد زیرا برنامه سفر درخواستی غیر معمول است، مانند تاریخ‌های بسیار دور در آینده یا هتل به ندرت جستجو می‌شود.

  • تاریخ درخواستی یک تاریخ غیر پیش فرض است.

: توجه: تاریخ‌های پیش‌فرض برای درخواست‌های قیمت‌گذاری زنده واجد شرایط نیستند. استعلام قیمت زنده فقط برای تاریخ های غیر پیش فرض درخواست می شود.

Google معمولاً نتایج یک قیمت گذاری زنده را در حافظه پنهان ذخیره می کند تا از همان هتل یا برنامه سفر دوباره سؤال نشود. این می تواند هم ترکیب هتل یا برنامه سفر و هم ترکیب چند هتل یا یک برنامه سفر را درخواست کند.

ویژگی Live pricing with Context به Google امکان می‌دهد درخواست‌های قیمت‌گذاری مستقیم را بر اساس نوع دستگاه کاربر، کشوری که از آن جستجو می‌کند و تعداد سرنشینان از جمله کودکان ارسال کند. هم پیام Query و هم پیام Transaction بسط می‌یابند تا عنصر <Context> را که پارامترهای پرس و جو را تعریف می‌کند، شامل شود. قیمت‌های دریافت‌شده از عبارت‌های قیمت‌گذاری زنده با زمینه را می‌توان به‌عنوان یک بسته اتاق ، در صورتی که قیمت برای یک اشغال خاص باشد و به عنوان یک نرخ مشروط ، اگر برای کشور کاربر یا دستگاه کاربر باشد، در حافظه پنهان ذخیره کرد.

با پرس و جوهای زمینه

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

پیام های پرس و جوی فراداده

پیام‌های جستجوی فراداده حاوی جزئیاتی در مورد اطلاعات اتاق و بسته برای ویژگی‌های مشخص شده است.

هنگامی که یک پیام Query فراداده دریافت می کنید، باید با یک پیام <Transaction> پاسخ دهید که قیمت گذاری ویژگی های درخواستی را در عناصر <Result> مشخص می کند.

برای اطلاعات بیشتر، به تعریف فراداده اتاق و بسته مراجعه کنید.

پرس و جوها را کنترل کنید

این بخش نحوه کنترل ویژگی‌ها و برنامه‌های سفر را توضیح می‌دهد که می‌توانند موضوع پیام‌های Query از Google باشند.

مرزهای سفر

شما با استفاده از <ItineraryCapabilities> مرزهای احتمالی پرس و جوهای قیمت گذاری را تعیین می کنید. شما قوانینی را تعریف می کنید که محدوده تاریخ ها و حداکثر مدت اقامت مورد حمایت شما را تعیین می کند.

می‌توانید مقادیر پیش‌فرض را برای <MaxAdvancePurchase> و <MaxLengthOfStay> تنظیم کنید که برای همه هتل‌ها یا ترکیب‌های برنامه سفر اعمال می‌شود. همچنین می توانید این تنظیمات را برای گروه هایی از هتل ها تعریف کنید.

نمونه های پیام پرس و جو

این بخش چندین نمونه از قیمت‌گذاری پیام‌های Query و یک پیام Query فراداده را نشان می‌دهد. نمونه های اضافی در Query XML Reference یافت می شود.

نمونه برنامه سفر

مثال زیر قیمت‌گذاری <Query> را نشان می‌دهد که درخواست به‌روزرسانی قیمت برای 4 هتل را می‌دهد که برای 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>

این مثال به‌روزرسانی قیمت‌ها را برای هر هتل درخواست می‌کند:

5/23/18 - 6/26/18

نمونه استعلام قیمت زنده

مثال زیر یک جستار قیمت گذاری زنده با محدودیت زمانی پاسخگویی 500 میلی ثانیه را نشان می دهد:

<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
<!-- Note that the latencySensitive attribute is not present by default but can
     be configured to be displayed, on request, by Google. This attribute is only
     displayed for a Live Pricing Query request -->
  <Checkin>2023-05-23</Checkin>
  <Nights>2</Nights>
  <DeadlineMs>500</DeadlineMs>
<!-- The deadline represents the timeframe by which a response will need to be
     received by. This element is only displayed for a Live Pricing Query request -->
  <PropertyList>
    <Property>6781291</Property>
  </PropertyList>
<!-- Note that Context tags are potentially repeatable -->
  <Context>
<!-- The total number of guests occupying the room (adults+children) -->
    <Occupancy>3</Occupancy>
    <OccupancyDetails>
      <NumAdults>2</NumAdults>
<!-- In this example one of the 3 guests is a 5yr old child -->
      <Children>
        <Child age="5"/>
      </Children>
    </OccupancyDetails>
<!-- The user was located in the US when this search was made -->
    <UserCountry>US</UserCountry>
<!-- The user was searching from a mobile device at the time of search -->
    <UserDevice>mobile</UserDevice>
  </Context>
</Query>

این مثال قیمت یک هتل را درخواست می کند:

6/23/23 - 6/25/23

نمونه پاسخ پیام تراکنش به این پرسش را می توان در مرجع XML قیمت گذاری و موجودی اتاق (معاملات) یافت.

با مثال پرس و جو زمینه

مثال زیر یک مثال With 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>

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

محدوده تاریخ ورود

اگر از Changed Pricing استفاده می کنید، ساختار پیام Query بستگی به نوع اشاره ای دارد که برای محدوده تاریخ ورود، برنامه های سفر دقیق یا برنامه های سفر با محدوده استفاده می کنید. برای اطلاعات بیشتر در مورد هر یک از این انواع راهنمایی، به پیام‌های پاسخ راهنمایی مراجعه کنید.

مثال زیر یک پیام قیمت‌گذاری <Query> را برای محدوده‌های تاریخ ورود نشان می‌دهد:

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <FirstDate>2023-05-23</FirstDate>
  <LastDate>2023-05-26</LastDate>
  <Nights>3</Nights>
  <PropertyList>
    <Property>pid5</Property>
    <Property>pid8</Property>
    <Property>pid13</Property>
    <Property>pid21</Property>
  </PropertyList>
</Query>

این مثال به‌روزرسانی‌های قیمت را برای اقامت‌های زیر (برای هر هتل) درخواست می‌کند:

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

اقامت در محدوده

مثال زیر یک پیام قیمتی <Query> را برای اقامت های محدوده نشان می دهد:

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <FirstDate>2023-05-23</FirstDate>
  <LastDate>2023-05-26</LastDate>
  <AffectedNights>3</AffectedNights>
  <PropertyList>
    <Property>pid5</Property>
    <Property>pid8</Property>
    <Property>pid13</Property>
    <Property>pid21</Property>
  </PropertyList>
</Query>

این مثال به‌روزرسانی قیمت‌ها را برای هر هتل درخواست می‌کند:

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

اقامت‌های بعلاوه‌ای که از قبل شروع شده‌اند (اما شامل) شب معین می‌شوند:

5/20/23 - 5/23/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

پیام پرس و جوی فراداده

مثال زیر یک پیام <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 با یک پیام تراکنش پاسخ می دهید که متاداده اتاق و بسته را تعریف می کند. برای اطلاعات بیشتر، به تعریف فراداده اتاق و بسته مراجعه کنید.