ইঙ্গিত প্রতিক্রিয়া বার্তা

যখন গুগল একটি হিন্ট রিকোয়েস্ট মেসেজ পাঠায়, তখন আপনার সার্ভারগুলোর একটি হিন্ট রেসপন্স মেসেজের মাধ্যমে সাড়া দেওয়া উচিত, যেখানে সেই হোটেলগুলোর নাম উল্লেখ থাকবে যাদের দাম শেষবার গুগলের কাছ থেকে সফল হিন্ট রেসপন্স পাওয়ার পর থেকে পরিবর্তিত হয়েছে। যদি দামে কোনো পরিবর্তন হয়, তাহলে গুগল একটি <Query> পাঠায় যা উল্লিখিত হোটেল এবং ভ্রমণপথগুলোর জন্য হালনাগাদ করা মূল্যের ডেটা সংগ্রহ করে।

পুনঃমূল্যায়ন প্রক্রিয়া সম্পর্কে একটি সার্বিক ধারণা পেতে, মূল্য নির্ধারণের সংক্ষিপ্ত বিবরণ দেখুন।

হিন্ট রেসপন্স মেসেজ নির্বাচিত হোটেল এবং তাদের ভ্রমণসূচির মূল্য পুনর্নির্ধারণ করতে নিম্নলিখিত পদ্ধতিগুলো ব্যবহার করে:

একটি হিন্ট রেসপন্স মেসেজের মূল উপাদান হলো <Hint> । আপনি এক বা একাধিক <Item> উপাদান ব্যবহার করে কোনো হোটেল বা ভ্রমণসূচী আপডেট করার অনুরোধ করেন। একটি একক হিন্ট রেসপন্স মেসেজে যেকোনো সংখ্যক <Item> উপাদান সংজ্ঞায়িত করা যেতে পারে।

প্রতিটি হিন্ট রেসপন্স মেসেজে প্রতিটি <Item> এর জন্য অন্তত একটি <Property> এলিমেন্ট অবশ্যই উল্লেখ করতে হবে। <Property> এলিমেন্টটি হোটেল লিস্টের মতোই আইডি ব্যবহার করে একটি হোটেলকে শনাক্ত করে। ডিফল্টরূপে, আপনি প্রতিটি <Item> ব্লকের জন্য একটিমাত্র হোটেল আইডি উল্লেখ করেন। তবে, আপনি যদি রিপ্রাইসিং-এর জন্য চেক-ইন তারিখের রেঞ্জ বা রেঞ্জড স্টে ব্যবহার করেন, তাহলে একটি আইটেম ব্লকে একাধিক হোটেল অন্তর্ভুক্ত করার জন্য গুগলকে নির্দেশ দিতে পারেন।

সুনির্দিষ্ট ভ্রমণসূচী অনুরোধ এবং প্রতিক্রিয়া প্রবাহ

ইঙ্গিত বার্তাগুলো স্বতন্ত্র ভ্রমণসূচীর উপর ভিত্তি করে তৈরি করা যেতে পারে, যেমন চেক-ইন তারিখ এবং থাকার সময়কালের সমন্বয়। এক্ষেত্রে, আপনি আপনার হোটেলগুলোর জন্য একটি চেক-ইন তারিখ এবং থাকার সময়কাল নির্দিষ্ট করে দেন, এবং গুগল শুধুমাত্র সেই ভ্রমণসূচীর জন্যই নতুন মূল্যের তথ্য সংগ্রহ করে।

সঙ্গীর প্রতিক্রিয়া

নিম্নলিখিত ইঙ্গিত প্রতিক্রিয়া বার্তাটি একটি একক সম্পত্তি এবং একটি একক ভ্রমণপথ নির্ধারণ করে:

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

গুগলের প্রতিক্রিয়া

গুগল আপনার ইঙ্গিত প্রতিক্রিয়া বার্তার জবাবে নিম্নলিখিতের মতো একটি <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>
  <Item>
    <Property>12345</Property>
    <FirstDate>2023-05-20</FirstDate>
    <LastDate>2023-05-23</LastDate>
  </Item>
</Hint>

গুগলের প্রতিক্রিয়া

গুগল এই ইঙ্গিত প্রতিক্রিয়া বার্তার জবাবে নিম্নলিখিতের অনুরূপ একটি <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>
  <Item>
    <Property>12345</Property>
    <StaysIncludingRange>
      <FirstDate>2023-05-20</FirstDate>
      <LastDate>2023-05-23</LastDate>
    </StaysIncludingRange>
  </Item>
</Hint>

গুগলের প্রতিক্রিয়া

গুগল আপনার ইঙ্গিত প্রতিক্রিয়া বার্তার জবাবে নিম্নলিখিতের মতো একটি <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

রেঞ্জড স্টে: ব্যাচিং সীমা এবং কোয়েরি বিভাজন

গুগল প্রতিটি পুল কোয়েরিকে সর্বোচ্চ ১০,০০০টি হোটেল-ইটিনারি জোড়া (একটি হোটেল, চেক-ইন তারিখ এবং থাকার সময়কাল) কম্বিনেশনে সীমাবদ্ধ করে। রেঞ্জড স্টে হিন্টের ক্ষেত্রে, রেঞ্জড স্টে কোয়েরিগুলোর জন্য হোটেল-ইটিনারি জোড়া কম্বিনেশনের সংখ্যা গণনা করতে ট্র্যাপিজয়েড ফর্মুলা ব্যবহার করে এই সংখ্যাটি হিসাব করা হয়:

$$ \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 এর মাধ্যমে কনফিগার করা)।

কোনো ইঙ্গিতে ১০,০০০টির বেশি আইটেম থাকলে কী হয়?

গণনাকৃত আইটেমের সংখ্যা ১০,০০০ ছাড়িয়ে গেলে, গুগল স্বয়ংক্রিয়ভাবে কোয়েরির কাজের চাপ ভাগ করে দেয়:

  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 এর মান কমিয়ে সেট করতে বলুন, যাতে হিন্টস স্প্লিট ট্রিগার করতে না পারে।
  • পরিধির উপর কঠোর ইঙ্গিত: মূল্য পরিবর্তনের বিষয়ে গুগলকে জানানোর সময়, পুরো এক বছরের তথ্য না পাঠিয়ে, <FirstDate> এবং <LastDate> পরিসরকে শুধুমাত্র সেই নির্দিষ্ট তারিখের মধ্যে সীমাবদ্ধ রাখুন যেখানে প্রকৃতপক্ষে দর পরিবর্তিত হয়েছে।
  • আপনার ইঙ্গিতগুলি যদি বিস্তৃত তারিখের পরিসর জুড়ে থাকে: নিশ্চিত করুন যে আপনার পার্সার নিম্নলিখিত দুটি বিকল্পের যেকোনো একটি গ্রহণ করে। অথবা ভিতরে <FirstDate> এবং <LastDate> ধারণকারী ব্লক, যাতে পুল রিকোয়েস্টগুলো পূরণ করার জন্য একাধিক রেঞ্জড কোয়েরি টাইপ ব্যবহার করা যায়।