এক্সট্রা গেস্ট চার্জ

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

ক্ষমতা প্রয়োজনীয়তা

ExtraGuestCharges বার্তা থেকে গণনা করা মূল্যগুলি শুধুমাত্র তখনই বৈধ যদি সমস্ত ক্ষমতার প্রয়োজনীয়তাগুলি সন্তুষ্ট হয়৷ আরও তথ্যের জন্য লেনদেন (সম্পত্তি ডেটা) দেখুন।

অনুরোধ

বাক্য গঠন

ExtraGuestCharges বার্তাটি নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestCharges partner="partner_account_name"
                   id="message_ID"
                   timestamp="timestamp">
  <HotelExtraGuestCharges hotel_id="HotelID" action="[overlay]">
    <ExtraGuestCharge>
      <RatePlans>
        <RatePlan id="PackageID_1"/>
        <RatePlan id="PackageID_2"/>
      </RatePlans>
      <RoomTypes>
        <RoomType id="RoomID_1"/>
        <RoomType id="RoomID_2"/>
      </RoomTypes>
      <StayDates>
        <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD"
                   days_of_week="MTWHFSU_or_subset"/>
      </StayDates>
      <AgeBrackets>
        <AdultCharge amount="float"/>
        <ChildAgeBrackets>
        <!-- The following are different ways child charges can be specified.
        Use the option that matches your system. -->
          <ChildAgeBracket max_age="integer" amount="float"
                           exclude_from_capacity="[true|false]"/>
          <ChildAgeBracket max_age="integer" percentage="float"
                           exclude_from_capacity="[true|false]"
                           counts_as_base_occupant="[never|preferred|always]"/>
          <ChildAgeBracket max_age="integer" discount_amount="float"
                           exclude_from_capacity="[true|false]"
                           counts_as_base_occupant="[never|preferred|always]"/>
        </ChildAgeBrackets>
      </AgeBrackets>
    </ExtraGuestCharge>
  </HotelExtraGuestCharges>
</ExtraGuestCharges>

উপাদান এবং বৈশিষ্ট্য

ExtraGuestCharges বার্তাটিতে নিম্নলিখিত উপাদান এবং বৈশিষ্ট্য রয়েছে:

উপাদান / @Attribute ঘটনা টাইপ বর্ণনা
ExtraGuestCharges 1 Complex element এই বার্তার মূল উপাদান।
ExtraGuestCharges / @partner 1 string এই বার্তার জন্য অংশীদার অ্যাকাউন্ট. এই স্ট্রিং মান হল হোটেল সেন্টারের অ্যাকাউন্ট সেটিংস পৃষ্ঠায় তালিকাভুক্ত Partner key মান।

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

ExtraGuestCharges / @id 1 string এই অনুরোধ বার্তার জন্য একটি অনন্য শনাক্তকারী৷ এই মান প্রতিক্রিয়া বার্তা ফেরত দেওয়া হয়. অনুমোদিত অক্ষর হল az , AZ , 0-9 , _ (আন্ডারস্কোর), এবং - (ড্যাশ)।
ExtraGuestCharges / @timestamp 1 DateTime এই বার্তা তৈরির তারিখ এবং সময়।
ExtraGuestCharges / HotelExtraGuestCharges 0..n HotelExtraGuestCharges একটি একক সম্পত্তি জন্য চার্জ জন্য ধারক.
ExtraGuestCharges / HotelExtraGuestCharges / @hotel_id 1 string সম্পত্তির অনন্য শনাক্তকারী। এই মানটি অবশ্যই হোটেল তালিকা ফিডে <listing> এলিমেন্টে <id> ব্যবহার করে নির্দিষ্ট হোটেল আইডির সাথে মিলতে হবে। হোটেল আইডিটি হোটেল সেন্টারেও তালিকাভুক্ত করা হয়েছে।
ExtraGuestCharges / HotelExtraGuestCharges / @action 0..1 enum আপডেট কিভাবে প্রয়োগ করা হয় তা নির্দিষ্ট করে। শুধুমাত্র overlay সমর্থিত, এবং ডিফল্ট ওভারলে হয়. আপডেট প্রয়োগ করার আগে এই সম্পত্তির জন্য আগের কোনো চার্জ সাফ করা হয়।
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge 0..99 ExtraGuestCharge

