প্রচার

ওভারভিউ

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

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

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

একটি সম্পত্তি জন্য প্রচার. প্রতিটি প্রচার একটি একক সম্পত্তি প্রযোজ্য.

<Stacking> ব্যবহার না করা হলে, একাধিক প্রচার যোগ্য হলে বুকিং-এ সবচেয়ে বেশি ছাড় সহ প্রচার প্রযোজ্য হয়।

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

নির্দিষ্ট করা হলে, মান অবশ্যই "overlay" হতে হবে। যখন মানটি "overlay" হয়, তখন বর্তমান বার্তায় উল্লেখিত প্রচারগুলি সংরক্ষণ করার আগে সমস্ত সঞ্চিত প্রচারগুলি মুছে ফেলা হয়৷

যদি নির্দিষ্ট করা না থাকে, তাহলে বর্তমান বার্তায় নির্দিষ্ট করা প্রতিটি প্রচার হল:

  • Added (যদি সঞ্চিত প্রচারগুলির কোনোটিরই একই id না থাকে)
  • Updated (যদি একটি সঞ্চিত প্রচারের একই id থাকে)
  • Deleted (যদি একটি সঞ্চিত প্রচারের একই id থাকে এবং বর্তমান বার্তায় উল্লিখিত প্রচারের জন্য action অ্যাট্রিবিউটের মান "delete" হয়)
Promotions / HotelPromotions / Promotion 0..99 Promotion

একটি সম্পত্তি জন্য একটি একক প্রচার. মনে রাখবেন যে action="overlay" এবং একটি <Promotion> উল্লেখ না থাকলে, সম্পত্তির সমস্ত প্রচার মুছে ফেলা হয়।

আপনি যদি 99টির বেশি প্রচার ব্যবহার করতে চান, তাহলে আপনার টেকনিক্যাল অ্যাকাউন্ট ম্যানেজার (TAM) এর সাথে যোগাযোগ করুন।

Promotions / HotelPromotions / Promotion / @id 1 string প্রচারের জন্য একটি অনন্য শনাক্তকারী৷ অনুমোদিত অক্ষরের সর্বাধিক সংখ্যা 40। অনুমোদিত অক্ষর হল az, AZ, 0-9, _ (আন্ডারস্কোর), - (ড্যাশ), এবং। (সময়কাল)।
Promotions /HotelPromotions / Promotion / @action 0..1 enum

নির্দিষ্ট করা হলে, মানটি delete ফেলতে হবে। যদি নির্দিষ্ট না করা হয় এবং একই id সহ একটি প্রচার সংরক্ষণ করা না হয়, তাহলে এই প্রচারটি সংরক্ষণ করা হয়৷ অন্যথায়, যদি নির্দিষ্ট না করা হয় এবং একই id সহ একটি প্রচার সংরক্ষণ করা হয়, তাহলে বিদ্যমান প্রচার আপডেট করা হয়।

delete নির্দিষ্ট করা থাকলে, একই id সহ সঞ্চিত প্রচার মুছে ফেলা হয়। delete ব্যবহার করার সময়, <Promotion> -এ কোনো চাইল্ড উপাদান অন্তর্ভুক্ত করবেন না। এছাড়াও, <HotelPromotions action="overlay"/> এর সাথে delete অনুমতি নেই।

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

শুরুর তারিখ বা তারিখের সময় (সম্পত্তির সময় অঞ্চলের উপর ভিত্তি করে), পরিসরের অন্তর্ভুক্ত।

  • start দ্বারা নির্দিষ্ট করা তারিখ বা তারিখ সময় অবশ্যই end দ্বারা নির্দিষ্ট করা তারিখ বা তারিখ সময়ের চেয়ে আগের (বা একই) হতে হবে।
  • যদি start নির্দিষ্ট করা না থাকে, তাহলে শুরুর সময়ের পরিপ্রেক্ষিতে পরিসর কার্যকরভাবে সীমাহীন।
  • যদি start তারিখ "YYYY-MM-DD" হিসাবে পপুলেট করা হয়, তবে এটি তারিখের সময় "YYYY-MM-DDT00:00:00" হিসাবে ব্যাখ্যা করা হয়।
Promotions / HotelPromotions / Promotion / BookingDates / DateRange / @end 0..1 Date বা DateTime

সমাপ্তির তারিখ বা তারিখের সময় (সম্পত্তির সময় অঞ্চলের উপর ভিত্তি করে), ব্যাপ্তির অন্তর্ভুক্ত।

  • end দ্বারা নির্দিষ্ট করা তারিখ বা তারিখ সময় অবশ্যই start দ্বারা নির্দিষ্ট করা তারিখ বা তারিখের পরে (বা একই) হতে হবে।
  • যদি end নির্দিষ্ট করা না থাকে, তাহলে শেষ সময়ের পরিপ্রেক্ষিতে পরিসীমা কার্যকরভাবে সীমাহীন।
  • end তারিখ "YYYY-MM-DD" হিসাবে প্রদান করা হলে, এটি তারিখের সময় "YYYY-MM-DDT23:59:59" হিসাবে ব্যাখ্যা করা হয়।
Promotions / HotelPromotions / Promotion / BookingDates / DateRange / @days_of_week 0..1 string

সপ্তাহের যে দিনগুলি তারিখের ব্যাপ্তিতে অনুমোদিত৷ যদি নির্দিষ্ট না করা হয়, তারিখ পরিসরে সমস্ত দিন অনুমোদিত। স্ট্রিংয়ের প্রতিটি অক্ষর একটি দিন নির্দিষ্ট করে। উদাহরণস্বরূপ, "MTWHF" নির্দিষ্ট করে যে সপ্তাহের দিনগুলি তারিখ সীমার মধ্যে অনুমোদিত৷

বৈধ অক্ষর হল:

  • সোমবারের জন্য M
  • মঙ্গলবারের জন্য T
  • বুধবারের জন্য W
  • বৃহস্পতিবারের জন্য H
  • শুক্রবারের জন্য F
  • শনিবারের জন্য S
  • রবিবারের জন্য U

যেকোনো অক্ষর সমন্বয় বৈধ।

