RateModifications

এক নজরে

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

অনুরোধ

সিন্ট্যাক্স

RateModifications মেসেজে নিম্নলিখিত সিনট্যাক্স ব্যবহার করা হয়:

<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="partner_key"
                      id="message_ID"
                      timestamp="timestamp">
  <HotelRateModifications hotel_id="HotelID" action="[overlay]">
    <ItineraryRateModification id="ModificationID" action="[delete]">
      <BookingDates>
        <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
        <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
      </BookingDates>
      <BookingWindow min="integer" max="integer"/>
      <CheckinDates>
        <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
      </CheckinDates>
      <CheckoutDates>
        <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
      </CheckoutDates>
      <Devices>
        <Device type="[desktop|tablet|mobile]"/>
      </Devices>
      <LengthOfStay min="integer" max="integer"/>
      <MinimumAmount before_discount="integer"/>
      <RatePlans>
        <RatePlan id="PackageID_1"/>
        <RatePlan id="PackageID_2"/>
      </RatePlans>
      <RoomTypes>
        <RoomType id="RoomID_1"/>
        <RoomType id="RoomID_2"/>
      </RoomTypes>
      <StayDates application="[all|any]">
        <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
      </StayDates>
      <UserCountries type="[include|exclude]">
        <Country code="country_code"/>
      </UserCountries>
      <ModificationActions>
        <PriceAdjustment multiplier="float"/>
        <RateRule id="RateRuleID"/>
        <Refundable available="[false|true]"
                       refundable_until_days="number_of_days"
                       refundable_until_time="time"/>
        <Availability status="[unavailable]"/>
      </ModificationActions>
    </ItineraryRateModification>
  </HotelRateModifications>
</RateModifications>

এলিমেন্ট ও অ্যাট্রিবিউট

RateModifications মেসেজে নিম্নলিখিত এলিমেন্ট ও অ্যাট্রিবিউট থাকে:

এলিমেন্ট / @অ্যাট্রিবিউট বিষয়বস্তু ধরন বিবরণ
RateModifications 1 Complex element রেট পরিবর্তন সংক্রান্ত মেসেজের রুট এলিমেন্ট।
RateModifications / @partner 1 string এই মেসেজের জন্য পার্টনার অ্যাকাউন্ট। এই স্ট্রিং ভ্যালু হল "পার্টনার কী" ভ্যালু যা Hotel Center-এর অ্যাকাউন্ট সেটিংস পৃষ্ঠায় তালিকাভুক্ত করা আছে।

মনে রাখবেন: আপনার যদি এমন ব্যাকএন্ড থাকে যা একাধিক অ্যাকাউন্টের জন্য ফিড প্রদান করে, তাহলে এই ভ্যালুটি একই অ্যাকাউন্টের জন্য আপনার <OTA_HotelRateAmountNotifRQ> এবং <OTA_HotelAvailNotifRQ> মেসেজের <RequestorID> এলিমেন্টে নির্দিষ্ট করা ID অ্যাট্রিবিউট ভ্যালুর সাথে মিলতে হবে।

RateModifications / @id 1 string এই অনুরোধের মেসেজের জন্য একটি অনন্য শনাক্তকারী। এই ভ্যালু রেসপন্স মেসেজে ফেরত পাঠানো হয়। অনুমোদিত অক্ষরগুলি হল a-z, A-Z, 0-9, _ (আন্ডারস্কোর), এবং - (ড্যাশ)।
RateModifications / @timestamp 1 DateTime এই মেসেজটি তৈরি করার তারিখ ও সময়।
RateModifications / HotelRateModifications 0..n HotelRateModifications

কোনও প্রপার্টির জন্য রেট পরিবর্তন। প্রতিটি রেট পরিবর্তন একটি প্রপার্টির ক্ষেত্রে প্রযোজ্য।

মনে রাখবেন: একই রেটে একাধিক রেট মডিফিকেশন প্রয়োগ করা গেলে, সব মডিফিকেশন প্রয়োগ করা হয়। কোনও নির্দিষ্ট ক্রমের গ্যারেন্টি দেওয়া হয় না।

RateModifications / HotelRateModifications / @hotel_id 1 string প্রপার্টির জন্য অনন্য শনাক্তকারী। এই ভ্যালু অবশ্যই হোটেল তালিকা ফিডে <listing> এলিমেন্টের <id> ব্যবহার করে নির্দিষ্ট করা হোটেল আইডির সাথে ম্যাচ করতে হবে। হোটেল আইডি Hotel Center-এও তালিকাভুক্ত করা আছে।
RateModifications / HotelRateModifications / @action 0..1 enum

