ওভারভিউ
এই 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>
উপাদান এবং বৈশিষ্ট্য
প্রচার বার্তায় নিম্নলিখিত উপাদান এবং বৈশিষ্ট্য রয়েছে:
উপাদান / @Attribute | ঘটনা | টাইপ | বর্ণনা |
---|---|---|---|
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 | একটি সম্পত্তি জন্য একটি একক প্রচার. মনে রাখবেন যে আপনি যদি 99টির বেশি প্রচার ব্যবহার করতে চান, তাহলে আপনার টেকনিক্যাল অ্যাকাউন্ট ম্যানেজার (TAM) এর সাথে যোগাযোগ করুন। |
Promotions / HotelPromotions / Promotion / @id | 1 | string | প্রচারের জন্য একটি অনন্য শনাক্তকারী৷ অনুমোদিত অক্ষরের সর্বাধিক সংখ্যা 40। অনুমোদিত অক্ষর হল az, AZ, 0-9, _ (আন্ডারস্কোর), - (ড্যাশ), এবং। (সময়কাল)। |
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 | চেক-ইন তারিখের (প্রপার্টির টাইম জোনের উপর ভিত্তি করে) সাপেক্ষে বুকিং করার সময়কাল নির্দিষ্ট করে। উদাহরণস্বরূপ, বুকিং উইন্ডোটি কমপক্ষে 7 দিন সেট করা যেতে পারে, তবে চেক-ইন করার আগে 180 দিনের বেশি নয়। |
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 | প্রচারগুলি প্রয়োগ করার পরে একটি হার যে সর্বোচ্চ মানের উপর সেট করা যেতে পারে তার উপর সীমাবদ্ধতা সংজ্ঞায়িত করে। প্রচারগুলিতে সর্বদা একটি যদি স্ট্যাকিং কনফিগার করা থাকে, তাহলে উদাহরণ: 1-রাত্রি থাকার মূল্য নির্ধারণ করা যেখানে
এখানে গণনার ক্রম:
সত্য যে 60 একটি কঠোর সামগ্রিক সিলিং অপ্রাসঙ্গিক কারণ এটি শুধুমাত্র তার নিজস্ব প্রচারের জন্য বৈধ, এবং সম্পূর্ণ প্রচার স্ট্যাককে বিস্তৃত করে এমন কোনো একক সিলিং থাকতে পারে না। |
Promotions / HotelPromotions / Promotion / Ceiling / @amount_per_night | 1 | float | ডিসকাউন্ট প্রযোজ্য হওয়ার পরে সর্বোচ্চ যে পরিমাণ রাত্রিকালীন রেট সেট করা যেতে পারে। যদি একটি রাত্রিকালীন হারে |
Promotions / HotelPromotions / Promotion / Floor | 0..1 | Floor | ন্যূনতম মানের উপর বিধিনিষেধ সংজ্ঞায়িত করে যা প্রচারগুলি প্রয়োগ করার পরে একটি হার সেট করা যেতে পারে৷ প্রচারগুলিতে সর্বদা একটি যদি স্ট্যাকিং কনফিগার করা থাকে, তাহলে উদাহরণ: 1-রাত্রি থাকার মূল্য নির্ধারণ করা যেখানে
এখানে গণনার ক্রম:
সত্য যে 90 একটি কঠোর সামগ্রিক ফ্লোর অপ্রাসঙ্গিক কারণ এটি শুধুমাত্র তার নিজস্ব প্রচারের জন্য বৈধ, এবং এমন কোনও একক তল থাকতে পারে না যা সমগ্র প্রচারের স্ট্যাককে বিস্তৃত করে৷ |
Promotions / HotelPromotions / Promotion / Floor / @amount_per_night | 1 | float | ডিসকাউন্ট প্রযোজ্য হওয়ার পরে ন্যূনতম পরিমাণ যা একটি রাতের হারে সেট করা যেতে পারে। যদি একটি রাত্রিকালীন হারে |
Promotions / HotelPromotions / Promotion / CheckinDates | 0..1 | CheckinDates | এক বা একাধিক তারিখের সীমার জন্য একটি ধারক যা প্রচারের জন্য কখন চেক-ইন করতে হবে তা নির্ধারণ করে৷ |
Promotions / HotelPromotions / Promotion / CheckinDates / DateRange | 1..20 | DateRange | প্রচারের জন্য কখন চেক-ইন করতে হবে তা নির্দিষ্ট করে একটি তারিখ ব্যাপ্তি। আপনি এক বা একাধিক প্রচার মুছে ফেললে এই উপাদানটির প্রয়োজন নেই৷ ইয়ারলেস ডেট ফরম্যাটও সমর্থিত।
|
Promotions / HotelPromotions / Promotion / CheckinDates / DateRange / @start | 0..1 | Date or YearlessDate | শুরুর তারিখ (প্রপার্টির টাইম জোনের উপর ভিত্তি করে), তারিখের ব্যাপ্তির অন্তর্ভুক্ত। এই তারিখটি অবশ্যই end তারিখের আগে বা একই হতে হবে৷ যদি start নির্দিষ্ট করা না থাকে, তারিখের পরিসর কার্যকরভাবে একটি শুরুর তারিখের পরিপ্রেক্ষিতে সীমাহীন। |
Promotions / HotelPromotions / Promotion / CheckinDates / DateRange / @end | 0..1 | Date or YearlessDate | সমাপ্তির তারিখ (সম্পত্তির সময় অঞ্চলের উপর ভিত্তি করে), তারিখের ব্যাপ্তির অন্তর্ভুক্ত। এই তারিখটি অবশ্যই start তারিখের মতো বা তার পরে হতে হবে৷ যদি end নির্দিষ্ট করা না থাকে, তাহলে তারিখের পরিসীমা শেষ তারিখের পরিপ্রেক্ষিতে কার্যকরভাবে সীমাহীন। |
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 | প্রচারের জন্য কখন চেক-আউট করতে হবে তা নির্দিষ্ট করে একটি তারিখ ব্যাপ্তি। আপনি এক বা একাধিক প্রচার মুছে ফেললে এই উপাদানটির প্রয়োজন নেই৷ ইয়ারলেস ডেট ফরম্যাটও সমর্থিত।
|
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 | 0-100 থেকে একটি দশমিক মান যা শতাংশ ছাড় নির্দিষ্ট করে। এটি উদাহরণ:
|
Promotions / HotelPromotions / Promotion / Discount / @percentage_of_base | 0..1 | float | 0-100 থেকে একটি দশমিক মান যা বেস ডিসকাউন্টের শতাংশ নির্দিষ্ট করে। উদাহরণ:
|
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 | এটি শুধুমাত্র সবচেয়ে কম ব্যয়বহুল থেকে শুরু করে যত রাতের জন্য ছাড় প্রয়োগ করা হয়েছে। 1 থেকে 99 পর্যন্ত একটি পূর্ণসংখ্যা হতে হবে। যদি নির্দিষ্ট না করা হয়, তাহলে সমস্ত রাতের জন্য ছাড় প্রয়োগ করা হয়। |
Promotions / HotelPromotions / Promotion / Discount / FreeNights | 0..1 | FreeNights | একটি ন্যূনতম থাকার দৈর্ঘ্য পূরণ হলে একটি থাকার নির্দিষ্ট রাতে একটি ডিসকাউন্ট নির্দিষ্ট করে। এই উপাদানটি ব্যবহার করা হলে প্যারেন্ট Discount উপাদানের বৈশিষ্ট্যগুলি অনুমোদিত নয়৷ |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @stay_nights | 1 | integer | ডিসকাউন্ট প্রয়োগ করার জন্য প্রয়োজনীয় রাতের সংখ্যা। প্রতিটি ডিসকাউন্ট থাকার রাতের একটি পৃথক বিভাগে প্রয়োগ করা হয়। উদাহরণস্বরূপ, 10-রাত্রি থাকার জন্য যেখানে |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @discount_nights | 1 | integer | থাকার রাতের প্রতিটি বিভাগের মধ্যে ছাড় দেওয়া রাতের সংখ্যা। |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @discount_percentage | 1 | float | ডিসকাউন্ট যে ডিসকাউন্ট রাতে প্রয়োগ করা হয়. যদি এই মান 50 হয়, তাহলে প্রতিটি নির্বাচিত রাতে 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 | এই প্রচারটিকে একটি র্যাঙ্ক বরাদ্দ করে এবং এটিকে র্যাঙ্ক করা নির্বাচনে বেছে নেয়, যেখানে শুধুমাত্র সর্বনিম্ন র্যাঙ্কের প্রচারটি প্রয়োগ করার জন্য নির্বাচন করা হয়। মানগুলি অবশ্যই 1 এবং 99 এর মধ্যে হতে হবে, অন্তর্ভুক্ত। যদি একাধিক প্রচার একই র্যাঙ্ক শেয়ার করে, তাহলে একজনকে ইচ্ছামত নির্বাচন করে প্রয়োগ করা হয়। |
Promotions / HotelPromotions / Promotion / BestDailyDiscount | 1 | Discount | একটি দৈনিক ডিসকাউন্ট নির্দিষ্ট করে যা একটি রাত থাকার জন্য প্রযোজ্য হতে পারে। এটি প্রতিটি সম্পত্তির প্রচারের একটি একক গ্রুপ থাকতে পারে যেগুলিকে "সর্বোত্তম দৈনিক" হিসাবে বিবেচনা করা হয়। এর মানে হল যে প্রতিটি রাত থাকার জন্য, একক "সর্বোত্তম দৈনিক" প্রচার যা যোগ্য এবং সেই রাতের জন্য গভীরতম ছাড় দেয় তা নির্বাচন করা হয়েছে এবং প্রয়োগ করা যেতে পারে৷ |
Promotions / HotelPromotions / Promotion / BestDailyDiscount / @percentage | 0..1 | float | 0-100 থেকে একটি দশমিক মান যা শতাংশ ছাড় নির্দিষ্ট করে। এটি উদাহরণ:
|
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 | এই প্রচারটি প্রয়োগ করার জন্য উপলব্ধ কক্ষের সংখ্যার উপর বিধিনিষেধ সংজ্ঞায়িত করে। ডিসকাউন্ট শুধুমাত্র সীমাবদ্ধতা পূরণের রাতে প্রয়োগ করা হয়. fixed_amount ডিসকাউন্ট সহ অনুমোদিত নয়। মনে রাখবেন যে উপলব্ধ রুমের সংখ্যা হয় OTA_HotelInvCountNotifRQ ( InvCount ) বা 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 বার্তাগুলিতে সংজ্ঞায়িত প্যাকেজ, হার এবং উপলব্ধতার সংমিশ্রণ দ্বারা একটি রেট প্ল্যান সংজ্ঞায়িত করা হয় এবং প্যাকেজআইডি দ্বারা চিহ্নিত করা হয়৷ |
Promotions / HotelPromotions / Promotion / RatePlans / RatePlan / @id | 1 | string | রেট প্ল্যানের অনন্য শনাক্তকারী। এই মানটি একটি লেনদেন (সম্পত্তি ডেটা) বার্তায় <PackageData> -এ PackageID মান এবং <OTA_HotelRateAmountNotifRQ> এবং <OTA_HotelAvailNotifRQ> উভয় বার্তায় <StatusApplicationControl> এর RatePlanCode অ্যাট্রিবিউটে ম্যাপ করে। অনুমোদিত অক্ষরের সর্বাধিক সংখ্যা 50। |
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> -এ ম্যাপ করে। অনুমোদিত অক্ষরের সর্বাধিক সংখ্যা 50। |
Promotions / HotelPromotions / Promotion / Stacking | 0..1 | Stacking | প্রচারগুলিকে কীভাবে একত্রিত করা যেতে পারে তা নির্দিষ্ট করে৷ যদি নির্দিষ্ট না করা হয়, তাহলে "টাইপ" কে 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 | একটি তারিখ ব্যাপ্তি যে তারিখগুলি উল্লেখ করে যে প্রচারটি কখন প্রয়োগ করা হবে৷ ইয়ারলেস ডেট ফরম্যাটও সমর্থিত।
আপনি যদি সপ্তাহের নির্দিষ্ট দিনে প্রচারের অনুমতি দেওয়ার জন্য |
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 | প্রচারের জন্য যোগ্য ব্যবহারকারীর অবস্থান (দেশ) তালিকাভুক্ত করার জন্য ধারক। উল্লেখ করা থাকলে, তালিকাভুক্ত দেশগুলির শুধুমাত্র যোগ্য ব্যবহারকারীদেরই ছাড়ের হার দেওয়া হয়। যদি নির্দিষ্ট না করা হয় তবে কোনও দেশের যোগ্য ব্যবহারকারীদের ছাড়ের হার দেওয়া হয়। |
Promotions / HotelPromotions / Promotion / UserCountries / @type | 0..1 | enum | ব্যবহারের ধরণ স্পেসিফিকেশন। বৈধ মানগুলি যদি ইউএসআরসিউন্ট্রি যদি ব্যবহারকারীর যদি ব্যবহারকারীর |
Promotions / HotelPromotions / Promotion / UserCountries / Country | 1..300 | Country | এমন একটি দেশকে সংজ্ঞায়িত করে যেখানে ব্যবহারকারীরা প্রচারের জন্য যোগ্য। |
Promotions / HotelPromotions / Promotion / UserCountries / Country / @code | 1 | string | একটি সিএলডিআর কান্ট্রি কোড , যেমন DE বা FR । মনে রাখবেন, কিছু দেশের জন্য, সিএলডিআর কান্ট্রি কোড 2-লেটার আইএসও কান্ট্রি কোডের মতো নয়। এছাড়াও, সিএলডিআর অঞ্চল কোডগুলি সমর্থিত নয়। |
উদাহরণ
সম্পত্তি প্রতি 500টি প্রচারের সীমা রয়েছে। কোনও সম্পত্তি থেকে প্রচারগুলি অপসারণ করতে "একটি প্রচার মুছুন" উদাহরণ দেখুন।
মৌলিক বার্তা
নিম্নলিখিত উদাহরণটি একটি প্রাথমিক Promotions
বার্তা দেখায়:
<?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>
ইনভেন্টরি শর্ত
নিম্নলিখিত উদাহরণটি দেখায় যে কীভাবে ছাড় তৈরি করবেন যদি আগমনের তারিখের কাছাকাছি অতিরিক্ত তালিকা থাকে:
<?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>
একটি প্রচার মুছুন
নিম্নলিখিত উদাহরণটি দেখায় যে কীভাবে কোনও সম্পত্তির জন্য একটি প্রচার মুছতে হয়:
<?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>
সমস্ত প্রচার মুছুন
নিম্নলিখিত উদাহরণটি দেখায় যে কীভাবে কোনও সম্পত্তির জন্য সমস্ত প্রচার মুছে ফেলা যায়:
<?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>
সমস্ত প্রচার ওভারলে
নিম্নলিখিত উদাহরণটি দেখায় যে কীভাবে এক বা একাধিক নতুন প্রচার সহ কোনও সম্পত্তির জন্য <HotelPromotions>
ওভারলে করা যায়। যখন action="overlay"
, সমস্ত সঞ্চিত প্রচারগুলি বর্তমান বার্তায় উল্লিখিত প্রচারগুলি সংরক্ষণের আগে মুছে ফেলা হয়:
<?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 বিভিন্ন স্ট্যাকিং প্রকার
নিম্নলিখিত উদাহরণটি এমন একটি কেস দেখায় যেখানে তিনটি পৃথক প্রচার প্রয়োগ করা হবে ( base
, second
, any
)। নোট করুন যে অন্যান্য প্রচারগুলি আরও ভাল ছাড় সরবরাহ করার কারণে none
প্রচারই প্রয়োগ করা হবে না। যদি মূল দামটি 100 ডলার হয় তবে ছাড়ের মূল্য হবে $ 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
প্রচার ব্যবহার করা হয় না কারণ অন্যান্য প্রচারের সংমিশ্রণটি একটি ছোট ছাড় সরবরাহ করে। যদি মূল দামটি 100 ডলার হয় তবে ছাড়ের মূল্য হবে $ 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>
বুকিং উইন্ডো সময়কাল সীমানা
নিম্নলিখিত উদাহরণটি এমন একটি কেস দেখায় যেখানে BookingWindow
উপাদানটি আইএসও 8601 সময়কাল প্রকার হিসাবে সংজ্ঞায়িত তার শুরু এবং শেষ সীমাগুলির সাথে ব্যবহৃত হয়। এই বুকিং উইন্ডো বিধিনিষেধের আগমনের আগের দিন বা 18:00 এর আগে এবং আগমনের আগে দ্বিতীয় দিন 12:00 বা তার পরে বুকিং প্রয়োজন।
<?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>
বুকিং তারিখের সময়সীমা সীমানা
নিম্নলিখিত উদাহরণটি এমন একটি কেস দেখায় যেখানে BookingDates
উপাদানটি ডেটটাইম টাইপ হিসাবে start
এবং end
বৈশিষ্ট্যগুলির সাথে ব্যবহৃত হয়। এই বুকিংয়ের তারিখের সীমাবদ্ধতার জন্য 2020-07-01 এবং 2020-07-02 এ 06:30 এর মধ্যে বুকিং হওয়া দরকার।
<?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>
বছরহীন তারিখের ব্যাপ্তি
নিম্নলিখিত উদাহরণটি এমন একটি কেস দেখায় যেখানে CheckInDates
উপাদানটিতে DateRanges
রয়েছে যা বছর ছাড়াই start
এবং end
ক্ষেত্র রয়েছে। এই উদাহরণে, প্রচারটি বছর নির্বিশেষে 12/29 এবং 1/2 এর মধ্যে চেক-ইন তারিখগুলিতে প্রযোজ্য। নতুন বছরের সীমানা অতিক্রমকারী বছরহীন তারিখের সীমাগুলি অবৈধ, সুতরাং ড্যাটারঞ্জটি দুটি সংলগ্ন তারিখের রেঞ্জ হিসাবে প্রকাশ করা হয়।
<?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>
Frenights ছাড়
নিম্নলিখিত উদাহরণটি প্রতিটি চার রাতের জন্য 50% দুই রাত ছাড় দেয় বুকিংয়ের তারিখের নির্দিষ্ট পরিসরের জন্য থাকে। দশ রাতের ভ্রমণপথের জন্য, মোট চারটি রাত 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>
পরবর্তী উদাহরণটি প্রতিটি তিনটি রাতের জন্য এক রাতে 50% ছাড় ছাড়ের তারিখের নির্দিষ্ট রেঞ্জের জন্য থাকে। কেবলমাত্র ওভারল্যাপিং রাতগুলি ছাড়ের জন্য যোগ্যতার দিকে গণনা করে। 2022-01-01 এ চেক-ইন সহ নিম্নলিখিত ভ্রমণপথের জন্য এবং 2022-01-07 এ চেক-আউট, থাকার এবং ছাড়ের যোগ্য রাতগুলি নিম্নলিখিত হিসাবে প্রয়োগ করা হয়েছে।
- 2022-01-01 (থাকার)
- 2022-01-02 (থাকুন)
- 2022-01-03
- 2022-01-04 (ছাড়)
- 2022-01-05 (থাকুন)
- 2022-01-06 (থাকুন)
<?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>
র্যাঙ্কড নির্বাচন
নিম্নলিখিত উদাহরণটি দুটি ছাড়ের প্রস্তাব দেয়, একটি 20% ছাড়ের জন্য এবং অন্যটি 15% ছাড়ের জন্য। মূল্যায়নের সময়, কেবলমাত্র 15% ছাড় প্রয়োগ করা হয় কারণ এটির একটি নিম্ন র্যাঙ্ক রয়েছে।
<?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>
সেরাডেইলিডিস্কাউন্ট
নিম্নলিখিত উদাহরণটি Discount
সাথে সজ্জিত BestDailyDiscount
প্রয়োগ করে একটি দুটি রাতের থাকার ছাড় দেয়।
<?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>
30 এপ্রিল, 2023 থেকে 2 মে, 2023 পর্যন্ত গণনার জন্য দুটি রাত থাকার বিষয়টি বিবেচনা করুন, গভীরতম ছাড়ের ফলনকারী সেরা দৈনিক ছাড়ের সংমিশ্রণটি প্রথমে পাওয়া যায়।
প্রথম রাতের জন্য, "সাধারণ" প্রচার 20 এর নির্দিষ্ট ছাড় সহ একমাত্র যোগ্য পরিমাণ।
দ্বিতীয় রাতের জন্য, "মে" প্রচার "সাধারণ" ছাড়ের চেয়ে গভীর ছাড় দেয়। সুতরাং, যখন "মে" নির্বাচন করা হয় স্থির ছাড়ের পরিমাণ 50।
তারপরে থাকার জন্য, "ফিয়েস্টা" প্রচারটি প্রতি রাতে 5 বা মোট 10 টি ছাড় দেয়। এটি সেরা দৈনিক ছাড়ের সংমিশ্রণে স্ট্যাক করা যেতে পারে কারণ "ফিয়েস্তা" এর any
স্ট্যাকিং টাইপ সেট রয়েছে। যদি এটি base
সেট করা থাকে তবে কেবলমাত্র সেরা দৈনিক ছাড়ের সংমিশ্রণ বা "ফিয়েস্টা" ছাড় প্রয়োগ করা হয়। আরও তথ্যের জন্য Stacking
বিবরণ দেখুন।
`সামগ্রিকভাবে, থাকার দাম 20 + 50 + 10 = 80 স্থির পরিমাণ ছাড় পায়।
প্রতিক্রিয়া
সিনট্যাক্স
PromotionsResponse
বার্তাটি নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:
<?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>
উপাদান এবং বৈশিষ্ট্য
PromotionsResponse
বার্তায় নিম্নলিখিত উপাদানগুলি এবং বৈশিষ্ট্য রয়েছে:
উপাদান / @অ্যাট্রিবিউট | ঘটনা | টাইপ | বর্ণনা |
---|---|---|---|
PromotionsResponse | 1 | Complex element | প্রাপ্ত প্রচারের অনুরোধ বার্তার জন্য সাফল্য বা সমস্যাগুলি নির্দেশ করে মূল উপাদান। |
PromotionsResponse / @timestamp | 1 | DateTime | এই বার্তার তৈরির তারিখ এবং সময়। |
PromotionsResponse / @id | 1 | string | সম্পর্কিত প্রচারের বার্তা থেকে অনন্য শনাক্তকারী। |
PromotionsResponse / @partner | 1 | string | এই বার্তার জন্য অংশীদার অ্যাকাউন্ট। |
PromotionsResponse / Success | 0..1 | Success | ইঙ্গিত দেয় যে প্রচার বার্তাটি সতর্কতা, ত্রুটি বা ব্যর্থতা ছাড়াই সফলভাবে প্রক্রিয়া করা হয়েছিল। হয় |
PromotionsResponse / Issues | 0..1 | Issues | প্রচারের বার্তা প্রক্রিয়াকরণের সময় এক বা একাধিক সমস্যার জন্য একটি ধারক মুখোমুখি হয়েছিল। হয় |
PromotionsResponse / Issues / Issue | 1..n | Issue | প্রচারের বার্তা প্রক্রিয়াকরণের সময় একটি সতর্কতা, ত্রুটি বা ব্যর্থতার বিবরণ। এই বিষয়গুলির বিশদগুলি ফিডের স্থিতি ত্রুটি বার্তাগুলিতে পাওয়া যাবে। |
PromotionsResponse / Issues / Issue / @code | 1 | integer | ইস্যুটির জন্য সনাক্তকারী। |
PromotionsResponse / Issues / Issue / @status | 1 | enum | ইস্যুটির ধরণটি মুখোমুখি। বৈধ মানগুলি হ'ল |
উদাহরণ
সফলতা
নিম্নলিখিতটি সফলভাবে প্রক্রিয়াজাত প্রচারের বার্তার প্রতিক্রিয়া।
<?xml version="1.0" encoding="UTF-8"?>
<PromotionsResponse timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</PromotionsResponse>
ইস্যু
নিম্নলিখিতগুলি ত্রুটির কারণে প্রক্রিয়াজাত নয় এমন একটি প্রচার বার্তার প্রতিক্রিয়া।
<?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>
ওভারভিউ
এই এপিআই আপনাকে সম্ভাব্য ছাড়গুলি নির্দিষ্ট করতে দেয়। উল্লিখিত প্রচারগুলির মধ্যে গুগল যোগ্য প্রচার বা প্রচারের সেট প্রয়োগ করে যা সর্বনিম্ন দামের দিকে পরিচালিত করে। আপনি যদি এমন কোনও এপিআই খুঁজছেন যা স্বেচ্ছাসেবী হারের সমন্বয়কে সমর্থন করে যা শর্তগুলি সন্তুষ্ট হলে দাম বাড়াতে বা হ্রাস করতে পারে, তবে আমাদের রেট পরিবর্তনগুলি এপিআই বিবেচনা করুন। মনে রাখবেন যে উভয় এপিআই উপস্থিত থাকলে, প্রচারের আগে রেট পরিবর্তনগুলি প্রয়োগ করা হয়।
অনুরোধ
সিনট্যাক্স
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 | এই অনুরোধ বার্তার জন্য একটি অনন্য শনাক্তকারী। এই মানটি প্রতিক্রিয়া বার্তায় ফিরে আসে। অনুমোদিত অক্ষরগুলি হ'ল এজেড, এজেড, 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 | একটি সম্পত্তি জন্য একক প্রচার। মনে রাখবেন যে যদি আপনার যদি 99 টিরও বেশি প্রচার ব্যবহার করতে হয় তবে আপনার প্রযুক্তিগত অ্যাকাউন্ট ম্যানেজার (টিএএম) এর সাথে যোগাযোগ করুন। |
Promotions / HotelPromotions / Promotion / @id | 1 | string | প্রচারের জন্য একটি অনন্য শনাক্তকারী। অনুমোদিত অক্ষরগুলির সর্বাধিক সংখ্যা 40। অনুমোদিত অক্ষরগুলি হ'ল এজেড, এজেড, 0-9, _ (আন্ডারস্কোর), - (ড্যাশ), এবং। (সময়কাল)। |
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 | সপ্তাহের দিনগুলি যা তারিখের সীমাতে অনুমোদিত। যদি নির্দিষ্ট না করা হয় তবে সমস্ত দিন তারিখের সীমাতে অনুমোদিত। স্ট্রিংয়ের প্রতিটি চরিত্র একটি দিন নির্দিষ্ট করে। উদাহরণস্বরূপ, "এমটিডাব্লুএইচএফ" নির্দিষ্ট করে যে সপ্তাহের দিনগুলি তারিখের সীমাতে অনুমোদিত। বৈধ অক্ষর হল:
যে কোনও চরিত্রের সংমিশ্রণ বৈধ। |
Promotions / HotelPromotions / Promotion / BookingWindow | 0..1 | BookingWindow | বুকিং অবশ্যই চেক-ইন তারিখের তুলনায় (সম্পত্তির সময় অঞ্চলের উপর ভিত্তি করে) সম্পর্কিত সময়কাল নির্দিষ্ট করে। উদাহরণস্বরূপ, বুকিং উইন্ডোটি চেক-ইন করার আগে কমপক্ষে 7 দিনে সেট করা যেতে পারে, তবে 180 দিনের বেশি নয়। |
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 | প্রচার প্রয়োগের পরে একটি হার সেট করা যেতে পারে এমন সর্বাধিক মানের উপর বিধিনিষেধগুলি সংজ্ঞায়িত করে। প্রচারগুলি অবশ্যই সর্বদা একটি যদি স্ট্যাকিং কনফিগার করা থাকে তবে উদাহরণ: 1-নাইট থাকার মূল্য নির্ধারণ যেখানে
এখানে গণনার ক্রম:
60 একটি কঠোর সামগ্রিক সিলিং এটি অপ্রাসঙ্গিক কারণ এটি কেবল তার নিজস্ব প্রচারের জন্য বৈধ, এবং কোনও একক সিলিং থাকতে পারে না যা পুরো প্রচারের স্ট্যাককে বিস্তৃত করে। |
Promotions / HotelPromotions / Promotion / Ceiling / @amount_per_night | 1 | float | ছাড় প্রয়োগের পরে একটি রাতের রেট সর্বাধিক পরিমাণ সেট করা যেতে পারে। যদি কোনও ট্যাক্স এবং ফিগুলিতে |
Promotions / HotelPromotions / Promotion / Floor | 0..1 | Floor | ন্যূনতম মানের উপর বিধিনিষেধগুলি সংজ্ঞায়িত করে যে প্রচারগুলি প্রয়োগ করার পরে একটি হার সেট করা যেতে পারে। প্রচারগুলি অবশ্যই সর্বদা একটি যদি স্ট্যাকিং কনফিগার করা থাকে তবে উদাহরণ: 1-নাইট থাকার মূল্য নির্ধারণ যেখানে
এখানে গণনার ক্রম:
90 টি কঠোর সামগ্রিক তল হিসাবে এটি অপ্রাসঙ্গিক কারণ এটি কেবল তার নিজস্ব প্রচারের জন্য বৈধ, এবং কোনও একক তল থাকতে পারে না যা পুরো প্রচারের স্ট্যাককে বিস্তৃত করে। |
Promotions / HotelPromotions / Promotion / Floor / @amount_per_night | 1 | float | ছাড় প্রয়োগের পরে একটি রাতের রেট যে সর্বনিম্ন পরিমাণ সেট করা যেতে পারে। যদি একটি ট্যাক্স এবং ফিগুলিতে |
Promotions / HotelPromotions / Promotion / CheckinDates | 0..1 | CheckinDates | এক বা একাধিক তারিখের জন্য একটি ধারক যা প্রচারের প্রয়োগের জন্য চেক-ইন করতে হবে যখন সংজ্ঞায়িত হয়। |
Promotions / HotelPromotions / Promotion / CheckinDates / DateRange | 1..20 | DateRange | প্রচার প্রয়োগের জন্য যখন চেক-ইন করা উচিত তখন অবশ্যই নির্দিষ্ট তারিখের পরিসীমা। আপনি যদি এক বা একাধিক প্রচার মুছে ফেলছেন তবে এই উপাদানটির প্রয়োজন নেই। বছরবিহীন ফর্ম্যাটটিও সমর্থিত।
|
Promotions / HotelPromotions / Promotion / CheckinDates / DateRange / @start | 0..1 | Date or YearlessDate | প্রারম্ভিক তারিখ (সম্পত্তির সময় অঞ্চলের উপর ভিত্তি করে) তারিখের পরিসীমা অন্তর্ভুক্ত। এই তারিখটি অবশ্যই end তারিখের আগে বা একই রকম হতে হবে। যদি start নির্দিষ্ট না করা হয় তবে তারিখের পরিসীমা কার্যকরভাবে একটি শুরুর তারিখের ক্ষেত্রে সীমাহীন। |
Promotions / HotelPromotions / Promotion / CheckinDates / DateRange / @end | 0..1 | Date or YearlessDate | শেষের তারিখ (সম্পত্তির সময় অঞ্চলের উপর ভিত্তি করে) তারিখের পরিসীমা অন্তর্ভুক্ত। এই তারিখটি অবশ্যই start তারিখের মতো বা পরে হতে হবে। যদি end নির্দিষ্ট না করা হয় তবে শেষ তারিখের ক্ষেত্রে তারিখের পরিসীমা কার্যকরভাবে সীমাহীন। |
Promotions / HotelPromotions / Promotion / CheckinDates / DateRange / @days_of_week | 0..1 | string | সপ্তাহের দিনগুলি যা তারিখের সীমাতে অনুমোদিত। যদি নির্দিষ্ট না করা হয় তবে সমস্ত দিন তারিখের সীমাতে অনুমোদিত। স্ট্রিংয়ের প্রতিটি চরিত্র একটি দিন নির্দিষ্ট করে। উদাহরণস্বরূপ, "এমটিডাব্লুএইচএফ" নির্দিষ্ট করে যে সপ্তাহের দিনগুলি তারিখের সীমাতে অনুমোদিত। বৈধ অক্ষর হল:
যে কোনও চরিত্রের সংমিশ্রণ বৈধ। |
Promotions / HotelPromotions / Promotion / CheckoutDates | 0..1 | CheckoutDates | এক বা একাধিক তারিখের রেঞ্জের জন্য একটি ধারক যা প্রচারের প্রয়োগের জন্য অবশ্যই চেক-আউট ঘটতে হবে তা সংজ্ঞায়িত করে। |
Promotions / HotelPromotions / Promotion / CheckoutDates / DateRange | 1..20 | DateRange | প্রচার প্রয়োগের জন্য চেক-আউট হওয়ার সময় অবশ্যই নির্দিষ্ট করার একটি তারিখের পরিসীমা। আপনি যদি এক বা একাধিক প্রচার মুছে ফেলছেন তবে এই উপাদানটির প্রয়োজন নেই। বছরবিহীন ফর্ম্যাটটিও সমর্থিত।
|
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 | সপ্তাহের দিনগুলি যা তারিখের সীমাতে অনুমোদিত। যদি নির্দিষ্ট না করা হয় তবে সমস্ত দিন তারিখের সীমাতে অনুমোদিত। স্ট্রিংয়ের প্রতিটি চরিত্র একটি দিন নির্দিষ্ট করে। উদাহরণস্বরূপ, "এমটিডাব্লুএইচএফ" নির্দিষ্ট করে যে সপ্তাহের দিনগুলি তারিখের সীমাতে অনুমোদিত। বৈধ অক্ষর হল:
যে কোনও চরিত্রের সংমিশ্রণ বৈধ। |
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 | হুবহু 0-100 থেকে একটি দশমিক মান যা শতাংশ ছাড় নির্দিষ্ট করে। এটি উদাহরণ:
|
Promotions / HotelPromotions / Promotion / Discount / @percentage_of_base | 0..1 | float | হুবহু 0-100 থেকে একটি দশমিক মান যা বেস ছাড়ের শতাংশ নির্দিষ্ট করে। উদাহরণ:
|
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 | এটি কেবল সর্বনিম্ন ব্যয়বহুল দিয়ে শুরু করে যে রাত ছাড় প্রয়োগ করা হয় তার সংখ্যা। 1 থেকে 99 অবধি অবশ্যই একটি পূর্ণসংখ্যা হতে হবে। যদি নির্দিষ্ট না করা হয় তবে সমস্ত রাতে ছাড় প্রয়োগ করা হয়। |
Promotions / HotelPromotions / Promotion / Discount / FreeNights | 0..1 | FreeNights | যখন সর্বনিম্ন থাকার দৈর্ঘ্য পূরণ হয় তখন থাকার নির্দিষ্ট রাতে ছাড় নির্দিষ্ট করে। এই উপাদানটি ব্যবহার করা হলে পিতামাতার Discount উপাদানগুলির বৈশিষ্ট্যগুলি অনুমোদিত নয়। |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @stay_nights | 1 | integer | ছাড় প্রয়োগের জন্য প্রয়োজনীয় রাতের সংখ্যা। প্রতিটি ছাড় থাকার রাতের পৃথক বিভাগে প্রয়োগ করা হয়। উদাহরণস্বরূপ, 10-রাত থাকার জন্য যেখানে |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @discount_nights | 1 | integer | থাকার রাতের প্রতিটি বিভাগের মধ্যে ছাড়ের রাতের সংখ্যা। |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @discount_percentage | 1 | float | ছাড় যা ছাড়ের রাতে প্রয়োগ করা হয়। যদি এই মানটি 50 হয় তবে প্রতিটি নির্বাচিত রাত 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 | এই প্রচারকে একটি র্যাঙ্ক বরাদ্দ করে এবং এটিকে র্যাঙ্কড নির্বাচনে বেছে নেয়, যেখানে কেবলমাত্র সর্বনিম্ন র্যাঙ্কের সাথে প্রচারগুলি প্রয়োগ করার জন্য নির্বাচিত হয়। মানগুলি অবশ্যই 1 এবং 99 এর মধ্যে থাকতে হবে। যদি একাধিক প্রচার একই র্যাঙ্ক ভাগ করে নেয়, তবে একটি নির্বিচারে নির্বাচিত এবং প্রয়োগ করা হয়। |
Promotions / HotelPromotions / Promotion / BestDailyDiscount | 1 | Discount | হুবহু একটি দৈনিক ছাড় নির্দিষ্ট করে যা থাকার একটি রাতে প্রয়োগ করা যেতে পারে। এটি প্রতিটি সম্পত্তিতে প্রচারের একক গোষ্ঠী থাকতে পারে যা "সেরা দৈনিক" হিসাবে বিবেচিত হয়। এর অর্থ হ'ল প্রতিটি রাতের থাকার জন্য, একক "সেরা দৈনিক" প্রচার যা যোগ্য এবং সেই রাতের জন্য গভীরতম ছাড়টি নির্বাচিত হয় এবং প্রয়োগ করা যেতে পারে। এই ধরণের ছাড়ের সাথে |
Promotions / HotelPromotions / Promotion / BestDailyDiscount / @percentage | 0..1 | float | ঠিক 0-100 থেকে একটি দশমিক মান যা শতাংশ ছাড় নির্দিষ্ট করে। এটি উদাহরণ:
|
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 | এই প্রচার প্রয়োগের জন্য অবশ্যই যে কক্ষগুলির সংখ্যা উপলব্ধ থাকতে হবে তার উপর বিধিনিষেধগুলি সংজ্ঞায়িত করে। ছাড় কেবল সেই রাতেই প্রয়োগ করা হয় যা সীমাবদ্ধতা পূরণ করে। fixed_amount ছাড়ের সাথে অনুমোদিত নয়। নোট করুন যে উপলভ্য কক্ষগুলির সংখ্যা OTA_HOTELINVCOUNTNOTIFRQ ( InvCount ) বা 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 | পদোন্নতি প্রয়োগের জন্য থাকার জন্য সর্বনিম্ন রাতগুলি অনুমোদিত। If this isn't specified, there is no minimum. |
Promotions / HotelPromotions / Promotion / LengthOfStay / @max | 0..1 | integer | The maximum nights allowed in the stay for the promotion to be applied. If this isn't specified, there is no maximum. |
Promotions / HotelPromotions / Promotion / MembershipRateRule | 0..1 | MembershipRateRule | Container for a membership rate rule that triggers a specific UI treatment for the associated discount. This element should not be specified unless |
Promotions / HotelPromotions / Promotion / MembershipRateRule / @id | 1 | string | ID of the rate rule associated with a membership program. |
Promotions / HotelPromotions / Promotion / MinimumAmount | 0..1 | MinimumAmount | Specifies the minimum sum of the daily room rates (using the larger of AmountBeforeTax or AmountAfterTax ) that must be exceeded for the promotion to be applied. |
Promotions / HotelPromotions / Promotion / MinimumAmount / @before_discount | 1 | integer | The value that must be exceeded for the promotion to be applied. |
Promotions / HotelPromotions / Promotion / Occupancy | 0..1 | Occupancy | Defines restrictions on occupancies for which this promotion is applied. The promotion is not applied when occupancy is outside of the min and max limits. |
Promotions / HotelPromotions / Promotion / Occupancy / @min | 0..1 | integer | The user-specified occupancy must be at least this value in order for the discount to be applied. |
Promotions / HotelPromotions / Promotion / Occupancy / @max | 0..1 | integer | The user-specified occupancy must be at most this value in order for the discount to be applied. |
Promotions / HotelPromotions / Promotion / RatePlans | 0..1 | RatePlans | Container for a list of rate plans to which the promotion applies. If <RatePlans> isn't specified, the promotion applies to all rate plans. |
Promotions / HotelPromotions / Promotion / RatePlans / RatePlan | 1..n | RatePlan | Specifies a rate plan. A rate plan is defined by a combination of package, rates, and availability, as defined in Transaction (Property Data), OTA_HotelRateAmountNotifRQ, and OTA_HotelAvailNotifRQ messages, and as identified by the PackageID. |
Promotions / HotelPromotions / Promotion / RatePlans / RatePlan / @id | 1 | string | The unique identifier for the rate plan. This value maps to the PackageID value in <PackageData> in a Transaction (Property Data) message, and in the RatePlanCode attribute in <StatusApplicationControl> in both <OTA_HotelRateAmountNotifRQ> and <OTA_HotelAvailNotifRQ> messages. The maximum number of characters allowed is 50. |
Promotions / HotelPromotions / Promotion / RoomTypes | 0..1 | RoomTypes | Container for a list of room types to which the promotion applies. The promotion is applied to each <RoomType> specified. If <RoomTypes> isn't specified, the promotion applies to all rooms. |
Promotions / HotelPromotions / Promotion / RoomTypes / RoomType | 1..n | RoomType | Specifies a room type. A room type is defined in a <RoomData> element in a Transaction (Property Data) message and is referenced using its <RoomID> value. (Its <RoomID> value is also referenced by the InvTypeCode attribute in OTA_HotelRateAmountNotifRQ messages.) |
Promotions / HotelPromotions / Promotion / RoomTypes / RoomType / @id | 1 | string | The unique identifier for the inventory (room type). This value maps to <RoomID> in a Transaction (Property Data) message. The maximum number of characters allowed is 50. |
Promotions / HotelPromotions / Promotion / Stacking | 0..1 | Stacking | Specifies how promotions can be combined. If not specified, the "type" is assumed to be base . |
Promotions / HotelPromotions / Promotion / Stacking / @type | 1 | enum | Multiple promotions can be applied to a single rate depending on this setting:
Of the allowed combinations, the set of promotions which yields the largest discount are applied to the rate. |
Promotions / HotelPromotions / Promotion / StayDates | 0..1 | StayDates | A container for one or more date ranges that determine how the promotion is applied, such as to accommodate seasonal discounts. |
Promotions / HotelPromotions / Promotion / StayDates / @application | 1 | enum | Describes how the promotion should be applied. বৈধ মান হল:
This attribute must always be specified.
|
Promotions / HotelPromotions / Promotion / StayDates / DateRange | 1..99 | DateRange | A date range specifying dates when the promotion is to be applied. The YearlessDate format is also supported.
If you want to set |
Promotions / HotelPromotions / Promotion / StayDates / DateRange / @start | 0..1 | Date or YearlessDate | The starting date (based on the property's time zone), inclusive, of the date range. This date must be before, or the same as, the end date. If start isn't specified, the date range is effectively unlimited in terms of a start date. You should specify |
Promotions / HotelPromotions / Promotion / StayDates / 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 from the start date onwards. You should specify |
Promotions / HotelPromotions / Promotion / StayDates / DateRange / @days_of_week | 0..1 | string | The days of the week that are allowed in the date range. If not specified, all days are allowed in the date range. Each character in the string specifies a day. For example, "MTWHF" specifies that weekdays are allowed in the date range. বৈধ অক্ষর হল:
Any character combination is valid. |
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. |
উদাহরণ
সম্পত্তি প্রতি 500টি প্রচারের সীমা রয়েছে। Refer to "Delete one promotion" example to remove promotions from a property.
মৌলিক বার্তা
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:
Element / @Attribute | ঘটনা | টাইপ | বর্ণনা |
---|---|---|---|
PromotionsResponse | 1 | Complex element | The root element indicating the success or issues for a received Promotions request message. |
PromotionsResponse / @timestamp | 1 | DateTime | The creation date and time of this message. |
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>
ওভারভিউ
This API lets you specify possible discounts. Of the promotions specified, Google applies the eligible promotion or set of promotions that leads to the lowest price. If you are looking for an API which supports arbitrary rate adjustments that can either increase or decrease the price when conditions are satisfied, then consider our Rate Modifications API . Note that if both APIs are present, rate modifications are applied before promotions.
অনুরোধ
সিনট্যাক্স
The Promotions
message uses the following syntax:
<?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>
উপাদান এবং বৈশিষ্ট্য
The Promotions message has the following elements and attributes:
Element / @Attribute | ঘটনা | টাইপ | বর্ণনা |
---|---|---|---|
Promotions | 1 | Complex element | The root element of a promotions message. |
Promotions / @partner | 1 | string | The partner account for this message. This string value is the "Partner key" value listed on the Account settings page in Hotel Center. If you have a backend that provides feeds for multiple accounts, this value needs to match the |
Promotions / @id | 1 | string | A unique identifier for this request message. This value is returned in the response message. Allowed characters are az, AZ, 0-9, _ (underscore), and - (dash). |
Promotions / @timestamp | 1 | DateTime | The creation date and time of this message. |
Promotions / HotelPromotions | 0..n | HotelPromotions | Promotions for a property. Each promotion applies to a single property. Unless |
Promotions / HotelPromotions / @hotel_id | 1 | string | The unique identifier for the property. This value must match the Hotel ID specified using <id> in the <listing> element in the Hotel List Feed. The Hotel ID is also listed in Hotel Center . |
Promotions / HotelPromotions / @action | 0..1 | enum | If specified, the value must be If not specified, then each promotion specified in the current message is either:
|
Promotions / HotelPromotions / Promotion | 0..99 | Promotion | A single promotion for a property. Note that if If you need to use more than 99 promotions, contact your Technical Account Manager (TAM). |
Promotions / HotelPromotions / Promotion / @id | 1 | string | A unique identifier for the promotion. The maximum number of characters allowed is 40. Allowed characters are az, AZ, 0-9, _ (underscore), - (dash), and . (সময়কাল)। |
Promotions /HotelPromotions / Promotion / @action | 0..1 | enum | If specified, the value must be If |
Promotions / HotelPromotions / Promotion / BookingDates | 0..1 | BookingDates | A container for one or more ranges that define when booking must occur in order for the promotion to be applied. |
Promotions / HotelPromotions / Promotion / BookingDates / DateRange | 1..99 | DateRange | A range specifying when booking must occur for the promotion to be applied. |
Promotions / HotelPromotions / Promotion / BookingDates / DateRange / @start | 0..1 | Date or DateTime | The starting date or datetime (based on the property's time zone), inclusive, of the range.
|
Promotions / HotelPromotions / Promotion / BookingDates / DateRange / @end | 0..1 | Date or DateTime | The ending date or datetime (based on the property's time zone), inclusive, of the range.
|
Promotions / HotelPromotions / Promotion / BookingDates / DateRange / @days_of_week | 0..1 | string | The days of the week that are allowed in the date range. If not specified, all days are allowed in the date range. Each character in the string specifies a day. For example, "MTWHF" specifies that weekdays are allowed in the date range. বৈধ অক্ষর হল:
Any character combination is valid. |
Promotions / HotelPromotions / Promotion / BookingWindow | 0..1 | BookingWindow | Specifies the time period when booking must occur relative to the check-in date (based on the property's time zone). For example, the booking window can be set to least 7 days, but not more than 180 days, prior to check-in. |
Promotions / HotelPromotions / Promotion / BookingWindow / @min | 0..1 | integer or duration | The minimum duration prior to check-in when booking must occur for the promotion to be applied. If this isn't specified, or its value is 0 , there is no minimum.Valid value types are:
|
Promotions / HotelPromotions / Promotion / BookingWindow / @max | 0..1 | integer or duration | The maximum number of days prior to check-in when booking must occur for the promotion to be applied. If this isn't specified, or its value is 0 , there is no maximum.Valid value types are:
|
Promotions / HotelPromotions / Promotion / Ceiling | 0..1 | Ceiling | Defines restrictions on the maximum value that a rate can be set to after promotions are applied. Promotions must always specify a If stacking is configured, then multiple promotions with উদাহরণ: Pricing a 1-night stay where
Here is the order of calculation:
The fact that 60 is a stricter overall ceiling is irrelevant since it is valid only for its own promotion, and there can be no single ceiling that spans the entire promotion stack. |
Promotions / HotelPromotions / Promotion / Ceiling / @amount_per_night | 1 | float | The maximum amount that a nightly rate can be set to after the discount is applied. If a |
Promotions / HotelPromotions / Promotion / Floor | 0..1 | Floor | Defines restrictions on the minimum value that a rate can be set to after promotions are applied. Promotions must always specify a If stacking is configured, then multiple promotions with উদাহরণ: Pricing a 1-night stay where
Here is the order of calculation:
The fact that 90 is a stricter overall floor is irrelevant since it is valid only for its own promotion, and there can be no single floor that spans the entire promotion stack. |
Promotions / HotelPromotions / Promotion / Floor / @amount_per_night | 1 | float | The minimum amount that a nightly rate can be set to after the discount is applied. If a |
Promotions / HotelPromotions / Promotion / CheckinDates | 0..1 | CheckinDates | A container for one or more date ranges that define when check-in must occur for the promotion to be applied. |
Promotions / HotelPromotions / Promotion / CheckinDates / DateRange | 1..20 | DateRange | A date range specifying when check-in must occur for the promotion to be applied. This element is not required if you're deleting one or more promotions. The YearlessDate format is also supported.
|
Promotions / HotelPromotions / Promotion / CheckinDates / DateRange / @start | 0..1 | Date or YearlessDate | The starting date (based on the property's time zone), inclusive, of the date range. This date must be before, or the same as, the end date. If start isn't specified, the date range is effectively unlimited in terms of a start date. |
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 | The days of the week that are allowed in the date range. If not specified, all days are allowed in the date range. Each character in the string specifies a day. For example, "MTWHF" specifies that weekdays are allowed in the date range. বৈধ অক্ষর হল:
Any character combination is valid. |
Promotions / HotelPromotions / Promotion / CheckoutDates | 0..1 | CheckoutDates | A container for one or more date ranges that define when check-out must occur for the promotion to be applied. |
Promotions / HotelPromotions / Promotion / CheckoutDates / DateRange | 1..20 | DateRange | A date range specifying when check-out must occur for the promotion to be applied. This element is not required if you're deleting one or more promotions. The YearlessDate format is also supported.
|
Promotions / HotelPromotions / Promotion / CheckoutDates / DateRange / @start | 0..1 | Date or YearlessDate | The starting date (based on the property's time zone), inclusive, of the date range. This date must be before, or the same as, the end date. If start isn't specified, the date range is effectively unlimited in terms of a start date. |
Promotions / HotelPromotions / Promotion / CheckoutDates / 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 / CheckoutDates / DateRange / @days_of_week | 0..1 | string | The days of the week that are allowed in the date range. If not specified, all days are allowed in the date range. Each character in the string specifies a day. For example, "MTWHF" specifies that weekdays are allowed in the date range. বৈধ অক্ষর হল:
Any character combination is valid. |
Promotions / HotelPromotions / Promotion / Devices | 0..1 | Devices | Container for listing the user devices that are eligible for the promotion. If specified, only eligible users on the listed devices are offered the discounted rate. If not specified, eligible users on any device are offered the discounted rate. |
Promotions / HotelPromotions / Promotion / Devices / Device | 1..3 | Device | Defines one type of user device that is eligible for the promotion. |
Promotions / HotelPromotions / Promotion / Devices / Device / @type | 1 | enum | A type of device. The value must be desktop , tablet , or mobile . |
Promotions / HotelPromotions / Promotion / Discount | 1 | Discount | Exactly one of Specifies the discount to be applied for this promotion. |
Promotions / HotelPromotions / Promotion / Discount / @percentage | 0..1 | float | Exactly one of A decimal value from 0-100 which specifies the percentage discount. It is applied to উদাহরণ:
|
Promotions / HotelPromotions / Promotion / Discount / @percentage_of_base | 0..1 | float | Exactly one of A decimal value from 0-100 which specifies the percentage of base discount. Similar to Unlike উদাহরণ:
|
Promotions / HotelPromotions / Promotion / Discount / @fixed_amount | 0..1 | float | Exactly one of A fixed amount to be subtracted from the sum of the উদাহরণ:
|
Promotions / HotelPromotions / Promotion / Discount / @fixed_amount_per_night | 0..1 | float | Exactly one of A fixed discount applied to each of the উদাহরণ:
|
Promotions / HotelPromotions / Promotion / Discount / @fixed_price | 0..1 | float | Exactly one of If If উদাহরণ:
|
Promotions / HotelPromotions / Promotion / Discount / @fixed_price_per_night | 0..1 | float | Exactly one of If If If উদাহরণ:
|
Promotions / HotelPromotions / Promotion / Discount / @applied_nights | 0..1 | integer | This should only be used with The number of nights to which the discount is applied, starting with the least expensive. Must be an integer from 1 to 99. If not specified, discount is applied to all nights. |
Promotions / HotelPromotions / Promotion / Discount / FreeNights | 0..1 | FreeNights | Specifies a discount on certain nights of a stay when a minimum stay length is met. Attributes on the parent Discount element are not allowed if this element is used. |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @stay_nights | 1 | integer | Number of required nights for the discount to be applied. Each discount is applied to a separate segment of stay nights. For example, for a 10-night stay where |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @discount_nights | 1 | integer | The number of discounted nights within each segment of stay nights. |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @discount_percentage | 1 | float | The discount that is applied to the discount nights. If this value is 50 , then each selected night is 50% off. |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @night_selection | 1 | string | Must be either cheapest or last . If last , then the nights at the end of the segment of stay nights are discounted. If cheapest , then the cheapest nights within the segment of stay nights are discounted. |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @repeats | 1 | boolean | Whether the discount may be applied to multiple stay night segments. If For example, if |
Promotions / HotelPromotions / Promotion / Discount / @rank | 0..1 | integer | Assigns this promotion a rank and opts it into ranked selection, where only the promotion with the lowest rank is selected to be applied. Values must be between 1 and 99, inclusive. If multiple promotions share the same rank, then one is arbitrarily selected and applied. |
Promotions / HotelPromotions / Promotion / BestDailyDiscount | 1 | Discount | Exactly one of Specifies a daily discount which may be applied to a night of stay. This is in contrast with Each property may have a single group of promotions that are considered "best daily." This means that for each night of stay, the single "best daily" promotion that is eligible and yields the deepest discount for that night is selected and may be applied. |
Promotions / HotelPromotions / Promotion / BestDailyDiscount / @percentage | 0..1 | float | Exactly one of A decimal value from 0-100 which specifies the percentage discount. It is applied to উদাহরণ:
|
Promotions / HotelPromotions / Promotion/ BestDailyDiscount / @fixed_amount | 0..1 | float | Exactly one of A fixed amount to be subtracted from a single উদাহরণ:
|
Promotions / HotelPromotions / Promotion/ BestDailyDiscount / @fixed_price | 0..1 | float | Exactly one of If উদাহরণ:
|
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 | The minimum number of rooms that must be available for the promotion to be applied to the nightly rate. If this isn't specified, there is no minimum. |
Promotions / HotelPromotions / Promotion / InventoryCount / @max | 0..1 | integer | The maximum number of rooms that must be available for the promotion to be applied to the nightly rate. If this isn't specified, there is no maximum. |
Promotions / HotelPromotions / Promotion / LengthOfStay | 0..1 | LengthOfStay | Defines length of stay limits within which this promotion can be applied. The promotion is not applied when length of stay is outside of the min and max limits. |
Promotions / HotelPromotions / Promotion / LengthOfStay / @min | 0..1 | integer | The minimum nights allowed in the stay for the promotion to be applied. If this isn't specified, there is no minimum. |
Promotions / HotelPromotions / Promotion / LengthOfStay / @max | 0..1 | integer | The maximum nights allowed in the stay for the promotion to be applied. If this isn't specified, there is no maximum. |
Promotions / HotelPromotions / Promotion / MembershipRateRule | 0..1 | MembershipRateRule | Container for a membership rate rule that triggers a specific UI treatment for the associated discount. This element should not be specified unless |
Promotions / HotelPromotions / Promotion / MembershipRateRule / @id | 1 | string | ID of the rate rule associated with a membership program. |
Promotions / HotelPromotions / Promotion / MinimumAmount | 0..1 | MinimumAmount | Specifies the minimum sum of the daily room rates (using the larger of AmountBeforeTax or AmountAfterTax ) that must be exceeded for the promotion to be applied. |
Promotions / HotelPromotions / Promotion / MinimumAmount / @before_discount | 1 | integer | The value that must be exceeded for the promotion to be applied. |
Promotions / HotelPromotions / Promotion / Occupancy | 0..1 | Occupancy | Defines restrictions on occupancies for which this promotion is applied. The promotion is not applied when occupancy is outside of the min and max limits. |
Promotions / HotelPromotions / Promotion / Occupancy / @min | 0..1 | integer | The user-specified occupancy must be at least this value in order for the discount to be applied. |
Promotions / HotelPromotions / Promotion / Occupancy / @max | 0..1 | integer | The user-specified occupancy must be at most this value in order for the discount to be applied. |
Promotions / HotelPromotions / Promotion / RatePlans | 0..1 | RatePlans | Container for a list of rate plans to which the promotion applies. If <RatePlans> isn't specified, the promotion applies to all rate plans. |
Promotions / HotelPromotions / Promotion / RatePlans / RatePlan | 1..n | RatePlan | Specifies a rate plan. A rate plan is defined by a combination of package, rates, and availability, as defined in Transaction (Property Data), OTA_HotelRateAmountNotifRQ, and OTA_HotelAvailNotifRQ messages, and as identified by the PackageID. |
Promotions / HotelPromotions / Promotion / RatePlans / RatePlan / @id | 1 | string | The unique identifier for the rate plan. This value maps to the PackageID value in <PackageData> in a Transaction (Property Data) message, and in the RatePlanCode attribute in <StatusApplicationControl> in both <OTA_HotelRateAmountNotifRQ> and <OTA_HotelAvailNotifRQ> messages. The maximum number of characters allowed is 50. |
Promotions / HotelPromotions / Promotion / RoomTypes | 0..1 | RoomTypes | Container for a list of room types to which the promotion applies. The promotion is applied to each <RoomType> specified. If <RoomTypes> isn't specified, the promotion applies to all rooms. |
Promotions / HotelPromotions / Promotion / RoomTypes / RoomType | 1..n | RoomType | Specifies a room type. A room type is defined in a <RoomData> element in a Transaction (Property Data) message and is referenced using its <RoomID> value. (Its <RoomID> value is also referenced by the InvTypeCode attribute in OTA_HotelRateAmountNotifRQ messages.) |
Promotions / HotelPromotions / Promotion / RoomTypes / RoomType / @id | 1 | string | The unique identifier for the inventory (room type). This value maps to <RoomID> in a Transaction (Property Data) message. The maximum number of characters allowed is 50. |
Promotions / HotelPromotions / Promotion / Stacking | 0..1 | Stacking | Specifies how promotions can be combined. If not specified, the "type" is assumed to be base . |
Promotions / HotelPromotions / Promotion / Stacking / @type | 1 | enum | Multiple promotions can be applied to a single rate depending on this setting:
Of the allowed combinations, the set of promotions which yields the largest discount are applied to the rate. |
Promotions / HotelPromotions / Promotion / StayDates | 0..1 | StayDates | A container for one or more date ranges that determine how the promotion is applied, such as to accommodate seasonal discounts. |
Promotions / HotelPromotions / Promotion / StayDates / @application | 1 | enum | Describes how the promotion should be applied. বৈধ মান হল:
This attribute must always be specified.
|
Promotions / HotelPromotions / Promotion / StayDates / DateRange | 1..99 | DateRange | A date range specifying dates when the promotion is to be applied. The YearlessDate format is also supported.
If you want to set |
Promotions / HotelPromotions / Promotion / StayDates / DateRange / @start | 0..1 | Date or YearlessDate | The starting date (based on the property's time zone), inclusive, of the date range. This date must be before, or the same as, the end date. If start isn't specified, the date range is effectively unlimited in terms of a start date. You should specify |
Promotions / HotelPromotions / Promotion / StayDates / 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 from the start date onwards. You should specify |
Promotions / HotelPromotions / Promotion / StayDates / DateRange / @days_of_week | 0..1 | string | The days of the week that are allowed in the date range. If not specified, all days are allowed in the date range. Each character in the string specifies a day. For example, "MTWHF" specifies that weekdays are allowed in the date range. বৈধ অক্ষর হল:
Any character combination is valid. |
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. |
উদাহরণ
সম্পত্তি প্রতি 500টি প্রচারের সীমা রয়েছে। Refer to "Delete one promotion" example to remove promotions from a property.
মৌলিক বার্তা
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:
Element / @Attribute | ঘটনা | টাইপ | বর্ণনা |
---|---|---|---|
PromotionsResponse | 1 | Complex element | The root element indicating the success or issues for a received Promotions request message. |
PromotionsResponse / @timestamp | 1 | DateTime | The creation date and time of this message. |
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>
ওভারভিউ
This API lets you specify possible discounts. Of the promotions specified, Google applies the eligible promotion or set of promotions that leads to the lowest price. If you are looking for an API which supports arbitrary rate adjustments that can either increase or decrease the price when conditions are satisfied, then consider our Rate Modifications API . Note that if both APIs are present, rate modifications are applied before promotions.
অনুরোধ
সিনট্যাক্স
The Promotions
message uses the following syntax:
<?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>
উপাদান এবং বৈশিষ্ট্য
The Promotions message has the following elements and attributes:
Element / @Attribute | ঘটনা | টাইপ | বর্ণনা |
---|---|---|---|
Promotions | 1 | Complex element | The root element of a promotions message. |
Promotions / @partner | 1 | string | The partner account for this message. This string value is the "Partner key" value listed on the Account settings page in Hotel Center. If you have a backend that provides feeds for multiple accounts, this value needs to match the |
Promotions / @id | 1 | string | A unique identifier for this request message. This value is returned in the response message. Allowed characters are az, AZ, 0-9, _ (underscore), and - (dash). |
Promotions / @timestamp | 1 | DateTime | The creation date and time of this message. |
Promotions / HotelPromotions | 0..n | HotelPromotions | Promotions for a property. Each promotion applies to a single property. Unless |
Promotions / HotelPromotions / @hotel_id | 1 | string | The unique identifier for the property. This value must match the Hotel ID specified using <id> in the <listing> element in the Hotel List Feed. The Hotel ID is also listed in Hotel Center . |
Promotions / HotelPromotions / @action | 0..1 | enum | If specified, the value must be If not specified, then each promotion specified in the current message is either:
|
Promotions / HotelPromotions / Promotion | 0..99 | Promotion | A single promotion for a property. Note that if If you need to use more than 99 promotions, contact your Technical Account Manager (TAM). |
Promotions / HotelPromotions / Promotion / @id | 1 | string | A unique identifier for the promotion. The maximum number of characters allowed is 40. Allowed characters are az, AZ, 0-9, _ (underscore), - (dash), and . (সময়কাল)। |
Promotions /HotelPromotions / Promotion / @action | 0..1 | enum | If specified, the value must be If |
Promotions / HotelPromotions / Promotion / BookingDates | 0..1 | BookingDates | A container for one or more ranges that define when booking must occur in order for the promotion to be applied. |
Promotions / HotelPromotions / Promotion / BookingDates / DateRange | 1..99 | DateRange | A range specifying when booking must occur for the promotion to be applied. |
Promotions / HotelPromotions / Promotion / BookingDates / DateRange / @start | 0..1 | Date or DateTime | The starting date or datetime (based on the property's time zone), inclusive, of the range.
|
Promotions / HotelPromotions / Promotion / BookingDates / DateRange / @end | 0..1 | Date or DateTime | The ending date or datetime (based on the property's time zone), inclusive, of the range.
|
Promotions / HotelPromotions / Promotion / BookingDates / DateRange / @days_of_week | 0..1 | string | The days of the week that are allowed in the date range. If not specified, all days are allowed in the date range. Each character in the string specifies a day. For example, "MTWHF" specifies that weekdays are allowed in the date range. বৈধ অক্ষর হল:
Any character combination is valid. |
Promotions / HotelPromotions / Promotion / BookingWindow | 0..1 | BookingWindow | Specifies the time period when booking must occur relative to the check-in date (based on the property's time zone). For example, the booking window can be set to least 7 days, but not more than 180 days, prior to check-in. |
Promotions / HotelPromotions / Promotion / BookingWindow / @min | 0..1 | integer or duration | The minimum duration prior to check-in when booking must occur for the promotion to be applied. If this isn't specified, or its value is 0 , there is no minimum.Valid value types are:
|
Promotions / HotelPromotions / Promotion / BookingWindow / @max | 0..1 | integer or duration | The maximum number of days prior to check-in when booking must occur for the promotion to be applied. If this isn't specified, or its value is 0 , there is no maximum.Valid value types are:
|
Promotions / HotelPromotions / Promotion / Ceiling | 0..1 | Ceiling | Defines restrictions on the maximum value that a rate can be set to after promotions are applied. Promotions must always specify a If stacking is configured, then multiple promotions with উদাহরণ: Pricing a 1-night stay where
Here is the order of calculation:
The fact that 60 is a stricter overall ceiling is irrelevant since it is valid only for its own promotion, and there can be no single ceiling that spans the entire promotion stack. |
Promotions / HotelPromotions / Promotion / Ceiling / @amount_per_night | 1 | float | The maximum amount that a nightly rate can be set to after the discount is applied. If a |
Promotions / HotelPromotions / Promotion / Floor | 0..1 | Floor | Defines restrictions on the minimum value that a rate can be set to after promotions are applied. Promotions must always specify a If stacking is configured, then multiple promotions with উদাহরণ: Pricing a 1-night stay where
Here is the order of calculation:
The fact that 90 is a stricter overall floor is irrelevant since it is valid only for its own promotion, and there can be no single floor that spans the entire promotion stack. |
Promotions / HotelPromotions / Promotion / Floor / @amount_per_night | 1 | float | The minimum amount that a nightly rate can be set to after the discount is applied. If a |
Promotions / HotelPromotions / Promotion / CheckinDates | 0..1 | CheckinDates | A container for one or more date ranges that define when check-in must occur for the promotion to be applied. |
Promotions / HotelPromotions / Promotion / CheckinDates / DateRange | 1..20 | DateRange | A date range specifying when check-in must occur for the promotion to be applied. This element is not required if you're deleting one or more promotions. The YearlessDate format is also supported.
|
Promotions / HotelPromotions / Promotion / CheckinDates / DateRange / @start | 0..1 | Date or YearlessDate | The starting date (based on the property's time zone), inclusive, of the date range. This date must be before, or the same as, the end date. If start isn't specified, the date range is effectively unlimited in terms of a start date. |
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 | The days of the week that are allowed in the date range. If not specified, all days are allowed in the date range. Each character in the string specifies a day. For example, "MTWHF" specifies that weekdays are allowed in the date range. বৈধ অক্ষর হল:
Any character combination is valid. |
Promotions / HotelPromotions / Promotion / CheckoutDates | 0..1 | CheckoutDates | A container for one or more date ranges that define when check-out must occur for the promotion to be applied. |
Promotions / HotelPromotions / Promotion / CheckoutDates / DateRange | 1..20 | DateRange | A date range specifying when check-out must occur for the promotion to be applied. This element is not required if you're deleting one or more promotions. The YearlessDate format is also supported.
|
Promotions / HotelPromotions / Promotion / CheckoutDates / DateRange / @start | 0..1 | Date or YearlessDate | The starting date (based on the property's time zone), inclusive, of the date range. This date must be before, or the same as, the end date. If start isn't specified, the date range is effectively unlimited in terms of a start date. |
Promotions / HotelPromotions / Promotion / CheckoutDates / 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 / CheckoutDates / DateRange / @days_of_week | 0..1 | string | The days of the week that are allowed in the date range. If not specified, all days are allowed in the date range. Each character in the string specifies a day. For example, "MTWHF" specifies that weekdays are allowed in the date range. বৈধ অক্ষর হল:
Any character combination is valid. |
Promotions / HotelPromotions / Promotion / Devices | 0..1 | Devices | Container for listing the user devices that are eligible for the promotion. If specified, only eligible users on the listed devices are offered the discounted rate. If not specified, eligible users on any device are offered the discounted rate. |
Promotions / HotelPromotions / Promotion / Devices / Device | 1..3 | Device | Defines one type of user device that is eligible for the promotion. |
Promotions / HotelPromotions / Promotion / Devices / Device / @type | 1 | enum | A type of device. The value must be desktop , tablet , or mobile . |
Promotions / HotelPromotions / Promotion / Discount | 1 | Discount | Exactly one of Specifies the discount to be applied for this promotion. |
Promotions / HotelPromotions / Promotion / Discount / @percentage | 0..1 | float | Exactly one of A decimal value from 0-100 which specifies the percentage discount. It is applied to উদাহরণ:
|
Promotions / HotelPromotions / Promotion / Discount / @percentage_of_base | 0..1 | float | Exactly one of A decimal value from 0-100 which specifies the percentage of base discount. Similar to Unlike উদাহরণ:
|
Promotions / HotelPromotions / Promotion / Discount / @fixed_amount | 0..1 | float | Exactly one of A fixed amount to be subtracted from the sum of the উদাহরণ:
|
Promotions / HotelPromotions / Promotion / Discount / @fixed_amount_per_night | 0..1 | float | Exactly one of A fixed discount applied to each of the উদাহরণ:
|
Promotions / HotelPromotions / Promotion / Discount / @fixed_price | 0..1 | float | Exactly one of If If উদাহরণ:
|
Promotions / HotelPromotions / Promotion / Discount / @fixed_price_per_night | 0..1 | float | Exactly one of If If If উদাহরণ:
|
Promotions / HotelPromotions / Promotion / Discount / @applied_nights | 0..1 | integer | This should only be used with The number of nights to which the discount is applied, starting with the least expensive. Must be an integer from 1 to 99. If not specified, discount is applied to all nights. |
Promotions / HotelPromotions / Promotion / Discount / FreeNights | 0..1 | FreeNights | Specifies a discount on certain nights of a stay when a minimum stay length is met. Attributes on the parent Discount element are not allowed if this element is used. |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @stay_nights | 1 | integer | Number of required nights for the discount to be applied. Each discount is applied to a separate segment of stay nights. For example, for a 10-night stay where |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @discount_nights | 1 | integer | The number of discounted nights within each segment of stay nights. |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @discount_percentage | 1 | float | The discount that is applied to the discount nights. If this value is 50 , then each selected night is 50% off. |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @night_selection | 1 | string | Must be either cheapest or last . If last , then the nights at the end of the segment of stay nights are discounted. If cheapest , then the cheapest nights within the segment of stay nights are discounted. |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @repeats | 1 | boolean | Whether the discount may be applied to multiple stay night segments. If For example, if |
Promotions / HotelPromotions / Promotion / Discount / @rank | 0..1 | integer | Assigns this promotion a rank and opts it into ranked selection, where only the promotion with the lowest rank is selected to be applied. Values must be between 1 and 99, inclusive. If multiple promotions share the same rank, then one is arbitrarily selected and applied. |
Promotions / HotelPromotions / Promotion / BestDailyDiscount | 1 | Discount | Exactly one of Specifies a daily discount which may be applied to a night of stay. This is in contrast with Each property may have a single group of promotions that are considered "best daily." This means that for each night of stay, the single "best daily" promotion that is eligible and yields the deepest discount for that night is selected and may be applied. |
Promotions / HotelPromotions / Promotion / BestDailyDiscount / @percentage | 0..1 | float | Exactly one of A decimal value from 0-100 which specifies the percentage discount. It is applied to উদাহরণ:
|
Promotions / HotelPromotions / Promotion/ BestDailyDiscount / @fixed_amount | 0..1 | float | Exactly one of A fixed amount to be subtracted from a single উদাহরণ:
|
Promotions / HotelPromotions / Promotion/ BestDailyDiscount / @fixed_price | 0..1 | float | Exactly one of If উদাহরণ:
|
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 | The minimum number of rooms that must be available for the promotion to be applied to the nightly rate. If this isn't specified, there is no minimum. |
Promotions / HotelPromotions / Promotion / InventoryCount / @max | 0..1 | integer | The maximum number of rooms that must be available for the promotion to be applied to the nightly rate. If this isn't specified, there is no maximum. |
Promotions / HotelPromotions / Promotion / LengthOfStay | 0..1 | LengthOfStay | Defines length of stay limits within which this promotion can be applied. The promotion is not applied when length of stay is outside of the min and max limits. |
Promotions / HotelPromotions / Promotion / LengthOfStay / @min | 0..1 | integer | The minimum nights allowed in the stay for the promotion to be applied. If this isn't specified, there is no minimum. |
Promotions / HotelPromotions / Promotion / LengthOfStay / @max | 0..1 | integer | The maximum nights allowed in the stay for the promotion to be applied. If this isn't specified, there is no maximum. |
Promotions / HotelPromotions / Promotion / MembershipRateRule | 0..1 | MembershipRateRule | Container for a membership rate rule that triggers a specific UI treatment for the associated discount. This element should not be specified unless |
Promotions / HotelPromotions / Promotion / MembershipRateRule / @id | 1 | string | ID of the rate rule associated with a membership program. |
Promotions / HotelPromotions / Promotion / MinimumAmount | 0..1 | MinimumAmount | Specifies the minimum sum of the daily room rates (using the larger of AmountBeforeTax or AmountAfterTax ) that must be exceeded for the promotion to be applied. |
Promotions / HotelPromotions / Promotion / MinimumAmount / @before_discount | 1 | integer | The value that must be exceeded for the promotion to be applied. |
Promotions / HotelPromotions / Promotion / Occupancy | 0..1 | Occupancy | Defines restrictions on occupancies for which this promotion is applied. The promotion is not applied when occupancy is outside of the min and max limits. |
Promotions / HotelPromotions / Promotion / Occupancy / @min | 0..1 | integer | The user-specified occupancy must be at least this value in order for the discount to be applied. |
Promotions / HotelPromotions / Promotion / Occupancy / @max | 0..1 | integer | The user-specified occupancy must be at most this value in order for the discount to be applied. |
Promotions / HotelPromotions / Promotion / RatePlans | 0..1 | RatePlans | Container for a list of rate plans to which the promotion applies. If <RatePlans> isn't specified, the promotion applies to all rate plans. |
Promotions / HotelPromotions / Promotion / RatePlans / RatePlan | 1..n | RatePlan | Specifies a rate plan. A rate plan is defined by a combination of package, rates, and availability, as defined in Transaction (Property Data), OTA_HotelRateAmountNotifRQ, and OTA_HotelAvailNotifRQ messages, and as identified by the PackageID. |
Promotions / HotelPromotions / Promotion / RatePlans / RatePlan / @id | 1 | string | The unique identifier for the rate plan. This value maps to the PackageID value in <PackageData> in a Transaction (Property Data) message, and in the RatePlanCode attribute in <StatusApplicationControl> in both <OTA_HotelRateAmountNotifRQ> and <OTA_HotelAvailNotifRQ> messages. The maximum number of characters allowed is 50. |
Promotions / HotelPromotions / Promotion / RoomTypes | 0..1 | RoomTypes | Container for a list of room types to which the promotion applies. The promotion is applied to each <RoomType> specified. If <RoomTypes> isn't specified, the promotion applies to all rooms. |
Promotions / HotelPromotions / Promotion / RoomTypes / RoomType | 1..n | RoomType | Specifies a room type. A room type is defined in a <RoomData> element in a Transaction (Property Data) message and is referenced using its <RoomID> value. (Its <RoomID> value is also referenced by the InvTypeCode attribute in OTA_HotelRateAmountNotifRQ messages.) |
Promotions / HotelPromotions / Promotion / RoomTypes / RoomType / @id | 1 | string | The unique identifier for the inventory (room type). This value maps to <RoomID> in a Transaction (Property Data) message. The maximum number of characters allowed is 50. |
Promotions / HotelPromotions / Promotion / Stacking | 0..1 | Stacking | Specifies how promotions can be combined. If not specified, the "type" is assumed to be base . |
Promotions / HotelPromotions / Promotion / Stacking / @type | 1 | enum | Multiple promotions can be applied to a single rate depending on this setting:
Of the allowed combinations, the set of promotions which yields the largest discount are applied to the rate. |
Promotions / HotelPromotions / Promotion / StayDates | 0..1 | StayDates | A container for one or more date ranges that determine how the promotion is applied, such as to accommodate seasonal discounts. |
Promotions / HotelPromotions / Promotion / StayDates / @application | 1 | enum | Describes how the promotion should be applied. বৈধ মান হল:
This attribute must always be specified.
|
Promotions / HotelPromotions / Promotion / StayDates / DateRange | 1..99 | DateRange | A date range specifying dates when the promotion is to be applied. The YearlessDate format is also supported.
If you want to set |
Promotions / HotelPromotions / Promotion / StayDates / DateRange / @start | 0..1 | Date or YearlessDate | The starting date (based on the property's time zone), inclusive, of the date range. This date must be before, or the same as, the end date. If start isn't specified, the date range is effectively unlimited in terms of a start date. You should specify |
Promotions / HotelPromotions / Promotion / StayDates / 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 from the start date onwards. You should specify |
Promotions / HotelPromotions / Promotion / StayDates / DateRange / @days_of_week | 0..1 | string | The days of the week that are allowed in the date range. If not specified, all days are allowed in the date range. Each character in the string specifies a day. For example, "MTWHF" specifies that weekdays are allowed in the date range. বৈধ অক্ষর হল:
Any character combination is valid. |
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. |
উদাহরণ
সম্পত্তি প্রতি 500টি প্রচারের সীমা রয়েছে। Refer to "Delete one promotion" example to remove promotions from a property.
মৌলিক বার্তা
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:
Element / @Attribute | ঘটনা | টাইপ | বর্ণনা |
---|---|---|---|
PromotionsResponse | 1 | Complex element | The root element indicating the success or issues for a received Promotions request message. |
PromotionsResponse / @timestamp | 1 | DateTime | The creation date and time of this message. |
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>