Promotions / HotelPromotions / Promotion / BookingWindow 0..1 BookingWindow চেক-ইন তারিখের (প্রপার্টির টাইম জোনের উপর ভিত্তি করে) সাপেক্ষে বুকিং করার সময়কাল নির্দিষ্ট করে। উদাহরণস্বরূপ, বুকিং উইন্ডোটি কমপক্ষে 7 দিন সেট করা যেতে পারে, তবে চেক-ইন করার আগে 180 দিনের বেশি নয়।
Promotions / HotelPromotions / Promotion / BookingWindow / @min 0..1 integer or duration প্রচারের আবেদন করার জন্য বুকিং করার সময় চেক-ইন করার পূর্বে ন্যূনতম সময়কাল। যদি এটি নির্দিষ্ট করা না থাকে, বা এর মান 0 হয়, তাহলে কোনো ন্যূনতম নেই।

বৈধ মান প্রকারগুলি হল:

  • পূর্ণসংখ্যা: চেক-ইন তারিখের আগের দিনের সংখ্যা। উদাহরণস্বরূপ, 30 এর মান নির্দেশ করে যে প্রচারটি শুধুমাত্র চেক-ইন তারিখের কমপক্ষে 30 দিন আগে বুকিংয়ের ক্ষেত্রে প্রযোজ্য।
  • ISO 8601 সময়কাল (দিন, ঘন্টা এবং মিনিট): চেক-ইন তারিখের আগে দিনের সংখ্যা (এবং ঐচ্ছিকভাবে ঘন্টা/মিনিট)। উদাহরণস্বরূপ, P30D এর একটি মান নির্দেশ করে যে প্রচারটি শুধুমাত্র চেক-ইন তারিখের কমপক্ষে 30 দিন আগে বুকিংয়ের ক্ষেত্রে প্রযোজ্য। P30DT6H মূল্যের জন্য আগমনের 30 তম দিনে 18:00 বা তার আগে বুকিং করতে হবে।
Promotions / HotelPromotions / Promotion / BookingWindow / @max 0..1 integer or duration প্রচারের আবেদন করার জন্য বুকিং করার সময় চেক-ইন করার আগে সর্বাধিক সংখ্যক দিন। যদি এটি নির্দিষ্ট করা না থাকে, বা এর মান 0 হয়, তাহলে সর্বোচ্চ নেই।

বৈধ মান প্রকারগুলি হল:

  • পূর্ণসংখ্যা: চেক-ইন তারিখের আগের দিনের সংখ্যা। উদাহরণস্বরূপ, 30 এর মান নির্দেশ করে যে প্রচারটি চেক-ইন তারিখের সর্বাধিক 30 দিন আগে বুকিংয়ের ক্ষেত্রে প্রযোজ্য।
  • ISO 8601 সময়কাল (দিন, ঘন্টা এবং মিনিট): চেক-ইন তারিখের আগে দিনের সংখ্যা (এবং ঐচ্ছিকভাবে ঘন্টা/মিনিট)। উদাহরণস্বরূপ, P30D এর একটি মান নির্দেশ করে যে প্রচারটি শুধুমাত্র চেক-ইন তারিখের সর্বাধিক 30 দিন আগে বুকিংয়ের ক্ষেত্রে প্রযোজ্য। P30DT6H মূল্যের জন্য আগমনের আগে 30 তম দিনে 18:00 বা তার পরে বুকিং করতে হবে।
Promotions / HotelPromotions / Promotion / Ceiling 0..1 Ceiling

প্রচারগুলি প্রয়োগ করার পরে একটি হার যে সর্বোচ্চ মানের উপর সেট করা যেতে পারে তার উপর সীমাবদ্ধতা সংজ্ঞায়িত করে।

প্রচারগুলিতে সর্বদা একটি <Discount> বা একটি <BestDailyDiscount> উল্লেখ করতে হবে, তাই একটি প্রচার তৈরি করতে যা শুধুমাত্র একটি <Ceiling> প্রযোজ্য, একটি বিকল্প হল 0 percentage সাথে একটি <Discount> সেট করা।

যদি স্ট্যাকিং কনফিগার করা থাকে, তাহলে <Ceiling> সহ একাধিক প্রচার একক থাকার জন্য প্রযোজ্য হতে পারে। প্রতিটি প্রচার তার ছাড় প্রয়োগ করবে, অবিলম্বে তার সিলিং অনুসরণ করবে। নিম্নলিখিত উদাহরণটি দেখায় কিভাবে প্রতিটি সিলিং স্ট্যাকের পরবর্তী প্রচার গণনায় অবদান রাখে।

উদাহরণ:

1-রাত্রি থাকার মূল্য নির্ধারণ করা যেখানে AmountBeforeTax 100 এবং দুটি প্রচারের স্ট্যাক রয়েছে:

  1. স্ট্যাকিং টাইপ base সহ প্রচার , 25 এর একটি fixed_amount এবং 60 এর একটি সিলিং amount_per_night
  2. স্ট্যাকিং টাইপ second , 25 এর fixed_amount এবং 90 এর একটি সিলিং amount_per_night সহ প্রচার

এখানে গণনার ক্রম:

  1. base প্রমোশনটি প্রথমে প্রয়োগ করা হয় এবং 75 AmountBeforeTax ছাড় দেওয়া হয়, কিন্তু তারপর সিলিং এটিকে 60 -এ নামিয়ে দেয়।
  2. second প্রচারটি 60 থেকে 35 পর্যন্ত AmountBeforeTax ছাড় দেয়। এটি 90-এর সিলিং-এর নিচে তাই দ্বিতীয় সিলিং প্রয়োগ করা হয় না। চূড়ান্ত হার হল 35

সত্য যে 60 একটি কঠোর সামগ্রিক সিলিং অপ্রাসঙ্গিক কারণ এটি শুধুমাত্র তার নিজস্ব প্রচারের জন্য বৈধ, এবং সম্পূর্ণ প্রচার স্ট্যাককে বিস্তৃত করে এমন কোনো একক সিলিং থাকতে পারে না।

Promotions / HotelPromotions / Promotion / Ceiling / @amount_per_night 1 float

ডিসকাউন্ট প্রযোজ্য হওয়ার পরে সর্বোচ্চ যে পরিমাণ রাত্রিকালীন রেট সেট করা যেতে পারে।

যদি একটি <Floor> উপাদানও নির্দিষ্ট করা থাকে, তাহলে এটি অবশ্যই <Floor> -এর amount_per_night বৈশিষ্ট্যের চেয়ে বেশি বা সমান একটি মান সেট করতে হবে।

রাত্রিকালীন হারে AmountAfterTax ব্যবহার করে অন্তর্ভুক্ত করা হলে ট্যাক্স এবং ফিগুলিতে amount_per_night প্রয়োগ করা হয়, কিন্তু TaxFeeInfo ব্যবহার করে নির্দিষ্ট করা নয়।

