الطلبات
البنية
تستخدم الرسالة 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>
<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>
العناصر والسمات
تحتوي رسالة المعاملة (بيانات الموقع) على العناصر التالية :
العنصر / @Attribute | عدد مرات الظهور | النوع | الوصف |
---|---|---|---|
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 | تشير هذه السمة إلى المعرّف الفريد الخاص بالمكان المخصّص للاستئجار. يجب أن تتطابق هذه القيمة مع
تم تحديد رقم تعريف الفندق باستخدام
<id> في العنصر <listing>
في خلاصة قوائم الفنادق مُدرَج أيضًا رقم تعريف الفندق في مركز إدارة معلومات الفنادق. |
Transaction / PropertyDataSet / RoomData | 0..n | RoomData | يصف غرفة. ملاحظة: واحد على الأقل من |
Transaction / PropertyDataSet / RoomData / RoomID | 1 | RoomID | معرّف فريد لنوع غرفة تتم الإشارة إلى هذه القيمة باستخدام
السمة InvTypeCode في
عنصر <StatusApplicationControl> في
<OTA_HotelAvailNotifRQ> و
<OTA_HotelRateAmountNotifRQ> رسالة |
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
مع RatePlanCode في
رسائل OTA_HotelRateAmountNotifRQ وOTA_HotelAvailNotifRQ.
|
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 في هذه الرسائل تتوافق مع
RatePlanCode في OTA_HotelRateAmountNotifRQ و
رسائل OTA_HotelAvailNotifRQ. |
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 | تُحدِّد رقم تعريف الغرفة لنوع الغرفة الذي يمكن دمجه مع هذا.
خطة الأسعار. يتم تحديد نوع غرفة في <RoomData>
العنصر.
|
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
يجب أن يكون عددًا صحيحًا بين 0 و330، شاملاً. |
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_time | 0.. | Time | (يُنصح به بشدة إذا
available هي true ) يتم تحديدها
آخر وقت في اليوم، بالتوقيت المحلي للفندق، حيث تكون
سيتم قبول طلب استرداد الأموال. يمكن جمع ذلك مع
refundable_until_days تحديدًا، بالنسبة إلى
على سبيل المثال، "تتوفر عمليات رد الأموال حتى الساعة 4:00 مساءً قبل يومين من موعد
"تسجيل الوصول". إذا لم يتم ضبط refundable_until_time ، يتم إدخال القيمة
القيمة الافتراضية على منتصف الليل. |
Transaction / PropertyDataSet / PackageData / BreakfastIncluded | 0..1 | boolean | يُحدِّد ما إذا كان نوع الغرفة هذا يشمل الفطور.
القيمتان الصالحتان هما 0 (أو false ) و1 .
(أو true ).
يُفضّل استخدام |
Transaction / PropertyDataSet / PackageData / CheckinTime | 0..1 | Time | أقرب وقت ممكن لتسجيل الوصول في التوقيت المحلي للفندق. يجب أن يكون الوقت أقل من 24:00. |
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 | (كما هو الحال في <PhotoURL> في <RoomData> ،
ولكن بالنسبة إلى الحزمة (مثل صور الوجبات).
|
أمثلة
بيانات الغرف والحزمة
فيما يلي مثال أساسي لكيفية تحديد غرفة فندق
بيانات الحزمة في رسالة معاملة (بيانات الموقع). 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>
<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 سابقًا، King
لن يتوفّر نوعان (Double
) من الغرف بعد تلقّي Google الرسالة.
كما هو موضح. يُرجى العلم أنّ إزالة بيانات الحزمة تؤثّر في خطة الأسعار الإجمالية.
كما هو محدّد في المعاملة (بيانات الموقع)، 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) ما يصل إلى 4 نزلاء. بالإضافة إلى ذلك، قد يكون هناك ما يصل إلى 4 أشخاص بالغين وما يصل إلى 3 أطفال. السعة الثلاث يجب استيفاء المتطلبات لتكون هذه الغرفة قابلة للحجز. هذا النمط تمثل التهيئة غرفة نموذجية بها سريران يمكن لكل منهما لتناسب شخصين. سعة الأطفال أقل من السعة الإجمالية بمقدار واحد لأنه يجب أن يكون هناك شخص بالغ واحد على الأقل في الغرفة.
أمثلة موسّعة حول <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>
سريران مزدوجان
في ما يلي مثال على غرفة نمط western
التي تحتوي على غرفتين
سريران (double
).
<?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>
مأكولات غربية يابانية مع سرير
في ما يلي مثال على غرفة نمط japanese_western
مع king
وحجم سريرك.
<?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)
" على ما يلي:
العناصر والسمات:
العنصر / @Attribute | عدد مرات الظهور | النوع | الوصف |
---|---|---|---|
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>