action উল্লেখ করা না থাকলে, এই এলিমেন্টের মধ্যে করা পরিবর্তনগুলি এই হোটেলের জন্য যোগ বা আপডেট করা হয়। যদি action="overlay" উল্লেখ করা থাকে, তাহলে এই হোটেলের জন্য আগে থেকে সংজ্ঞায়িত সব পরিবর্তন প্রথমে মুছে ফেলা হয়। তারপর, এখানে উল্লেখ করা পরিবর্তনগুলি লেখা হয়। action="overlay" ব্যবহার করা হলে এবং এই এলিমেন্টের মধ্যে কোনও পরিবর্তন উল্লেখ করা না হলে, এই হোটেলের জন্য সব পরিবর্তন মুছে ফেলা হয়।

RateModifications / HotelRateModifications / ItineraryRateModification 0..200 ItineraryRateModification

কোনও প্রপার্টির জন্য রেট একবার পরিবর্তন করা।

মনে রাখবেন:রেট মডিফিকেশন ডিবাগ করা কঠিন এবং আমরা সাজেস্ট করি যে এগুলি খুব কম ব্যবহার করুন। ২০০-এর বেশি রেট পরিবর্তনের প্রয়োজন হয় এমন ব্যবহারের ক্ষেত্রে আপনার টেকনিক্যাল অ্যাকাউন্ট ম্যানেজারের (TAM) সাথে যোগাযোগ করুন।

RateModifications / HotelRateModifications / ItineraryRateModification / @id 1 string রেট পরিবর্তনের জন্য অনন্য শনাক্তকারী। সর্বাধিক ৪০টি অক্ষর ব্যবহার করা যাবে। অনুমোদিত অক্ষরগুলি হল a-z, A-Z, 0-9, _ (আন্ডারস্কোর), - (ড্যাশ), এবং . (ফুলস্টপ)।
RateModifications / HotelRateModifications / ItineraryRateModification / @action 0..1 enum

যদি নির্দিষ্ট করা না থাকে এবং একই id-এর সাথে রেট পরিবর্তন স্টোর করা না থাকে, তাহলে এই রেট পরিবর্তন স্টোর করা হয়। অন্যথায়, যদি নির্দিষ্ট করা না থাকে এবং একই id সহ রেট মডিফিকেশন স্টোর করা থাকে, তাহলে আগে থেকে থাকা রেট মডিফিকেশন আপডেট করা হয়।

উল্লেখ করা থাকলে, ভ্যালু অবশ্যই "delete" হতে হবে। "delete" নির্দিষ্ট করা থাকলে, একই id সহ সেভ করা রেট পরিবর্তন মুছে ফেলা হয়। "delete" ব্যবহার করার সময়, <ItineraryRateModification>-এ কোনও চাইল্ড এলিমেন্ট অন্তর্ভুক্ত করবেন না। এছাড়াও, <HotelRateModifications action="overlay"/>-এর সাথে "delete" ব্যবহার করার অনুমতি নেই।

RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates 0..1 BookingDates এক বা একাধিক তারিখের রেঞ্জের জন্য একটি কন্টেনার যা নির্ধারণ করে যে রেট পরিবর্তন প্রয়োগ করার জন্য কখন বুকিং করতে হবে।
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange 1..99 DateRange রেট পরিবর্তন করার জন্য বুকিংয়ের তারিখের রেঞ্জ উল্লেখ করতে হবে।
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @start 0..1 Date তারিখের রেঞ্জের শুরুর তারিখ (প্রপার্টির টাইম জোন অনুযায়ী), অন্তর্ভুক্ত। এই তারিখটি অবশ্যই end তারিখের আগে বা একই হতে হবে। start নির্দিষ্ট করা না থাকলে, তারিখের রেঞ্জ শুরুর তারিখের ক্ষেত্রে কার্যকরভাবে সীমাহীন হয়।
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @end 0..1 Date তারিখের রেঞ্জের শেষ তারিখ (প্রপার্টির টাইম জোনের উপর ভিত্তি করে), ইনক্লুসিভ। এই তারিখটি অবশ্যই start তারিখের একই বা তার পরের হতে হবে। end উল্লেখ করা না থাকলে, তারিখের রেঞ্জ শেষ হওয়ার তারিখের ক্ষেত্রে কার্যকরভাবে সীমাহীন।
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @days_of_week 0..1 string

তারিখের রেঞ্জে সপ্তাহের যেসব দিন অনুমোদিত। উল্লেখ করা না হলে, তারিখের রেঞ্জে সব দিনই অনুমোদিত। স্ট্রিংয়ের প্রতিটি অক্ষর একটি দিনকে নির্দিষ্ট করে। যেমন, "MTWHF" উল্লেখ করে যে তারিখের রেঞ্জে সপ্তাহের দিনগুলি অনুমোদিত।

সঠিক অক্ষরগুলি হল:

  • সোমবারের জন্য M
  • মঙ্গলবারের জন্য T
  • বুধবারের জন্য W
  • বৃহস্পতিবারের জন্য H
  • শুক্রবার F
  • শনিবারের জন্য S
  • রবিবারের জন্য U

যেকোনও অক্ষরের কম্বিনেশন সঠিক।

RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow 0..1 BookingWindow চেক-ইন করার তারিখের (প্রপার্টির টাইম জোন অনুযায়ী) সাপেক্ষে বুকিং করার সময়সীমা উল্লেখ করে। যেমন, চেক-ইন করার অন্তত ৭ দিন আগে থেকে বুকিং উইন্ডো সেট করা যেতে পারে, তবে ১৮০ দিনের বেশি আগে নয়।
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @min 0..1 integer রেট পরিবর্তন প্রযোজ্য হওয়ার জন্য চেক-ইন করার কত দিন আগে বুকিং করতে হবে তার ন্যূনতম সংখ্যা। এটি নির্দিষ্ট করা না থাকলে, কোনও ন্যূনতম সীমা নেই।
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @max 0..1 integer রেট পরিবর্তন প্রযোজ্য হওয়ার জন্য চেক-ইন করার কত দিন আগে বুকিং করতে হবে। এটি উল্লেখ করা না থাকলে, সর্বাধিক কোনও সীমা নেই।
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates 0..1 CheckinDates এক বা একাধিক তারিখের রেঞ্জের জন্য একটি কন্টেনার যা নির্ধারণ করে যে রেট পরিবর্তন প্রয়োগ করার জন্য কখন চেক-ইন করতে হবে।
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange 1..99 DateRange রেট পরিবর্তন প্রয়োগ করার জন্য চেক-ইন করার তারিখের ব্যাপ্তি উল্লেখ করতে হবে। আপনি এক বা একাধিক রেট মডিফিকেশন মুছে দিলে এই এলিমেন্ট প্রয়োজন নেই।
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @start 0..1 Date তারিখের রেঞ্জের মধ্যে অন্তর্ভুক্ত, শুরুর তারিখ (প্রপার্টির টাইম জোনের উপর ভিত্তি করে)। এই তারিখটি অবশ্যই end তারিখের আগে বা একই হতে হবে। start নির্দিষ্ট করা না থাকলে, তারিখের রেঞ্জ শুরুর তারিখের ক্ষেত্রে কার্যকরভাবে সীমাহীন।
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @end 0..1 Date তারিখের রেঞ্জের শেষ তারিখ (প্রপার্টির টাইম জোনের উপর ভিত্তি করে), ইনক্লুসিভ। এই তারিখটি অবশ্যই start তারিখের একই বা তার পরের হতে হবে। end উল্লেখ করা না থাকলে, তারিখের রেঞ্জ শেষ হওয়ার তারিখের ক্ষেত্রে কার্যকরভাবে সীমাহীন।
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @days_of_week 0..1 string

তারিখের রেঞ্জে সপ্তাহের যেসব দিন অনুমোদিত। উল্লেখ করা না হলে, তারিখের রেঞ্জে সব দিনই অনুমোদিত। স্ট্রিংয়ের প্রতিটি অক্ষর একটি দিনকে নির্দিষ্ট করে। যেমন, "MTWHF" উল্লেখ করে যে তারিখের রেঞ্জে সপ্তাহের দিনগুলি অনুমোদিত।

সঠিক অক্ষরগুলি হল:

  • সোমবারের জন্য M
  • মঙ্গলবারের জন্য T
  • বুধবারের জন্য W
  • বৃহস্পতিবারের জন্য H
  • শুক্রবার F
  • শনিবারের জন্য S
  • রবিবারের জন্য U

যেকোনও অক্ষরের কম্বিনেশন সঠিক।

RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates 0..1 CheckoutDates এক বা একাধিক তারিখের রেঞ্জের জন্য একটি কন্টেনার যা নির্ধারণ করে যে রেট পরিবর্তন প্রয়োগ করার জন্য কখন চেক-আউট করতে হবে।
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange 1..99 DateRange রেট পরিবর্তন করার জন্য চেক-আউট করার তারিখের রেঞ্জ উল্লেখ করতে হবে। আপনি এক বা একাধিক রেট মডিফিকেশন মুছে দিলে এই এলিমেন্ট প্রয়োজন নেই।
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @start 0..1 Date তারিখের রেঞ্জের মধ্যে অন্তর্ভুক্ত, শুরুর তারিখ (প্রপার্টির টাইম জোনের উপর ভিত্তি করে)। এই তারিখটি অবশ্যই end তারিখের আগে বা একই হতে হবে। start নির্দিষ্ট করা না থাকলে, তারিখের রেঞ্জ শুরুর তারিখের ক্ষেত্রে কার্যকরভাবে সীমাহীন।
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @end 0..1 Date তারিখের রেঞ্জের শেষ তারিখ (প্রপার্টির টাইম জোনের উপর ভিত্তি করে), ইনক্লুসিভ। এই তারিখটি অবশ্যই start তারিখের একই বা তার পরের হতে হবে। end উল্লেখ করা না থাকলে, তারিখের রেঞ্জ শেষ হওয়ার তারিখের ক্ষেত্রে কার্যকরভাবে সীমাহীন।
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @days_of_week 0..1 string