একটি সম্পত্তির জন্য চার্জের একক সেট। এতে চার্জ কীভাবে প্রয়োগ করা যেতে পারে এবং বয়স বা অতিথি বিভাগ দ্বারা কীভাবে চার্জ গণনা করা হয় তার উপর বিধিনিষেধ থাকতে পারে।

একটি HotelExtraGuestCharges এর মধ্যে প্রতিটি ExtraGuestCharge তারিখ এবং পণ্যের একটি অনন্য সেটের জন্য আবেদন করতে হবে। যদি দুটি ExtraGuestCharge উপাদান একই তারিখ-পণ্য সংমিশ্রণকে উল্লেখ করে, তাহলে পুরো বার্তাটি প্রত্যাখ্যান করা হবে।

ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets 1 AgeBrackets বয়স বন্ধনীর একটি ধারক যা বয়স বা অতিথি বিভাগ অনুসারে চার্জ গণনা করার জন্য।
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / AdultCharge 0..1 AdultCharge একটি অতিরিক্ত প্রাপ্তবয়স্ক জন্য চার্জ জন্য ধারক.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / AdultCharge / @amount 0..1 float একটি ধনাত্মক দশমিক মান যা অতিরিক্ত প্রাপ্তবয়স্কদের জন্য চার্জ করা সমতল পরিমাণ নির্দিষ্ট করে৷ এই চার্জটি রাতের হারের জন্য নির্দিষ্ট মুদ্রার মতো একই মুদ্রা ব্যবহার করে।
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets 0..1 ChildAgeBrackets অতিরিক্ত শিশু চার্জ জন্য ধারক. এই বয়স বন্ধনী শুধুমাত্র 0-17 অন্তর্ভুক্ত বয়সের পরিসীমা কভার করতে পারে।
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket 1..99 ChildAgeBracket একটি চার্জ যা একটি নির্দিষ্ট বয়স সীমার শিশুদের জন্য প্রযোজ্য। এগুলি সর্বনিম্ন max_age থেকে সর্বোচ্চ max_age পর্যন্ত অর্ডার করা উচিত। যে পরিমাণ চার্জ করা হবে তা amount , percentage বা discount_amount ব্যবহার করে নির্দিষ্ট করা যেতে পারে। প্রতিটি <ChildAgeBracket> এর জন্য ঠিক সেই বৈশিষ্ট্যগুলির মধ্যে একটি নির্দিষ্ট করতে হবে।
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @max_age 1 integer সর্বোচ্চ বয়স যার জন্য <ChildAgeBracket> এ উল্লেখ করা চার্জ প্রযোজ্য হতে পারে। এর আগে অন্য কোনো <ChildAgeBracket> নির্দিষ্ট না থাকলে ন্যূনতম বয়স শূন্য। অন্যথায় এটি আগের বন্ধনীর সর্বোচ্চ বয়সের চেয়ে এক বড়।
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @exclude_from_capacity 1 boolean একটি বুলিয়ান যা নির্দেশ করে যে এই বয়সের বন্ধনীর একটি শিশুকে একটি রুমের মোট ক্ষমতা এবং শিশুর ক্ষমতার মধ্যে গণনা করা উচিত কিনা। এই ক্ষমতাগুলি লেনদেন (সম্পত্তি ডেটা) দিয়ে সেট করা যেতে পারে। উদাহরণস্বরূপ, একটি নির্দিষ্ট বয়সের নিচের শিশুদের সন্তানের ক্ষমতার জন্য গণনা করার প্রয়োজন নাও হতে পারে।
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @amount 0..1 float একটি নন-নেতিবাচক দশমিক মান যা এই বন্ধনীতে একটি অতিরিক্ত সন্তানের জন্য চার্জ করা সমতল পরিমাণ নির্দিষ্ট করে৷ এই চার্জটি রাতের হারের জন্য নির্দিষ্ট মুদ্রার মতো একই মুদ্রা ব্যবহার করে।
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @percentage 0..1 float

