শর্তাধীন হার

শর্তসাপেক্ষ রেট হলো এক ধরনের রেট নিয়ম, যা আপনাকে ব্যবহারকারীর ডিভাইস, দেশ, বা ব্যবহারকারী গুগলে সাইন ইন করেছেন কিনা—এর মতো মানদণ্ডের উপর ভিত্তি করে ভ্রমণসূচীর জন্য ভিন্ন ভিন্ন রেট অফার করার সুযোগ দেয়।

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

সংক্ষিপ্ত বিবরণ

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

শর্তসাপেক্ষ হার সক্রিয় করতে, নিম্নলিখিতগুলি পরিবর্তন করুন:

ডিভাইস-নির্দিষ্ট শর্তাধীন হার

ডিভাইস-নির্দিষ্ট রেট হলো হোটেলের এমন রেট যা ব্যবহারকারীরা শুধুমাত্র মোবাইল, ট্যাবলেট বা ডেস্কটপের মতো নির্দিষ্ট ডিভাইসে দেখতে ও বুক করতে পারেন। এই রেটগুলো গুগলের পার্টনাররা সরবরাহ করে থাকে এবং ব্যবহারকারীরা পার্টনারের সাইটে একই ডিভাইস-নির্দিষ্ট রেট দেখতে ও বুক করতে পারেন।

বেড়াযুক্ত_হার

দেশ-ভিত্তিক শর্তসাপেক্ষ হার

দেশ-ভিত্তিক রেট হলো এমন হোটেল রেট যা শুধুমাত্র একটি নির্দিষ্ট দেশ থেকে হোটেল অনুসন্ধানকারী ব্যবহারকারীরাই দেখতে ও বুক করতে পারেন। গুগল ব্যবহারকারীর আইপি অ্যাড্রেস ব্যবহার করে দেশটি নির্ধারণ করে। এই রেটগুলো গুগলের পার্টনাররা সরবরাহ করে থাকে এবং ব্যবহারকারীরা সেই পার্টনারের নিজস্ব দেশ-ভিত্তিক সাইটে একই রেট দেখতে ও বুক করতে পারেন।

ভাষা-নির্দিষ্ট শর্তাধীন হার

ভাষা-ভিত্তিক রেট শুধুমাত্র সেইসব ব্যবহারকারীরাই দেখতে পান, যারা গুগলে একটি নির্দিষ্ট ভাষা সেটিং ব্যবহার করে হোটেল অনুসন্ধান করেন। ভাষা-ভিত্তিক শর্তাবলী <LanguageCode> এলিমেন্ট ব্যবহার করে সংজ্ঞায়িত করা হয়।

With Context কোয়েরির রিকোয়েস্ট মেসেজে ভাষা নির্দিষ্ট করা থাকে না। তাই, আপনি যদি আপনার রেট রুলে <LanguageCode> উল্লেখ করেন, তাহলে With Context রেসপন্সে সংশ্লিষ্ট সব ভাষা-ভিত্তিক রেট অন্তর্ভুক্ত থাকবে।

ডাউনস্যাম্পল করা শর্তাধীন হার

ডাউনস্যাম্পল করা শর্তাধীন হার শুধুমাত্র সকল যোগ্য ব্যবহারকারীর একটি র‍্যান্ডমাইজড উপসেটের কাছে দৃশ্যমান হয়। স্যাম্পলিং হার <MaxUsersPercent> এলিমেন্ট ব্যবহার করে সংজ্ঞায়িত করা হয় এবং নিম্নলিখিত সূত্র ব্যবহার করে গণনা করা হয়:

MaxUsersPercent = (number of users selected to view rate)/(total eligible users)

সাইন-ইন শর্তাধীন হার

শুধুমাত্র সেইসব ব্যবহারকারীরাই সাইন-ইন করা রেট দেখতে পান, যাঁরা একটি গুগল অ্যাকাউন্ট দিয়ে সাইন-ইন করেছেন। গুগলের পার্টনাররা এই রেটগুলো প্রদান করে, এবং ব্যবহারকারীরা সেই পার্টনারের নিজস্ব সাইটে রেটগুলো দেখতে ও বুক করতে পারেন। <UserSignedIn> এলিমেন্ট ব্যবহার করে সাইন-ইন করা রেট নির্ধারণ করা হয়।

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

একটি রেট রুলস XML ফাইল তৈরি করুন

শর্তসাপেক্ষ হারের জন্য হারের নিয়মাবলী একটি রেট রুলস এক্সএমএল ফাইল ব্যবহার করে সংজ্ঞায়িত করা হয়। আরও তথ্যের জন্য, রেট রুলস এক্সএমএল রেফারেন্স দেখুন।

আপনার মূল্য তালিকা আপডেট করুন