Promotions / HotelPromotions / Promotion / Floor 0..1 Floor

ন্যূনতম মানের উপর বিধিনিষেধ সংজ্ঞায়িত করে যা প্রচারগুলি প্রয়োগ করার পরে একটি হার সেট করা যেতে পারে৷

প্রচারগুলিতে সর্বদা একটি <Discount> বা একটি <BestDailyDiscount> উল্লেখ করতে হবে, তাই একটি প্রচার তৈরি করতে যা শুধুমাত্র একটি <Floor> প্রযোজ্য, একটি বিকল্প হল 0 percentage সাথে একটি <Discount> সেট করা।

<Floor> যুক্তি এখনও <FreeNights> ডিসকাউন্টের ক্ষেত্রে প্রযোজ্য, এমনকি যদি বিনামূল্যের রাতের উপর 100% ডিসকাউন্ট প্রয়োগ করা হয়।

যদি স্ট্যাকিং কনফিগার করা থাকে, তাহলে <Floor> সহ একাধিক প্রচার একক থাকার জন্য প্রযোজ্য হতে পারে। প্রতিটি প্রচার তার ডিসকাউন্ট প্রয়োগ করবে, অবিলম্বে তার ফ্লোর অনুসরণ করবে। নিম্নলিখিত উদাহরণটি দেখায় কিভাবে প্রতিটি ফ্লোর স্ট্যাকের পরবর্তী প্রচার গণনায় অবদান রাখে।

উদাহরণ:

1-রাত্রি থাকার মূল্য নির্ধারণ করা যেখানে AmountBeforeTax 100 এবং দুটি প্রচারের স্ট্যাক রয়েছে:

  1. স্ট্যাকিং টাইপ base সহ প্রচার, 25 এর একটি fixed_amount এবং ফ্লোর amount_per_night 90
  2. স্ট্যাকিং টাইপ second সহ প্রচার, 25 এর fixed_amount এবং ফ্লোর amount_per_night 60

এখানে গণনার ক্রম:

  1. base প্রমোশনটি প্রথমে প্রয়োগ করা হয় এবং AmountBeforeTax 75-এ ছাড় দেয়, কিন্তু তারপর ফ্লোর এটিকে 90 পর্যন্ত বাড়িয়ে দেয়।
  2. second প্রচারটি 90 থেকে 65 পর্যন্ত AmountBeforeTax ছাড় দেয়। এটি 60 ফ্লোরের উপরে তাই দ্বিতীয় তলায় প্রয়োগ করা হয় না। চূড়ান্ত হার হল 65

সত্য যে 90 একটি কঠোর সামগ্রিক ফ্লোর অপ্রাসঙ্গিক কারণ এটি শুধুমাত্র তার নিজস্ব প্রচারের জন্য বৈধ, এবং এমন কোনও একক তল থাকতে পারে না যা সমগ্র প্রচারের স্ট্যাককে বিস্তৃত করে৷

Promotions / HotelPromotions / Promotion / Floor / @amount_per_night 1 float

ডিসকাউন্ট প্রযোজ্য হওয়ার পরে ন্যূনতম পরিমাণ যা একটি রাতের হারে সেট করা যেতে পারে।

যদি একটি <Ceiling> উপাদানও নির্দিষ্ট করা হয়, তাহলে এটি অবশ্যই <Ceiling> -এর amount_per_night বৈশিষ্ট্যের চেয়ে কম বা সমান একটি মান সেট করতে হবে।

রাত্রিকালীন হারে AmountAfterTax ব্যবহার করে অন্তর্ভুক্ত করা হলে ট্যাক্স এবং ফিগুলিতে amount_per_night প্রয়োগ করা হয়, কিন্তু TaxFeeInfo ব্যবহার করে নির্দিষ্ট করা নয়।

Promotions / HotelPromotions / Promotion / CheckinDates 0..1 CheckinDates এক বা একাধিক তারিখের সীমার জন্য একটি ধারক যা প্রচারের জন্য কখন চেক-ইন করতে হবে তা নির্ধারণ করে৷
Promotions / HotelPromotions / Promotion / CheckinDates / DateRange 1..20 DateRange

প্রচারের জন্য কখন চেক-ইন করতে হবে তা নির্দিষ্ট করে একটি তারিখ ব্যাপ্তি। আপনি এক বা একাধিক প্রচার মুছে ফেললে এই উপাদানটির প্রয়োজন নেই৷

ইয়ারলেস ডেট ফরম্যাটও সমর্থিত।

  • যদি start বা end যেকোন একটি বছরবিহীন তারিখ হয়, তাহলে উভয়কেই বর্ষবিহীন তারিখ হিসেবে গণনা করতে হবে।
  • বছরহীন তারিখ ব্যাপ্তি নতুন বছরের চারপাশে আবৃত করা উচিত নয়. পরিবর্তে, দুটি সন্নিহিত তারিখ ব্যাপ্তি হিসাবে ব্যাপ্তি উপস্থাপন করুন৷ উদাহরণস্বরূপ, {"12-29", "01-05"} কে {"12-29", "12-31"} এবং {"01-01", "01-05"} হিসাবে উপস্থাপন করা যেতে পারে।
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" নির্দিষ্ট করে যে সপ্তাহের দিনগুলি তারিখ সীমার মধ্যে অনুমোদিত৷

বৈধ অক্ষর হল:

  • সোমবারের জন্য M
  • মঙ্গলবারের জন্য T
  • বুধবারের জন্য W
  • বৃহস্পতিবারের জন্য H
  • শুক্রবারের জন্য F
  • শনিবারের জন্য S
  • রবিবারের জন্য U

যেকোনো অক্ষর সমন্বয় বৈধ।

Promotions / HotelPromotions / Promotion / CheckoutDates 0..1 CheckoutDates এক বা একাধিক তারিখের সীমার জন্য একটি ধারক যা প্রচারের জন্য কখন চেক-আউট করতে হবে তা নির্ধারণ করে৷
Promotions / HotelPromotions / Promotion / CheckoutDates / DateRange 1..20 DateRange

প্রচারের জন্য কখন চেক-আউট করতে হবে তা নির্দিষ্ট করে একটি তারিখ ব্যাপ্তি। আপনি এক বা একাধিক প্রচার মুছে ফেললে এই উপাদানটির প্রয়োজন নেই৷