1-99 এর একটি দশমিক মান যা এই বন্ধনীতে একটি অতিরিক্ত শিশুর জন্য প্রাপ্ত বয়স্কদের মূল্যের শতাংশ নির্দিষ্ট করে৷ এই চার্জটি রাতের হারের জন্য নির্দিষ্ট মুদ্রার মতো একই মুদ্রা ব্যবহার করে।

প্রাপ্তবয়স্কদের মূল্য কীভাবে গণনা করা হয় সে সম্পর্কে বিশদ বিবরণের জন্য counts_as_base_occupant এর অধীনে আলোচনা দেখুন।

ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @discount_amount 0..1 float

একটি ধনাত্মক দশমিক মান যা এই বন্ধনীতে একটি অতিরিক্ত সন্তানের জন্য প্রাপ্তবয়স্কদের মূল্য থেকে ফ্ল্যাট ছাড়ের পরিমাণ নির্দিষ্ট করে৷ এই চার্জটি রাতের হারের জন্য নির্দিষ্ট মুদ্রার মতো একই মুদ্রা ব্যবহার করে।

সাধারণভাবে, এই বন্ধনীতে একটি শিশুর জন্য চার্জ "ইউনিট মূল্য" থেকে ফ্ল্যাট পরিমাণ বাদ দিয়ে গণনা করা হয়। counts_as_base_occupant অ্যাট্রিবিউট বিভাগের অধীনে ইউনিটের দাম আরও বিশদে আলোচনা করা হয়েছে।

ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @counts_as_base_occupant 0..1 string

যদি percentage বা discount_amount অ্যাট্রিবিউট নির্দিষ্ট করা থাকে, তাহলে counts_as_base_occupant ও নির্দিষ্ট করতে হবে। এই মান নির্ধারণ করে যে আপনি যখন শতাংশ চার্জ এবং ছাড় প্রয়োগের জন্য একটি <BaseByGuestAmount> হার নির্বাচন করেন তখন NumberOfGuest এ একটি শিশুকে অন্তর্ভুক্ত করা উচিত কিনা।

এখানে লক্ষ্য হল একটি "ইউনিট মূল্য" পাওয়া যা থেকে প্রকৃত চার্জ গণনা করা যায়।

unit price = rate / occupancy