একটি ট্রানজ্যাকশন মেসেজে <return> এলিমেন্ট ব্যবহার করে শর্তসাপেক্ষ রেট নির্ধারণ করা হয়।

<Rate> এলিমেন্টটি <RoomBundle> বা <Result> এলিমেন্টের মধ্যে <Rates> এর একাধিক চাইল্ড এলিমেন্ট হিসেবেও ব্যবহার করা যেতে পারে। এটিকে একটি শর্তসাপেক্ষ রেট হিসেবে ব্যবহার করতে হলে, আপনাকে অবশ্যই rate_rule_id অ্যাট্রিবিউটের মানটি রেট রুলস XML ফাইলে আপনার সংজ্ঞায়িত রেট রুল ID-এর সাথে মিলিয়ে সেট করতে হবে।

যদি আপনার কোনো ডিফল্ট পাবলিক ডাবল অকুপেন্সি রেট না থাকে, তাহলে <Result> মেসেজের <Baserate> চাইল্ড এলিমেন্টটির মান -1 সেট করুন। এক্ষেত্রে Google-কে পাঠানো যেকোনো শর্তসাপেক্ষ <Rates> বৈধ বলে বিবেচিত হবে।

উদাহরণ

ভিত্তি + শর্তসাপেক্ষ

নিম্নলিখিত উদাহরণটি একটি লেনদেন বার্তা দেখায় যাতে একটি মূল হার এবং একটি শর্তাধীন হার রয়েছে:

<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2023-04-10</Checkin>
    <Nights>1</Nights>

    <Baserate currency="USD">200.00</Baserate>
    <Tax currency="USD">20.00</Tax>
    <OtherFees currency="USD">1.00</OtherFees>

    <Rates>
      <!-- The rate_rule_id is required when using conditional rates -->
      <Rate rate_rule_id="mobile">
        <!-- Override base rate and taxes for conditional rates -->
        <Baserate currency="USD">180.00</Baserate>
        <Tax currency="USD">18.00</Tax>
      </Rate>
    </Rates>

  </Result>
</Transaction>

রুমবান্ডেল একক

নিম্নলিখিত উদাহরণটি একটি ট্রানজ্যাকশন মেসেজ দেখায় যাতে একটি <RoomBundle> এর অধীনে একটি একক রেট রয়েছে:

<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2023-04-10</Checkin>
    <Nights>2</Nights>

    <Baserate currency="USD">300.00</Baserate>
    <Tax currency="USD">30.00</Tax>
    <OtherFees currency="USD">2.00</OtherFees>

    <RoomBundle>
      <RoomID>single</RoomID>
      <Baserate currency="USD">300.00</Baserate>
      <Tax currency="USD">30.00</Tax>
      <OtherFees currency="USD">2.00</OtherFees>
    </RoomBundle>

    <RoomBundle>
      <RoomID>3</RoomID>  <!-- Links to data in metadata -->
      <RatePlanID>basic</RatePlanID>
      <Baserate currency="USD">275.00</Baserate>
      <Tax currency="USD">27.50</Tax>
      <ChargeCurrency>web</ChargeCurrency>
      <BreakfastIncluded>1</BreakfastIncluded>

      <Rates>
        <Rate rate_rule_id="mobile">
          <Baserate currency="USD">269.00</Baserate>
          <Tax currency="USD">2.69</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
        </Rates>
      </Rates>

    </RoomBundle>
  </Result>
</Transaction>

রুমবান্ডেল একাধিক

নিম্নলিখিত উদাহরণটি একটি লেনদেন বার্তা দেখায় যাতে একটি <RoomBundle> এর অধীনে একাধিক রেট রয়েছে:

<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2023-04-10</Checkin>
    <Nights>2</Nights>
    <!-- When Google receives new room bundle information for an itinerary, all
    previous room bundle pricing is dropped from Google's cache. Thus, if you
    want to delete a specific room bundle from Google's cache, you may do so
    by simply not providing that specific room bundle in subsequent transaction
    messages. -->
    <RoomBundle>
     ...
      <!-- RoomID is required, PackageID is recommended. -->
      <RoomID>5</RoomID>
      <PackageID>ABC</PackageID>
      <!-- Baserate is required. -->
      <Baserate currency="USD">275.00</Baserate>
      <Tax currency="USD">27.50</Tax>
      <OtherFees currency="USD">2.00</OtherFees>

      <!-- RatePlanID is optional and represents the unique identifier for a
      room and package data combination. We strongly recommend using RatePlanID
      as a variable to build your dynamic landing page (formerly Point of Sale)
      URL and it should be within 50 characters in length for optimal
      performance. For details, see Using Variables and Conditions. -->
      <RatePlanID>5-ABC</RatePlanID>

      <!-- Occupancy is mandatory for RoomBundle elements. -->
      <!-- Elements below will get inherited to nested rate elements. -->
      <Occupancy>2</Occupancy>
      <OccupancyDetails>
        <NumAdults>2</NumAdults>
      </OccupancyDetails>
      <InternetIncluded>1</InternetIncluded>

      <!-- Rate rule "mobile" overrides chargeCurrency, "us_or_gb" doesn't. -->
      <ChargeCurrency>web</ChargeCurrency>

      <Rates>
        <Rate rate_rule_id="mobile">
          <Baserate currency="USD">258.33</Baserate>
          <Tax currency="USD">25.83</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
          <!-- The value below overrides ChargeCurrency from roombundle. -->
          <ChargeCurrency>hotel</ChargeCurrency>
        </Rate>
        <Rate rate_rule_id="us_or_gb">
          <Baserate currency="USD">268.33</Baserate>
          <Tax currency="USD">26.83</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
        </Rate>
      </Rates>
    </RoomBundle>
  </Result>