ইয়ারলেস ডেট ফরম্যাটও সমর্থিত।

  • যদি start বা end যেকোন একটি বছরবিহীন তারিখ হয়, তাহলে উভয়কেই বর্ষবিহীন তারিখ হিসেবে গণনা করতে হবে।
  • বছরহীন তারিখ ব্যাপ্তি নতুন বছরের চারপাশে আবৃত করা উচিত নয়. পরিবর্তে, দুটি সন্নিহিত তারিখ ব্যাপ্তি হিসাবে ব্যাপ্তি উপস্থাপন করুন৷ উদাহরণস্বরূপ, {"12-29", "01-05"} কে {"12-29", "12-31"} এবং {"01-01", "01-05"} হিসাবে উপস্থাপন করা যেতে পারে।
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" নির্দিষ্ট করে যে সপ্তাহের দিনগুলি তারিখ সীমার মধ্যে অনুমোদিত৷

বৈধ অক্ষর হল:

  • সোমবারের জন্য M
  • মঙ্গলবারের জন্য T
  • বুধবারের জন্য W
  • বৃহস্পতিবারের জন্য H
  • শুক্রবারের জন্য F
  • শনিবারের জন্য S
  • রবিবারের জন্য U

যেকোনো অক্ষর সমন্বয় বৈধ।

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

Discount বা BestDailyDiscount এর মধ্যে ঠিক একটি নির্দিষ্ট করতে হবে।

এই প্রচারের জন্য আবেদন করতে ডিসকাউন্ট নির্দিষ্ট করে।

Promotions / HotelPromotions / Promotion / Discount / @percentage 0..1 float

percentage , fixed_amount , fixed_amount_per_night , fixed_price , বা fixed_price_per_night মধ্যে একটি প্রয়োজন৷

0-100 থেকে একটি দশমিক মান যা শতাংশ ছাড় নির্দিষ্ট করে। এটি AmountAfterTax (বা AmountAfterTax নির্দিষ্ট না থাকলে AmountBeforeTax ) এ প্রয়োগ করা হয়।

উদাহরণ:

  • যদি AmountAfterTax হয় 100 এবং percentage 20 হয়, তাহলে

    প্রচারের হার = AmountAfterTax * (1 - শতাংশ ছাড়)

    80.00 = 100 * (1 - 0.2)

  • যদি AmountBeforeTax 100 হয়, percentage হয় 20 এবং TaxFeeInfo 10 এর ট্যাক্স নির্দিষ্ট করে, তাহলে

    প্রমোশন রেট = AmountBeforeTax * (1 - শতাংশ ছাড়) + ট্যাক্স

    90.00 = 100 * (1 - 0.2) + 10

Promotions / HotelPromotions / Promotion / Discount / @fixed_amount 0..1 float

percentage , fixed_amount , fixed_amount_per_night , fixed_price , বা fixed_price_per_night মধ্যে একটি প্রয়োজন৷

AmountAfterTax রাত্রিকালীন হারের যোগফল থেকে একটি নির্দিষ্ট পরিমাণ বিয়োগ করতে হবে (অথবা AmountBeforeTax AmountAfterTax না থাকলে রাত্রিকালীন মূল্যের পরিমাণের যোগফল)। এটি রাতের হারের মতো একই মুদ্রায় বলে ধরে নেওয়া হয়। যদি এটি রাত্রিকালীন হারের যোগফলের চেয়ে বড় হয়, তাহলে ফলাফলের মান শূন্য হয়।

উদাহরণ:

  • আমরা যদি ১ রাত থাকার জন্য মূল্য নির্ধারণ করি যেখানে AmountBeforeTax হল 90, AmountAfterTax হল 100 এবং fixed_amount হল 20, তাহলে

    প্রচারের হার = AmountAfterTax - নির্দিষ্ট ছাড়

    80.00 = 100 - 20

  • যদি আমরা 1-রাত্রি থাকার মূল্য নির্ধারণ করি যেখানে AmountBeforeTax হল 100, fixed_amount হল 20 এবং TaxFeeInfo 8% ট্যাক্স নির্দিষ্ট করে, তাহলে

    প্রচারের হার = ( AmountBeforeTax - নির্দিষ্ট ছাড়) * (1 + শতাংশ ট্যাক্স)

    86.40 = (100 - 20) * 1.08

  • যদি আমরা 1-রাত্রি থাকার মূল্য নির্ধারণ করি যেখানে AmountBeforeTax 50, fixed_amount 60 এবং TaxFeeInfo 10 ট্যাক্স নির্দিষ্ট করে, তাহলে

    প্রচারের হার = ( AmountBeforeTax - নির্দিষ্ট ডিসকাউন্ট) * ট্যাক্স

    10.00 = 0 + 10

  • যদি আমরা 3-রাত থাকার মূল্য নির্ধারণ করি যেখানে AmountAfterTax এর মান 100, 110 এবং 120 হয়; এবং fixed_amount হল 150, তারপর

    প্রচারের হার = যোগফল ( AmountAfterTax ) - (নির্দিষ্ট ছাড়)

    180.00 = (100 + 110 + 120) - 150

Promotions / HotelPromotions / Promotion / Discount / @fixed_amount_per_night 0..1 float

percentage , fixed_amount , fixed_amount_per_night , fixed_price , বা fixed_price_per_night মধ্যে একটি প্রয়োজন৷

AmountAfterTax রাত্রিকালীন রেটগুলির প্রতিটিতে একটি নির্দিষ্ট ডিসকাউন্ট প্রযোজ্য (অথবা applied_nights নির্দিষ্ট করা থাকলে সবচেয়ে সস্তা N)। যদি AmountAfterTax নির্দিষ্ট করা না থাকে, তাহলে এটি AmountBeforeTax এ প্রয়োগ করা হয়। এটি রাতের হারের মতো একই মুদ্রায় বলে ধরে নেওয়া হয়। যদি fixed_amount_per_night একটি রাত্রিকালীন হারের চেয়ে বড় হয়, তবে সেই রাতের হার শূন্য হিসাবে হ্রাস করা হয়—ছাড় রাতের হারকে নেতিবাচক হতে পারে না।

উদাহরণ:

  • যদি আমরা 3-রাত থাকার মূল্য নির্ধারণ করি যেখানে AmountAfterTax এর মান 100, 110 এবং 120 হয়; এবং fixed_amount_per_night 10, তারপর

    প্রচারের হার = যোগফল ( AmountBeforeTax - নির্দিষ্ট পরিমাণ ছাড়)

    300.00 = ((100 - 10) + (110 - 10) + (120 - 10))

  • যদি আমরা 3-রাত থাকার মূল্য নির্ধারণ করি যেখানে AmountAfterTax এর মান 10, 50, এবং 100 হয়; এবং fixed_amount_per_night 20, তারপর

    প্রচারের হার = যোগফল ( AmountAfterTax - নির্দিষ্ট পরিমাণ ছাড়)

    110.00 = (0 + (50 - 20) + (100 - 20))

