অনুরোধ
সিন্ট্যাক্স
Transaction (Property Data) মেসেজে নিম্নলিখিত সিনট্যাক্স ব্যবহার করা হয়:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="timestamp"
id="message_ID"
partner="partner_key">
<PropertyDataSet action="[overlay|delta]">
<!-- (Required) ID that matches the Hotel List Feed -->
<Property>HotelID</Property>
<RoomData>
<!-- (Required) One room ID per RoomData element -->
<RoomID>RoomID</RoomID>
<Name>
<Text text="room_name" language="language_code"/>
</Name>
<Description>
<Text text="room_description" language="language_code"/>
</Description>
<!-- (Optional) Restricts the rate plans allowed for this room type to
those listed here. If specified, don't specify AllowableRoomIDs. -->
<AllowablePackageIDs>
<AllowablePackageID>PackageID</AllowablePackageID>
</AllowablePackageIDs>
<Capacity>max_number_of_occupants</Capacity>
<AdultCapacity>max_number_of_adult_occupants</AdultCapacity>
<ChildCapacity>max_number_of_child_occupants</ChildCapacity>
<OccupancySettings>
<MinOccupancy>min_number_of_occupants</MinOccupancy>
<MinAge>min_age_of_occupants</MinAge>
</OccupancySettings>
<PhotoURL>
<Caption>
<Text text="photo_description" language="language_code"/>
</Caption>
<URL>photo_location</URL>
</PhotoURL>
<RoomFeatures>
<JapaneseHotelRoomStyle>[western|japanese|japanese_western]</JapaneseHotelRoomStyle>
<Beds>
<Bed size="[single|semi_double|double|queen|king]">
<Width unit="cm" number="bed_width"/>
<Length unit="cm" number="bed_length"/>
</Bed>
<!-- Include with any additional beds. -->
</Beds>
<Suite/>
<Capsule/>
<Roomsharing>[shared|private]</Roomsharing>
<Outdoor/>
<MobilityAccessible/>
<Smoking>[smoking|non_smoking]</Smoking>
<BathAndToilet relation="[together|separate]">
<Bath bathtub="[false|true]" shower="[false|true]"/>
<Toilet electronic_bidet="[false|true]" mobility_accessible="[false|true]"/>
</BathAndToilet>
<OpenAirBath/>
<AirConditioning/>
<Balcony/>
<Views>
<!-- (Optional) Defines the type of views from the room. -->
<!-- Example: <OceanView/> -->
</Views>
</RoomFeatures>
</RoomData>
<PackageData>
<!-- (Required) One package ID per PackageData element -->
<PackageID>PackageID</PackageID>
<Name>
<Text text="package_name" language="language_code"/>
</Name>
<Description>
<Text text="package_description" language="language_code"/>
</Description>
<!-- (Optional) Restricts the room types allowed for this rate plan to
those listed here. If specified, don't specify AllowablePackageIDs. -->
<AllowableRoomIDs>
<AllowableRoomID>RoomID</AllowableRoomID>
</AllowableRoomIDs>
<!-- Add Loyalty point information -->
<MilesIncluded>
<LoyaltyCampaignID>campaign-ID</LoyaltyCampaignID>
<!-- (Optional) Use <NumberOfMiles> if the rate plan earns fixed loyalty rewards-->
<NumberOfMiles>integer</NumberOfMiles>
</MilesIncluded>
<Refundable available="[false|true]" refundable_until_days="number_of_days"
refundable_until_time="time"/>
<!-- For these next 3 elements, boolean_value can be 0/1 or true/false -->
<BreakfastIncluded>boolean_value</BreakfastIncluded>
<InternetIncluded>boolean_value</InternetIncluded>
<ParkingIncluded>boolean_value</ParkingIncluded>
<PhotoURL>
<Caption>
<Text text="photo_description" language="language_code"/>
...
</Caption>
<URL>photo_location</URL>
</PhotoURL>
...
<Meals>
<Breakfast
included="[true|false]" buffet="[true|false]"
in_room="[true|false]" in_private_space="[true|false]"/>
<Dinner
included="[true|false]" buffet="[true|false]"
in_room="[true|false]" in_private_space="[true|false]"/>
</Meals>
<CheckinTime>checkin_time</CheckinTime>
<CheckoutTime>checkout_time</CheckoutTime>
</PackageData>
</PropertyDataSet>
</Transaction>
এলিমেন্ট ও অ্যাট্রিবিউট
ট্রানজ্যাকশন (প্রপার্টি ডেটা) মেসেজে নিম্নলিখিত এলিমেন্ট ও অ্যাট্রিবিউট থাকে:
| এলিমেন্ট / @অ্যাট্রিবিউট | বিষয়বস্তু | ধরন | বিবরণ |
|---|---|---|---|
| Transaction | 1 | Complex element | ARI প্রয়োগের ক্ষেত্রে, এটি হল কোনও মেসেজের রুট এলিমেন্ট যা একটি প্রপার্টির জন্য রুমের ধরন ও প্যাকেজ নির্ধারণ করে। |
| Transaction / @timestamp | 1 | DateTime | এই মেসেজটি তৈরি করার তারিখ ও সময়। |
| Transaction / @id | 1 | string | এই অনুরোধের মেসেজের জন্য একটি অনন্য শনাক্তকারী। এই ভ্যালু রেসপন্স মেসেজে ফেরত পাঠানো হয়। অনুমোদিত অক্ষরগুলি হল a-z, A-Z, 0-9, _ (আন্ডারস্কোর), এবং - (ড্যাশ)। |
| Transaction / @partner | 1 | string | এই মেসেজের জন্য পার্টনার অ্যাকাউন্ট। এই স্ট্রিং ভ্যালু হল
"পার্টনার কী" ভ্যালু যা Hotel Center-এর
অ্যাকাউন্ট সেটিংস পৃষ্ঠায় তালিকাভুক্ত করা আছে।
মনে রাখবেন: আপনার কাছে একাধিক অ্যাকাউন্টের জন্য ফিড প্রদানকারী ব্যাকএন্ড থাকলে, এই ভ্যালু একই অ্যাকাউন্টের জন্য আপনার |
| Transaction / PropertyDataSet | 1.. | PropertyDataSet | একটি প্রপার্টির জন্য রুমের ধরন ও প্যাকেজ নির্ধারণ করার কন্টেনার।
আপনাকে সাজেস্ট করা হচ্ছে যে আপনি
|
| Transaction / PropertyDataSet / @action | 0..1 | enum | রুম রেটের সংজ্ঞায় যে ধরনের আপডেট প্রয়োগ করা হবে। সঠিক ভ্যালু হল:
এই অ্যাট্রিবিউটটি ঐচ্ছিক এবং উল্লেখ করা না থাকলে ডিফল্ট হিসেবে |
| Transaction / PropertyDataSet / Property | 1 | string | প্রপার্টির জন্য অনন্য শনাক্তকারী। এই ভ্যালু অবশ্যই হোটেল তালিকা ফিডে
<listing> এলিমেন্টের
<id> ব্যবহার করে নির্দিষ্ট করা হোটেল আইডির সাথে
ম্যাচ করতে হবে। হোটেল আইডি Hotel Center-এও তালিকাভুক্ত করা আছে। |
| Transaction / PropertyDataSet / RoomData | 0..n | RoomData | রুমের বিবরণ দেয়। মনে রাখবেন: |
| Transaction / PropertyDataSet / RoomData / RoomID | 1 | RoomID | রুমের ধরনের জন্য অনন্য শনাক্তকারী। এই ভ্যালু
<OTA_HotelAvailNotifRQ>,
<OTA_HotelRateAmountNotifRQ> এবং
<OTA_HotelInvCountNotifRQ> মেসেজে
<StatusApplicationControl> এলিমেন্টের
InvTypeCode অ্যাট্রিবিউট ব্যবহার করে
রেফারেন্স করা হয়। |
| Transaction / PropertyDataSet / RoomData / Name | 1 | Name | এক বা একাধিক ভাষায় রুমের বিভাগের নামের কন্টেনার। |
| Transaction / PropertyDataSet / RoomData / Name / Text | 1..n | Text | একটি ভাষায় রুমের বিভাগের নাম নির্দিষ্ট করে। |
| Transaction / PropertyDataSet / RoomData / Name / Text / @text | 1..n | string | language অ্যাট্রিবিউটের মাধ্যমে নির্দিষ্ট করা ভাষায় রুমের বিভাগের নাম। |
| Transaction / PropertyDataSet / RoomData / Description | 1 | Name | এক বা একাধিক ভাষায় রুমের বিভাগের বিবরণের কন্টেনার। |
| Transaction / PropertyDataSet / RoomData / Description / Text | 1..n | Text | একটি ভাষায় রুমের বিভাগের বিবরণ উল্লেখ করে। |
| Transaction / PropertyDataSet / RoomData / Description / Text / @text | 1..n | string | language অ্যাট্রিবিউটের মাধ্যমে নির্দিষ্ট করা ভাষায় রুমের বিভাগের
বিবরণ। |
| Transaction / PropertyDataSet / RoomData / Description / Text / @language | 1..n | string | দুই-অক্ষরের ভাষার কোড। |
| Transaction / PropertyDataSet / RoomData / AllowablePackageIDs | 0..1 | AllowablePackageIDs | <AllowablePackageID>টি এলিমেন্টের জন্য একটি কন্টেনার।
|
| Transaction / PropertyDataSet / RoomData / AllowablePackageIDs / AllowablePackageID | 1..n | AllowablePackageID | রেট প্ল্যানের PackageID উল্লেখ করে যা এই রুমের ধরনের সাথে
একত্রিত করা যেতে পারে। রেট প্ল্যান হল প্যাকেজ, রেট ও উপলভ্যতার
কম্বিনেশন। PackageID
OTA_HotelRateAmountNotifRQ এবং OTA_HotelAvailNotifRQ মেসেজে
RatePlanCode-এর সাথে সম্পর্কিত।
|
| Transaction / PropertyDataSet / RoomData / Capacity | 0..1 | integer | একটি রুমে সর্বাধিক যতজন প্রাপ্তবয়স্ক ও বাচ্চা
শারীরিকভাবে থাকতে পারবে। এটি রেটের সাথে পাঠানো যেকোনও NumberOfGuests ভ্যালুর
সমান বা তার চেয়ে বেশি হতে হবে।
মনে রাখবেন: |
| Transaction / PropertyDataSet / RoomData / AdultCapacity | 0..1 | integer | একটি রুমে সর্বাধিক যতজন প্রাপ্তবয়স্ক ব্যক্তি শারীরিকভাবে
থাকতে পারবেন। এটি রেটের সাথে পাঠানো যেকোনও
NumberOfGuests ভ্যালুর চেয়ে বেশি বা সমান হতে হবে।
|
| Transaction / PropertyDataSet / RoomData / ChildCapacity | 0..1 | integer | একটি রুমে সর্বাধিক যতজন বাচ্চা শারীরিকভাবে
থাকতে পারবে।
|
| Transaction / PropertyDataSet / RoomData / OccupancySettings | 0..1 | OccupancySettings | সেটিংস যা রুমের অকুপেন্সি সংক্রান্ত প্রয়োজনীয়তা সীমাবদ্ধ বা পরিবর্তন করতে পারে।
<OccupancySettings> <MinOccupancy>2</MinOccupancy> <MinAge>16</MinAge> </OccupancySettings> সব চাইল্ড এলিমেন্ট অন্তর্ভুক্ত করার প্রয়োজন নেই। |
| Transaction / PropertyDataSet / RoomData / PhotoURL | 0..n | PhotoURL | প্রদত্ত রুম বা রুম বান্ডেলের ফটোর জন্য URL এবং ঐচ্ছিক ক্যাপশন। আপনি কোনও রুম বা রুম বান্ডেলের জন্য একাধিক <PhotoURL>
উল্লেখ করতে পারেন।
এই এলিমেন্টে নিম্নলিখিত চাইল্ড এলিমেন্ট থাকে:
<PhotoURL> <URL>http://www.example.com/image1.jpg</URL> <Caption> <Text text="A bright way to enjoy your mornin' cuppa tea." language="en"/> <Text text="Une façon lumineuse pour profiter de votre tasse de thé." language="fr"/> </Caption> </PhotoURL> |
| Transaction / PropertyDataSet / RoomData / RoomFeatures | 0..1 | <RoomFeatures> |
রুমের ফিচার সম্পর্কে তথ্য আছে। |
| Transaction / PropertyDataSet / RoomData / RoomFeatures / JapaneseHotelRoomStyle | 0..1 | enum | জাপানি হোটেল রুমের স্টাইল নির্দেশ করে। সঠিক ভ্যালু হল:
|
| Transaction / PropertyDataSet / RoomData / RoomFeatures / Beds | 0..1 | Object | রুমে যতগুলি <Bed> আছে, ততগুলিই আছে। মনে রাখবেন
যে জাপানি ফুতন এখানে গণনা করা উচিত নয়।
প্রতিটি
<Bed>-এ নিম্নলিখিত চাইল্ড এলিমেন্ট আছে:
<Beds>
<Bed size="double">
<Width unit="cm" number="140"/>
<Length unit="cm" number="195"/>
</Bed>
<Bed/> <!-- Size unknown -->
</Beds> |
| Transaction / PropertyDataSet / RoomData / RoomFeatures / Suite | 0.. | enum | এই রুমটি স্যুট হলে এই এলিমেন্ট প্রদান করুন। |
| Transaction / PropertyDataSet / RoomData / RoomFeatures / Capsule | 0..1 | enum | এই রুমটি ক্যাপসুল রুম হলে এই এলিমেন্ট প্রদান করুন। |
| Transaction / PropertyDataSet / RoomData / RoomFeatures / Roomsharing | 0..1 | enum | এই রুমটি মালিক বা অন্যান্য অতিথিদের মতো অন্যান্য দখলকারীদের সাথে শেয়ার করা হয়েছে কিনা। সঠিক ভ্যালু হল shared এবং private। |
| Transaction / PropertyDataSet / RoomData / RoomFeatures / Outdoor | 0..1 | enum | এই রুমটি যদি আউটডোর লজিং হয়, যেখানে কোনও স্থায়ী দেওয়াল, প্লাম্বিং ও ক্লাইমেট কন্ট্রোল নেই, তাহলে এই এলিমেন্টটি প্রদান করুন। যেমন, হোটেলের রুম আউটডোর লজিং নয়, কিন্তু ক্যাম্পসাইট যেখানে অতিথিরা তাঁবুতে থাকেন এবং আরভি পার্ক যেখানে অতিথিরা নিজেদের আরভি নিয়ে আসেন, সেগুলি আউটডোর লজিং। |
| Transaction / PropertyDataSet / RoomData / RoomFeatures / MobileAccessible | 0..1 | enum | এই রুমটি চলাফেরার জন্য অ্যাক্সেসযোগ্য হলে এই এলিমেন্ট প্রদান করুন। |
| Transaction / PropertyDataSet / RoomData / RoomFeatures / Smoking | 0..1 | enum | এই রুমটি ধূমপান-বর্জিত নাকি ধূমপান করার রুম। সঠিক
ভ্যালু হল non_smoking এবং smoking। |
| Transaction / PropertyDataSet / RoomData / RoomFeatures / BathAndToilet | 0..1 | Object | রুমের মধ্যে বাথ ও টয়লেট সম্পর্কে তথ্য থাকে।
অ্যাট্রিবিউট হল:
এলিমেন্টটি ঐচ্ছিকভাবে নিম্নলিখিত চাইল্ড এলিমেন্টগুলি গ্রহণ করে:
উদাহরণ: <BathAndToilet relation="separate">
<Bath bathtub="1" shower="1"/>
<Toilet
electronic_bidet="1"
mobility_accessible="1"/>
</BathAndToilet> |
| Transaction / PropertyDataSet / RoomData / RoomFeatures / OpenAirBath | 0..1 | enum | এই রুমে ব্যক্তিগত ওপেন-এয়ার বাথ থাকলে এই এলিমেন্ট প্রদান করুন। |
| Transaction / PropertyDataSet / RoomData / RoomFeatures / AirConditioning | 0..1 | enum | এই রুমে এয়ার কন্ডিশনিং থাকলে এই এলিমেন্ট প্রদান করুন। |
| Transaction / PropertyDataSet / RoomData / RoomFeatures / Balcony | 0..1 | enum | এই রুমে ব্যালকনি বা লানাই থাকলে এই এলিমেন্ট প্রদান করুন। |
| Transaction / PropertyDataSet / RoomData / RoomFeatures / Views | 0..1 | Object | সঠিক বিকল্পের মধ্যে এগুলি অন্তর্ভুক্ত:
|
| Transaction / PropertyDataSet / PackageData | 0..n | PackageData | এমন এলিমেন্টের কন্টেনার যা রেট ফিচার ও শর্তাবলী বর্ণনা করে এবং যা রুমের ফিজিক্যাল বর্ণনার অংশ নয়। মনে রাখবেন: |
| Transaction / PropertyDataSet / PackageData / PackageID | 1 | string | এইসব মেসেজে PackageID,
OTA_HotelRateAmountNotifRQ এবং
OTA_HotelAvailNotifRQ মেসেজে RatePlanCode-এর সাথে সম্পর্কিত। |
| Transaction / PropertyDataSet / PackageData / Name | 1 | Name | এক বা একাধিক ভাষায় প্যাকেজের নামের কন্টেনার। |
| Transaction / PropertyDataSet / PackageData / Name / Text | 1..n | Text | একটি ভাষায় প্যাকেজের নাম উল্লেখ করে। |
| Transaction / PropertyDataSet / PackageData / Name / Text / @text | 1..n | string | language অ্যাট্রিবিউট দ্বারা নির্দিষ্ট করা ভাষায় প্যাকেজের নাম। |
| Transaction / PropertyDataSet / PackageData / Description | 1 | Description | এক বা একাধিক ভাষায় প্যাকেজের বিবরণের কন্টেনার। |
| Transaction / PropertyDataSet / PackageData / Description / Text | 1..n | Text | একটি ভাষায় প্যাকেজের বিবরণ উল্লেখ করে। |
| Transaction / PropertyDataSet / PackageData / Description / Text / @text | 1..n | string | language অ্যাট্রিবিউটের মাধ্যমে নির্দিষ্ট করা ভাষায় প্যাকেজের বিবরণ। |
| Transaction / PropertyDataSet / PackageData / Description / Text / @language | 1..n | string | দুই-অক্ষরের ভাষার কোড। |
| Transaction / PropertyDataSet / PackageData / AllowableRoomIDs | 0..1 | AllowableRoomIDs | <AllowableRoomID>টি এলিমেন্টের জন্য একটি কন্টেনার।
|
| Transaction / PropertyDataSet / PackageData / AllowableRoomIDs / AllowableRoomID | 1..n | AllowableRoomID | এই রেট প্ল্যানের সাথে যুক্ত করা যেতে পারে এমন রুমের ধরনের RoomID উল্লেখ করে। <RoomData> এলিমেন্টে
রুমের ধরন উল্লেখ করা হয়।
|
| Transaction / PropertyDataSet / PackageData / MilesIncluded | 0..1 | MilesIncluded | রেট প্ল্যান বা প্যাকেজ কীভাবে সংজ্ঞায়িত করা হয় তার উপর ভিত্তি করে প্যাকেজে লয়ালটি পয়েন্টের তথ্য যোগ করুন। <PackageData> এলিমেন্টের মধ্যে <MilesIncluded>
এলিমেন্ট নির্দিষ্ট করুন যা রেট প্ল্যান নির্ধারণ করে।
<MilesIncluded>-এ নিম্নলিখিত চাইল্ড এলিমেন্ট আছে:
|
| Transaction / PropertyDataSet / PackageData / Refundable | 0..1 | Refundable | সম্পূর্ণ রিফান্ডযোগ্য বা বাতিলযোগ্য হিসেবে রেট তালিকাভুক্ত করার সুবিধা দেয়। যদি
প্রদান না করা হয়, তাহলে রিফান্ড সম্পর্কে কোনো তথ্য প্রদর্শিত হয় না।
মনে রাখবেন: আমরা সব অ্যাট্রিবিউট সেট করার সাজেশন দিই। এক বা একাধিক অ্যাট্রিবিউট সেট করা না থাকলে ফিড স্ট্যাটাস সংক্রান্ত সতর্কতামূলক মেসেজ জেনারেট করা হয়। আপনি কোনও অ্যাট্রিবিউট সেট না করলে, রেট রিফান্ডযোগ্য হিসেবে দেখানো হয় না। অ্যাট্রিবিউট সেট করার সময়, নিম্নলিখিত বিষয়গুলি মনে রাখবেন:
|
| Transaction / PropertyDataSet / PackageData / Refundable / @available | 1 | boolean | (প্রয়োজনীয়) রেট ফুল রিফান্ডের অনুমতি দেয় কিনা তা জানাতে 1 বা
true-এ সেট করুন;
অন্যথায় 0 বা false-এ সেট করুন। |
| Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days | 0..1 | integer | (available-এর মান true হলে
প্রয়োজনীয়) চেক-ইন করার কত দিন আগে
ফুল রিফান্ডের অনুরোধ করা যাবে
তা উল্লেখ করে। refundable_until_days-এর মান
০ থেকে ৩৩০-এর মধ্যে পূর্ণসংখ্যা হতে হবে, এই দুটি ধরে। |
| Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_time | 0.. | Time | (available, true হলে
এটি বিশেষভাবে সাজেস্ট করা হয়) হোটেলের স্থানীয় সময় অনুযায়ী
দিনের কোন সময় পর্যন্ত ফুল রিফান্ডের অনুরোধ
গ্রহণ করা হবে তা উল্লেখ করে। এটি
refundable_until_days-এর সাথে একত্রিত করে নির্দিষ্ট করা যেতে পারে, যেমন,
"চেক-ইন করার দুই দিন আগে বিকেল ৪:০০টা পর্যন্ত রিফান্ড
পাওয়া যাবে"। refundable_until_time সেট করা না থাকলে, ভ্যালু
ডিফল্ট হিসেবে মাঝরাত সেট করা হয়। |
| Transaction / PropertyDataSet / PackageData / BreakfastIncluded | 0..1 | boolean | এই ধরনের রুমে ব্রেকফাস্টের সুবিধা আছে কিনা তা উল্লেখ করে।
সঠিক ভ্যালু হল 0 (বা false) এবং 1
(বা true)।
|
| Transaction / PropertyDataSet / PackageData / CheckinTime | 0..1 | Time | হোটেলের স্থানীয় সময় অনুযায়ী চেক-ইন করার সবচেয়ে আগেকার সম্ভাব্য সময়। সময় ২৪:০০-এর কম হতে হবে। |
| Transaction / PropertyDataSet / PackageData / CheckoutTime | 0..1 | Time | হোটেলের স্থানীয় সময় অনুযায়ী চেক-আউটের সম্ভাব্য লেটেস্ট সময়। |
| Transaction / PropertyDataSet / PackageData / InternetIncluded | 0..1 | boolean | রুমের সাথে ফ্রি ইন্টারনেট অ্যাক্সেস আছে কিনা তা উল্লেখ করে,
যদিও অন্যান্য রুমে এই সুবিধা নেই। যে হোটেলে সব রুমে কমপ্লিমেন্টারি ইন্টারনেট পরিষেবা দেওয়া হয়,
সেখানে এই এলিমেন্ট সেট করবেন না। এই এলিমেন্ট
রুমের মধ্যে ওয়্যার্ড ইন্টারনেট বা ওয়্যারলেস ইন্টারনেটের ক্ষেত্রে প্রযোজ্য নয় যা
গেস্ট রুমে উপলভ্য নয়। সঠিক ভ্যালু হল 0 (বা
false) এবং 1 (বা true)।
|
| Transaction / PropertyDataSet / PackageData / Meals | 0..1 | Object | এই প্যাকেজে খাবারের তথ্য রয়েছে।
ঐচ্ছিক অ্যাট্রিবিউট শুধুমাত্র তখনই ব্যবহার করা হয় যখন মিল ফিল্টার ( |
| Transaction / PropertyDataSet / PackageData / ParkingIncluded | 0..1 | boolean | কোনও রুমের সাথে ফ্রিতে পার্কিংয়ের সুবিধা আছে কিনা, যেখানে
এই হোটেলে পার্কিংয়ের জন্য সাধারণত চার্জ করা হয়। যে হোটেল ফ্রিতে পার্কিংয়ের সুবিধা দেয়,
সেটির জন্য এই এলিমেন্টের কোনও মান উল্লেখ করবেন না।
সঠিক ভ্যালু হল 0 (বা false) এবং
1 (বা true)। ডিফল্ট ভ্যালু হল
false।
|
| Transaction / PropertyDataSet / PackageData / PhotoURL | 0..1 | Object | (<RoomData>-এ <PhotoURL>-এর মতো,
তবে প্যাকেজের জন্য (যেমন, খাবারের ফটো)।)
|
উদাহরণ
রুম ও প্যাকেজ সংক্রান্ত ডেটা
ট্রানজ্যাকশন (প্রপার্টি ডেটা) মেসেজে প্রপার্টির রুম ও প্যাকেজ ডেটা কীভাবে সংজ্ঞায়িত করতে হয় তার প্রাথমিক উদাহরণ নিচে দেওয়া হল। overlay
অ্যাট্রিবিউটটি ব্যবহার করা হয় যাতে, কোনও ডেটা অপ্রত্যাশিতভাবে আগে থেকেই থাকলে,
আগে থেকে থাকা সব ডেটা মুছে যায় এবং এই মেসেজে থাকা ডেটা দিয়ে তা রিপ্লেস করা হয়:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<PropertyDataSet action="overlay">
<Property>Property_1</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<Name>
<Text text="King" language="en"/>
</Name>
<Description>
<Text text="Room with a king bed" language="en"/>
</Description>
<Capacity>2</Capacity>
<PhotoURL>
<URL>http://www.foo.com/static/bar/image.jpg</URL>
<Caption>
<Text text="Room with a king bed" language="en"/>
</Caption>
</PhotoURL>
</RoomData>
<RoomData>
<RoomID>RoomID_2</RoomID>
<Name>
<Text text="Double" language="en"/>
</Name>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
<PackageData>
<PackageID>PackageID_1</PackageID>
<Name>
<Text text="Standard" language="en"/>
</Name>
<Description>
<Text text="Standard rate" language="en"/>
</Description>
<MilesIncluded>
<LoyaltyCampaignID>my_campaign</LoyaltyCampaignID>
</MilesIncluded>
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>0</BreakfastIncluded>
</PackageData>
<PackageData>
<PackageID>PackageID_2</PackageID>
<Name>
<Text text="Free Breakfast" language="en"/>
</Name>
<Description>
<Text text="Free breakfast rate" language="en"/>
</Description>
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>1</BreakfastIncluded>
</PackageData>
</PropertyDataSet>
</Transaction>
রুমের ধরন যোগ করুন
আগে থেকে থাকা <Transaction> ডেটাতে কীভাবে রুমের ধরন ও প্যাকেজ যোগ করতে হয় তার উদাহরণ নিচে দেওয়া হল:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-07-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<PropertyDataSet action="delta">
<Property>Property_1</Property>
<RoomData>
<RoomID>RoomID_3</RoomID>
<Name>
<Text text="Queen" language="en"/>
</Name>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
<PackageData>
<PackageID>PackageID_3</PackageID>
<Name>
<Text text="Non-Refundable" language="en"/>
</Name>
<!-- Additional PackageData child elements omitted. -->
<Refundable available="false"/>
</PackageData>
</PropertyDataSet>
</Transaction>
রুমের ধরন সরিয়ে দিন
আগে থেকে থাকা রুমের ধরন ও প্যাকেজ কীভাবে সরাবেন তার উদাহরণ নিচে দেওয়া হল। এই পরিস্থিতিতে, "রুম ও প্যাকেজ ডেটা" এবং "রুমের ধরন যোগ করুন"
মেসেজগুলি আগে Google-এ পাঠানো হলে, Google দেখানো মেসেজটি
পেলে King এবং Double রুমের ধরন আর থাকবে না। মনে রাখবেন যে প্যাকেজ ডেটা সরিয়ে দিলে তা সামগ্রিক রেট প্ল্যানকে প্রভাবিত করে
যেমনটি ট্রানজ্যাকশন (প্রপার্টি ডেটা), OTA_HotelRateAmountNotifRQ,
এবং OTA_HotelAvailNotifRQ মেসেজ (একই PackageID
ভ্যালু রেফারেন্স করে) জুড়ে সংজ্ঞায়িত করা হয়েছে এবং তাই অন্যান্য মেসেজের ধরন ব্যবহার করে সংশ্লিষ্ট আপডেটগুলি
প্রয়োজন হতে পারে যাতে বোঝা যায় যে PackageID_2 এবং PackageID_3 এখানে আর
সংজ্ঞায়িত করা নেই।
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-08-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<PropertyDataSet action="overlay">
<Property>Property_1</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<Name>
<Text text="Queen" language="en"/>
</Name>
<!-- Additional RoomData child elements omitted. -->
<Capacity>2</Capacity>
<PhotoURL>
<URL>http://www.foo.com/static/bar/image.jpg</URL>
<Caption>
<Text text="Room with a queen bed" language="en"/>
</Caption>
</PhotoURL>
</RoomData>
<PackageData>
<PackageID>PackageID_1</PackageID>
<Name>
<Text text="Refundable" language="en"/>
</Name>
<!-- Additional PackageData child elements omitted. -->
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>0</BreakfastIncluded>
</PackageData>
</PropertyDataSet>
</Transaction>
রেট প্ল্যান সীমাবদ্ধ করুন
কোনও রুমের ধরনের জন্য অনুমোদিত রেট প্ল্যান সীমাবদ্ধ করতে কীভাবে <AllowablePackageIDs>
এলিমেন্ট ব্যবহার করবেন তার একটি উদাহরণ নিচে দেওয়া হল। এই উদাহরণে,
Queen রুমের ধরন (RoomID_2) শুধুমাত্র PackageID_1 হিসেবে শনাক্ত করা প্যাকেজ এবং
রেট প্ল্যানের সাথে একত্রিত করা যেতে পারে।
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-12-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<PropertyDataSet action="overlay">
<Property>Property_1</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<Name>
<Text text="King" language="en"/>
</Name>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
<RoomData>
<RoomID>RoomID_2</RoomID>
<Name>
<Text text="Queen" language="en"/>
</Name>
<AllowablePackageIDs>
<AllowablePackageID>PackageID_1</AllowablePackageID>
</AllowablePackageIDs>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
<PackageData>
<PackageID>PackageID_1</PackageID>
<Name>
<Text text="Standard" language="en"/>
</Name>
<!-- Additional PackageData child elements omitted. -->
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>0</BreakfastIncluded>
</PackageData>
<PackageData>
<PackageID>PackageID_2</PackageID>
<Name>
<Text text="Free Breakfast" language="en"/>
</Name>
<!-- Additional PackageData child elements omitted. -->
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>1</BreakfastIncluded>
</PackageData>
</PropertyDataSet>
</Transaction>
রুমের ক্যাপাসিটি সীমিত করা
রুমের ধারণক্ষমতার উপর বিধিনিষেধ সেট করতে কীভাবে <Capacity>, <AdultCapacity>,
<ChildCapacity> এলিমেন্ট ব্যবহার করবেন তার একটি উদাহরণ নিচে দেওয়া হল।
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-12-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<PropertyDataSet action="overlay">
<Property>Property_1</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<Name>
<Text text="Double" language="en"/>
</Name>
<Capacity>4</Capacity>
<AdultCapacity>4</AdultCapacity>
<ChildCapacity>3</ChildCapacity>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
</PropertyDataSet>
</Transaction>
ডবল রুমের (RoomID_1) ক্ষেত্রে সর্বাধিক ৪ জন অতিথি থাকতে পারেন। এছাড়াও, এতে সর্বাধিক ৪ জন প্রাপ্তবয়স্ক ও ৩ জন বাচ্চা থাকতে পারে। এই রুম বুক করার জন্য তিনটি ধারণক্ষমতা সংক্রান্ত প্রয়োজনীয়তা পূরণ করতে হবে। এই কনফিগারেশনটি দুটি বিছানা সহ একটি সাধারণ রুমের প্রতিনিধিত্ব করে, যেখানে প্রতিটি বিছানায় দুজন করে লোক থাকতে পারেন। বাচ্চাদের জন্য ক্যাপাসিটি মোট ক্যাপাসিটির থেকে এক কম কারণ রুমে অন্তত একজন প্রাপ্তবয়স্ককে থাকতে হবে।
<RoomFeatures> এবং খাবারের সাথে এক্সটেন্ডেড উদাহরণ
JapaneseHotelRoomStyle-এর কোনও ডিফল্ট ভ্যালু নেই।
কোনও ভ্যালু বাদ দিলে XML-এ কোনও সমস্যা হয় না, তবে ব্যবহারকারী রুমের ধরন বা বেডের সংখ্যা অনুযায়ী ফিল্টার করলে, আপনার লিস্টিং সার্চ ফলাফলে দেখানো হয় না।
দুটি সিঙ্গল বেড
<RoomFeatures> কীভাবে ব্যবহার করতে হয় তা নিম্নলিখিত উদাহরণ থেকে দেখুন:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<RoomFeatures>
<JapaneseHotelRoomStyle>western</JapaneseHotelRoomStyle>
<Beds> <!-- Two single beds -->
<Bed size="single">
<Width unit="cm" number="97"/>
<Length unit="cm" number="195"/>
</Bed>
<Bed size="single">
<Width unit="cm" number="97"/>
<Length unit="cm" number="195"/>
</Bed>
</Beds>
<Suite/>
<Capsule/>
<Roomsharing>private</Roomsharing>
<Outdoor/>
<MobilityAccessible/>
<Smoking>non_smoking</Smoking>
<BathAndToilet relation="separate">
<Bath bathtub="1" shower="1"/>
<Toilet electronic_bidet="1" mobility_accessible="1"/>
</BathAndToilet>
<OpenAirBath/>
<AirConditioning/>
<Balcony/>
<Views>
<LakeView/>
<MarinaView/>
<BeachView/>
<ForestView/>
<MountainView/>
<NatureView/>
</Views>
</RoomFeatures>
</RoomData>
</PropertyDataSet>
</Transaction>
দুটি ডবল বেড
নিচে দুটি double বেড সহ western স্টাইলের রুমের উদাহরণ দেওয়া হল।
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<RoomFeatures>
<JapaneseHotelRoomStyle>western</JapaneseHotelRoomStyle>
<Beds> <!-- Two double beds-->
<Bed size="double"></Bed>
<Bed size="double"></Bed>
</Beds>
</RoomFeatures>
</RoomData>
</PropertyDataSet>
</Transaction>
বেড ছাড়া জাপানি স্টাইল
নিচে জাপানি স্টাইলের বেড ছাড়া রুমের উদাহরণ দেওয়া হল। japanese স্টাইলের রুমের জন্য বেড
সম্পর্কিত তথ্য প্রয়োজন নেই।
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<RoomFeatures>
<JapaneseHotelRoomStyle>japanese</JapaneseHotelRoomStyle>
</RoomFeatures>
</RoomData>
</PropertyDataSet>
</Transaction>
জাপানি-ওয়েস্টার্ন স্টাইলের রুম, বেড সহ
king সাইজের বেড সহ japanese_western স্টাইলের রুমের উদাহরণ নিচে দেওয়া হল।
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<RoomFeatures>
<JapaneseHotelRoomStyle>japanese_western</JapaneseHotelRoomStyle>
<Beds>
<Bed size="king"></Bed>
</Beds>
</RoomFeatures>
</RoomData>
</PropertyDataSet>
</Transaction>
পার্টনারের কাছে japanese_westernটি রুমের বেডের সংখ্যা সম্পর্কিত তথ্য না থাকলে, নিম্নলিখিত উদাহরণটি দেখুন:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<RoomFeatures>
<JapaneseHotelRoomStyle>japanese_western</JapaneseHotelRoomStyle>
</RoomFeatures>
</RoomData>
</PropertyDataSet>
</Transaction>
খাবার
নিম্নলিখিত উদাহরণে রুম ও প্যাকেজের মেটাডেটা হিসেবে খাবার, ফটো, চেক-ইন ও চেক-আউটের সময় উল্লেখ করা হয়েছে:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<PackageData>
<PackageID>PackageID_1</PackageID>
<Name>
<Text text="Meals Included" language="en"/>
</Name>
<PhotoURL>
<Caption>
<Text text="Breakfast" language="en"/>
<Text text="朝食" language="ja"/>
</Caption>
<URL>http://example.com/static/bar/image1234.jpg</URL>
</PhotoURL>
<Meals>
<!-- Guests can choose to have breakfast in their room or in another
space to avoid contact with other guests. -->
<Breakfast included="1" in_room="1" in_private_space="1"/>
<Dinner included="1" buffet="1"/>
</Meals>
<CheckinTime>15:00</CheckinTime>
<CheckoutTime>11:00</CheckoutTime>
</PackageData>
</PropertyDataSet>
</Transaction>
শুধু ব্রেকফাস্ট
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<PackageData>
<PackageID>PackageID_1</PackageID>
<Name>
<Text text="Breakfast Included" language="en"/>
</Name>
<PhotoURL>
<Caption>
<Text text="Breakfast" language="en"/>
<Text text="朝食" language="ja"/>
</Caption>
<URL>http://example.com/static/bar/image1234.jpg</URL>
</PhotoURL>
<Meals>
<Breakfast included="true"/>
<!-- Dinner not included needs to be explicitly specified -->
<Dinner included="false"/>
</Meals>
<CheckinTime>15:00</CheckinTime>
<CheckoutTime>11:00</CheckoutTime>
</PackageData>
</PropertyDataSet>
</Transaction>
প্রতিক্রিয়া
সিন্ট্যাক্স
TransactionResponse (Property Data) মেসেজে নিম্নলিখিত সিনট্যাক্স ব্যবহার করা হয়:
<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse 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>
</TransactionResponse>
এলিমেন্ট ও অ্যাট্রিবিউট
TransactionResponse (Property Data) মেসেজে নিম্নলিখিত
এলিমেন্ট ও অ্যাট্রিবিউট আছে:
| এলিমেন্ট / @অ্যাট্রিবিউট | বিষয়বস্তু | ধরন | বিবরণ |
|---|---|---|---|
| TransactionResponse | 1 | Complex element | রুট এলিমেন্ট যা প্রাপ্ত ট্রানজ্যাকশন অনুরোধ মেসেজের সাফল্য বা সমস্যা নির্দেশ করে। |
| TransactionResponse / @timestamp | 1 | DateTime | এই মেসেজটি তৈরি করার তারিখ ও সময়। |
| TransactionResponse / @id | 1 | string | সংশ্লিষ্ট ট্রানজ্যাকশন মেসেজ থেকে পাওয়া অনন্য শনাক্তকারী। |
| TransactionResponse / @partner | 1 | string | এই মেসেজের জন্য পার্টনার অ্যাকাউন্ট। |
| TransactionResponse / Success | 0..1 | Success | এটি দেখায় যে ট্রানজ্যাকশন মেসেজ কোনও সতর্কতা, সমস্যা বা ব্যর্থতা ছাড়াই
প্রসেস করা হয়েছে।
প্রতিটি মেসেজে |
| TransactionResponse / Issues | 0..1 | Issues | ট্রানজ্যাকশন মেসেজ প্রসেস করার সময় এক বা একাধিক সমস্যা দেখা দিলে,
সেগুলি এই কন্টেনারে দেখানো হয়।
প্রতিটি মেসেজে |
| TransactionResponse / Issues / Issue | 1..n | Issue | ট্রানজ্যাকশন মেসেজ প্রসেস করার সময় দেখা দেওয়া সতর্কতা, সমস্যা বা ব্যর্থতার বিবরণ। এইসব সমস্যার বিবরণ ফিড স্ট্যাটাস সংক্রান্ত ত্রুটি মেসেজ থেকে পাওয়া যাবে। |
| TransactionResponse / Issues / Issue / @code | 1 | integer | সমস্যার শনাক্তকারী। |
| TransactionResponse / Issues / Issue / @status | 1 | enum | যে ধরনের সমস্যা হয়েছে। সঠিক ভ্যালু হল |
উদাহরণ
সফল হয়েছে
নিচে ট্রানজ্যাকশন মেসেজ প্রসেস করার পরে পাওয়া উত্তর দেখানো হল।
<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</TransactionResponse>
সমস্যা
সমস্যার কারণে ট্রানজ্যাকশন মেসেজ প্রসেস করা যায়নি এবং তার উত্তরে নিম্নলিখিত মেসেজ পাঠানো হয়েছে।
<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Issues>
<Issue code="1001" status="error">Example</Issue>
</Issues>
</TransactionResponse>