এই অ্যাট্রিবিউটের মান never , preferred , বা always একটি হতে হবে।

  • যদি never নির্দিষ্ট না করা হয় তবে শিশুকে কখনই হারের দখলে অন্তর্ভুক্ত করা উচিত নয়।

    আপনি যদি 2 প্রাপ্তবয়স্ক এবং 2 শিশুর (2+2) জন্য একটি হার গণনা করতে চান তবে আপনার 2 প্রাপ্তবয়স্কদের জন্য হারটি ব্যবহার করা উচিত কারণ শিশুদের অন্তর্ভুক্ত করা উচিত নয়।

  • যদি preferred নির্দিষ্ট করা হয় তবে শিশুটিকে পছন্দের হারের দখলে অন্তর্ভুক্ত করা উচিত।

    আপনি যদি 2 প্রাপ্তবয়স্ক এবং 1 শিশুর (2+1) জন্য একটি হার গণনা করতে চান তবে আপনার 3 প্রাপ্তবয়স্কদের জন্য হারটি ব্যবহার করা উচিত, কিন্তু যদি এটি পাওয়া না যায়, তাহলে আপনার 2 প্রাপ্তবয়স্কদের জন্য হার ব্যবহার করা উচিত।

  • যদি always নির্দিষ্ট করা হয় তবে শিশুকে সর্বদা হারের দখলে অন্তর্ভুক্ত করা উচিত।

    আপনি যদি 2 প্রাপ্তবয়স্ক এবং 2 শিশুর (2+2) জন্য একটি হার গণনা করতে চান তবে আপনার 4 প্রাপ্তবয়স্কদের জন্য হারটি ব্যবহার করা উচিত কারণ শিশুদের অবশ্যই অন্তর্ভুক্ত করতে হবে।

ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RoomTypes 0..1 RoomTypes রুমের প্রকারের তালিকার জন্য ধারক যেখানে চার্জ প্রযোজ্য। চার্জ প্রতিটি <RoomType> নির্দিষ্ট করা হয়. যদি <RoomTypes> নির্দিষ্ট করা না থাকে, তাহলে নির্দিষ্ট সম্পত্তির মধ্যে সমস্ত রুমের জন্য চার্জ প্রযোজ্য।
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RoomTypes / RoomType 1..n RoomType একটি রুমের ধরন নির্দিষ্ট করে। একটি লেনদেন (সম্পত্তি ডেটা) বার্তার একটি <RoomData> উপাদানে একটি রুমের ধরন সংজ্ঞায়িত করা হয় এবং এটির <RoomID> মান ব্যবহার করে উল্লেখ করা হয়। (এর <RoomID> মানটি OTA_HotelRateAmountNotifRQ বার্তাগুলিতে InvTypeCode বৈশিষ্ট্য দ্বারাও উল্লেখ করা হয়েছে।)
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RoomTypes / RoomType / @id 1 string ইনভেন্টরির জন্য অনন্য শনাক্তকারী (রুমের ধরন)। এই মানটি একটি লেনদেন (সম্পত্তি ডেটা) বার্তায় <RoomID> এ ম্যাপ করে। অনুমোদিত অক্ষরের সর্বাধিক সংখ্যা 50।
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RatePlans 0..1 RatePlans রেট প্ল্যানের একটি তালিকার জন্য ধারক যেখানে চার্জ প্রযোজ্য। যদি <RatePlans> নির্দিষ্ট করা না থাকে, তাহলে সমস্ত রেট প্ল্যানের জন্য চার্জ প্রযোজ্য।
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RatePlans / RatePlan 1..n RatePlan একটি হার পরিকল্পনা নির্দিষ্ট করে। লেনদেন (সম্পত্তি ডেটা), OTA_HotelRateAmountNotifRQ এবং OTA_HotelAvailNotifRQ বার্তাগুলিতে সংজ্ঞায়িত প্যাকেজ, হার এবং উপলব্ধতার সংমিশ্রণ দ্বারা একটি রেট প্ল্যান সংজ্ঞায়িত করা হয় এবং প্যাকেজআইডি দ্বারা চিহ্নিত করা হয়৷
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RatePlans / RatePlan / @id 1 string রেট প্ল্যানের অনন্য শনাক্তকারী। এই মানটি একটি লেনদেন (সম্পত্তি ডেটা) বার্তায় <PackageData> এ PackageID মান এবং <OTA_HotelRateAmountNotifRQ> এবং <OTA_HotelAvailNotifRQ> উভয় বার্তায় <StatusApplicationControl> RatePlanCode অ্যাট্রিবিউটে ম্যাপ করে। অনুমোদিত অক্ষরের সর্বাধিক সংখ্যা 50।
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / StayDates 0..1 StayDates এক বা একাধিক তারিখ ব্যাপ্তির জন্য একটি ধারক যা নির্ধারণ করে যে কিভাবে চার্জ প্রয়োগ করা হবে।
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / StayDates / DateRange 1..99 DateRange একটি তারিখ ব্যাপ্তি যে তারিখগুলি উল্লেখ করে যে প্রচারটি কখন প্রয়োগ করা হবে৷
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / StayDates / DateRange / @start 0..1 Date শুরুর তারিখ (প্রপার্টির টাইম জোনের উপর ভিত্তি করে), তারিখের ব্যাপ্তির অন্তর্ভুক্ত। এই তারিখটি অবশ্যই end তারিখের আগে বা একই হতে হবে৷ যদি start নির্দিষ্ট করা না থাকে, তারিখের পরিসর কার্যকরভাবে একটি শুরুর তারিখের পরিপ্রেক্ষিতে সীমাহীন।
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / StayDates / DateRange / @end 0..1 Date সমাপ্তির তারিখ (সম্পত্তির সময় অঞ্চলের উপর ভিত্তি করে), তারিখের ব্যাপ্তির অন্তর্ভুক্ত। এই তারিখটি অবশ্যই start তারিখের মতো বা তার পরে হতে হবে৷ যদি end নির্দিষ্ট করা না থাকে, তাহলে তারিখের পরিসীমা শেষ তারিখের পরিপ্রেক্ষিতে কার্যকরভাবে সীমাহীন।
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / StayDates / DateRange / @days_of_week 0..1 string

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