Promotions / HotelPromotions / Promotion / Discount / @fixed_price 0..1 float

percentage , fixed_amount , fixed_amount_per_night , fixed_price , বা fixed_price_per_night মধ্যে একটি প্রয়োজন৷

যদি AmountAfterTax রাত্রিকালীন রেট নির্দিষ্ট করা থাকে, তাহলে এটি নির্দিষ্ট মূল্যে ট্যাক্স এবং ফি সহ থাকার জন্য মূল্য নির্ধারণ করে। যদি AmountBeforeTax নির্দিষ্ট করা থাকে, তাহলে AmountAfterTax নির্দিষ্ট করা হোক বা না হোক, এটি নির্দিষ্ট মানের সাথে থাকার জন্য প্রি-ট্যাক্স মূল্য সেট করে। এটি রাতের হারের মতো একই মুদ্রায় বলে ধরে নেওয়া হয়।

যদি AmountAfterTax একটি শতাংশ ট্যাক্স প্রতিফলিত করার উদ্দেশ্যে হয়, তাহলে AmountBeforeTax জন্য একটি নির্দিষ্ট মূল্য নির্ধারণের ফলে ভুল ট্যাক্স এবং ফি হতে পারে। সাধারণভাবে, একটি সম্পত্তির কর এবং ফি নির্দিষ্ট করতে TaxFeeInfo ব্যবহার করার জন্য দৃঢ়ভাবে সুপারিশ করা হয়।

উদাহরণ:

  • যদি আমরা 1-রাত্রি থাকার মূল্য নির্ধারণ করি যেখানে AmountBeforeTax 90, AmountAfterTax হল 100 এবং fixed_price 80, তাহলে প্রচারের হার 80।
  • যদি আমরা 1-রাত্রি থাকার মূল্য নির্ধারণ করি যেখানে AmountBeforeTax হল 100, fixed_amount হল 80, এবং TaxFeeInfo 8% ট্যাক্স নির্দিষ্ট করে, তাহলে

    প্রচারের হার = নির্দিষ্ট মূল্য * (1 + শতাংশ ট্যাক্স)

    86.40 = 80 * 1.08

  • যদি আমরা 3-রাত থাকার মূল্য নির্ধারণ করি যেখানে AmountAfterTax এর মান 100, 110 এবং 120 হয়; এবং fixed_amount হল 300, তাহলে

    প্রচারের হার = 300

Promotions / HotelPromotions / Promotion / Discount / @fixed_price_per_night 0..1 float

percentage , fixed_amount , fixed_amount_per_night , fixed_price , বা fixed_price_per_night মধ্যে একটি প্রয়োজন৷

যদি AmountAfterTax রাত্রিকালীন রেট নির্দিষ্ট করা থাকে, তাহলে এটি ট্যাক্স এবং ফি সহ প্রতিটি রাতের থাকার মূল্য নির্দিষ্ট মূল্যে সেট করে। যদি AmountBeforeTax নির্দিষ্ট করা থাকে, তাহলে AmountAfterTax নির্দিষ্ট করা হোক বা না হোক, এটি নির্দিষ্ট মূল্যে থাকার প্রতিটি রাতের জন্য প্রি-ট্যাক্স মূল্য সেট করে। এটি রাতের হারের মতো একই মুদ্রায় বলে ধরে নেওয়া হয়।

যদি AmountAfterTax একটি শতাংশ ট্যাক্স প্রতিফলিত করার উদ্দেশ্যে হয়, তাহলে AmountBeforeTax জন্য একটি নির্দিষ্ট মূল্য নির্ধারণের ফলে ভুল ট্যাক্স এবং ফি হতে পারে। সাধারণভাবে, একটি সম্পত্তির কর এবং ফি নির্দিষ্ট করতে TaxFeeInfo ব্যবহার করার জন্য দৃঢ়ভাবে সুপারিশ করা হয়।

যদি applied_nights নির্দিষ্ট করা হয়, তাহলে নতুন মূল্য সবচেয়ে সস্তা N রাতের জন্য প্রয়োগ করা হয়।

উদাহরণ:

  • যদি আমরা 2-রাত থাকার মূল্য নির্ধারণ করি যেখানে AmountBeforeTax এর মান 90, 90; AmountAfterTax মান হল 100, 100; এবং fixed_price হল 80, তারপর প্রচারের হার হল 80 + 80 = 160৷
  • যদি আমরা 2-রাত থাকার মূল্য নির্ধারণ করি যেখানে AmountBeforeTax হল 100, 100; fixed_amount হল 80, এবং TaxFeeInfo 8% ট্যাক্স নির্দিষ্ট করে, তারপর প্রচারের হার হল (80 + 80) * 1.08 = 172.8।
  • যদি আমরা 3-রাত থাকার মূল্য নির্ধারণ করি যেখানে AmountAfterTax এর মান 100, 110 এবং 120 হয়; এবং fixed_amount হল 110, তারপর প্রচারের হার হল 110 * 3 = 330৷
Promotions / HotelPromotions / Promotion / Discount / @applied_nights 0..1 integer

এটি শুধুমাত্র percentage বা fixed_amount_per_night এর সাথে ব্যবহার করা উচিত।

সবচেয়ে কম ব্যয়বহুল থেকে শুরু করে যত রাতের জন্য ছাড় প্রয়োগ করা হয়েছে। 1 থেকে 99 পর্যন্ত একটি পূর্ণসংখ্যা হতে হবে। যদি নির্দিষ্ট না করা হয়, তাহলে সমস্ত রাতের জন্য ছাড় প্রয়োগ করা হয়।

Promotions / HotelPromotions / Promotion / Discount / FreeNights 0..1 FreeNights একটি ন্যূনতম থাকার দৈর্ঘ্য পূরণ হলে একটি থাকার নির্দিষ্ট রাতে একটি ডিসকাউন্ট নির্দিষ্ট করে। এই উপাদানটি ব্যবহার করা হলে প্যারেন্ট Discount উপাদানের বৈশিষ্ট্যগুলি অনুমোদিত নয়৷
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @stay_nights 1 integer

ডিসকাউন্ট প্রয়োগ করার জন্য প্রয়োজনীয় রাতের সংখ্যা। প্রতিটি ডিসকাউন্ট থাকার রাতের একটি পৃথক বিভাগে প্রয়োগ করা হয়।