তারিখের রেঞ্জে সপ্তাহের যেসব দিন অনুমোদিত। উল্লেখ করা না হলে, তারিখের রেঞ্জে সব দিনই অনুমোদিত। স্ট্রিংয়ের প্রতিটি অক্ষর একটি দিনকে নির্দিষ্ট করে। যেমন, "MTWHF" উল্লেখ করে যে তারিখের রেঞ্জে সপ্তাহের দিনগুলি অনুমোদিত।

সঠিক অক্ষরগুলি হল:

  • সোমবারের জন্য M
  • মঙ্গলবারের জন্য T
  • বুধবারের জন্য W
  • বৃহস্পতিবারের জন্য H
  • শুক্রবার F
  • শনিবারের জন্য S
  • রবিবারের জন্য U

যেকোনও অক্ষরের কম্বিনেশন সঠিক।

RateModifications / HotelRateModifications / ItineraryRateModification / Devices 0..1 Devices রেট পরিবর্তনের জন্য উপযুক্ত ব্যবহারকারীর ডিভাইসের তালিকা দেখানোর কন্টেনার। উল্লেখ করা থাকলে, ব্যবহারকারী তালিকাভুক্ত ডিভাইসের মধ্যে কোনও একটি ব্যবহার করলে তবেই রেট পরিবর্তন করা হয়। উল্লেখ করা না থাকলে, তাহলে এটি রেট পরিবর্তনের অ্যাপ্লিকেশনকে সীমাবদ্ধ করে না।
RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device 1..3 Device ব্যবহারকারীর ডিভাইসের এমন একটি ধরন নির্ধারণ করে যা রেট পরিবর্তনের জন্য উপযুক্ত।
RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device / @type 1 enum এক ধরনের ডিভাইস। ভ্যালু অবশ্যই desktop, tablet, অথবা mobile হতে হবে।
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions 1 ModificationActions

নির্দিষ্ট করা সব শর্ত পূরণ হলে, রেটের উপর প্রয়োগ করা অ্যাকশন।

RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment 0..1 PriceAdjustment নির্দিষ্ট গুণক দিয়ে AmountBeforeTax এবং AmountAfterTax উভয়কে গুণ করে রেট পরিবর্তন করে
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment / @multiplier 1 float AmountBeforeTax এবং AmountAfterTax দুটিকেই এই মান দিয়ে গুণ করা হয়।
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule 0..1 RateRule এতে নির্দিষ্ট রেট সংক্রান্ত নিয়মাবলির আইডি প্রয়োগ করে রেট পরিবর্তন করে।
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule / @id 1 string এই আইডি আপনার রেট সংক্রান্ত নিয়মাবলীর সংজ্ঞা ফাইলে থাকা সংজ্ঞার সাথে রেট ম্যাচ করে। মনে রাখবেন:
  • এই ফিল্ডের অক্ষর সীমা হল ৪০টি।
  • প্রতিটি রেট শুধুমাত্র একটি রেট সংক্রান্ত নিয়মের সাথে যুক্ত থাকতে পারে।
  • রেট সংক্রান্ত নিয়মাবলির আইডি প্রয়োগ করে একাধিক পরিবর্তন করা হলে, রেট সংক্রান্ত নিয়মাবলির আইডি যেটি লেক্সিকোগ্রাফিক্যালি সবচেয়ে ছোট সেটি রেটে অ্যাসাইন করা হয়।
  • এই আইডি আপনার রেট রুল ডেফিনেশন ফাইলে কোনও রেট রুলের সাথে ম্যাচ না করলে, এটি অনুপযুক্ত হিসেবে বিবেচিত হয়।
বিভিন্ন ব্যক্তিগত রেট UI ট্রিটমেন্ট সম্পর্কে জানতে এই নিবন্ধ দেখুন।
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable 0..1 Refundable নির্দিষ্ট ভ্যালুতে রেটের রিফান্ডযোগ্যতা ওভাররাইট করে।

