কোয়েরি মেসেজ হল দাম বা মেটাডেটা আপডেট করার জন্য Google-এর পাঠানো অনুরোধ। এগুলি পুল এবং দাম পরিবর্তন করা হয়েছে (পুল উইথ হিন্ট নামে পরিচিত) ডেলিভারি মোড উভয়ের সাথেই ব্যবহার করা হয়।
কোয়েরি মেসেজের রুট এলিমেন্ট হল <Query>।
কোয়েরি মেসেজের স্ট্রাকচার মেসেজের ধরনের উপর নির্ভর করে:
দাম: Google একটি কোয়েরি মেসেজ পাঠায় যা নির্দিষ্ট হোটেলের জন্য দামের আপডেট অনুরোধ করে।
মেটাডেটা: Google একটি কোয়েরি মেসেজ পাঠায় যা নির্দিষ্ট হোটেলের রুম ও প্যাকেজ সংক্রান্ত তথ্য সম্পর্কে ডেটার অনুরোধ করে।
প্রাথমিক কনফিগারেশনের সময় আপনি এন্ডপয়েন্ট নির্ধারণ করেন যা Google কোয়েরি মেসেজ এবং লাইভ প্রাইসিং কোয়েরির জন্য ব্যবহার করে। আরও তথ্যের জন্য, আপনার টেকনিক্যাল অ্যাকাউন্ট ম্যানেজারের (TAM) সাথে যোগাযোগ করুন।
Google, HTTP POST অনুরোধ হিসেবে কোয়েরি মেসেজ পাঠায়, যেখানে Content-Type
হেডার "application/xml" হিসেবে সেট করা থাকে এবং User-Agent হেডার
Google-HotelAdsPrices হিসেবে সেট করা থাকে। এই নিয়মের ব্যতিক্রম তখনই হয় যখন Google-TravelAds-Live-এর মাধ্যমে
প্রাইস এন্ডপয়েন্ট ইন্টিগ্রেশন ম্যানুয়ালি পরীক্ষা করা হয়। এইসব স্যাম্পেল
কোয়েরিতে User-Agent হেডার থাকতে পারে বা নাও থাকতে পারে।
কোয়েরি মেসেজের জন্য বিস্তারিত ফর্ম্যাটিং কোয়েরি XML রেফারেন্স-এ পাওয়া যাবে।
দাম সংক্রান্ত কোয়েরি মেসেজ
প্রাইসিং কোয়েরি মেসেজ প্রপার্টি ও ভ্রমণসূচীর কম্বিনেশন নির্দিষ্ট করে যার জন্য আপনি দাম প্রদান করেন।
আপনার সার্ভার দাম সংক্রান্ত কোয়েরি মেসেজ পেলে, সেটির উত্তরে
<Transaction> মেসেজ পাঠানো উচিত যাতে অনুরোধ করা দাম সংক্রান্ত তথ্য থাকে।
আরও তথ্যের জন্য, দাম সংক্রান্ত ওভারভিউ দেখুন।
তিন ধরনের বিশেষ কোয়েরি মেসেজ আছে:
রিয়েল-টাইম দাম: চালু করা থাকলে, কোনও ব্যবহারকারী নির্দিষ্ট প্রপার্টি বা ভ্রমণসূচীর কম্বিনেশনের জন্য দাম ব্রাউজ করলে কোয়েরি পাঠানো হয় এবং উত্তর দেওয়ার জন্য আপনার কাছে নির্দিষ্ট সময়সীমা থাকে।
প্রাসঙ্গিকতা সহ: চালু করা থাকলে, Google আপনাকে যে প্রতিটি কোয়েরি পাঠায় তাতে ব্যবহারকারীর প্রাসঙ্গিকতা সংক্রান্ত সাজেশন অন্তর্ভুক্ত থাকে এবং সাজেশনগুলি থেকে সবচেয়ে সাধারণ ধরনের ব্যবহারকারীদের সম্পর্কে জানা যায় যারা প্রদত্ত প্রপার্টি বা ভ্রমণসূচীর কম্বিনেশন সার্চ করেন। এইসব সাজেশন অনুসরণ করলে আপনার উত্তরের কার্যকারিতা বাড়তে পারে।
মেটাডেটা: এটি নির্দিষ্ট প্রপার্টির জন্য রুম এবং প্যাকেজ সম্পর্কে বিশদ বিবরণের জন্য একটি অনুরোধ।
রিয়েল-টাইম দাম সংক্রান্ত কোয়েরি
রিয়েল-টাইম দাম সংক্রান্ত কোয়েরি হল ব্যবহারকারীর সার্চের উত্তরে রিয়েল-টাইম দাম আপডেট করার জন্য Google-এর থেকে করা অনুরোধ। Google কোনও ব্যবহারকারীর কাছ থেকে হোটেল বা ভ্রমণসূচীর কম্বিনেশনের জন্য সার্চের অনুরোধ পায় এবং দাম সংক্রান্ত ডেটা উপলভ্য না থাকার কারণে বা বর্তমান না হওয়ার কারণে, Google সার্চের সময় আপনার কাছ থেকে দামের আপডেট চায়। রিয়েল-টাইম দাম কোয়েরি করার মাধ্যমে, Google সার্চ করার সময় দাম পাওয়ার এবং ফলাফলে তা দেখানোর চেষ্টা করে।
সব লাইভ মূল্যের কোয়েরি অনুরোধের উত্তর দেওয়ার সময়সীমা আছে যা সাধারণত ৪০০০ মিলিসেকেন্ড পর্যন্ত হয়। এই সীমা লাইভ মূল্যের কোয়েরি অনুরোধে উল্লেখ করা আছে। সময়সীমার মধ্যে উত্তর না দেওয়া হলে, নির্দিষ্ট সুযোগে অংশ নিতে না পারার ঘটনা ঘটে। তবে, আমরা সাজেস্ট করি যে আপনি যেকোনওভাবে একটি দাম প্রদান করুন যাতে এটি ক্যাশে করা যায় এবং ভবিষ্যতের সুযোগের জন্য ব্যবহার করা যায়। উত্তরের জন্য কানেকশন দশ মিনিট বা পার্টনারের কনফিগারেশনে যেমন উল্লেখ করা আছে সেই অনুযায়ী খোলা থাকে।
রিয়েল-টাইম দামের কোয়েরি প্রাসঙ্গিক এবং নিম্নলিখিত প্যারামিটারের জন্য দাম দেখাতে পারে: ব্যবহারকারীর দেশ, ডিভাইসের ধরন, অকুপেন্সি (অতিথির সংখ্যা) এবং অতিথিরা প্রাপ্তবয়স্ক নাকি বাচ্চা। লাইভ প্রাইসিং কোয়েরির মাধ্যমে, আপনি আরও আপ-টু-ডেট দাম দেখাতে পারবেন যা গ্রাহকের সার্চ করা দামের সাথে ম্যাচ করে।
রিয়েল-টাইম দাম সংক্রান্ত কোয়েরি হল দাম আপডেট করার সেকেন্ডারি মেকানিজম। দাম পরিবর্তন করার প্রাথমিক পদ্ধতি এখনও পুল বা দাম পরিবর্তন করা হয়েছে (পুল উইথ হিন্ট নামে পরিচিত) পদ্ধতির মাধ্যমে করা হয়। রিয়েল-টাইম দাম সংক্রান্ত কোয়েরি সেইসব ফাঁক পূরণ করতে সাহায্য করে যেখানে Google-এর কাছে হোটেল বা ভ্রমণসূচীর কম্বিনেশনের দাম থাকে না।
লাইভ প্রাইসিং কোয়েরি ব্যবহার করার নিয়ম
প্রদত্ত ভ্রমণসূচীর জন্য কোনও ক্যাশে করা ডেটা নেই কারণ অনুরোধ করা ভ্রমণসূচী অস্বাভাবিক, যেমন তারিখগুলি ভবিষ্যতে অনেক দূরে বা হোটেলটি খুব কমই সার্চ করা হয়।
অনুরোধ করা তারিখটি ডিফল্ট তারিখ নয়।
: মনে রাখবেন: ডিফল্ট তারিখগুলি লাইভ মূল্যের কোয়েরির জন্য উপযুক্ত নয়। রিয়েল-টাইম দাম সংক্রান্ত কোয়েরি শুধুমাত্র ডিফল্ট নয় এমন তারিখের জন্য অনুরোধ করা হয়।
Google সাধারণত রিয়েল-টাইম দামের ফলাফল ক্যাশে করে রাখে যাতে একই হোটেল বা ভ্রমণসূচী আবার কোয়েরি করা না হয়। এটি একটি হোটেল বা ভ্রমণসূচী কম্বিনেশন এবং একাধিক হোটেল বা একটি ভ্রমণসূচী কম্বিনেশনের জন্য অনুরোধ করতে পারে।
প্রসঙ্গ সহ রিয়েল-টাইম দাম ফিচার Google-কে ব্যবহারকারীর ডিভাইসের ধরন,
যে দেশ থেকে তিনি সার্চ করছেন এবং বাচ্চা সহ কতজন থাকবেন তার উপর ভিত্তি করে নির্দিষ্ট
রিয়েল-টাইম দামের অনুরোধ পাঠাতে দেয়। কোয়েরি মেসেজ এবং ট্রানজ্যাকশন মেসেজ, দুটিই
<Context> এলিমেন্ট অন্তর্ভুক্ত করার জন্য প্রসারিত করা হয়েছে যা কোয়েরি প্যারামিটারকে সংজ্ঞায়িত করে। থেকে পাওয়া দাম
প্রসঙ্গ সহ রিয়েল-টাইম দাম সংক্রান্ত কোয়েরি রুম বান্ডেল হিসেবে ক্যাশে করা যেতে পারে,
যদি এটি নির্দিষ্ট সংখ্যক অতিথির জন্য দাম হয় এবং শর্তসাপেক্ষে প্রযোজ্য রেট হিসেবে,
যদি এটি ব্যবহারকারীর দেশ বা ব্যবহারকারীর ডিভাইসের জন্য হয়।
প্রসঙ্গ কোয়েরি সহ
নির্দিষ্ট প্রপার্টি বা ভ্রমণসূচীর কম্বিনেশনের জন্য আমাদের ডেটাবেস আপডেট করার নিয়মিত অনুরোধকে 'প্রসঙ্গ সহ কোয়েরি' বলা হয়। এতে ব্যবহারকারীর প্রসঙ্গের একটি তালিকা থাকে যা সেইসব কম্বিনেশনের জন্য জনপ্রিয়। শর্তসাপেক্ষে প্রযোজ্য রেট ব্যবহার করা হলে, সম্ভাব্য সব ব্যবহারকারীর প্রসঙ্গের জন্য রেট পাঠানো ব্যয়বহুল হতে পারে, তাই আপনার প্রতিক্রিয়া সীমিত করতে ব্যবহারকারীর প্রসঙ্গের এই তালিকা ব্যবহার করতে পারেন। শুধুমাত্র নির্দিষ্ট ব্যবহারকারীর প্রসঙ্গে দাম দেখালে তা প্রাসঙ্গিক ব্যবহারকারীর বেশিরভাগ কোয়েরি কভার করে।
আপনি 'প্রসঙ্গ সহ' কোয়েরি পেতে আগ্রহী হলে, আপনার টেকনিক্যাল অ্যাকাউন্ট ম্যানেজারের (TAM) সাথে যোগাযোগ করুন। আপনি এই ধরনের মেসেজ পাওয়ার জন্য প্রস্তুত কিনা তা তারা কনফার্ম করতে পারেন এবং তারপর আপনাকে কোয়েরিতে ব্যবহারকারীর প্রসঙ্গ পাঠানো শুরু করার জন্য কনফিগারেশন অ্যাডজাস্ট করতে পারেন।
মেটাডেটা কোয়েরি মেসেজ
মেটাডেটা কোয়েরি মেসেজে নির্দিষ্ট প্রপার্টির জন্য রুম ও প্যাকেজ সংক্রান্ত তথ্য থাকে।
আপনি মেটাডেটা কোয়েরি মেসেজ পেলে, আপনাকে
<Transaction> মেসেজের মাধ্যমে উত্তর দিতে হবে, যেখানে <Result> এলিমেন্টে
অনুরোধ করা প্রপার্টির দাম উল্লেখ করা থাকে।
আরও তথ্যের জন্য, রুম ও প্যাকেজ মেটাডেটা নির্ধারণ করা দেখুন।
কোয়েরি মেসেজের উদাহরণ
এই বিভাগে দাম সংক্রান্ত কোয়েরি মেসেজ এবং মেটাডেটা কোয়েরি মেসেজের বেশ কিছু উদাহরণ দেখানো হয়েছে। কোয়েরি XML রেফারেন্স-এ অতিরিক্ত উদাহরণ পাওয়া যাবে।
স্যাম্পেল ভ্রমণসূচী
নিচে দেওয়া উদাহরণে এমন একটি দামের <Query> উল্লেখ করা হয়েছে যা ৪টি হোটেলের জন্য দামের আপডেট
অনুরোধ করে, ৩ রাতের জন্য উপলভ্য এবং ২৩ মে, ২০২৩ থেকে শুরু:
<?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
রিয়েল-টাইম দাম সংক্রান্ত কোয়েরির উদাহরণ
নিম্নলিখিত উদাহরণে ৫০০ মিলিসেকেন্ডের রেসপন্স টাইম লিমিট সহ রিয়েল-টাইম দাম সংক্রান্ত কোয়েরি দেখানো হয়েছে:
<?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 রেফারেন্স-এ পাওয়া যাবে।
প্রসঙ্গ সহ কোয়েরির উদাহরণ
প্রসঙ্গ সহ কোয়েরির উদাহরণ নিচে দেওয়া হল:
প্রাসঙ্গিক তথ্য সহ বেসিক কোয়েরি
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<Checkin>2023-05-23</Checkin>
<Nights>2</Nights>
<PropertyContextList>
<PropertyContext>
<Property>8675309</Property>
<!-- In the future, 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>
<Checkin>2025-07-10</Checkin>
<Nights>2</Nights>
<PropertyContextList>
<PropertyContext>
<Property>8675309</Property>
<Context>
<UserCountry>US</UserCountry>
</Context>
<Occupancy>3</Occupancy>
<OccupancyDetails>
<NumAdults>2</NumAdults>
<Children>
<Child age="7"/>
</Children>
</OccupancyDetails>
</PropertyContext>
<PropertyContext>
<Property>8675310</Property>
<Context>
<UserCountry>GB</UserCountry>
</Context>
<Occupancy>1</Occupancy>
<OccupancyDetails>
<NumAdults>1</NumAdults>
</OccupancyDetails>
</PropertyContext>
</PropertyContextList>
</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/25/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>
আপনি এই ধরনের কোয়েরি মেসেজের উত্তর ট্রানজ্যাকশন মেসেজের মাধ্যমে দেন যা রুম ও প্যাকেজের মেটাডেটা নির্ধারণ করে। আরও তথ্যের জন্য, রুম ও প্যাকেজ মেটাডেটা নির্ধারণ করা দেখুন।