উদাহরণস্বরূপ, 10-রাত্রি থাকার জন্য যেখানে stay_nights 4 (এবং repeats সত্য), তারপরে দুটি রাত্রি বিভাগ রয়েছে: 1ম থেকে 4র্থ রাত এবং 5ম থেকে 8ম রাত পর্যন্ত; 9 তম এবং 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

ডিসকাউন্ট একাধিক রাত থাকার সেগমেন্টে প্রযোজ্য হতে পারে কিনা। যদি false হয়, তবে ভ্রমণপথের শুরুতে শুধুমাত্র রাত্রিযাপনের অংশ ছাড় দেওয়া হয়। যদি true , তাহলে রাতের যে কোনো সেগমেন্টে ছাড় দেওয়া হয়।

উদাহরণস্বরূপ, যদি stay_nights হয় 4 এবং ভ্রমণসূচীটি 10 ​​রাত হয়, তাহলে, যদি repeats true হয়, তাহলে 2টি সেগমেন্ট ছাড় দেওয়া হয় (রাত 1-4 এবং রাত 5-8); কিন্তু, যদি repeats false হয়, তবে শুধুমাত্র 1টি সেগমেন্ট ছাড় দেওয়া হয় (রাত 1-4)।

Promotions / HotelPromotions / Promotion / Discount / @rank 0..1 integer এই প্রচারটিকে একটি র‌্যাঙ্ক বরাদ্দ করে এবং এটিকে র‌্যাঙ্ক করা নির্বাচনে বেছে নেয়, যেখানে শুধুমাত্র সর্বনিম্ন র‌্যাঙ্কের প্রচারটি প্রয়োগ করার জন্য নির্বাচন করা হয়। মানগুলি অবশ্যই 1 এবং 99 এর মধ্যে হতে হবে, অন্তর্ভুক্ত। যদি একাধিক প্রচার একই র‌্যাঙ্ক শেয়ার করে, তাহলে একজনকে ইচ্ছামত নির্বাচন করে প্রয়োগ করা হয়।
Promotions / HotelPromotions / Promotion / BestDailyDiscount 1 Discount

Discount বা BestDailyDiscount এর মধ্যে ঠিক একটি নির্দিষ্ট করতে হবে।

একটি দৈনিক ডিসকাউন্ট নির্দিষ্ট করে যা একটি রাত থাকার জন্য প্রযোজ্য হতে পারে। এটি Discount বিপরীতে, যা সম্পূর্ণ থাকার জন্য ডিসকাউন্ট প্রযোজ্য।

প্রতিটি সম্পত্তির প্রচারের একটি একক গ্রুপ থাকতে পারে যেগুলিকে "সর্বোত্তম দৈনিক" হিসাবে বিবেচনা করা হয়। এর মানে হল যে প্রতিটি রাত থাকার জন্য, একক "সর্বোত্তম দৈনিক" প্রচার যা যোগ্য এবং সেই রাতের জন্য গভীরতম ছাড় দেয় তা নির্বাচন করা হয়েছে এবং প্রয়োগ করা যেতে পারে৷

Stacking BestDailyDiscount দিয়ে নির্দিষ্ট করা যেতে পারে। এটি base বা none সেট করা আবশ্যক। কনফিগার করা স্ট্যাকিং টাইপকে সম্মান করার সময় প্রতিটি রাতের জন্য গভীরতম ডিসকাউন্ট প্রদানকারী "সর্বোত্তম দৈনিক" ডিসকাউন্টগুলিকে একত্রিত করা হয় এবং একক থাকার ডিসকাউন্ট (যেমন Discount ) হিসাবে বিবেচনা করা হয়। এই সম্মিলিত ছাড়ের সাথে তুলনা করা হয়, এবং অন্যান্য যোগ্য <ডিসকাউন্ট> প্রচারের সাথে স্ট্যাক করা যেতে পারে যেটি সবচেয়ে গভীর ছাড় প্রদান করে এমন একটি বা সংমিশ্রণ খুঁজে পেতে। হয় BestDailyDiscount এর সংমিশ্রণ বা একটি একক Discount , যেটি কম দামে পাওয়া যায়, base স্ট্যাকিং টাইপের জন্য বেছে নেওয়া হয় এবং প্রয়োগ করা হয়।

StayDates এই ধরণের ছাড়ের সাথে নির্দিষ্ট করা যেতে পারে, তবে application অবশ্যই overlap করতে সেট করতে হবে৷

.
Promotions / HotelPromotions / Promotion / BestDailyDiscount / @percentage 0..1 float

percentage , fixed_amount , বা fixed_price মধ্যে ঠিক একটি প্রয়োজন।

0-100 থেকে একটি দশমিক মান যা শতাংশ ছাড় নির্দিষ্ট করে। এটি AmountAfterTax (বা AmountAfterTax নির্দিষ্ট না থাকলে AmountBeforeTax ) এ প্রয়োগ করা হয়।

উদাহরণ:

  • যদি একটি রাত থাকার জন্য AmountAfterTax হয় 100 এবং percentage 20 হয়, তাহলে

    প্রচারের হার = AmountAfterTax * (1 - শতাংশ ছাড়)

    80.00 = 100 * (1 - 0.2)

  • যদি এক সময় থাকার জন্য AmountBeforeTax হয় 100, percentage হয় 20 এবং TaxFeeInfo 10 ট্যাক্স নির্দিষ্ট করে, তাহলে

    প্রমোশন রেট = AmountBeforeTax * (1 - শতাংশ ছাড়) + ট্যাক্স

    90.00 = 100 * (1 - 0.2) + 10

Promotions / HotelPromotions / Promotion/ BestDailyDiscount / @fixed_amount 0..1 float

percentage , fixed_amount , বা fixed_price মধ্যে ঠিক একটি প্রয়োজন।

একক AmountAfterTax রাত্রিকালীন হার থেকে একটি নির্দিষ্ট পরিমাণ বিয়োগ করতে হবে (অথবা AmountBeforeTax AmountAfterTax না থাকলে রাত্রিকালীন মূল্যের মূল্য)। এটি রাতের হারের মতো একই মুদ্রায় বলে ধরে নেওয়া হয়। যদি এটি রাত্রিকালীন হারের যোগফলের চেয়ে বড় হয়, তাহলে ফলাফলের মান শূন্য হয়।