অ্যাট্রিবিউট সেট করার সময়, নিম্নলিখিত বিষয়গুলি মনে রাখবেন:

  • এই পরিবর্তন করার অ্যাকশনটি উপযুক্ত রেটের রিফান্ডেবল সেটিং সম্পূর্ণভাবে আবার লেখে, শুধু পূরণ করা ফিল্ড নয়।
  • available বা refundable_until_days সেট করা না থাকলে, রেট রিফান্ডযোগ্য হিসেবে দেখানো হয় না।
  • available যদি 0 বা false হয়, তাহলে অন্যান্য অ্যাট্রিবিউট উপেক্ষা করা হয়। অন্য একটি বা দুটি অ্যাট্রিবিউট সেট করা থাকলেও, রেট রিফান্ডযোগ্য হিসেবে দেখানো হয় না।
  • refundable_until_time সেট করার জন্য সাজেস্ট করা হয়; সেট করা না থাকলে, সবচেয়ে আগের সময় (মধ্যরাত) ব্যবহার করা হয়।
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @available 1 boolean (প্রয়োজনীয়) রেট ফুল রিফান্ডের অনুমতি দেয় কিনা তা জানাতে 1 বা true-এ সেট করুন; অন্যথায় 0 বা false-এ সেট করুন।
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days 0..1 integer (available-এর মান true হলে প্রয়োজনীয়) চেক-ইন করার কত দিন আগে ফুল রিফান্ডের অনুরোধ করা যাবে তা উল্লেখ করে। refundable_until_days-এর মান ০ থেকে ৩৩০-এর মধ্যে পূর্ণসংখ্যা হতে হবে, এই দুটি ধরে।
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @refundable_until_time 0..1 Time (available যদি true হয় তাহলে সাজেস্ট করা হয়) হোটেলের স্থানীয় সময় অনুযায়ী, দিনের কোন সময় পর্যন্ত ফুল রিফান্ডের অনুরোধ গ্রহণ করা হয় তা উল্লেখ করে। এটি refundable_until_days-এর সাথে একত্রিত করে নির্দিষ্ট করা যেতে পারে, যেমন, "চেক-ইন করার দুই দিন আগে বিকেল ৪:০০টা পর্যন্ত রিফান্ড পাওয়া যাবে"। refundable_until_time সেট করা না থাকলে, ভ্যালু ডিফল্ট হিসেবে মাঝরাত সেট করা হয়।
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability 0..1 Availability নির্দিষ্ট ভ্যালুতে রেটের উপলভ্যতা ওভাররাইট করে। আমরা শুধু unavailable-এ রেট সেট করার সুবিধা দিই।
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability / @status 1 enum status="unavailable" হলে, রেটটি উপলভ্য নয় হিসেবে বিবেচনা করা হয়, যদিও এর জন্য কোনও বৈধ মূল্য থাকে।
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay 0..1 LengthOfStay মোট কত রাত থাকবেন তার সীমা নির্ধারণ করে যার মধ্যে এই রেট পরিবর্তন প্রযোজ্য হতে পারে। মোট কত রাত থাকবেন তা ন্যূনতম ও সর্বাধিক সীমার বাইরে হলে রেট পরিবর্তন প্রযোজ্য হয় না।
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @min 0..1 integer রেট মডিফিকেশন প্রযোজ্য হওয়ার জন্য ন্যূনতম যত রাত থাকতে হবে। এটি উল্লেখ করা না থাকলে, কোনও ন্যূনতম সীমা নেই।
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @max 0..1 integer রেট পরিবর্তন প্রযোজ্য হওয়ার জন্য থাকার সর্বাধিক রাত। এটি উল্লেখ করা না থাকলে, সর্বাধিক কোনও কিছুই হবে না।
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount 0..1 MinimumAmount দৈনিক রুম রেটের ন্যূনতম যোগফল (AmountBeforeTax বা AmountAfterTax-এর মধ্যে যেটি বেশি সেটি ব্যবহার করে) নির্দিষ্ট করে যা রেট পরিবর্তন প্রয়োগ করার জন্য অবশ্যই অতিক্রম করতে হবে।
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount / @before_discount 1 integer রেট পরিবর্তন করার জন্য যে ভ্যালু অবশ্যই অতিক্রম করতে হবে।
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans 0..1 RatePlans রেট প্ল্যানের তালিকার কন্টেনার যার উপর রেট পরিবর্তন প্রযোজ্য হয়। <RatePlans> উল্লেখ করা না থাকলে, রেট পরিবর্তন সব রেট প্ল্যানের ক্ষেত্রে প্রযোজ্য হবে।
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan 1..n RatePlan রেট প্ল্যান নির্দিষ্ট করে। রেট প্ল্যান হল প্যাকেজ, রেট ও উপলভ্যতার কম্বিনেশন, যা ট্রানজ্যাকশন (প্রপার্টি ডেটা), OTA_HotelRateAmountNotifRQ এবং OTA_HotelAvailNotifRQ মেসেজে উল্লেখ করা থাকে এবং PackageID-এর মাধ্যমে শনাক্ত করা হয়।
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan / @id 1 string রেট প্ল্যানের অনন্য শনাক্তকারী। এই ভ্যালু, ট্রানজ্যাকশন (প্রপার্টি ডেটা) মেসেজে <PackageData>-এর PackageID ভ্যালু এবং <OTA_HotelRateAmountNotifRQ> ও <OTA_HotelAvailNotifRQ> মেসেজে <StatusApplicationControl>-এর RatePlanCode অ্যাট্রিবিউটের সাথে ম্যাপ করে। সর্বাধিক ৫০টি অক্ষর লেখা যাবে।
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes 0..1 RoomTypes রুমের ধরনের তালিকার কন্টেনার যার উপর রেট পরিবর্তন প্রযোজ্য হয়। রেট সংক্রান্ত পরিবর্তন প্রতিটি <RoomType>-এ প্রয়োগ করা হয়েছে। <RoomTypes> উল্লেখ করা না থাকলে, রেট পরিবর্তন সব রুমের ক্ষেত্রে প্রযোজ্য হবে।
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType 1..n RoomType রুমের ধরন নির্দিষ্ট করে। রুমের ধরন ট্রানজ্যাকশন (প্রপার্টি ডেটা) মেসেজের <RoomData> এলিমেন্টে উল্লেখ করা থাকে এবং <RoomID> ভ্যালু ব্যবহার করে রেফার করা হয়। (OTA_HotelRateAmountNotifRQ মেসেজে InvTypeCode অ্যাট্রিবিউট দ্বারা <RoomID> ভ্যালুও রেফারেন্স করা হয়।)
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType / @id 1 string ইনভেনটরির (রুমের ধরন) জন্য অনন্য শনাক্তকারী। এই ভ্যালু, একটি ট্রানজ্যাকশন (প্রপার্টি ডেটা) মেসেজে <RoomID>-এর সাথে ম্যাপ করে। সর্বাধিক ৫০টি অক্ষর লেখা যাবে।
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates 0..1 StayDates এক বা একাধিক তারিখের রেঞ্জের জন্য একটি কন্টেনার যা নির্ধারণ করে যে কীভাবে রেট পরিবর্তন প্রয়োগ করা হয়, যেমন সিজনাল দামের সাথে মানানসই করা।
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / @application 1 enum

