হার পরিবর্তন

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

এই API-টি আপনাকে শর্ত পূরণ সাপেক্ষে কোনো রেটের উপর গতিশীলভাবে বিভিন্ন অ্যাকশন প্রয়োগ করার উপায় নির্ধারণ করতে দেয়, যেমন মূল্য সমন্বয় করা বা রিফান্ডযোগ্যতা সক্ষম করা। প্রোমোশনস 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 এই বার্তার জন্য অংশীদার অ্যাকাউন্ট। এই স্ট্রিং ভ্যালুটি হলো হোটেল সেন্টারের অ্যাকাউন্ট সেটিংস পৃষ্ঠায় তালিকাভুক্ত "পার্টনার কী" ভ্যালু।

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

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

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

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

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

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

RateModifications / HotelRateModifications / ItineraryRateModification 0..200 ItineraryRateModification

একটি সম্পত্তির জন্য একক হার পরিবর্তন।

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

RateModifications / HotelRateModifications / ItineraryRateModification / @id 1 string রেট পরিবর্তনের জন্য একটি অনন্য শনাক্তকারী। সর্বাধিক ৪০টি অক্ষর ব্যবহার করা যাবে। অনুমোদিত অক্ষরগুলো হলো az, AZ, ০-৯, _ (আন্ডারস্কোর), - (ড্যাশ), এবং . (পিরিয়ড)।
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 এই আইডিটি আপনার রেট রুল ডেফিনিশন ফাইলের একটি ডেফিনিশনের সাথে একটি রেটকে মেলায়। দ্রষ্টব্য:
  • এই ফিল্ডের জন্য অক্ষর সীমা ৪০টি।
  • প্রতিটি হার শুধুমাত্র একটি একক হার নিয়মের সাথে যুক্ত থাকতে পারে।
  • যদি একটি রেট রুল আইডি প্রয়োগ করে একাধিক পরিবর্তন করা হয়, তবে আভিধানিকভাবে ক্ষুদ্রতম রেট রুল আইডিটি রেটটির জন্য নির্ধারিত হয়।
  • যদি এই আইডিটি আপনার রেট রুল ডেফিনিশন ফাইলের কোনো রেট রুলের সাথে না মেলে, তবে এটিকে অযোগ্য বলে গণ্য করা হবে।
বিভিন্ন বেসরকারি হারের বেকারত্ব বীমা ব্যবস্থা সম্পর্কে তথ্যের জন্য এই নিবন্ধটি দেখুন।
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> ভ্যালু ব্যবহার করে এটিকে উল্লেখ করা হয়। (এর <RoomID> ভ্যালুটি OTA_HotelRateAmountNotifRQ মেসেজগুলিতে InvTypeCode অ্যাট্রিবিউটের মাধ্যমেও উল্লেখ করা হয়।)
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 সংশ্লিষ্ট রেটমডিফিকেশন বার্তা থেকে প্রাপ্ত অনন্য শনাক্তকারী।
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 বার্তাটি প্রক্রিয়াকরণের সময় সম্মুখীন হওয়া কোনো সতর্কতা, ত্রুটি বা ব্যর্থতার বিবরণ। এই সমস্যাগুলির বিশদ বিবরণ Feed Status Error Messages- এ পাওয়া যাবে।
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>