উদাহরণ:

  • যদি এক রাতের জন্য AmountBeforeTax হয় 90, AmountAfterTax হয় 100, এবং fixed_amount হয় 20, তাহলে

    প্রচারের হার = AmountAfterTax - নির্দিষ্ট ছাড়

    80.00 = 100 - 20

  • যদি এক রাতের জন্য AmountBeforeTax হয় 100, fixed_amount হয় 20, এবং TaxFeeInfo 8% ট্যাক্স নির্দিষ্ট করে, তাহলে

    প্রচারের হার = ( AmountBeforeTax - নির্দিষ্ট ছাড়) * (1 + শতাংশ ট্যাক্স)

    86.40 = (100 - 20) * 1.08

Promotions / HotelPromotions / Promotion/ BestDailyDiscount / @fixed_price 0..1 float

percentage , fixed_amount , বা fixed_price মধ্যে ঠিক একটি প্রয়োজন।

যদি AmountAfterTax রাত্রিকালীন রেট নির্দিষ্ট করা থাকে, তাহলে এটি ট্যাক্স এবং ফি সহ রাতের থাকার মূল্য নির্দিষ্ট মানের সাথে সেট করে। যদি AmountBeforeTax নির্দিষ্ট করা থাকে, তাহলে AmountAfterTax নির্দিষ্ট করা হোক বা না হোক, এটি নির্দিষ্ট মানের সাথে থাকার জন্য প্রি-ট্যাক্স মূল্য সেট করে। এটি রাতের হারের মতো একই মুদ্রায় বলে ধরে নেওয়া হয়।

উদাহরণ:

  • যদি এক রাতের জন্য AmountBeforeTax হয় 90, AmountAfterTax হয় 100, এবং fixed_price 80 হয়, তাহলে প্রচারের হার হবে 80।
  • যদি এক রাতের জন্য AmountBeforeTax হয় 100, fixed_amount হয় 80, এবং TaxFeeInfo 8% ট্যাক্স নির্দিষ্ট করে, তাহলে

    প্রচারের হার = নির্দিষ্ট মূল্য * (1 + শতাংশ ট্যাক্স)

    86.40 = 80 * 1.08

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 চিকিত্সা ট্রিগার করে।

এই উপাদানটি নির্দিষ্ট করা উচিত নয় যদি না <Discount> ও নির্দিষ্ট করা হয়।

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

এই সেটিং এর উপর নির্ভর করে একক হারে একাধিক প্রচার প্রয়োগ করা যেতে পারে:

  • any : অন্য কোনো প্রচারের সাথে একত্রিত করা যেতে পারে ( none ছাড়া), কিন্তু যে ক্রমানুসারে প্রচারগুলি প্রয়োগ করা হবে তার নিশ্চয়তা নেই৷
  • base : সেরা যোগ্য base প্রচার নির্বাচন করা হয় এবং প্রথমে অন্য প্রচারের আগে প্রয়োগ করা হয়। এটিকে পূর্বে base_only নামকরণ করা হয়েছিল।
  • second : base প্রমোশনের পরে (যদি প্রযোজ্য হয়) এবং any প্রচারের আগে সেরা যোগ্য second পদোন্নতি নির্বাচন করা হয় এবং প্রয়োগ করা হয়।
  • none : অন্য প্রচারের সাথে একত্রিত করা যাবে না

অনুমোদিত সংমিশ্রণগুলির মধ্যে, প্রচারগুলির সেট যা সবচেয়ে বেশি ছাড় দেয় তা হারে প্রয়োগ করা হয়।

Promotions / HotelPromotions / Promotion / StayDates 0..1 StayDates এক বা একাধিক তারিখের সীমার জন্য একটি কন্টেইনার যা নির্ধারণ করে যে কীভাবে প্রচারটি প্রয়োগ করা হবে, যেমন মৌসুমী ছাড় মিটমাট করা।
Promotions / HotelPromotions / Promotion / StayDates / @application 1 enum

কিভাবে পদোন্নতি প্রয়োগ করা উচিত তা বর্ণনা করে।

বৈধ মান হল:

  • all : ভ্রমণসূচীর প্রতিটি রাতে প্রচার প্রযোজ্য যদি ভ্রমণসূচীর সমস্ত তারিখ থাকার তারিখের সাথে ওভারল্যাপ করে।
  • any : ভ্রমণপথের সমস্ত রাতের জন্য প্রচার প্রযোজ্য যদি ভ্রমণসূচীর কোনো তারিখ থাকার তারিখের সীমার মধ্যে একটি তারিখের সাথে ওভারল্যাপ করে।
  • overlap : ভ্রমণপথে শুধুমাত্র সেই রাতগুলিতে প্রচার প্রযোজ্য যা থাকার তারিখের পরিসরে একটি তারিখের সাথে ওভারল্যাপ করে।

এই বৈশিষ্ট্য সবসময় নির্দিষ্ট করা আবশ্যক.

  • যদি <Discount> percentage নির্দিষ্ট করে এবং application all বা any সেট করা হয়, তাহলে ডিসকাউন্ট সম্পূর্ণ থাকার শতাংশ হিসাবে প্রয়োগ করা হয়।
  • যদি <Discount> percentage নির্দিষ্ট করে এবং application overlap জন্য সেট করা হয়, ডিসকাউন্টটি ওভারল্যাপ করা রাতের জন্য রাত্রিকালীন হারের শতাংশ হিসাবে প্রয়োগ করা হয়।
  • <Discount> fixed_amount নির্দিষ্ট করা এবং overlap জন্য সেট করা application একটি অবৈধ সমন্বয়।
  • <FreeNights> সমস্ত application মান সমর্থন করে। নোট করুন যে overlap জন্য, ডিসকাউন্টের প্রয়োজনীয়তার জন্য শুধুমাত্র ওভারল্যাপ করা রাতের থাকার কথা বিবেচনা করা হয়।
Promotions / HotelPromotions / Promotion / StayDates / DateRange 1..99 DateRange

একটি তারিখ ব্যাপ্তি যে তারিখগুলি উল্লেখ করে যে প্রচারটি কখন প্রয়োগ করা হবে৷

ইয়ারলেস ডেট ফরম্যাটও সমর্থিত।

  • যদি start বা end যেকোন একটি বছরবিহীন তারিখ হয়, তাহলে উভয়কেই বর্ষবিহীন তারিখ হিসেবে গণনা করতে হবে।
  • বছরহীন তারিখ ব্যাপ্তি নতুন বছরের চারপাশে আবৃত করা উচিত নয়. পরিবর্তে, দুটি সন্নিহিত তারিখ ব্যাপ্তি হিসাবে ব্যাপ্তি উপস্থাপন করুন৷ উদাহরণস্বরূপ, {"12-29", "01-05"} কে {"12-29", "12-31"} এবং {"01-01", "01-05"} হিসাবে উপস্থাপন করা যেতে পারে।