রেট পরিবর্তন কীভাবে প্রয়োগ করা উচিত তা বর্ণনা করে।

সঠিক ভ্যালু হল:

  • all: ভ্রমণসূচীর সব তারিখ থাকার তারিখের সাথে ওভারল্যাপ করলে, ভ্রমণসূচীর প্রতিটি রাতের জন্য রেট পরিবর্তন প্রযোজ্য হয়।
  • any: ভ্রমণসূচীর কোনও তারিখ যদি থাকার তারিখের রেঞ্জের কোনও তারিখের সাথে ওভারল্যাপ করে, তাহলে ভ্রমণসূচীর সব রাতের জন্য রেট পরিবর্তন প্রযোজ্য হয়।

এই অ্যাট্রিবিউট সবসময় উল্লেখ করতে হবে।

RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange 1..99 DateRange রেট পরিবর্তন কখন প্রয়োগ করা হবে তা নির্দিষ্ট করার জন্য তারিখের রেঞ্জ।
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @start 0..1 Date তারিখের রেঞ্জের শুরুর তারিখ (প্রপার্টির টাইম জোন অনুযায়ী), অন্তর্ভুক্ত। এই তারিখটি অবশ্যই end তারিখের আগে বা একই হতে হবে। start নির্দিষ্ট করা না থাকলে, তারিখের রেঞ্জ শুরুর তারিখের ক্ষেত্রে কার্যকরভাবে সীমাহীন হয়।
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @end 0..1 Date তারিখের রেঞ্জের শেষ তারিখ (প্রপার্টির টাইম জোনের উপর ভিত্তি করে), ইনক্লুসিভ। এই তারিখটি অবশ্যই start তারিখের সাথে একই বা তার পরের হতে হবে। end উল্লেখ করা না থাকলে, তারিখের রেঞ্জ শেষ হওয়ার তারিখের ক্ষেত্রে কার্যকরভাবে সীমাহীন।
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @days_of_week 0..1 string

তারিখের রেঞ্জে সপ্তাহের যেসব দিন অনুমোদিত। উল্লেখ করা না হলে, তারিখের রেঞ্জে সব দিনই অনুমোদিত। স্ট্রিংয়ের প্রতিটি অক্ষর একটি দিনকে নির্দিষ্ট করে। যেমন, "MTWHF" উল্লেখ করে যে তারিখের রেঞ্জে সপ্তাহের দিনগুলি অনুমোদিত।

সঠিক অক্ষরগুলি হল:

  • সোমবারের জন্য M
  • মঙ্গলবারের জন্য T
  • বুধবারের জন্য W
  • বৃহস্পতিবারের জন্য H
  • শুক্রবার F
  • শনিবারের জন্য S
  • রবিবারের জন্য U

যেকোনও অক্ষরের কম্বিনেশন সঠিক।

RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries 0..1 UserCountries উল্লেখ করা থাকলে, ব্যবহারকারী নির্দিষ্ট করা দেশগুলির মধ্যে কোনও একটিতে থাকলে তবেই রেট পরিবর্তন প্রযোজ্য হবে। উল্লেখ করা না থাকলে, ব্যবহারকারীর লোকেশন যাই হোক না কেন, রেট পরিবর্তন প্রযোজ্য হয়।
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / @type 0..1 enum UserCountries স্পেসিফিকেশনের ধরন।

সঠিক ভ্যালু হল include এবং exclude।

