এক নজরে
এই 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-এর
অ্যাকাউন্ট সেটিংস পৃষ্ঠায় তালিকাভুক্ত করা আছে।
মনে রাখবেন: আপনার যদি এমন ব্যাকএন্ড থাকে যা একাধিক অ্যাকাউন্টের জন্য ফিড প্রদান করে, তাহলে এই ভ্যালুটি একই অ্যাকাউন্টের জন্য আপনার |
| 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 |
|
| 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 | যদি নির্দিষ্ট করা না থাকে এবং একই উল্লেখ করা থাকলে, ভ্যালু অবশ্যই |
| 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> ভ্যালু ব্যবহার করে রেফার করা হয়। (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 | রেট পরিবর্তন কীভাবে প্রয়োগ করা উচিত তা বর্ণনা করে। সঠিক ভ্যালু হল:
এই অ্যাট্রিবিউট সবসময় উল্লেখ করতে হবে। |
| 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 | সংশ্লিষ্ট RateModifications মেসেজ থেকে পাওয়া অনন্য শনাক্তকারী। |
| RateModificationsResponse / @partner | 1 | string | এই মেসেজের জন্য পার্টনার অ্যাকাউন্ট। |
| RateModificationsResponse / Success | 0..1 | Success | এটি দেখায় যে RateModifications মেসেজ কোনও সতর্কতা, সমস্যা বা ব্যর্থতা ছাড়াই
প্রসেস করা হয়েছে।
প্রতিটি মেসেজে |
| RateModificationsResponse / Issues | 0..1 | Issues | RateModifications মেসেজ প্রসেস করার সময় এক বা একাধিক সমস্যার সম্মুখীন হলে
তার জন্য কন্টেনার।
প্রতিটি মেসেজে |
| RateModificationsResponse / Issues / Issue | 1..n | Issue | RateModifications মেসেজ প্রসেস করার সময় দেখা দেওয়া সতর্কতা, সমস্যা বা ব্যর্থতার বিবরণ। এইসব সমস্যার বিবরণ ফিড স্ট্যাটাস সংক্রান্ত সমস্যার মেসেজ-এ দেখা যাবে। |
| 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>