বৈধ অক্ষর হল:

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

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

উদাহরণ

প্রাপ্তবয়স্কদের চার্জ

অতিরিক্ত প্রাপ্তবয়স্কদের জন্য চার্জ শুধুমাত্র সমতল পরিমাণ হিসাবে প্রকাশ করা যেতে পারে। নিম্নলিখিত উদাহরণটি একটি ExtraGuestCharges বার্তা দেখায় যা প্রাপ্তবয়স্কদের চার্জ নির্দিষ্ট করে:

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestCharges timestamp="2001-02-03T04:05:06+00:00" id="1">
  <HotelExtraGuestCharges hotel_id="ABC" action="overlay">
    <ExtraGuestCharge>
      <StayDates />
      <AgeBrackets>
        <AdultCharge amount="50" />
      </AgeBrackets>
    </ExtraGuestCharge>
  </HotelExtraGuestCharges>
</ExtraGuestCharges>

এখানে সংশ্লিষ্ট হার আছে:

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="ABC">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountAfterTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
            <BaseByGuestAmt AmountAfterTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
            <BaseByGuestAmt AmountAfterTax="120.00"
                            CurrencyCode="USD"
                            NumberOfGuests="3"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

যখন একজন ব্যবহারকারী গুগলে চারজন প্রাপ্তবয়স্কের জন্য অনুসন্ধান করেন, তখন মোট হার হবে 170 = 120 + 50।

120 আসে <BaseByGuestAmt> হার থেকে NumberOfGuests="3" সহ এবং 50 আসে AdultCharge amount="50" থেকে।

শিশু চার্জ

শিশুদের জন্য চার্জ 17 পর্যন্ত বয়স বন্ধনীতে প্রকাশ করা হয় এবং সমতল পরিমাণ, শতাংশ বা ছাড়ে প্রকাশ করা যেতে পারে।

নিম্নলিখিত উদাহরণটি একটি ExtraGuestCharges বার্তা দেখায় যা শিশুর চার্জ নির্দিষ্ট করে:

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestCharges timestamp="2001-02-03T04:05:06+00:00" id="1">
  <HotelExtraGuestCharges hotel_id="ABC" action="overlay">
    <ExtraGuestCharge>
      <AgeBrackets>
        <ChildAgeBrackets>
          <ChildAgeBracket max_age="3" percentage="10"
                           counts_as_base_occupant="never" />
          <ChildAgeBracket max_age="10" percentage="30"
                           counts_as_base_occupant="preferred"/>
          <ChildAgeBracket max_age="17" discount_amount="10"
                           counts_as_base_occupant="always" />
        </ChildAgeBrackets>
      </AgeBrackets>
    </ExtraGuestCharge>
  </HotelExtraGuestCharges>
</ExtraGuestCharges>

এখানে সংশ্লিষ্ট হার আছে:

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="ABC">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountAfterTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
            <BaseByGuestAmt AmountAfterTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