UserCountries type যদি include হিসেবে সেট করা হয়, তাহলে রেট সংক্রান্ত পরিবর্তন তালিকাভুক্ত দেশের ব্যবহারকারীদের ক্ষেত্রে প্রযোজ্য হবে।

UserCountries type যদি exclude হয়, তাহলে তালিকাভুক্ত দেশের বাইরের ব্যবহারকারীদের জন্য রেট পরিবর্তন প্রযোজ্য হবে।

UserCountries type সেট করা না থাকলে, এটি include হিসেবে বিবেচিত হয় এবং রেট পরিবর্তন তালিকাভুক্ত দেশের ব্যবহারকারীদের ক্ষেত্রে প্রযোজ্য হয়।

RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country 1..300 Country রেট পরিবর্তনের জন্য অনুমোদিত ব্যবহারকারীর দেশ উল্লেখ করে।
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country / @code 1 string CLDR দেশের কোড, যেমন DE বা FR। মনে রাখবেন, কিছু দেশের ক্ষেত্রে, CLDR দেশের কোড ২-অক্ষরের ISO দেশের কোডের মতো একই নয়। এছাড়াও, CLDR অঞ্চল কোড কাজ করে না।

উদাহরণ

বেসিক মেসেজ

নিচের উদাহরণে একটি সাধারণ RateModifications` মেসেজ দেখানো হয়েছে:

<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
                   id="123_abc"
                   timestamp="2023-05-22T16:20:00-04:00">
  <HotelRateModifications hotel_id="Property_1">
    <ItineraryRateModification id="1">
      <BookingDates>
         <DateRange start="2023-07-01" end="2023-07-31" days_of_week="MTWHF"/>
         <DateRange start="2023-09-01" end="2023-09-30"/>
      </BookingDates>
      <BookingWindow min="7" max="330"/>
      <CheckinDates>
         <DateRange start="2023-10-01" end="2023-10-31" days_of_week="FSU"/>
      </CheckinDates>
      <CheckoutDates>
         <DateRange start="2023-10-08" end="2023-11-07" days_of_week="FSU"/>
      </CheckoutDates>
      <Devices>
        <Device type="mobile"/>
        <Device type="tablet"/>
      </Devices>
      <LengthOfStay min="2" max="14"/>
      <RatePlans>
         <RatePlan id="234"/>
         <RatePlan id="567"/>
      </RatePlans>
      <RoomTypes>
         <RoomType id="123"/>
         <RoomType id="456"/>
      </RoomTypes>
      <UserCountries>
        <Country code="US"/>
        <Country code="GB"/>
      </UserCountries>
      <ModificationActions>
        <PriceAdjustment multiplier="1.2"/>
      </ModificationActions>
    </ItineraryRateModification>
  </HotelRateModifications>
</RateModifications>


একটি রেট পরিবর্তন মুছে দিন

নিম্নলিখিত উদাহরণ থেকে জানা যাবে যে কীভাবে কোনও প্রপার্টির জন্য একটি রেট পরিবর্তন মুছে ফেলতে হয়:

<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
                   id="123_abc"
                   timestamp="2023-05-22T16:20:00-04:00">
  <HotelRateModifications hotel_id="Property_1">
    <ItineraryRateModification id="1" action="delete"/>
  </HotelRateModifications>
</RateModifications>

রেট সংক্রান্ত সব পরিবর্তন মুছে দিন

নিম্নলিখিত উদাহরণে দেখানো হয়েছে যে কীভাবে কোনও প্রপার্টির জন্য সব রেট পরিবর্তন মুছে ফেলতে হয়:

<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
                   id="123_abc"
                   timestamp="2023-05-22T16:20:00-04:00">
  <HotelRateModifications hotel_id="Property_1" action="overlay"/>
</RateModifications>


সব রেট মডিফিকেশন ওভারলে করুন

নিম্নলিখিত উদাহরণে দেখানো হয়েছে যে কীভাবে এক বা একাধিক নতুন রেট পরিবর্তনের সাথে প্রপার্টির জন্য <HotelRateModifications> ওভারলে করতে হয়। action="overlay" হলে, বর্তমান মেসেজে উল্লেখ করা রেট সংক্রান্ত পরিবর্তন স্টোর করার আগে, স্টোর করা রেট সংক্রান্ত সব পরিবর্তন মুছে ফেলা হয়:

<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
                   id="123_abc"
                   timestamp="2023-05-22T16:20:00-04:00">
  <HotelRateModifications hotel_id="Property_1" action="overlay"/>
    <ItineraryRateModification id="1">
      <BookingDates>
         <DateRange start="2023-09-01" end="2023-09-30"/>
      </BookingDates>
      <ModificationActions>
        <PriceAdjustment multiplier="1.2"/>
      </ModificationActions>
      <RoomTypes>
         <RoomType id="123"/>
         <RoomType id="456"/>
      </RoomTypes>
      <RatePlans>
         <RatePlan id="234"/>
         <RatePlan id="567"/>
      </RatePlans>
    </ItineraryRateModification>
  </HotelRateModifications>
</RateModifications>

একাধিক পরিবর্তন সংক্রান্ত অ্যাকশন

নিম্নলিখিত উদাহরণে দেখানো হয়েছে যে কীভাবে একসাথে একাধিক পরিবর্তন করবেন:

<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
                   id="123_abc"
                   timestamp="2023-05-22T16:20:00-04:00">
  <HotelRateModifications hotel_id="Property_1">
    <ItineraryRateModification id="1">
      <BookingDates>
         <DateRange start="2023-01-01" end="2023-02-28"/>
      </BookingDates>
      <ModificationActions>
        <PriceAdjustment multiplier=".95"/>
        <Refundable available="true"
                    refundable_until_days="1"
                    refundable_until_time="12:00:00"/>
      </ModificationActions>
    </ItineraryRateModification>
  </HotelRateModifications>
</RateModifications>


ব্যবহারকারীর দেশের জন্য রেট প্ল্যান বন্ধ করুন

নিচের উদাহরণে দেখানো হয়েছে যে কীভাবে রেট প্ল্যান শুধু জাপানি (JP) ব্যবহারকারীদের জন্য সীমিত করা যায়:

<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
                   id="123_abc"
                   timestamp="2023-05-22T16:20:00-04:00">
  <HotelRateModifications hotel_id="Property_1">
    <ItineraryRateModification id="1">
      <RatePlans>
         <RatePlan id="jp_only"/>
      </RatePlans>
      <UserCountries type="exclude">
        <Country code="JP"/>
      </UserCountries>
      <ModificationActions>
        <Availability status="unavailable"/>
      </ModificationActions>
    </ItineraryRateModification>
  </HotelRateModifications>
</RateModifications>


প্রতিক্রিয়া

সিন্ট্যাক্স

RateModificationsResponse মেসেজে নিম্নলিখিত সিনট্যাক্স ব্যবহার করা হয়:

<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="timestamp"
                    id="message_ID"
                    partner="partner_key">
  <!-- Either Success or Issues will be populated. -->
  <Success/>
  <Issues>
    <Issue code="issue_code" status="issue_type"><var>issue_description</var></Issue>
  </Issues>
</RateModificationsResponse>

এলিমেন্ট ও অ্যাট্রিবিউট

RateModificationsResponse মেসেজে নিম্নলিখিত এলিমেন্ট ও অ্যাট্রিবিউট আছে:

এলিমেন্ট / @অ্যাট্রিবিউট বিষয়বস্তু ধরন বিবরণ
RateModifications 1 Complex element রুট এলিমেন্ট যা প্রাপ্ত RateModifications অনুরোধ মেসেজের সাফল্য বা সমস্যা নির্দেশ করে।
RateModificationsResponse / @timestamp 1 DateTime এই মেসেজটি তৈরি করার তারিখ ও সময়।
RateModificationsResponse / @id 1 string সংশ্লিষ্ট RateModifications মেসেজ থেকে পাওয়া অনন্য শনাক্তকারী।
RateModificationsResponse / @partner 1 string এই মেসেজের জন্য পার্টনার অ্যাকাউন্ট।
RateModificationsResponse / Success 0..1 Success এটি দেখায় যে RateModifications মেসেজ কোনও সতর্কতা, সমস্যা বা ব্যর্থতা ছাড়াই প্রসেস করা হয়েছে।

প্রতিটি মেসেজে <Success> অথবা <Issues> আছে।

RateModificationsResponse / Issues 0..1 Issues RateModifications মেসেজ প্রসেস করার সময় এক বা একাধিক সমস্যার সম্মুখীন হলে তার জন্য কন্টেনার।

প্রতিটি মেসেজে <Success> অথবা <Issues> আছে।

RateModificationsResponse / Issues / Issue 1..n Issue RateModifications মেসেজ প্রসেস করার সময় দেখা দেওয়া সতর্কতা, সমস্যা বা ব্যর্থতার বিবরণ। এইসব সমস্যার বিবরণ ফিড স্ট্যাটাস সংক্রান্ত সমস্যার মেসেজ-এ দেখা যাবে।
RateModificationsResponse / Issues / Issue / @code 1 integer সমস্যার শনাক্তকারী।
RateModificationsResponse / Issues / Issue / @status 1 enum

যে ধরনের সমস্যা হয়েছে।

সঠিক ভ্যালু হল warning, error, এবং failure।

উদাহরণ

সফল হয়েছে

RateModifications মেসেজ প্রসেস করার পরে এই উত্তর দেওয়া হয়েছে।

<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
                    id="12345678"
                    partner="partner_key">
  <Success/>
</RateModificationsResponse>

সমস্যা

নিম্নলিখিতটি হল RateModifications মেসেজের উত্তর যা সমস্যার কারণে প্রসেস করা যায়নি।

<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
                    id="12345678"
                    partner="partner_key">
  <Issues>
    <Issue code="1001" status="error">Example</Issue>
  </Issues>
</RateModificationsResponse>