نظرة عامة
وتتيح لك واجهة برمجة التطبيقات هذه تحديد طُرق لتطبيق الإجراءات ديناميكيًا على معدّل معيّن كلما استيفاء شروط معيّنة، مثل تعديل السعر أو إتاحة إمكانية ردّ الأموال. على عكس promotions API، الذي لا يمكن تطبيقه إلا العروض الترويجية المؤهلة التي تقدّم أكبر الخصومات، تطبّق واجهة برمجة التطبيقات هذه أي إجراءات عند استيفاء شروط معيّنة، بما في ذلك تعديلات الأسعار التي قد من زيادة السعر النهائي في النهاية.
الطلبات
البنية
تستخدم الرسالة RateModifications
البنية التالية:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="partner_key"
id="message_ID"
timestamp="timestamp">
<HotelRateModifications hotel_id="HotelID" action="[overlay]">
<ItineraryRateModification id="ModificationID" action="[delete]">
<BookingDates>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
</BookingDates>
<BookingWindow min="integer" max="integer"/>
<CheckinDates>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
</CheckinDates>
<CheckoutDates>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
</CheckoutDates>
<Devices>
<Device type="[desktop|tablet|mobile]"/>
</Devices>
<LengthOfStay min="integer" max="integer"/>
<MinimumAmount before_discount="integer"/>
<RatePlans>
<RatePlan id="PackageID_1"/>
<RatePlan id="PackageID_2"/>
</RatePlans>
<RoomTypes>
<RoomType id="RoomID_1"/>
<RoomType id="RoomID_2"/>
</RoomTypes>
<StayDates application="[all|any]">
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
</StayDates>
<UserCountries type="[include|exclude]">
<Country code="country_code"/>
</UserCountries>
<ModificationActions>
<PriceAdjustment multiplier="float"/>
<RateRule id="RateRuleID"/>
<Refundable available="[false|true]"
refundable_until_days="number_of_days"
refundable_until_time="time"/>
<Availability status="[unavailable]"/>
</ModificationActions>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
العناصر والسمات
تحتوي الرسالة RateModifications
على العناصر التالية
:
العنصر / @Attribute | عدد مرات الظهور | النوع | الوصف |
---|---|---|---|
RateModifications | 1 | Complex element | العنصر الجذر لرسالة تعديلات الأسعار |
RateModifications / @partner | 1 | string | حساب الشريك لهذه الرسالة قيمة السلسلة هذه هي
"مفتاح الشريك" القيمة مدرجة في
صفحة "إعدادات الحساب" في Hotel Center.
ملاحظة: إذا كانت لديك خلفية توفر خلاصات
حسابات متعددة، يجب أن تتطابق هذه القيمة مع |
RateModifications / @id | 1 | string | معرّف فريد لرسالة الطلب هذه يتم عرض هذه القيمة في رسالة الرد. الأحرف المسموح بها هي a-z وA-Z و0-9 و_. (شرطة سفلية)، و- (شرطة). |
RateModifications / @timestamp | 1 | DateTime | تاريخ إنشاء هذه الرسالة ووقتها. |
RateModifications / HotelRateModifications | 0..n | HotelRateModifications | تعديلات الأسعار لأحد المواقع. ينطبق كل تعديل للسعر على موقع واحد. ملاحظة: في حال إمكانية تطبيق تعديلات متعددة على الأسعار بالمعدل نفسه، يتم تطبيق جميع التعديلات. لا يوجد ترتيب محدد مضمون. |
RateModifications / HotelRateModifications / @hotel_id | 1 | string | تشير هذه السمة إلى المعرّف الفريد الخاص بالمكان المخصّص للاستئجار. يجب أن تتطابق هذه القيمة مع
تم تحديد رقم تعريف الفندق باستخدام
<id> في العنصر <listing>
في خلاصة قوائم الفنادق مُدرَج أيضًا رقم تعريف الفندق في مركز إدارة معلومات الفنادق. |
RateModifications / HotelRateModifications / @action | 0..1 | enum | إذا لم يتم تحديد |
RateModifications / HotelRateModifications / ItineraryRateModification | 0..200 | ItineraryRateModification | تعديل سعر واحد لأحد المواقع ملاحظة:يصعُب تصحيح أخطاء تعديلات الأسعار، ولا يمكننا توصي باستخدامها باعتدال. يُرجى التواصل مع المدير التقني للحسابات (TAM) للتعرّف على حالات الاستخدام التي إذا كانت تتطلب أكثر من 200 تعديل للسعر |
RateModifications / HotelRateModifications / ItineraryRateModification / @id | 1 | string | معرّف فريد لتعديل السعر الحد الأقصى لعدد الأحرف المسموح بها هي 40. الأحرف المسموح بها هي a-z وA-Z و0-9 و0-9. _ (شرطة سفلية) و- (شرطة) و . (نقطة). |
RateModifications / HotelRateModifications / ItineraryRateModification / @action | 0..1 | enum | إذا لم يتم تحديده وتم تعديل السعر بنفس
لم يتم تخزين وفي حال تحديدها، يجب أن تكون القيمة |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates | 0..1 | BookingDates | حاوية لنطاق زمني واحد أو أكثر تحدّد وقت الحجز لكي يتم تطبيق تعديل الأسعار. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange | 1..99 | DateRange | نطاق زمني يحدّد وقت إجراء الحجز للسعر تطبيق التعديل. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @start | 0..1 | Date | تاريخ البدء (بناءً على المنطقة الزمنية للموقع) شاملاً
النطاق الزمني. ويجب أن يكون هذا التاريخ قبل أو مطابقًا لتاريخ
التاريخ: end إذا لم يتم تحديد start ، يتم تضمين التاريخ
غير محدود فعليًا من حيث تاريخ البدء. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @end | 0..1 | Date | تاريخ الانتهاء (بناءً على المنطقة الزمنية للموقع)، ويشمل ذلك تاريخ
النطاق الزمني. ويجب أن يتطابق هذا التاريخ مع تاريخ
التاريخ: start إذا لم يتم تحديد end ، يتم تضمين التاريخ
غير محدود فعليًا من حيث تاريخ الانتهاء. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @days_of_week | 0..1 | string | أيام الأسبوع المسموح بها في النطاق الزمني. إذا لم يكن كذلك محدد، يُسمح بجميع الأيام في النطاق الزمني. على كل يحدد الحرف في السلسلة يومًا. على سبيل المثال، "MTWHF" يحدد أن أيام الأسبوع مسموح بها في النطاق الزمني. الأحرف الصالحة هي:
أي تركيبة أحرف صالحة. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow | 0..1 | BookingWindow | تحدِّد هذه السياسة الفترة الزمنية التي يجب أن يحدث فيها الحجز نسبةً إلى تاريخ تسجيل الوصول (استنادًا إلى المنطقة الزمنية للموقع). على سبيل المثال، يمكن ضبط فترة الحجز على 7 أيام على الأقل، ولا تزيد عن 180 يومًا، قبل تسجيل الوصول. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @min | 0..1 | integer | الحدّ الأدنى لعدد الأيام التي يجب فيها إجراء الحجز قبل تسجيل الوصول لتطبيق تعديل السعر إذا لم يتم تحديد ذلك، فهناك ليس حدًّا أدنى. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @max | 0..1 | integer | الحدّ الأقصى لعدد الأيام قبل تسجيل الوصول الذي يجب فيه إجراء الحجز لتطبيق تعديل السعر إذا لم يتم تحديد ذلك، فهناك ليس حدًا أقصى. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates | 0..1 | CheckinDates | حاوية لنطاق زمني واحد أو أكثر تحدّد وقت تسجيل الوصول ليتم تطبيق تعديل السعر. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange | 1..99 | DateRange | نطاق زمني يحدّد الوقت الذي يجب فيه تسجيل الوصول للسعر تطبيق التعديل. هذا العنصر غير مطلوب إذا كنت حذف تعديل واحد أو أكثر للسعر. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @start | 0..1 | Date | تاريخ البدء (بناءً على المنطقة الزمنية للموقع) شاملاً
النطاق الزمني. ويجب أن يكون هذا التاريخ قبل أو مطابقًا لتاريخ
التاريخ: end إذا لم يتم تحديد start ، يتم تضمين التاريخ
غير محدود فعليًا من حيث تاريخ البدء. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @end | 0..1 | Date | تاريخ الانتهاء (بناءً على المنطقة الزمنية للموقع)، ويشمل ذلك تاريخ
النطاق الزمني. ويجب أن يتطابق هذا التاريخ مع تاريخ
التاريخ: start إذا لم يتم تحديد end ، يتم تضمين التاريخ
غير محدود فعليًا من حيث تاريخ الانتهاء. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @days_of_week | 0..1 | string | أيام الأسبوع المسموح بها في النطاق الزمني. إذا لم يكن كذلك محدد، يُسمح بجميع الأيام في النطاق الزمني. على كل يحدد الحرف في السلسلة يومًا. على سبيل المثال، "MTWHF" يحدد أن أيام الأسبوع مسموح بها في النطاق الزمني. الأحرف الصالحة هي:
أي تركيبة أحرف صالحة. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates | 0..1 | CheckoutDates | حاوية لنطاق زمني واحد أو أكثر تحدّد وقت إتمام الدفع ليتم تطبيق تعديل السعر. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange | 1..99 | DateRange | نطاق زمني يحدّد وقت إتمام الدفع للسعر تطبيق التعديل. هذا العنصر غير مطلوب إذا كنت حذف تعديل واحد أو أكثر للسعر. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @start | 0..1 | Date | تاريخ البدء (بناءً على المنطقة الزمنية للموقع) شاملاً
النطاق الزمني. ويجب أن يكون هذا التاريخ قبل أو مطابقًا لتاريخ
التاريخ: end إذا لم يتم تحديد start ، يتم تضمين التاريخ
غير محدود فعليًا من حيث تاريخ البدء. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @end | 0..1 | Date | تاريخ الانتهاء (بناءً على المنطقة الزمنية للموقع)، ويشمل ذلك تاريخ
النطاق الزمني. ويجب أن يتطابق هذا التاريخ مع تاريخ
التاريخ: start إذا لم يتم تحديد end ، يتم تضمين التاريخ
غير محدود فعليًا من حيث تاريخ الانتهاء. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @days_of_week | 0..1 | string | أيام الأسبوع المسموح بها في النطاق الزمني. إذا لم يكن كذلك محدد، يُسمح بجميع الأيام في النطاق الزمني. على كل يحدد الحرف في السلسلة يومًا. على سبيل المثال، "MTWHF" يحدد أن أيام الأسبوع مسموح بها في النطاق الزمني. الأحرف الصالحة هي:
أي تركيبة أحرف صالحة. |
RateModifications / HotelRateModifications / ItineraryRateModification / Devices | 0..1 | Devices | حاوية تتضمّن أجهزة المستخدمين المؤهَّلة تعديل السعر. إذا تم تحديد السعر، فيكون تعديل السعر إذا تطابق المستخدم مع أحد الأجهزة المدرجة. إذا لم يتم تحديده، فلن يؤدي ذلك إلى تقييد تطبيق تعديل الأسعار |
RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device | 1..3 | Device | يحدّد نوعًا واحدًا من أجهزة المستخدم مؤهَّلاً للاستفادة من السعر التعديل. |
RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device / @type | 1 | enum | نوع الجهاز يجب أن تكون القيمة desktop .
tablet أو mobile . |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions | 1 | ModificationActions | الإجراءات التي يتم تطبيقها على المعدل إذا كانت جميع الشروط المحددة المشروع. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment | 0..1 | PriceAdjustment | يتم تعديل المعدل بضرب كل من AmountBeforeTax و
AmountAfterTax حسب المُضاعِف المحدّد |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment / @multiplier | 1 | float | كل من AmountBeforeTax وAmountAfterTax
مضروبًا في هذه القيمة. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule | 0..1 | RateRule | يتم تعديل السعر من خلال تطبيق رقم تعريف قاعدة السعر المحددة عليه. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule / @id | 1 | string | يطابق رقم التعريف هذا معدّلاً مع تعريف في
تعريف قاعدة التقييم.
ملاحظة:
|
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable | 0..1 | Refundable | يؤدي هذا الإجراء إلى استبدال إمكانية استرداد الأموال بنسبة مئوية إلى القيمة المحدّدة.
عند ضبط السمات، يجب مراعاة ما يلي:
|
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / 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، شاملاً. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @refundable_until_time | 0..1 | Time | (يُنصح به إذا كانت قيمة available هي true ) يتم تحديدها
آخر وقت في اليوم، بالتوقيت المحلي للفندق، حيث تكون
يتم قبول طلب استرداد الأموال. يمكن جمع ذلك مع
refundable_until_days تحديدًا، بالنسبة إلى
على سبيل المثال، "تتوفر عمليات رد الأموال حتى الساعة 4:00 مساءً قبل يومين من موعد
"تسجيل الوصول". إذا لم يتم ضبط refundable_until_time ، يتم إدخال القيمة
القيمة الافتراضية على منتصف الليل. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability | 0..1 | Availability | استبدال توفر المعدل بالقيمة المحددة.
نحن نتيح فقط ضبط السعر على unavailable . |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability / @status | 1 | enum | إذا كانت status="unavailable" ، تتم معالجة المعدّل.
كما لو كانت غير متوفرة، بغض النظر عما إذا كان هناك سعر صالح
بها. |
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay | 0..1 | LengthOfStay | تحدِّد هذه السياسة حدود مدة الإقامة التي يمكن تعديل الأسعار ضمنها. النهج التحليلي. لا يتم تطبيق تعديل السعر عندما تكون مدة الإقامة خارج الحد الأدنى والحد الأقصى. |
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @min | 0..1 | integer | الحد الأدنى لعدد ليالي الإقامة المسموح به لتعديل السعر المنهجية. وإذا لم يتم تحديد قيمة الحقل، فلا يوجد حد أدنى. |
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @max | 0..1 | integer | الحد الأقصى لعدد ليالي الإقامة المسموح بها لتعديل السعر المنهجية. وإذا لم يتم تحديد قيمة السمة، لن يكون هناك حدّ أقصى. |
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount | 0..1 | MinimumAmount | تُحدد الحد الأدنى من مجموع أسعار الإقامة في الغرف اليومية (باستخدام القيمة الأكبر من
AmountBeforeTax أو AmountAfterTax ) التي يجب
لتطبيقه تعديل المعدل. |
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount / @before_discount | 1 | integer | القيمة التي يجب تجاوزها ليتم تعديل السعر المنهجية. |
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans | 0..1 | RatePlans | حاوية لقائمة خطط الأسعار التي تم تعديل السعر لها
تنطبق. إذا لم يتم تحديد <RatePlans> ، سيتم تحديد المعدّل
تطبيق أي تعديل على جميع خطط الأسعار |
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan | 1..n | RatePlan | تحدّد خطة أسعار. يتم تحديد خطة الأسعار من خلال مجموعة من الحزمة والأسعار والتوفّر، كما هو محدّد في المعاملة (بيانات الموقع) وOTA_HotelRateAmountNotifRQ وOTA_HotelAvailNotifRQ والرسائل كما هو محدد في PackageID. |
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan / @id | 1 | string | المعرّف الفريد لخطة الأسعار يتم تعيين هذه القيمة إلى
قيمة PackageID في <PackageData>
في رسالة المعاملة (بيانات الموقع)، وفي
سمة RatePlanCode في
<StatusApplicationControl> في كليهما
<OTA_HotelRateAmountNotifRQ> و
<OTA_HotelAvailNotifRQ> رسالة
الحد الأقصى لعدد الأحرف المسموح به هو 50 حرفًا. |
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes | 0..1 | RoomTypes | حاوية لقائمة بأنواع الغرف التي ينطبق عليها تعديل السعر
يتم تطبيق تعديل السعر على كل <RoomType> .
المحددة. إذا لم يتم تحديد السمة <RoomTypes> ، سيتم
ينطبق تعديل السعر على جميع الغرف. |
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType | 1..n | RoomType | تحدِّد هذه السياسة نوع الغرفة. يتم تحديد نوع الغرفة في
عنصر <RoomData> في
رسالة المعاملة (بيانات الموقع)
المشار إليها باستخدام قيمتها <RoomID> . (
تتم الإشارة إلى قيمة <RoomID> أيضًا من خلال السمة
السمة InvTypeCode في OTA_HotelRateAmountNotifRQ
messages.) |
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType / @id | 1 | string | المعرّف الفريد للمستودع (نوع الغرفة) تحدد هذه القيمة
إلى <RoomID> في رسالة معاملة (بيانات الموقع).
الحد الأقصى لعدد الأحرف المسموح به هو 50 حرفًا. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates | 0..1 | StayDates | حاوية نطاق زمني واحد أو أكثر تحدّد كيفية تحديد يتم تطبيق تعديل الأسعار، مثل استيعاب السعر الموسمي. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / @application | 1 | enum | تصف كيفية تطبيق تعديل الأسعار. القيم الصالحة هي:
يجب تحديد هذه السمة دائمًا. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange | 1..99 | DateRange | نطاق زمني يحدد التواريخ التي سيتم فيها تعديل الأسعار المنهجية. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @start | 0..1 | Date | تاريخ البدء (بناءً على المنطقة الزمنية للموقع) شاملاً
النطاق الزمني. ويجب أن يكون هذا التاريخ قبل أو مطابقًا لتاريخ
التاريخ: end إذا لم يتم تحديد start ، يتم تضمين التاريخ
غير محدود فعليًا من حيث تاريخ البدء. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @end | 0..1 | Date | تاريخ الانتهاء (بناءً على المنطقة الزمنية للموقع)، ويشمل ذلك تاريخ
النطاق الزمني. يجب أن يتطابق هذا التاريخ مع تاريخ start أو بعده.
التاريخ. إذا لم يتم تحديد end ، يتم تضمين التاريخ
غير محدود فعليًا من حيث تاريخ الانتهاء. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @days_of_week | 0..1 | string | أيام الأسبوع المسموح بها في النطاق الزمني. إذا لم يكن كذلك محدد، يُسمح بجميع الأيام في النطاق الزمني. على كل يحدد الحرف في السلسلة يومًا. على سبيل المثال، "MTWHF" يحدد أن أيام الأسبوع مسموح بها في النطاق الزمني. الأحرف الصالحة هي:
أي تركيبة أحرف صالحة. |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries | 0..1 | UserCountries | في حال تحديد السعر، لن يتم تطبيق تعديل السعر إلا إذا كان المستخدم تقع في أحد البلدان المحددة. وإذا لم يتم تحديده، فسيتم تطبيق المعدل يتم تطبيق التعديل بغض النظر عن الموقع الجغرافي للمستخدم. |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / @type | 0..1 | enum | تمثّل هذه السمة نوع مواصفات Userالبُلدان.
القيمتان الصالحتان هما في حال ضبط سمة "بلدان المستخدم إذا كانت قيمة Userالبُلدان وفي حال ترك سمة Userالبُلدان |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country | 1..300 | Country | تحدّد هذه السمة بلد مستخدم مسموحًا به لتعديل السعر. |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country / @code | 1 | string | رمز CLDR للبلد،
مثل DE أو FR . لاحظ أنه بالنسبة لبعض
فإن رمز CLDR للبلدان ليس هو نفسه رمز ISO المكون من حرفين
رمز البلد. بالإضافة إلى ذلك، لا يمكن استخدام رموز CLDR للمناطق. |
أمثلة
الرسالة الأساسية
يعرض المثال التالي رسالة RateModifications
أساسية:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1">
<ItineraryRateModification id="1">
<BookingDates>
<DateRange start="2023-07-01" end="2023-07-31" days_of_week="MTWHF"/>
<DateRange start="2023-09-01" end="2023-09-30"/>
</BookingDates>
<BookingWindow min="7" max="330"/>
<CheckinDates>
<DateRange start="2023-10-01" end="2023-10-31" days_of_week="FSU"/>
</CheckinDates>
<CheckoutDates>
<DateRange start="2023-10-08" end="2023-11-07" days_of_week="FSU"/>
</CheckoutDates>
<Devices>
<Device type="mobile"/>
<Device type="tablet"/>
</Devices>
<LengthOfStay min="2" max="14"/>
<RatePlans>
<RatePlan id="234"/>
<RatePlan id="567"/>
</RatePlans>
<RoomTypes>
<RoomType id="123"/>
<RoomType id="456"/>
</RoomTypes>
<UserCountries>
<Country code="US"/>
<Country code="GB"/>
</UserCountries>
<ModificationActions>
<PriceAdjustment multiplier="1.2"/>
</ModificationActions>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
حذف تعديل سعر واحد
يوضّح المثال التالي كيفية حذف تعديل سعر واحد الموقع:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1">
<ItineraryRateModification id="1" action="delete"/>
</HotelRateModifications>
</RateModifications>
حذف جميع تعديلات الأسعار
يوضح المثال التالي كيفية حذف جميع تعديلات الأسعار لإحدى الموقع:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1" action="overlay"/>
</RateModifications>
عرض جميع تعديلات الأسعار
يوضح المثال التالي كيفية إضافة <HotelRateModifications>
إلى
الموقع مع تعديل واحد أو أكثر من التعديلات الجديدة على الأسعار فعندما
action="overlay"
، يتم حذف جميع تعديلات الأسعار المخزّنة قبل
تخزين تعديلات الأسعار المحدّدة في الرسالة الحالية:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1" action="overlay"/>
<ItineraryRateModification id="1">
<BookingDates>
<DateRange start="2023-09-01" end="2023-09-30"/>
</BookingDates>
<ModificationActions>
<PriceAdjustment multiplier="1.2"/>
</ModificationActions>
<RoomTypes>
<RoomType id="123"/>
<RoomType id="456"/>
</RoomTypes>
<RatePlans>
<RatePlan id="234"/>
<RatePlan id="567"/>
</RatePlans>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
إجراءات تعديل متعددة
يوضّح المثال التالي كيفية تنفيذ إجراءات تعديل متعدّدة. في وقت واحد:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1">
<ItineraryRateModification id="1">
<BookingDates>
<DateRange start="2023-01-01" end="2023-02-28"/>
</BookingDates>
<ModificationActions>
<PriceAdjustment multiplier=".95"/>
<Refundable available="true"
refundable_until_days="1"
refundable_until_time="12:00:00"/>
</ModificationActions>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
إيقاف خطة الأسعار لبلدان المستخدمين
يوضّح المثال التالي كيفية تقييد خطة أسعار لتقتصر على
مستخدمو اللغة اليابانية (JP
):
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1">
<ItineraryRateModification id="1">
<RatePlans>
<RatePlan id="jp_only"/>
</RatePlans>
<UserCountries type="exclude">
<Country code="JP"/>
</UserCountries>
<ModificationActions>
<Availability status="unavailable"/>
</ModificationActions>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
الردود
البنية
تستخدم الرسالة RateModificationsResponse
البنية التالية:
<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="timestamp"
id="message_ID"
partner="partner_key">
<!-- Either Success or Issues will be populated. -->
<Success/>
<Issues>
<Issue code="issue_code" status="issue_type"><var>issue_description</var></Issue>
</Issues>
</RateModificationsResponse>
العناصر والسمات
تحتوي رسالة "RateModificationsResponse
" على ما يلي:
العناصر والسمات:
العنصر / @Attribute | عدد مرات الظهور | النوع | الوصف |
---|---|---|---|
RateModifications | 1 | Complex element | يشير هذا المصطلح إلى العنصر الجذر الذي يشير إلى نجاح أو مشاكل في عملية استلام. رسالة طلب RateModifications. |
RateModificationsResponse / @timestamp | 1 | DateTime | تاريخ إنشاء هذه الرسالة ووقتها. |
RateModificationsResponse / @id | 1 | string | المعرّف الفريد من رسالة RateModifications المرتبطة. |
RateModificationsResponse / @partner | 1 | string | حساب الشريك لهذه الرسالة |
RateModificationsResponse / Success | 0..1 | Success | يشير إلى أنّه تمّت معالجة رسالة RateModifications بنجاح.
بدون تحذيرات أو أخطاء أو إخفاقات.
قيمة |
RateModificationsResponse / Issues | 0..1 | Issues | حدثت حاوية لمشكلة واحدة أو أكثر أثناء معالجة
رسالة RateModifications.
قيمة |
RateModificationsResponse / Issues / Issue | 1..n | Issue | وصف للتحذير أو الخطأ أو الخطأ الذي حدث أثناء معالجة رسالة RateModifications. يمكن أن تكون التفاصيل حول هذه المشكلات في خطأ في حالة الخلاصة الرسائل |
RateModificationsResponse / Issues / Issue / @code | 1 | integer | معرِّف المشكلة. |
RateModificationsResponse / Issues / Issue / @status | 1 | enum | نوع المشكلة التي حدثت. القيمتان الصالحتان هما |
أمثلة
تم الإجراء بنجاح
في ما يلي الردّ على عملية RateModifications تمت معالجتها بنجاح. .
<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</RateModificationsResponse>
المشاكل
في ما يلي ردّ على رسالة RateModifications التي لم تتم معالجتها. بسبب الأخطاء.
<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Issues>
<Issue code="1001" status="error">Example</Issue>
</Issues>
</RateModificationsResponse>