আপনি যদি সপ্তাহের নির্দিষ্ট দিনে প্রচারের অনুমতি দেওয়ার জন্য StayDates রেঞ্জ সেট করতে চান, তাহলে আপনার start তারিখটিকে বর্তমান তারিখ হিসাবে সেট করা উচিত যাতে end না হয় যাতে প্রচারের মেয়াদ শেষ না হয়।

Promotions / HotelPromotions / Promotion / StayDates / DateRange / @start 0..1 Date or YearlessDate শুরুর তারিখ (প্রপার্টির টাইম জোনের উপর ভিত্তি করে), তারিখের ব্যাপ্তির অন্তর্ভুক্ত। এই তারিখটি অবশ্যই end তারিখের আগে বা একই হতে হবে৷ যদি start নির্দিষ্ট করা না থাকে, তাহলে তারিখের পরিসরটি শুরুর তারিখের ক্ষেত্রে কার্যকরভাবে সীমাহীন।

যদি end মান প্রদান না করা হয় তবে আপনার start মান নির্দিষ্ট করা উচিত।

Promotions / HotelPromotions / Promotion / StayDates / DateRange / @end 0..1 Date or YearlessDate সমাপ্তির তারিখ (সম্পত্তির সময় অঞ্চলের উপর ভিত্তি করে), তারিখের ব্যাপ্তির অন্তর্ভুক্ত। এই তারিখটি অবশ্যই start তারিখের মতো বা তার পরে হতে হবে৷ যদি end নির্দিষ্ট করা না থাকে, তারিখের পরিসর কার্যকরভাবে start তারিখ থেকে সীমাহীন।

start মান প্রদান করা না হলে আপনার end মান নির্দিষ্ট করা উচিত।

Promotions / HotelPromotions / Promotion / StayDates / DateRange / @days_of_week 0..1 string

সপ্তাহের যে দিনগুলি তারিখের ব্যাপ্তিতে অনুমোদিত৷ যদি নির্দিষ্ট না করা হয়, তারিখ পরিসরে সমস্ত দিন অনুমোদিত। স্ট্রিংয়ের প্রতিটি অক্ষর একটি দিন নির্দিষ্ট করে। উদাহরণস্বরূপ, "MTWHF" নির্দিষ্ট করে যে সপ্তাহের দিনগুলি তারিখ সীমার মধ্যে অনুমোদিত৷

বৈধ অক্ষর হল:

  • সোমবারের জন্য M
  • মঙ্গলবারের জন্য T
  • বুধবারের জন্য W
  • বৃহস্পতিবারের জন্য H
  • শুক্রবারের জন্য F
  • শনিবারের জন্য S
  • রবিবারের জন্য U

যেকোনো অক্ষর সমন্বয় বৈধ।

Promotions / HotelPromotions / Promotion / UserCountries 0..1 UserCountries প্রচারের জন্য যোগ্য ব্যবহারকারীর অবস্থান (দেশ) তালিকাভুক্ত করার জন্য ধারক। উল্লেখ করা থাকলে, তালিকাভুক্ত দেশগুলির শুধুমাত্র যোগ্য ব্যবহারকারীদেরই ছাড়ের হার দেওয়া হয়। নির্দিষ্ট করা না থাকলে, যেকোনো দেশের যোগ্য ব্যবহারকারীদের ছাড়ের হার দেওয়া হয়।
Promotions / HotelPromotions / Promotion / UserCountries / @type 0..1 enum UserCountries স্পেসিফিকেশনের ধরন।

বৈধ মান include এবং exclude

যদি UserCountries type include হিসাবে সেট করা হয়, তাহলে প্রচারটি তালিকাভুক্ত দেশগুলির ব্যবহারকারীদের জন্য প্রযোজ্য।

UserCountries type exclude দিলে, তালিকাভুক্ত দেশের বাইরের ব্যবহারকারীদের জন্য প্রচার প্রযোজ্য।

যদি UserCountries type সেট করা না থাকে, তাহলে এটিকে include হিসেবে বিবেচনা করা হয় এবং তালিকাভুক্ত দেশগুলির ব্যবহারকারীদের জন্য প্রচারটি প্রয়োগ করা হয়।

Promotions / HotelPromotions / Promotion / UserCountries / Country 1..300 Country এমন একটি দেশকে সংজ্ঞায়িত করে যেখানে ব্যবহারকারীরা প্রচারের জন্য যোগ্য৷
Promotions / HotelPromotions / Promotion / UserCountries / Country / @code 1 string একটি CLDR দেশের কোড , যেমন DE বা FR । মনে রাখবেন, কিছু দেশের জন্য, CLDR দেশের কোড 2-অক্ষরের ISO দেশের কোডের মতো নয়। এছাড়াও, CLDR অঞ্চল কোড সমর্থিত নয়।

উদাহরণ

সম্পত্তি প্রতি 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 ইঙ্গিত দেয় যে প্রচার বার্তাটি সতর্কতা, ত্রুটি বা ব্যর্থতা ছাড়াই সফলভাবে প্রক্রিয়া করা হয়েছিল।

হয় <Success> বা <Issues> প্রতিটি বার্তায় উপস্থিত রয়েছে।

PromotionsResponse / Issues 0..1 Issues প্রচারের বার্তা প্রক্রিয়াকরণের সময় এক বা একাধিক সমস্যার জন্য একটি ধারক মুখোমুখি হয়েছিল।

হয় <Success> বা <Issues> প্রতিটি বার্তায় উপস্থিত রয়েছে।

PromotionsResponse / Issues / Issue 1..n Issue প্রচারের বার্তা প্রক্রিয়াকরণের সময় একটি সতর্কতা, ত্রুটি বা ব্যর্থতার বিবরণ। এই বিষয়গুলির বিশদগুলি ফিডের স্থিতি ত্রুটি বার্তাগুলিতে পাওয়া যাবে।
PromotionsResponse / Issues / Issue / @code 1 integer ইস্যুটির জন্য সনাক্তকারী।
PromotionsResponse / Issues / Issue / @status 1 enum

ইস্যুটির ধরণটি মুখোমুখি।

বৈধ মানগুলি হ'ল warning , error এবং failure

উদাহরণ

সফলতা

নিম্নলিখিতটি সফলভাবে প্রক্রিয়াজাত প্রচারের বার্তার প্রতিক্রিয়া।

<?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>