</Transaction>

সর্বসাধারণের জন্য দ্বৈত আবাসন নিষিদ্ধ।

নিম্নলিখিত উদাহরণটি এমন একটি লেনদেন বার্তা দেখায় যাতে শর্তসাপেক্ষ রেট রয়েছে এবং কোনো পাবলিক ডাবল অকুপেন্সি রেট নেই :

<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">

  <Result>
    <Property>1234</Property>
    <Checkin>2023-04-10</Checkin>
    <Nights>1</Nights>

    <!-- <Unavailable/> should not be specified when available nested rates
    exist. -->
    <Baserate currency="USD">-1</Baserate>
    <Tax currency="USD">0</Tax>
    <OtherFees currency="USD">0</OtherFees>

    <Rates>
      <!-- The rate_rule_id is required when using conditional rates. -->
      <Rate rate_rule_id="mobile">
        <Baserate currency="USD">180.00</Baserate>
        <Tax currency="USD">18.00</Tax>
        <OtherFees currency="USD">1.00</OtherFees>
        <Custom1>ratecode123</Custom1>
      </Rate>
    </Rates>

  </Result>
</Transaction>

আপনার ল্যান্ডিং পেজ ফাইলটি আপডেট করুন

যোগ্য ব্যবহারকারীরা যাতে একটি ডিপ লিঙ্কের মাধ্যমে ছাড়কৃত মূল্যে বুক করতে পারেন, তা নিশ্চিত করতে আপনার ল্যান্ডিং পেজ ফাইলটি পরিবর্তন করুন। ছাড়কৃত মূল্যগুলো সঠিকভাবে প্রদর্শন ও কার্যকর করার জন্য বুকিং ওয়েবসাইটেও অতিরিক্ত বাস্তবায়নের প্রয়োজন হতে পারে।

আমরা আশা করি অংশীদাররা শর্তসাপেক্ষ হারের ডিপ লিঙ্কে দেখানো মূল্যটি মেনে চলবেন।

একটি ডাইনামিক ডিপ লিঙ্কে, আপনি রেট রুলটিকে তার নাম, <RateRule> এলিমেন্টের id অ্যাট্রিবিউট, অথবা RATE-RULE-ID ভেরিয়েবল ব্যবহার করে অন্তর্ভুক্ত করতে পারেন।

নিম্নলিখিত উদাহরণটি রেট রুল আইডি যোগ করে:

https://bookingsite.com/landing.do?id=(PARTNER-HOTEL-ID)&arrival=(CHECKINDAY)-(CHECKINMONTH)-(CHECKINYEAR)&departure=(CHECKOUTDAY)-(CHECKOUTMONTH)-(CHECKOUTYEAR)&lang=(USER-LANGUAGE)&currency=(USER-CURRENCY)&prid=(RATE-RULE-ID)

ল্যান্ডিং পেজ ফাইলটি IF-RATE-RULE-ID ডিরেক্টিভটিও সমর্থন করে, যা রেট রুলটি বিদ্যমান আছে কি না তার উপর ভিত্তি করে আপনাকে শর্তসাপেক্ষে URL-এর অংশবিশেষ নির্ধারণ করতে দেয়:

https://bookingsite.com/(IF-RATE-RULE-ID)privatelanding.do(RATE-RULE-ID)(ELSE)landing.do(ENDIF)?id=(PARTNER-HOTEL-ID)&arrival=(CHECKINDAY)-(CHECKINMONTH)-(CHECKINYEAR)&departure=(CHECKOUTDAY)-(CHECKOUTMONTH)-(CHECKOUTYEAR)&lang=(USER-LANGUAGE)&currency=(USER-CURRENCY)

এই উদাহরণটি রেট রুল আইডি সেট করা আছে কি না, তার উপর নির্ভর করে দুটি ল্যান্ডিং পেজের মধ্যে একটিকে বেছে নেয়।

আরও তথ্যের জন্য, ভেরিয়েবল ও কন্ডিশনের ব্যবহার দেখুন।