সংক্ষিপ্ত বিবরণ
এই 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 | এই বার্তার জন্য অংশীদার অ্যাকাউন্ট। এই স্ট্রিং ভ্যালুটি হলো হোটেল সেন্টারের অ্যাকাউন্ট সেটিংস পৃষ্ঠায় তালিকাভুক্ত "পার্টনার কী" ভ্যালু। দ্রষ্টব্য: যদি আপনার এমন কোনো ব্যাকএন্ড থাকে যা একাধিক অ্যাকাউন্টের জন্য ফিড সরবরাহ করে, তাহলে এই মানটিকে অবশ্যই একই অ্যাকাউন্টের জন্য আপনার |
| 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 | যদি |
| RateModifications / HotelRateModifications / ItineraryRateModification | 0..200 | ItineraryRateModification | একটি সম্পত্তির জন্য একক হার পরিবর্তন। দ্রষ্টব্য: রেট পরিবর্তনের ত্রুটি নির্ণয় করা কঠিন এবং আমরা এগুলো পরিমিতভাবে ব্যবহার করার পরামর্শ দিই। যেসব ক্ষেত্রে ২০০টির বেশি রেট পরিবর্তনের প্রয়োজন হয়, সেসব ক্ষেত্রে আপনার টেকনিক্যাল অ্যাকাউন্ট ম্যানেজারের (TAM) সাথে যোগাযোগ করুন। |
| RateModifications / HotelRateModifications / ItineraryRateModification / @id | 1 | string | রেট পরিবর্তনের জন্য একটি অনন্য শনাক্তকারী। সর্বাধিক ৪০টি অক্ষর ব্যবহার করা যাবে। অনুমোদিত অক্ষরগুলো হলো az, AZ, ০-৯, _ (আন্ডারস্কোর), - (ড্যাশ), এবং . (পিরিয়ড)। |
| RateModifications / HotelRateModifications / ItineraryRateModification / @action | 0..1 | enum | যদি নির্দিষ্ট করা না থাকে এবং একই নির্দিষ্ট করা হলে, মানটি অবশ্যই |
| 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" দ্বারা বোঝানো হয় যে তারিখের পরিসরে সপ্তাহের কর্মদিবসগুলো অন্তর্ভুক্ত করা যাবে। বৈধ অক্ষরগুলো হলো:
যেকোনো অক্ষরের সংমিশ্রণ বৈধ। |
| 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" দ্বারা বোঝানো হয় যে তারিখের পরিসরে সপ্তাহের কর্মদিবসগুলো অন্তর্ভুক্ত করা যাবে। বৈধ অক্ষরগুলো হলো:
যেকোনো অক্ষরের সংমিশ্রণ বৈধ। |
| 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" দ্বারা বোঝানো হয় যে তারিখের পরিসরে সপ্তাহের কর্মদিবসগুলো অন্তর্ভুক্ত করা যাবে। বৈধ অক্ষরগুলো হলো:
যেকোনো অক্ষরের সংমিশ্রণ বৈধ। |
| 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 | হারের ফেরতযোগ্যতাকে নির্দিষ্ট মানে পরিবর্তন করে। অ্যাট্রিবিউটগুলো সেট করার সময় নিম্নলিখিত বিষয়গুলো লক্ষ্য করুন:
|
| 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 | হার পরিবর্তনটি কীভাবে প্রয়োগ করা উচিত তা বর্ণনা করে। বৈধ মানগুলি হলো:
এই অ্যাট্রিবিউটটি সর্বদা নির্দিষ্ট করতে হবে। |
| 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" দ্বারা বোঝানো হয় যে তারিখের পরিসরে সপ্তাহের কর্মদিবসগুলো অন্তর্ভুক্ত করা যাবে। বৈধ অক্ষরগুলো হলো:
যেকোনো অক্ষরের সংমিশ্রণ বৈধ। |
| RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries | 0..1 | UserCountries | নির্দিষ্ট করা থাকলে, রেট পরিবর্তনটি শুধুমাত্র তখনই প্রযোজ্য হবে যখন ব্যবহারকারী নির্দিষ্ট দেশগুলোর কোনো একটিতে অবস্থান করবেন। নির্দিষ্ট করা না থাকলে, ব্যবহারকারীর অবস্থান নির্বিশেষে রেট পরিবর্তনটি প্রযোজ্য হবে। |
| RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / @type | 0..1 | enum | UserCountries স্পেসিফিকেশনের ধরণ। বৈধ মানগুলো হলো যদি UserCountries যদি UserCountries যদি UserCountries |
| 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 বার্তাটি কোনো সতর্কতা, ত্রুটি বা ব্যর্থতা ছাড়াই সফলভাবে প্রক্রিয়াজাত করা হয়েছে। প্রতিটি বার্তায় হয় |
| RateModificationsResponse / Issues | 0..1 | Issues | RateModifications বার্তাটি প্রক্রিয়াকরণের সময় উদ্ভূত এক বা একাধিক সমস্যার জন্য একটি ধারক। প্রতিটি বার্তায় হয় |
| RateModificationsResponse / Issues / Issue | 1..n | Issue | RateModifications বার্তাটি প্রক্রিয়াকরণের সময় সম্মুখীন হওয়া কোনো সতর্কতা, ত্রুটি বা ব্যর্থতার বিবরণ। এই সমস্যাগুলির বিশদ বিবরণ Feed Status Error Messages- এ পাওয়া যাবে। |
| RateModificationsResponse / Issues / Issue / @code | 1 | integer | সমস্যাটির শনাক্তকারী। |
| RateModificationsResponse / Issues / Issue / @status | 1 | enum | সম্মুখীন হওয়া সমস্যার ধরণ। বৈধ মানগুলো হলো |
উদাহরণ
সাফল্য
নিম্নলিখিতটি একটি সফলভাবে প্রক্রিয়াকৃত 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>