সংক্ষিপ্ত বিবরণ
এই API আপনাকে সম্ভাব্য ডিসকাউন্ট নির্দিষ্ট করার সুযোগ দেয়। নির্দিষ্ট করা প্রোমোশনগুলোর মধ্যে থেকে, Google সেই যোগ্য প্রোমোশন বা প্রোমোশনগুলোর সেট প্রয়োগ করে যা সর্বনিম্ন মূল্যের দিকে নিয়ে যায়। আপনি যদি এমন একটি API খুঁজে থাকেন যা শর্ত পূরণ সাপেক্ষে ইচ্ছামতো মূল্য সমন্বয় করতে পারে, তাহলে আমাদের রেট মডিফিকেশনস API-টি বিবেচনা করতে পারেন। মনে রাখবেন যে, যদি উভয় API উপস্থিত থাকে, তাহলে প্রোমোশনের আগে রেট মডিফিকেশনস প্রয়োগ করা হয়।
অনুরোধ
সিনট্যাক্স
Promotions মেসেজটি নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner= "partner_key"
id="message_ID"
timestamp="timestamp">
<HotelPromotions hotel_id="HotelID" action="[overlay]">
<Promotion id="PromotionID" action="[delete]">
<BookingDates>
<DateRange start="YYYY-MM-DD[THH:mm:ss]" end="YYYY-MM-DD[THH:mm:ss]"
days_of_week="MTWHFSU_or_subset"/>
<DateRange start="YYYY-MM-DD[THH:mm:ss]" end="YYYY-MM-DD[THH:mm:ss]"
days_of_week="MTWHFSU_or_subset"/>
</BookingDates>
<BookingWindow min="integer_or_duration" max="integer_or_duration"/>
<Ceiling amount_per_night="float"/>
<Floor amount_per_night="float"/>
<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>
<!-- Specify only one of percentage, percentage_of_base, fixed_amount,
fixed_amount_per_night, fixed_price, or fixed_price_per_night;
applied_nights is only used with percentage, fixed_amount_per_night,
and fixed_price_per_night. -->
<Discount percentage="float" percentage_of_base="float"
fixed_amount="float" fixed_amount_per_night="float"
fixed_price="float" fixed_price_per_night="float"
applied_nights="integer_1_to_99" rank="integer_1_to_99">
<!-- FreeNights may not be used in conjunction with attributes on Discount -->
<FreeNights stay_nights="integer" discount_nights="integer"
discount_percentage="float" night_selection="[cheapest|last]"
repeats="boolean"/>
</Discount>
<!-- Exactly one of Discount or BestDailyDiscount must be specified.
Specify only one of percentage, fixed_amount, or fixed_price. -->
<BestDailyDiscount percentage="float" fixed_amount="float" fixed_price="float"/>
<Devices>
<Device type="[desktop|tablet|mobile]"/>
</Devices>
<InventoryCount min="integer" max="integer"/>
<LengthOfStay min="integer" max="integer"/>
<MembershipRateRule id="RateRuleID"/>
<MinimumAmount before_discount="integer"/>
<Occupancy min="integer" max="integer"/>
<RatePlans>
<RatePlan id="PackageID_1"/>
<RatePlan id="PackageID_2"/>
</RatePlans>
<RoomTypes>
<RoomType id="RoomID_1"/>
<RoomType id="RoomID_2"/>
</RoomTypes>
<Stacking type="[any|base|none|second]"/>
<StayDates application="[all|any|overlap]">
<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>
</Promotion>
</HotelPromotions>
</Promotions>
উপাদান এবং বৈশিষ্ট্য
প্রোমোশন মেসেজটিতে নিম্নলিখিত উপাদান এবং অ্যাট্রিবিউটগুলো রয়েছে:
| এলিমেন্ট / @অ্যাট্রিবিউট | ঘটনা | প্রকার | বর্ণনা |
|---|---|---|---|
| Promotions | 1 | Complex element | প্রচারমূলক বার্তার মূল উপাদান। |
| Promotions / @partner | 1 | string | এই বার্তার জন্য অংশীদার অ্যাকাউন্ট। এই স্ট্রিং ভ্যালুটি হলো হোটেল সেন্টারের অ্যাকাউন্ট সেটিংস পৃষ্ঠায় তালিকাভুক্ত "পার্টনার কী" ভ্যালু। যদি আপনার এমন কোনো ব্যাকএন্ড থাকে যা একাধিক অ্যাকাউন্টের জন্য ফিড সরবরাহ করে, তাহলে এই মানটিকে অবশ্যই একই অ্যাকাউন্টের জন্য আপনার |
| Promotions / @id | 1 | string | এই অনুরোধ বার্তার জন্য একটি অনন্য শনাক্তকারী। এই মানটি প্রতিক্রিয়া বার্তায় ফেরত দেওয়া হয়। অনুমোদিত অক্ষরগুলো হলো az, AZ, 0-9, _ (আন্ডারস্কোর), এবং - (ড্যাশ)। |
| Promotions / @timestamp | 1 | DateTime | এই বার্তাটি তৈরির তারিখ ও সময়। |
| Promotions / HotelPromotions | 0..n | HotelPromotions | একটি সম্পত্তির জন্য অফারসমূহ। প্রতিটি অফার একটিমাত্র সম্পত্তির জন্য প্রযোজ্য। |
| Promotions / HotelPromotions / @hotel_id | 1 | string | প্রপার্টির অনন্য শনাক্তকারী। এই মানটি অবশ্যই হোটেল লিস্ট ফিডের <listing> এলিমেন্টে <id> ব্যবহার করে নির্দিষ্ট করা হোটেল আইডির সাথে মিলতে হবে। হোটেল আইডিটি হোটেল সেন্টারেও তালিকাভুক্ত থাকে। |
| Promotions / HotelPromotions / @action | 0..1 | enum | নির্দিষ্ট করা থাকলে, মানটি অবশ্যই যদি নির্দিষ্ট করে দেওয়া না থাকে, তাহলে বর্তমান বার্তায় উল্লেখিত প্রতিটি পদোন্নতি হলো হয়:
|
| Promotions / HotelPromotions / Promotion | 0..99 | Promotion | একটি প্রপার্টির জন্য একটিমাত্র প্রমোশন। উল্লেখ্য যে, যদি আপনার যদি ৯৯টির বেশি প্রোমোশন ব্যবহার করার প্রয়োজন হয়, তাহলে আপনার টেকনিক্যাল অ্যাকাউন্ট ম্যানেজারের (TAM) সাথে যোগাযোগ করুন। |
| Promotions / HotelPromotions / Promotion / @id | 1 | string | প্রচারের জন্য একটি অনন্য শনাক্তকারী। সর্বাধিক ৪০টি অক্ষর ব্যবহার করা যাবে। অনুমোদিত অক্ষরগুলো হলো az, AZ, ০-৯, _ (আন্ডারস্কোর), - (ড্যাশ), এবং . (পিরিয়ড)। |
| Promotions /HotelPromotions / Promotion / @action | 0..1 | enum | নির্দিষ্ট করা থাকলে, মানটি অবশ্যই যদি |
| Promotions / HotelPromotions / Promotion / BookingDates | 0..1 | BookingDates | এক বা একাধিক রেঞ্জের জন্য একটি কন্টেইনার, যা নির্ধারণ করে দেয় যে প্রমোশনটি প্রযোজ্য হওয়ার জন্য কখন বুকিং অবশ্যই করতে হবে। |
| Promotions / HotelPromotions / Promotion / BookingDates / DateRange | 1..99 | DateRange | একটি সময়সীমা যা নির্দিষ্ট করে দেয় যে প্রমোশনটি প্রযোজ্য হওয়ার জন্য বুকিং অবশ্যই কখন করতে হবে। |
| Promotions / HotelPromotions / Promotion / BookingDates / DateRange / @start | 0..1 | Date বা DateTime | পরিসরের শুরুর তারিখ বা তারিখ-সময় (সম্পত্তির সময় অঞ্চল অনুযায়ী), যা অন্তর্ভুক্ত।
|
| Promotions / HotelPromotions / Promotion / BookingDates / DateRange / @end | 0..1 | Date বা DateTime | পরিসরের শেষ তারিখ বা তারিখ-সময় (প্রপার্টির টাইম জোন অনুযায়ী), যা অন্তর্ভুক্ত।
|
| Promotions / HotelPromotions / Promotion / BookingDates / DateRange / @days_of_week | 0..1 | string | তারিখের পরিসরে সপ্তাহের যে দিনগুলো অন্তর্ভুক্ত করা যাবে। যদি নির্দিষ্ট করে না দেওয়া হয়, তাহলে তারিখের পরিসরে সব দিনই অন্তর্ভুক্ত করা যাবে। স্ট্রিংটির প্রতিটি অক্ষর একটি দিনকে নির্দেশ করে। উদাহরণস্বরূপ, "MTWHF" দ্বারা বোঝানো হয় যে তারিখের পরিসরে সপ্তাহের কর্মদিবসগুলো অন্তর্ভুক্ত করা যাবে। বৈধ অক্ষরগুলো হলো:
যেকোনো অক্ষরের সংমিশ্রণ বৈধ। |
| Promotions / HotelPromotions / Promotion / BookingWindow | 0..1 | BookingWindow | চেক-ইন তারিখের সাপেক্ষে বুকিং অবশ্যই যে সময়সীমার মধ্যে করতে হবে তা নির্দিষ্ট করে (প্রপার্টির টাইম জোন অনুযায়ী)। উদাহরণস্বরূপ, চেক-ইন-এর কমপক্ষে ৭ দিন আগে থেকে শুরু করে ১৮০ দিনের বেশি নয়, এমন একটি সময়সীমার মধ্যে বুকিং করা যেতে পারে। |
| Promotions / HotelPromotions / Promotion / BookingWindow / @min | 0..1 | integer or duration | প্রোমোশনটি প্রযোজ্য হওয়ার জন্য বুকিং করার সময় চেক-ইন-এর কমপক্ষে একটি নির্দিষ্ট সময় আগে তা সম্পন্ন করতে হবে। যদি এটি নির্দিষ্ট করা না থাকে, অথবা এর মান 0 হয়, তাহলে কোনো ন্যূনতম সময়সীমা নেই।বৈধ মানের প্রকারগুলি হলো:
|
| Promotions / HotelPromotions / Promotion / BookingWindow / @max | 0..1 | integer or duration | প্রোমোশনটি প্রযোজ্য হওয়ার জন্য চেক-ইন করার সর্বাধিক কত দিন আগে বুকিং করতে হবে। যদি এটি নির্দিষ্ট করা না থাকে, অথবা এর মান 0 হয়, তাহলে কোনো সর্বোচ্চ সীমা নেই।বৈধ মানের প্রকারগুলি হলো:
|
| Promotions / HotelPromotions / Promotion / Ceiling | 0..1 | Ceiling | প্রোমোশন প্রয়োগের পর কোনো রেটের সর্বোচ্চ যে মান নির্ধারণ করা যাবে, তার ওপর বিধিনিষেধ আরোপ করে। প্রোমোশনে অবশ্যই একটি যদি স্ট্যাকিং কনফিগার করা থাকে, তাহলে উদাহরণ: এক রাত থাকার মূল্য যেখানে
গণনার ক্রমটি হলো:
৬০ যে একটি কঠোরতর সামগ্রিক সর্বোচ্চ সীমা, সেই বিষয়টি অপ্রাসঙ্গিক, কারণ এটি শুধুমাত্র নিজস্ব পদোন্নতির ক্ষেত্রেই প্রযোজ্য, এবং এমন কোনো একক সর্বোচ্চ সীমা থাকতে পারে না যা সমগ্র পদোন্নতির স্তর জুড়ে বিস্তৃত হবে। |
| Promotions / HotelPromotions / Promotion / Ceiling / @amount_per_night | 1 | float | ছাড় প্রয়োগ করার পর প্রতি রাতের ভাড়ার সর্বোচ্চ পরিমাণ। যদি একটি |
| Promotions / HotelPromotions / Promotion / Floor | 0..1 | Floor | প্রোমোশন প্রয়োগের পর কোনো রেটের সর্বনিম্ন যে মান নির্ধারণ করা যাবে, তার ওপর বিধিনিষেধ আরোপ করে। প্রোমোশনে অবশ্যই একটি If stacking is configured, then multiple promotions with উদাহরণ: এক রাত থাকার মূল্য যেখানে
গণনার ক্রমটি হলো:
৯০ যে সামগ্রিকভাবে একটি কঠোরতর সর্বনিম্ন সীমা, সেই বিষয়টি অপ্রাসঙ্গিক, কারণ এটি শুধুমাত্র নিজের পদোন্নতির জন্যই বৈধ, এবং এমন কোনো একক সর্বনিম্ন সীমা থাকতে পারে না যা সম্পূর্ণ পদোন্নতির স্তর জুড়ে প্রযোজ্য। |
| Promotions / HotelPromotions / Promotion / Floor / @amount_per_night | 1 | float | ছাড় প্রয়োগ করার পর প্রতি রাতের ভাড়ার সর্বনিম্ন যে পরিমাণ নির্ধারণ করা যেতে পারে। যদি একটি |
| Promotions / HotelPromotions / Promotion / CheckinDates | 0..1 | CheckinDates | এক বা একাধিক তারিখের পরিসরের জন্য একটি ধারক, যা নির্ধারণ করে দেয় যে প্রমোশনটি প্রযোজ্য হওয়ার জন্য কখন চেক-ইন করতে হবে। |
| Promotions / HotelPromotions / Promotion / CheckinDates / DateRange | 1..20 | DateRange | একটি তারিখের পরিসর, যা নির্দিষ্ট করে দেয় যে প্রমোশনটি প্রযোজ্য হওয়ার জন্য কখন চেক-ইন করতে হবে। আপনি যদি এক বা একাধিক প্রমোশন মুছে ফেলেন, তাহলে এই উপাদানটির প্রয়োজন নেই। YearlessDate ফরম্যাটটিও সমর্থিত।
|
| Promotions / HotelPromotions / Promotion / CheckinDates / DateRange / @start | 0..1 | Date or YearlessDate | তারিখের পরিসরের শুরুর তারিখ (সম্পত্তির টাইম জোন অনুসারে), যা অন্তর্ভুক্ত থাকবে। এই তারিখটি অবশ্যই শেষের তারিখের আগে বা end তারিখের সমান হতে হবে। যদি start নির্দিষ্ট না করা হয়, তবে শুরুর তারিখের ক্ষেত্রে তারিখের পরিসরটি কার্যত সীমাহীন। |
| Promotions / HotelPromotions / Promotion / CheckinDates / DateRange / @end | 0..1 | Date or YearlessDate | The ending date (based on the property's time zone), inclusive, of the date range. This date must be the same as, or after, the start date. If end isn't specified, the date range is effectively unlimited in terms of an end date. |
| Promotions / HotelPromotions / Promotion / CheckinDates / DateRange / @days_of_week | 0..1 | string | তারিখের পরিসরে সপ্তাহের যে দিনগুলো অন্তর্ভুক্ত করা যাবে। যদি নির্দিষ্ট করে না দেওয়া হয়, তাহলে তারিখের পরিসরে সব দিনই অন্তর্ভুক্ত করা যাবে। স্ট্রিংটির প্রতিটি অক্ষর একটি দিনকে নির্দেশ করে। উদাহরণস্বরূপ, "MTWHF" দ্বারা বোঝানো হয় যে তারিখের পরিসরে সপ্তাহের কর্মদিবসগুলো অন্তর্ভুক্ত করা যাবে। বৈধ অক্ষরগুলো হলো:
যেকোনো অক্ষরের সংমিশ্রণ বৈধ। |
| Promotions / HotelPromotions / Promotion / CheckoutDates | 0..1 | CheckoutDates | এক বা একাধিক তারিখের পরিসরের জন্য একটি ধারক, যা নির্ধারণ করে দেয় যে প্রমোশনটি প্রযোজ্য হওয়ার জন্য কখন চেক-আউট করতে হবে। |
| Promotions / HotelPromotions / Promotion / CheckoutDates / DateRange | 1..20 | DateRange | একটি তারিখের পরিসর, যা নির্দিষ্ট করে দেয় কখন চেক-আউট করলে প্রমোশনটি প্রযোজ্য হবে। আপনি যদি এক বা একাধিক প্রমোশন মুছে ফেলেন, তাহলে এই উপাদানটির প্রয়োজন নেই। YearlessDate ফরম্যাটটিও সমর্থিত।
|
| Promotions / HotelPromotions / Promotion / CheckoutDates / DateRange / @start | 0..1 | Date or YearlessDate | তারিখের পরিসরের শুরুর তারিখ (সম্পত্তির টাইম জোন অনুসারে), যা অন্তর্ভুক্ত থাকবে। এই তারিখটি অবশ্যই শেষের তারিখের আগে বা end তারিখের সমান হতে হবে। যদি start নির্দিষ্ট না করা হয়, তবে শুরুর তারিখের ক্ষেত্রে তারিখের পরিসরটি কার্যত সীমাহীন। |
| Promotions / HotelPromotions / Promotion / CheckoutDates / DateRange / @end | 0..1 | Date or YearlessDate | তারিখের পরিসরের শেষ তারিখ (সম্পত্তির সময় অঞ্চল অনুসারে), যা অন্তর্ভুক্ত থাকবে। এই তারিখটি অবশ্যই start তারিখের সমান বা তার পরের হতে হবে। যদি end নির্দিষ্ট না করা হয়, তাহলে শেষ তারিখের ক্ষেত্রে তারিখের পরিসরটি কার্যত সীমাহীন। |
| Promotions / HotelPromotions / Promotion / CheckoutDates / DateRange / @days_of_week | 0..1 | string | তারিখের পরিসরে সপ্তাহের যে দিনগুলো অন্তর্ভুক্ত করা যাবে। যদি নির্দিষ্ট করে না দেওয়া হয়, তাহলে তারিখের পরিসরে সব দিনই অন্তর্ভুক্ত করা যাবে। স্ট্রিংটির প্রতিটি অক্ষর একটি দিনকে নির্দেশ করে। উদাহরণস্বরূপ, "MTWHF" দ্বারা বোঝানো হয় যে তারিখের পরিসরে সপ্তাহের কর্মদিবসগুলো অন্তর্ভুক্ত করা যাবে। বৈধ অক্ষরগুলো হলো:
যেকোনো অক্ষরের সংমিশ্রণ বৈধ। |
| Promotions / HotelPromotions / Promotion / Devices | 0..1 | Devices | প্রচারের জন্য যোগ্য ব্যবহারকারীর ডিভাইসগুলির তালিকা করার জন্য ধারক। যদি নির্দিষ্ট করা থাকে, তবে শুধুমাত্র তালিকাভুক্ত ডিভাইসগুলির যোগ্য ব্যবহারকারীরাই ছাড়যুক্ত মূল্য পাবেন। যদি নির্দিষ্ট করা না থাকে, তবে যেকোনো ডিভাইসের যোগ্য ব্যবহারকারীরা ছাড়যুক্ত মূল্য পাবেন। |
| Promotions / HotelPromotions / Promotion / Devices / Device | 1..3 | Device | এক ধরনের ব্যবহারকারী ডিভাইস নির্ধারণ করে যা এই প্রচারণার জন্য যোগ্য। |
| Promotions / HotelPromotions / Promotion / Devices / Device / @type | 1 | enum | ডিভাইসের একটি ধরণ। মানটি অবশ্যই desktop , tablet বা mobile হতে হবে। |
| Promotions / HotelPromotions / Promotion / Discount | 1 | Discount | এই প্রচারণার জন্য প্রযোজ্য ছাড় নির্দিষ্ট করা হয়েছে। |
| Promotions / HotelPromotions / Promotion / Discount / @percentage | 0..1 | float | ০-১০০ এর মধ্যে একটি দশমিক মান যা শতকরা ছাড় নির্দিষ্ট করে। এটি উদাহরণ:
|
| Promotions / HotelPromotions / Promotion / Discount / @percentage_of_base | 0..1 | float | ০-১০০ এর মধ্যে একটি দশমিক মান যা মূল ছাড়ের শতাংশ নির্দিষ্ট করে। উদাহরণ:
|
| Promotions / HotelPromotions / Promotion / Discount / @fixed_amount | 0..1 | float | উদাহরণ:
|
| Promotions / HotelPromotions / Promotion / Discount / @fixed_amount_per_night | 0..1 | float | উদাহরণ:
|
| Promotions / HotelPromotions / Promotion / Discount / @fixed_price | 0..1 | float | যদি যদি উদাহরণ:
|
| Promotions / HotelPromotions / Promotion / Discount / @fixed_price_per_night | 0..1 | float | যদি যদি যদি উদাহরণ:
|
| Promotions / HotelPromotions / Promotion / Discount / @applied_nights | 0..1 | integer | এটি শুধুমাত্র সবচেয়ে কম খরচের রাত থেকে শুরু করে, যতগুলো রাতের উপর ছাড়টি প্রযোজ্য হবে। সংখ্যাটি অবশ্যই ১ থেকে ৯৯-এর মধ্যে একটি পূর্ণসংখ্যা হতে হবে। নির্দিষ্ট করে না দিলে, ছাড়টি সব রাতের উপর প্রযোজ্য হবে। |
| Promotions / HotelPromotions / Promotion / Discount / FreeNights | 0..1 | FreeNights | ন্যূনতম থাকার সময়সীমা পূরণ হলে, থাকার নির্দিষ্ট কিছু রাতের জন্য ছাড় নির্দিষ্ট করে। এই এলিমেন্টটি ব্যবহৃত হলে, প্যারেন্ট Discount এলিমেন্টে অ্যাট্রিবিউট ব্যবহারের অনুমতি নেই। |
| Promotions / HotelPromotions / Promotion / Discount / FreeNights / @stay_nights | 1 | integer | ছাড় পাওয়ার জন্য প্রয়োজনীয় রাতের সংখ্যা। প্রতিটি ছাড় থাকার রাতের একটি পৃথক অংশের জন্য প্রযোজ্য। উদাহরণস্বরূপ, ১০ রাতের একটি থাকার ক্ষেত্রে যেখানে |
| Promotions / HotelPromotions / Promotion / Discount / FreeNights / @discount_nights | 1 | integer | থাকার রাত্রিকালের প্রতিটি বিভাগের মধ্যে ছাড়কৃত রাত্রির সংখ্যা। |
| Promotions / HotelPromotions / Promotion / Discount / FreeNights / @discount_percentage | 1 | float | ডিসকাউন্ট নাইটগুলোর উপর যে ছাড়টি প্রযোজ্য। যদি এই মান 50 হয়, তাহলে নির্বাচিত প্রতিটি রাতের উপর ৫০% ছাড় পাওয়া যাবে। |
| Promotions / HotelPromotions / Promotion / Discount / FreeNights / @night_selection | 1 | string | হয় cheapest অথবা last হতে হবে। যদি last , তাহলে থাকার রাতগুলোর অংশের শেষের রাতগুলোতে ছাড় দেওয়া হবে। যদি cheapest , তাহলে থাকার রাতগুলোর অংশের মধ্যে সবচেয়ে সস্তা রাতগুলোতে ছাড় দেওয়া হবে। |
| Promotions / HotelPromotions / Promotion / Discount / FreeNights / @repeats | 1 | boolean | ছাড়টি একাধিক রাত্রিকালীন অংশের জন্য প্রযোজ্য হবে কিনা। যদি উদাহরণস্বরূপ, যদি |
| Promotions / HotelPromotions / Promotion / Discount / @rank | 0..1 | integer | এই প্রমোশনটিকে একটি র্যাঙ্ক প্রদান করে এবং এটিকে র্যাঙ্কড সিলেকশনে অন্তর্ভুক্ত করে, যেখানে শুধুমাত্র সর্বনিম্ন র্যাঙ্কের প্রমোশনটিই প্রয়োগের জন্য নির্বাচিত হয়। মান অবশ্যই ১ থেকে ৯৯-এর মধ্যে হতে হবে। যদি একাধিক প্রমোশনের র্যাঙ্ক একই হয়, তবে যেকোনো একটিকে যথেচ্ছভাবে নির্বাচন করে প্রয়োগ করা হয়। |
| Promotions / HotelPromotions / Promotion / BestDailyDiscount | 1 | Discount | এটি একটি দৈনিক ছাড় নির্দিষ্ট করে যা এক রাতের থাকার উপর প্রযোজ্য হতে পারে। এটি প্রতিটি প্রপার্টির জন্য একগুচ্ছ প্রমোশন থাকতে পারে যা "সেরা দৈনিক" হিসেবে বিবেচিত হয়। এর অর্থ হলো, প্রতি রাত থাকার জন্য, সেই রাতের যোগ্য এবং সর্বাধিক ছাড় প্রদানকারী একক "সেরা দৈনিক" প্রমোশনটি নির্বাচন করা হয় এবং প্রয়োগ করা যেতে পারে। এই ধরনের ছাড়ের সাথে |
| Promotions / HotelPromotions / Promotion / BestDailyDiscount / @percentage | 0..1 | float | ০-১০০ এর মধ্যে একটি দশমিক মান যা শতকরা ছাড় নির্দিষ্ট করে। এটি উদাহরণ:
|
| Promotions / HotelPromotions / Promotion/ BestDailyDiscount / @fixed_amount | 0..1 | float | একটি নির্দিষ্ট পরিমাণ যা একটি একক উদাহরণ:
|
| Promotions / HotelPromotions / Promotion/ BestDailyDiscount / @fixed_price | 0..1 | float | যদি উদাহরণ:
|
| Promotions / HotelPromotions / Promotion / InventoryCount | 0..1 | InventoryCount | Defines restrictions on the number of rooms that must be available in order for this promotion to be applied. Discount is applied only to the nights which meet the constraint. Not allowed with the fixed_amount discount. Note that the number of available rooms is specified with either OTA_HotelInvCountNotifRQ ( InvCount ) or OTA_HotelAvailNotifRQ ( BookingLimit ). |
| Promotions / HotelPromotions / Promotion / InventoryCount / @min | 0..1 | integer | প্রতি রাতের ভাড়ার উপর প্রোমোশনটি প্রযোজ্য হওয়ার জন্য ন্যূনতম কতগুলো রুম উপলব্ধ থাকতে হবে। যদি এটি নির্দিষ্ট করে বলা না থাকে, তাহলে কোনো ন্যূনতম সংখ্যা নেই। |
| Promotions / HotelPromotions / Promotion / InventoryCount / @max | 0..1 | integer | প্রতি রাতের ভাড়ার উপর প্রোমোশনটি প্রযোজ্য হওয়ার জন্য সর্বোচ্চ যতগুলো রুম উপলব্ধ থাকতে হবে। যদি এটি নির্দিষ্ট করে দেওয়া না থাকে, তবে কোনো সর্বোচ্চ সীমা নেই। |
| Promotions / HotelPromotions / Promotion / LengthOfStay | 0..1 | LengthOfStay | থাকার সময়সীমা নির্ধারণ করে, যার মধ্যে এই প্রোমোশনটি প্রযোজ্য হবে। থাকার সময়সীমা সর্বনিম্ন এবং সর্বোচ্চ সীমার বাইরে হলে প্রোমোশনটি প্রযোজ্য হবে না। |
| Promotions / HotelPromotions / Promotion / LengthOfStay / @min | 0..1 | integer | প্রোমোশনটি প্রযোজ্য হওয়ার জন্য থাকার ক্ষেত্রে ন্যূনতম কত রাত থাকতে হবে। যদি এটি নির্দিষ্ট করে বলা না থাকে, তাহলে কোনো ন্যূনতম সীমা নেই। |
| Promotions / HotelPromotions / Promotion / LengthOfStay / @max | 0..1 | integer | প্রোমোশনটি প্রযোজ্য হওয়ার জন্য থাকার ক্ষেত্রে সর্বোচ্চ কত রাত থাকা যাবে। যদি এটি নির্দিষ্ট করে দেওয়া না থাকে, তাহলে কোনো সর্বোচ্চ সীমা নেই। |
| Promotions / HotelPromotions / Promotion / MembershipRateRule | 0..1 | MembershipRateRule | সদস্যতা হারের নিয়মের জন্য একটি কন্টেইনার, যা সংশ্লিষ্ট ছাড়ের জন্য একটি নির্দিষ্ট UI ট্রিটমেন্ট চালু করে। |
| Promotions / HotelPromotions / Promotion / MembershipRateRule / @id | 1 | string | সদস্যতা প্রোগ্রামের সাথে যুক্ত রেট নিয়মের আইডি। |
| Promotions / HotelPromotions / Promotion / MinimumAmount | 0..1 | MinimumAmount | প্রোমোশনটি প্রযোজ্য হওয়ার জন্য দৈনিক রুম ভাড়ার ( AmountBeforeTax বা AmountAfterTax যে পরিমাণ বেশি, সেটি ব্যবহার করে) ন্যূনতম যে পরিমাণ যোগফল অতিক্রম করতে হবে, তা নির্দিষ্ট করে। |
| Promotions / HotelPromotions / Promotion / MinimumAmount / @before_discount | 1 | integer | যে মানটি অতিক্রম করলে প্রমোশনটি প্রযোজ্য হবে। |
| Promotions / HotelPromotions / Promotion / Occupancy | 0..1 | Occupancy | এই প্রোমোশনটি কোন ধরনের ধারণক্ষমতার ক্ষেত্রে প্রযোজ্য হবে, তার উপর বিধিনিষেধ নির্ধারণ করা হয়েছে। ধারণক্ষমতা সর্বনিম্ন ও সর্বোচ্চ সীমার বাইরে হলে এই প্রোমোশনটি প্রযোজ্য হবে না। ভ্রমণসূচির ভাড়ার উপর প্রচারমূলক অফার প্রযোজ্য। প্রতি যাত্রীর জন্য সর্বোচ্চ ছাড় নির্ধারণ করা সম্ভব নয়। |
| Promotions / HotelPromotions / Promotion / Occupancy / @min | 0..1 | integer | ছাড়টি প্রযোজ্য হওয়ার জন্য ব্যবহারকারী-নির্দিষ্ট ধারণক্ষমতা অবশ্যই এই মানের সমান বা তার বেশি হতে হবে। |
| Promotions / HotelPromotions / Promotion / Occupancy / @max | 0..1 | integer | ছাড়টি প্রযোজ্য হওয়ার জন্য, ব্যবহারকারী-নির্দিষ্ট ধারণক্ষমতার মান সর্বোচ্চ এই পরিমাণ হতে হবে। |
| Promotions / HotelPromotions / Promotion / RatePlans | 0..1 | RatePlans | যেসব রেট প্ল্যানের উপর এই প্রোমোশনটি প্রযোজ্য, তার তালিকার জন্য একটি কন্টেইনার। যদি <RatePlans> নির্দিষ্ট করা না থাকে, তাহলে প্রোমোশনটি সমস্ত রেট প্ল্যানের উপর প্রযোজ্য হবে। |
| Promotions / HotelPromotions / Promotion / RatePlans / RatePlan | 1..n | RatePlan | একটি রেট প্ল্যান নির্দিষ্ট করে। একটি রেট প্ল্যান প্যাকেজ, রেট এবং প্রাপ্যতার সমন্বয়ে সংজ্ঞায়িত হয়, যা ট্রানজ্যাকশন (প্রপার্টি ডেটা), OTA_HotelRateAmountNotifRQ, এবং OTA_HotelAvailNotifRQ মেসেজগুলিতে নির্ধারিত থাকে এবং প্যাকেজআইডি (PackageID) দ্বারা চিহ্নিত হয়। |
| Promotions / HotelPromotions / Promotion / RatePlans / RatePlan / @id | 1 | string | রেট প্ল্যানের জন্য অনন্য শনাক্তকারী। এই মানটি একটি ট্রানজ্যাকশন (প্রপার্টি ডেটা) মেসেজের <PackageData> এর PackageID মানের সাথে, এবং <OTA_HotelRateAmountNotifRQ> ও <OTA_HotelAvailNotifRQ> উভয় মেসেজের <StatusApplicationControl> এর RatePlanCode অ্যাট্রিবিউটের সাথে ম্যাপ করা হয়। অনুমোদিত অক্ষরের সর্বোচ্চ সংখ্যা হলো ৫০। |
| Promotions / HotelPromotions / Promotion / RoomTypes | 0..1 | RoomTypes | যেসব রুমের ধরনের ওপর এই প্রোমোশনটি প্রযোজ্য, তার তালিকার জন্য একটি কন্টেইনার। নির্দিষ্ট করা প্রতিটি <RoomType> এর ওপর প্রোমোশনটি প্রয়োগ করা হয়। যদি <RoomTypes> নির্দিষ্ট করা না থাকে, তাহলে প্রোমোশনটি সব রুমের ওপর প্রযোজ্য হবে। |
| Promotions / HotelPromotions / Promotion / RoomTypes / RoomType | 1..n | RoomType | একটি রুমের ধরন নির্দিষ্ট করে। একটি রুমের ধরন একটি ট্রানজ্যাকশন (প্রপার্টি ডেটা) মেসেজের <RoomData> এলিমেন্টে সংজ্ঞায়িত করা হয় এবং এর <RoomID> ভ্যালু ব্যবহার করে এটিকে উল্লেখ করা হয়। (এর <RoomID> ভ্যালুটি OTA_HotelRateAmountNotifRQ মেসেজগুলিতে InvTypeCode অ্যাট্রিবিউটের মাধ্যমেও উল্লেখ করা হয়।) |
| Promotions / HotelPromotions / Promotion / RoomTypes / RoomType / @id | 1 | string | ইনভেন্টরির (রুমের ধরন) অনন্য শনাক্তকারী। এই মানটি একটি ট্রানজ্যাকশন (প্রপার্টি ডেটা) মেসেজে <RoomID> এর সাথে ম্যাপ করা হয়। অনুমোদিত সর্বোচ্চ অক্ষর সংখ্যা হলো ৫০। |
| Promotions / HotelPromotions / Promotion / Stacking | 0..1 | Stacking | পদোন্নতিগুলো কীভাবে একত্রিত করা যাবে তা নির্দিষ্ট করে। যদি নির্দিষ্ট করা না থাকে, তাহলে 'type'-কে base হিসেবে ধরে নেওয়া হয়। |
| Promotions / HotelPromotions / Promotion / Stacking / @type | 1 | enum | এই সেটিংটির উপর নির্ভর করে একটি একক রেটে একাধিক প্রোমোশন প্রয়োগ করা যেতে পারে:
অনুমোদিত সংমিশ্রণগুলোর মধ্যে, যে প্রচারমূলক অফারটি সর্বাধিক ছাড় প্রদান করে, সেটিই হারের উপর প্রয়োগ করা হয়। |
| Promotions / HotelPromotions / Promotion / StayDates | 0..1 | StayDates | এক বা একাধিক তারিখের পরিসরের জন্য একটি ধারক, যা নির্ধারণ করে প্রচারটি কীভাবে প্রয়োগ করা হবে, যেমন মৌসুমী ছাড়ের ব্যবস্থা করার জন্য। |
| Promotions / HotelPromotions / Promotion / StayDates / @application | 1 | enum | পদোন্নতিটি কীভাবে প্রয়োগ করা উচিত তা বর্ণনা করে। বৈধ মানগুলি হলো:
এই অ্যাট্রিবিউটটি সর্বদা নির্দিষ্ট করতে হবে।
|
| Promotions / HotelPromotions / Promotion / StayDates / DateRange | 1..99 | DateRange | একটি তারিখের পরিসর, যা নির্দিষ্ট করে দেয় কখন থেকে প্রচারটি প্রযোজ্য হবে। YearlessDate ফরম্যাটটিও সমর্থিত।
আপনি যদি সপ্তাহের নির্দিষ্ট কিছু দিনে প্রমোশনটি চালু রাখার জন্য |
| Promotions / HotelPromotions / Promotion / StayDates / DateRange / @start | 0..1 | Date or YearlessDate | তারিখের পরিসরের শুরুর তারিখ (সম্পত্তির টাইম জোন অনুসারে), যা অন্তর্ভুক্ত থাকবে। এই তারিখটি অবশ্যই শেষের তারিখের আগে বা end তারিখের সমান হতে হবে। যদি start নির্দিষ্ট না করা হয়, তবে শুরুর তারিখের ক্ষেত্রে তারিখের পরিসরটি কার্যত সীমাহীন। |
| Promotions / HotelPromotions / Promotion / StayDates / DateRange / @end | 0..1 | Date or YearlessDate | তারিখের পরিসরের শেষ তারিখ (সম্পত্তির সময় অঞ্চল অনুসারে), যা অন্তর্ভুক্ত থাকবে। এই তারিখটি অবশ্যই start তারিখের সমান বা তার পরের হতে হবে। যদি end নির্দিষ্ট না করা হয়, তবে start তারিখ থেকে তারিখের পরিসরটি কার্যত সীমাহীন হয়ে যায়। |
| Promotions / HotelPromotions / Promotion / StayDates / DateRange / @days_of_week | 0..1 | string | তারিখের পরিসরে সপ্তাহের যে দিনগুলো অন্তর্ভুক্ত করা যাবে। যদি নির্দিষ্ট করে না দেওয়া হয়, তাহলে তারিখের পরিসরে সব দিনই অন্তর্ভুক্ত করা যাবে। স্ট্রিংটির প্রতিটি অক্ষর একটি দিনকে নির্দেশ করে। উদাহরণস্বরূপ, "MTWHF" দ্বারা বোঝানো হয় যে তারিখের পরিসরে সপ্তাহের কর্মদিবসগুলো অন্তর্ভুক্ত করা যাবে। বৈধ অক্ষরগুলো হলো:
যেকোনো অক্ষরের সংমিশ্রণ বৈধ। |
| Promotions / HotelPromotions / Promotion / UserCountries | 0..1 | UserCountries | Container for listing the user locations (countries) that are eligible for the promotion. If specified, only eligible users in the listed countries are offered the discounted rate. If not specified, eligible users in any country are offered the discounted rate. |
| Promotions / HotelPromotions / Promotion / UserCountries / @type | 0..1 | enum | The type of UserCountries specification. Valid values are If the UserCountries If the UserCountries If the UserCountries |
| Promotions / HotelPromotions / Promotion / UserCountries / Country | 1..300 | Country | Defines one country where users are eligible for the promotion. |
| Promotions / HotelPromotions / Promotion / UserCountries / Country / @code | 1 | string | A CLDR country code , such as DE or FR . Note that, for some countries, the CLDR country code isn't the same as the 2-letter ISO country code. Also, CLDR region codes are not supported. |
উদাহরণ
There is a limit of 500 promotions per property. Refer to "Delete one promotion" example to remove promotions from a property.
Basic message
The following example shows a basic Promotions message:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<BookingDates>
<DateRange start="2020-07-01" end="2020-07-31" days_of_week="MTWHF"/>
<DateRange start="2020-09-01" end="2020-09-30"/>
</BookingDates>
<BookingWindow min="7" max="330"/>
<CheckinDates>
<DateRange start="2020-10-01" end="2020-10-31" days_of_week="FSU"/>
</CheckinDates>
<CheckoutDates>
<DateRange start="2020-10-08" end="2020-11-07" days_of_week="FSU"/>
</CheckoutDates>
<Devices>
<Device type="mobile"/>
<Device type="tablet"/>
</Devices>
<Discount percentage="20" applied_nights="2"/>
<LengthOfStay min="2" max="14"/>
<RatePlans>
<RatePlan id="234"/>
<RatePlan id="567"/>
</RatePlans>
<RoomTypes>
<RoomType id="123"/>
<RoomType id="456"/>
</RoomTypes>
<Stacking type="base"/>
<UserCountries>
<Country code="US"/>
<Country code="GB"/>
</UserCountries>
</Promotion>
</HotelPromotions>
</Promotions>
Inventory condition
The following example shows how to create a discount if there is excess inventory close to the arrival date:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<BookingWindow max="7"/>
<Discount percentage="10"/>
<InventoryCount min="3"/>
</Promotion>
</HotelPromotions>
</Promotions>
Delete one promotion
The following example shows how to delete one promotion for a property:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1" action="delete"/>
</HotelPromotions>
</Promotions>
Delete all promotions
The following example shows how to delete all promotions for a property:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1" action="overlay"/>
</Promotions>
Overlay all promotions
The following example shows how to overlay <HotelPromotions> for a property with one or more new promotions. When action="overlay" , all stored promotions are deleted prior to storing the promotions specified in the current message:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1" action="overlay">
<Promotion id="1">
<BookingDates>
<DateRange start="2020-09-01" end="2020-09-30"/>
</BookingDates>
<Discount percentage="10"/>
<RoomTypes>
<RoomType id="123"/>
<RoomType id="456"/>
</RoomTypes>
<RatePlans>
<RatePlan id="234"/>
<RatePlan id="567"/>
</RatePlans>
<Stacking type="base"/>
</Promotion>
</HotelPromotions>
</Promotions>
3 Different Stacking Types
The following example shows a case where three different promotions would be applied ( base , second , any ). Note that the none promotion wouldn't be applied since the other promotions provide a better discount. If the original price was $100, the discounted price would be $72.90.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<Discount percentage="10"/>
<Stacking type="base"/>
</Promotion>
<Promotion id="2">
<Discount percentage="10"/>
<Stacking type="second"/>
</Promotion>
<Promotion id="3">
<Discount percentage="10"/>
<Stacking type="any"/>
</Promotion>
<Promotion id="4">
<Discount percentage="25"/>
<Stacking type="none"/>
</Promotion>
</HotelPromotions>
</Promotions>
None Stacking Type
The following example shows a case where the none promotion is used because the combination of other promotions provides a smaller discount. If the original price was $100, the discounted price would be $75.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<Discount percentage="10"/>
<Stacking type="base"/>
</Promotion>
<Promotion id="2">
<Discount percentage="10"/>
<Stacking type="any"/>
</Promotion>
<Promotion id="3">
<Discount percentage="25"/>
<Stacking type="none"/>
</Promotion>
</HotelPromotions>
</Promotions>
Booking Window Duration Bounds
The following example shows a case where the BookingWindow element is used with its start and end bounds defined as an ISO 8601 Duration type. This booking window restriction requires booking on or before 18:00 the day prior to arrival, and on or after 12:00 on the 2nd day before arrival.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<BookingWindow min="P1DT6H" max="P2DT12H"/>
<Discount percentage="20"/>
</Promotion>
</HotelPromotions>
</Promotions>
Booking Dates DateTime Bounds
The following example shows a case where the BookingDates element is used with start and end attributes as DateTime types. This booking date restriction requires booking to occur between 06:30 on 2020-07-01 and 18:45 on 2020-07-02.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<BookingDates>
<DateRange start="2020-07-01T06:30:00" end="2020-07-02T18:45:00"/>
</BookingDates>
<Discount percentage="20"/>
</Promotion>
</HotelPromotions>
</Promotions>
Yearless date ranges
The following example shows a case where the CheckInDates element contains DateRanges that have start and end fields without years. In this example, the promotion applies to check-in dates between 12/29 and 1/2, regardless of the year. Yearless date ranges that cross the new-year boundary are invalid, so the DateRange is expressed as two adjacent date ranges.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<CheckInDates>
<DateRange start="12-29" end="12-31"/>
<DateRange start="01-01" end="01-02"/>
</CheckInDates>
<Discount percentage="20"/>
</Promotion>
</HotelPromotions>
</Promotions>
FreeNights discount
The following example discounts two nights 50% for each four nights stayed for the specified range of booking dates. For a ten night itinerary, a total of four nights would be discounted 50%.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<BookingDates>
<DateRange start="2022-01-01" end="2022-05-31"/>
</BookingDates>
<Discount>
<FreeNights stay_nights="4" discount_nights="2" discount_percentage="50" night_selection="cheapest" repeats="true"/>
</Discount>
</Promotion>
</HotelPromotions>
</Promotions>
The next example discounts one night 50% for each three nights stayed for the specified ranges of stay dates. Only the overlapping nights of stay count towards qualifying for the discount. For the following itinerary with check-in on 2022-01-01 and check-out on 2022-01-07, the qualified nights of stay and discounts are applied as follows.
- 2022-01-01 (stay)
- 2022-01-02 (stay)
- 2022-01-03
- 2022-01-04 (discounted)
- 2022-01-05 (stay)
- 2022-01-06 (stay)
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<StayDates application="overlap">
<DateRange start="2022-01-01" end="2022-01-02"/>
<DateRange start="2022-01-04" end="2022-01-06"/>
</StayDates>
<Discount>
<FreeNights stay_nights="3" discount_nights="1" discount_percentage="50" night_selection="last" repeats="true"/>
</Discount>
</Promotion>
</HotelPromotions>
</Promotions>
Ranked Selection
The following example offers two discounts, one for 20% off and another for 15% off. During evaluation, only the 15% discount is applied because it has a lower rank.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<Discount percentage="15" rank="25"/>
</Promotion>
<Promotion id="2">
<Discount percentage="20" rank="50"/>
</Promotion>
</HotelPromotions>
</Promotions>
BestDailyDiscount
The following example discounts a two night stay by applying BestDailyDiscount stacked with a Discount .
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="HotelID" action="overlay">
<Promotion id="general">
<BestDailyDiscount fixed_amount="20"/>
</Promotion>
<Promotion id="may">
<BestDailyDiscount fixed_amount="50"/>
<StayDates application="overlap">
<DateRange start="2023-05-01" end="2023-05-31"/>
</StayDates>
</Promotion>
<Promotion id="fiesta">
<Discount fixed_amount_per_night="5"/>
<Stacking type="any"/>
</Promotion>
</HotelPromotions>
</Promotions>
Consider a two night stay from April 30, 2023 to May 2, 2023 For calculation, the combination of best daily discounts that yields the deepest discount is found first.
For the first night, the "general" promotion is the only eligible amount with a fixed discount of 20.
For the second night, the "may" promotion offers a deeper discount than the "general" discount. So, when "may" is selected the fixed discount amount is 50.
Then for the stay, the "fiesta" promotion discounts to 5 per night, or 10 total. It can be stacked with the combination of best daily discounts because "fiesta" has stacking type set to any . If it were set to base , then only the combination of best daily discounts or the "fiesta" discount is applied. See description of Stacking for more information.
`Overall, the price of the stay receives a 20 + 50 + 10 = 80 fixed amount discount.
প্রতিক্রিয়া
সিনট্যাক্স
The PromotionsResponse message uses the following syntax:
<?xml version="1.0" encoding="UTF-8"?>
<PromotionsResponse timestamp="timestamp"
id="message_ID"
partner="partner_key">
<!-- Either Success or Issues are populated. -->
<Success/>
<Issues>
<Issue code="issue_code"
status="issue_type">
issue_description
</Issue>
</Issues>
</PromotionsResponse>
উপাদান এবং বৈশিষ্ট্য
The PromotionsResponse message has the following elements and attributes:
| এলিমেন্ট / @অ্যাট্রিবিউট | ঘটনা | প্রকার | বর্ণনা |
|---|---|---|---|
| PromotionsResponse | 1 | Complex element | The root element indicating the success or issues for a received Promotions request message. |
| PromotionsResponse / @timestamp | 1 | DateTime | এই বার্তাটি তৈরির তারিখ ও সময়। |
| PromotionsResponse / @id | 1 | string | The unique identifier from the associated Promotions message. |
| PromotionsResponse / @partner | 1 | string | The partner account for this message. |
| PromotionsResponse / Success | 0..1 | Success | Indicates that the Promotions message was processed successfully without warnings, errors, or failures. Either |
| PromotionsResponse / Issues | 0..1 | Issues | A container for one or more issues encountered while processing the Promotions message. Either |
| PromotionsResponse / Issues / Issue | 1..n | Issue | The description of a warning, error, or failure encountered while processing the Promotions message. Details on these issues can be found in Feed Status Error Messages . |
| PromotionsResponse / Issues / Issue / @code | 1 | integer | The identifier for the issue. |
| PromotionsResponse / Issues / Issue / @status | 1 | enum | The type of issue encountered. Valid values are |
উদাহরণ
সাফল্য
The following is a response to a successfully processed Promotions message.
<?xml version="1.0" encoding="UTF-8"?>
<PromotionsResponse timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</PromotionsResponse>
সমস্যা
The following is a response to a Promotions message not processed due to errors.
<?xml version="1.0" encoding="UTF-8"?>
<PromotionsResponse timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Issues>
<Issue code="1001" status="error">Example</Issue>
</Issues>
</PromotionsResponse>