অনুরোধ
সিনট্যাক্স
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 | এই অনুরোধ বার্তার জন্য একটি অনন্য শনাক্তকারী। এই মানটি প্রতিক্রিয়া বার্তায় ফেরত দেওয়া হয়। অনুমোদিত অক্ষরগুলো হলো az, AZ, 0-9, _ (আন্ডারস্কোর), এবং - (ড্যাশ)। |
| Transaction / @partner | 1 | string | এই বার্তার জন্য অংশীদার অ্যাকাউন্ট। এই স্ট্রিং ভ্যালুটি হলো হোটেল সেন্টারের অ্যাকাউন্ট সেটিংস পৃষ্ঠায় তালিকাভুক্ত "পার্টনার কী" ভ্যালু। দ্রষ্টব্য: যদি আপনার এমন কোনো ব্যাকএন্ড থাকে যা একাধিক অ্যাকাউন্টের জন্য ফিড সরবরাহ করে, তাহলে এই মানটিকে অবশ্যই একই অ্যাকাউন্টের জন্য আপনার |
| Transaction / PropertyDataSet | 1.. | PropertyDataSet | একটিমাত্র প্রপার্টির জন্য রুমের ধরন ও প্যাকেজ নির্ধারণ করার একটি কন্টেইনার। পরামর্শ দেওয়া হচ্ছে যে আপনি |
| Transaction / PropertyDataSet / @action | 0..1 | enum | রুমের ভাড়ার সংজ্ঞায় যে ধরনের আপডেট প্রয়োগ করতে হবে। বৈধ মানগুলি হলো:
এই অ্যাট্রিবিউটটি ঐচ্ছিক এবং নির্দিষ্ট না করা হলে এর ডিফল্ট মান |
| Transaction / PropertyDataSet / Property | 1 | string | প্রপার্টির অনন্য শনাক্তকারী। এই মানটি অবশ্যই হোটেল লিস্ট ফিডের <listing> এলিমেন্টে <id> ব্যবহার করে নির্দিষ্ট করা হোটেল আইডির সাথে মিলতে হবে। হোটেল আইডিটি হোটেল সেন্টারেও তালিকাভুক্ত থাকে। |
| 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 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 | প্রদত্ত রুম বা রুম বান্ডেলের একটি ছবির জন্য একটি ইউআরএল এবং ঐচ্ছিক ক্যাপশন। আপনি একটি রুম বা রুম বান্ডেলের জন্য একাধিক <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 রুম টাইপগুলির আর অস্তিত্ব থাকবে না। উল্লেখ্য যে, প্যাকেজ ডেটা সরানোর ফলে Transaction (Property Data), 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>