```

  1.  Suppose you want the total price for 2 adults and 1 child of 2 years
      of age.

      Children aged 0-3 are never included in the rate's occupancy,
      so here you should take the double occupancy rate and divide by 2 to
      get the unit price. Then, multiply by the percentage rate and sum
      with the rate to get the total price.

      `unit price ` = 110 / 2 = 55

      `total price` = 110 + 55 * 0.1 = 115.5

  1.  Suppose you want the total price for 1 adult and 2 children, both of 5
      years of age.

      Children aged 4-10 are preferably included in the rate's
      occupancy. you should start by looking for a 3 adult rate since both
      children are preferably included in the rate's occupancy. Since
      that doesn't exist you should fall back to the 2 adult rate and then,
      take this rate and divide by two to get the unit price. Finally,
      multiply by the percentage rate and sum with the scaled rate to
      get the total price.

      `unit price` = 110 / 2 = 55

      `total price` = 55 + 55 * 0.3 + 55 * 0.3 = 88

  1.  Suppose you want the total price for 1 adult and 1 child of 17
      years of age.

      Children aged 11-17 are always included in the rate's occupancy, so,
      in this case, take the double occupancy rate and divide by 2 to get
      the unit price. Then, deduct it by the discount amount and sum with
      the scaled rate to get the total price.

      `unit price` = 110 / 2 = 55

      `total price` = 55 + (55 - 10) = 100

চার্জ সীমাবদ্ধতা

সমস্ত ধরণের বিধিনিষেধ ঐচ্ছিক এবং সেগুলির যে কোনও সংমিশ্রণ ব্যবহার করা যেতে পারে৷

নিম্নলিখিত উদাহরণ একটি ExtraGuestCharges বার্তা দেখায় যা বিধিনিষেধ নির্দিষ্ট করে:

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestCharges timestamp="2001-02-03T04:05:06+00:00" id="1">
  <HotelExtraGuestCharges hotel_id="ABC" action="overlay">
    <ExtraGuestCharge>
      <RoomTypes>
        <RoomType id="queen" />
        <RoomType id="king" />
      </RoomTypes>
      <RatePlans>
        <RatePlan id="free-wifi" />
        <RatePlan id="hot-breakfast" />
      </RatePlans>
      <StayDates>
        <DateRange start="2020-09-01" end="2020-09-14"/>
      </StayDates>
      <AgeBrackets>
        <AdultCharge amount="50" />
      </AgeBrackets>
    </ExtraGuestCharge>
  </HotelExtraGuestCharges>
</ExtraGuestCharges>

উপরের বার্তাটি নির্দিষ্ট করে যে 1 সেপ্টেম্বর, 2020 থেকে 14 সেপ্টেম্বর, 2020 তারিখের জন্য রেট প্ল্যান "ফ্রি-ওয়াইফাই" বা "হট-ব্রেকফাস্ট" সহ রুম টাইপ "কুইন" বা "কিং" আছে এমন যেকোনো পণ্যের জন্য প্রাপ্তবয়স্কদের চার্জ করা উচিত। .

ওভারল্যাপিং চার্জ

এই বিভাগটি একটি অবৈধ বার্তার একটি উদাহরণ দেখায় যা তারিখ এবং পণ্যগুলির একই সংমিশ্রণের জন্য বিভিন্ন চার্জ নির্দিষ্ট করে৷


<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestCharges timestamp="2001-02-03T04:05:06+00:00" id="1">
  <HotelExtraGuestCharges hotel_id="ABC" action="overlay">
    <ExtraGuestCharge>
      <RoomTypes>
        <RoomType id="queen" />
      </RoomTypes>
      <RatePlans>
        <RatePlan id="free-wifi" />
      </RatePlans>
      <StayDates>
        <DateRange start="2020-09-01" end="2020-09-14"/>
      </StayDates>
      <AgeBrackets>
        <AdultCharge amount="50" />
      </AgeBrackets>
    </ExtraGuestCharge>
    <ExtraGuestCharge>
      <RoomTypes>
        <RoomType id="queen" />
        <RoomType id="king" />
      </RoomTypes>
      <RatePlans>
        <RatePlan id="free-wifi" />
        <RatePlan id="hot-breakfast" />
      </RatePlans>
      <StayDates>
        <DateRange start="2020-09-01" end="2020-09-05"/>
      </StayDates>
      <AgeBrackets>
        <AdultCharge amount="20" />
      </AgeBrackets>
    </ExtraGuestCharge>
  </HotelExtraGuestCharges>
</ExtraGuestCharges>

উপরের বার্তাটি অবৈধ কারণ প্রথম <ExtraGuestCharge> নির্দিষ্ট করে যে 1 থেকে 14 সেপ্টেম্বরের জন্য "রানী" এবং "ফ্রি-ওয়াইফাই" অতিরিক্ত প্রাপ্তবয়স্কদের 50 টাকা চার্জ করতে হবে। দ্বিতীয় <ExtraGuestCharge> উল্লেখ করে যে যেকোনও "রানী" বা "রাজা" এর সাথে 1 থেকে 5 সেপ্টেম্বরের "ফ্রি-ওয়াইফাই" বা "হট-ব্রেকফাস্ট"-এর যেকোনো একটির জন্য অতিরিক্ত 20 প্রাপ্তবয়স্কদের চার্জ করা উচিত। 1 থেকে 5 সেপ্টেম্বরের জন্য "কুইন" এবং "ফ্রি-ওয়াইফাই" এর জন্য ওভারল্যাপিং চার্জ রয়েছে এবং চার্জ করা হবে কিনা তার মধ্যে দ্বন্দ্ব রয়েছে অতিরিক্ত প্রাপ্তবয়স্কদের জন্য 20 বা 50।

প্রতিক্রিয়া

বাক্য গঠন

ExtraGuestChargesResponse বার্তাটি নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestChargesResponse timestamp="timestamp"
                    id="message_ID"
                    partner="partner_key">
  <!-- Either Success or Issues will be populated. -->
  <Success/>
  <Issues>
    <Issue code="issue_code" status="issue_type">issue_description</Issue>
  </Issues>
</ExtraGuestChargesResponse>

উপাদান এবং বৈশিষ্ট্য

ExtraGuestChargesResponse বার্তাটিতে নিম্নলিখিত উপাদান এবং বৈশিষ্ট্য রয়েছে:

উপাদান / @Attribute ঘটনা টাইপ বর্ণনা
ExtraGuestChargesResponse 1 Complex element একটি প্রাপ্ত ExtraGuestCharges অনুরোধ বার্তার সাফল্য বা সমস্যা নির্দেশ করে মূল উপাদান।
ExtraGuestChargesResponse / @timestamp 1 DateTime এই বার্তা তৈরির তারিখ এবং সময়।
ExtraGuestChargesResponse / @id 1 string সংশ্লিষ্ট ExtraGuestCharges বার্তা থেকে অনন্য শনাক্তকারী।
ExtraGuestChargesResponse / @partner 1 string এই বার্তার জন্য অংশীদার অ্যাকাউন্ট.
ExtraGuestChargesResponse / Success 0..1 Success নির্দেশ করে যে ExtraGuestCharges বার্তাটি সতর্কতা, ত্রুটি বা ব্যর্থতা ছাড়াই সফলভাবে প্রক্রিয়া করা হয়েছে।

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

ExtraGuestChargesResponse / Issues 0..1 Issues ExtraGuestCharges বার্তা প্রসেস করার সময় এক বা একাধিক সমস্যার জন্য একটি ধারক।

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

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

যে ধরনের সমস্যার সম্মুখীন হয়েছে।

বৈধ মান হল warning , error এবং failure

উদাহরণ

সফলতা

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

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestChargesResponse timestamp="2020-05-18T16:20:00-04:00"
                    id="12345678"
                    partner="partner_key">
  <Success/>
</ExtraGuestChargesResponse>

ইস্যু

নিম্নলিখিতটি একটি ExtraGuestCharges বার্তার প্রতিক্রিয়া যা ত্রুটির কারণে প্রক্রিয়া করা হয়নি৷

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestChargesResponse timestamp="2020-05-18T16:20:00-04:00"
                    id="12345678"
                    partner="partner_key">
  <Issues>
    <Issue code="1001" status="error">Example</Issue>
  </Issues>
</ExtraGuestChargesResponse>