نظرة عامة
تتيح لك واجهة برمجة التطبيقات هذه تحديد الخصومات المحتملة. من بين العروض الترويجية المحدّدة، يطبّق Google العرض الترويجي المؤهَّل أو مجموعة العروض الترويجية التي تؤدي إلى الحصول على أدنى سعر. إذا كنت تبحث عن واجهة برمجة تطبيقات تتيح تعديلات عشوائية على الأسعار يمكن أن تزيد السعر أو تخفضه عند استيفاء الشروط، ننصحك باستخدام Rate Modifications API. يُرجى العِلم أنّه في حال توفُّر كلتا واجهتَي برمجة التطبيقات، يتم تطبيق تعديلات الأسعار قبل العروض الترويجية.
الطلبات
البنية
تستخدم الرسالة Promotions البنية التالية:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner= "partner_key"
id="message_ID"
timestamp="timestamp">
<HotelPromotions hotel_id="HotelID" action="[overlay]">
<Promotion id="PromotionID" action="[delete]">
<BookingDates>
<DateRange start="YYYY-MM-DD[THH:mm:ss]" end="YYYY-MM-DD[THH:mm:ss]"
days_of_week="MTWHFSU_or_subset"/>
<DateRange start="YYYY-MM-DD[THH:mm:ss]" end="YYYY-MM-DD[THH:mm:ss]"
days_of_week="MTWHFSU_or_subset"/>
</BookingDates>
<BookingWindow min="integer_or_duration" max="integer_or_duration"/>
<Ceiling amount_per_night="float"/>
<Floor amount_per_night="float"/>
<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>
<!-- Specify only one of percentage, percentage_of_base, fixed_amount,
fixed_amount_per_night, fixed_price, or fixed_price_per_night;
applied_nights is only used with percentage, fixed_amount_per_night,
and fixed_price_per_night. -->
<Discount percentage="float" percentage_of_base="float"
fixed_amount="float" fixed_amount_per_night="float"
fixed_price="float" fixed_price_per_night="float"
applied_nights="integer_1_to_99" rank="integer_1_to_99">
<!-- FreeNights may not be used in conjunction with attributes on Discount -->
<FreeNights stay_nights="integer" discount_nights="integer"
discount_percentage="float" night_selection="[cheapest|last]"
repeats="boolean"/>
</Discount>
<!-- Exactly one of Discount or BestDailyDiscount must be specified.
Specify only one of percentage, fixed_amount, or fixed_price. -->
<BestDailyDiscount percentage="float" fixed_amount="float" fixed_price="float"/>
<Devices>
<Device type="[desktop|tablet|mobile]"/>
</Devices>
<InventoryCount min="integer" max="integer"/>
<LengthOfStay min="integer" max="integer"/>
<MembershipRateRule id="RateRuleID"/>
<MinimumAmount before_discount="integer"/>
<Occupancy min="integer" max="integer"/>
<RatePlans>
<RatePlan id="PackageID_1"/>
<RatePlan id="PackageID_2"/>
</RatePlans>
<RoomTypes>
<RoomType id="RoomID_1"/>
<RoomType id="RoomID_2"/>
</RoomTypes>
<Stacking type="[any|base|none|second]"/>
<StayDates application="[all|any|overlap]">
<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>
</Promotion>
</HotelPromotions>
</Promotions>
العناصر والسمات
تتضمّن رسالة العروض الترويجية العناصر والسمات التالية:
| العنصر / @السمة | عدد مرات الظهور | النوع | الوصف |
|---|---|---|---|
| Promotions | 1 | Complex element | العنصر الجذر لرسالة عروض ترويجية. |
| Promotions / @partner | 1 | string | حساب الشريك لهذه الرسالة قيمة السلسلة هذه هي قيمة "مفتاح الشريك" المدرَجة في
صفحة إعدادات الحساب في Hotel Center.
إذا كان لديك نظام خلفي يوفّر خلاصات لحسابات متعدّدة، يجب أن تتطابق هذه القيمة مع قيمة السمة |
| Promotions / @id | 1 | string | معرّف فريد لرسالة الطلب هذه. يتم عرض هذه القيمة في رسالة الردّ. الأحرف المسموح بها هي a-z وA-Z و0-9 و_ (شرطة سفلية) و- (شرطة). |
| Promotions / @timestamp | 1 | DateTime | تاريخ إنشاء هذه الرسالة ووقته. |
| Promotions / HotelPromotions | 0..n | HotelPromotions | العروض الترويجية لمكان مخصّص للاستئجار ينطبق كل عرض ترويجي على موقع واحد. ما لم يتم استخدام |
| Promotions / HotelPromotions / @hotel_id | 1 | string | المعرّف الفريد للمكان المخصّص للاستئجار. يجب أن تتطابق هذه القيمة مع معرّف الفندق المحدّد باستخدام
<id> في العنصر <listing>
في خلاصة بيانات الفنادق. يظهر رقم تعريف الفندق أيضًا في Hotel Center. |
| Promotions / HotelPromotions / @action | 0..1 | enum | في حال تحديدها، يجب أن تكون القيمة في حال عدم تحديد هذه السمة، يكون كل عرض ترويجي محدّد في الرسالة الحالية إما:
|
| Promotions / HotelPromotions / Promotion | 0..99 | Promotion | عرض ترويجي واحد لمكان مخصّص للاستئجار يُرجى العِلم أنّه في حال عدم تحديد إذا كنت بحاجة إلى استخدام أكثر من 99 عرضًا ترويجيًا، يُرجى التواصل مع المدير التقني للحساب (TAM). |
| Promotions / HotelPromotions / Promotion / @id | 1 | string | معرّف فريد للعرض الترويجي. الحد الأقصى لعدد الأحرف المسموح به هو 40 حرفًا. الأحرف المسموح بها هي a-z وA-Z و0-9 و_ (شرطة سفلية) و- (شرطة) و . (نقطة). |
| Promotions /HotelPromotions / Promotion / @action | 0..1 | enum | في حال تحديدها، يجب أن تكون القيمة إذا تم تحديد |
| Promotions / HotelPromotions / Promotion / BookingDates | 0..1 | BookingDates | حاوية لنطاق واحد أو أكثر تحدّد وقت إجراء الحجز كي يتم تطبيق العرض الترويجي. |
| Promotions / HotelPromotions / Promotion / BookingDates / DateRange | 1..99 | DateRange | نطاق يحدّد الوقت الذي يجب أن يتم فيه الحجز ليتم تطبيق العرض الترويجي. |
| Promotions / HotelPromotions / Promotion / BookingDates / DateRange / @start | 0..1 | Date أو DateTime | تمثّل هذه السمة تاريخ البدء أو التاريخ والوقت (استنادًا إلى المنطقة الزمنية للموقع)، بما في ذلك، للنطاق.
|
| Promotions / HotelPromotions / Promotion / BookingDates / DateRange / @end | 0..1 | Date أو DateTime | تاريخ الانتهاء أو التاريخ والوقت (استنادًا إلى المنطقة الزمنية للموقع)، شامل، للنطاق.
|
| Promotions / HotelPromotions / Promotion / BookingDates / DateRange / @days_of_week | 0..1 | string | أيام الأسبوع المسموح بها في النطاق الزمني في حال عدم تحديدها، يُسمح بجميع الأيام في النطاق الزمني. يحدّد كل حرف في السلسلة يومًا. على سبيل المثال، تحدّد القيمة "MTWHF" أنّه يُسمح بأيام الأسبوع في النطاق الزمني. الأحرف الصالحة هي:
يمكن استخدام أي مجموعة من الأحرف. |
| Promotions / HotelPromotions / Promotion / BookingWindow | 0..1 | BookingWindow | تحدّد هذه السمة الفترة الزمنية التي يجب أن يتم خلالها الحجز مقارنةً بتاريخ تسجيل الوصول (استنادًا إلى المنطقة الزمنية للمكان المخصّص للاستئجار). على سبيل المثال، يمكن ضبط فترة الحجز على 7 أيام على الأقل، ولكن ليس أكثر من 180 يومًا، قبل تسجيل الوصول. |
| Promotions / HotelPromotions / Promotion / BookingWindow / @min | 0..1 | integer or duration | الحد الأدنى للمدة قبل تسجيل الوصول التي يجب أن يتم خلالها الحجز
ليتم تطبيق العرض الترويجي إذا لم يتم تحديد هذه السمة أو كانت قيمتها 0، لن يكون هناك حدّ أدنى.
أنواع القيم الصالحة هي:
|
| Promotions / HotelPromotions / Promotion / BookingWindow / @max | 0..1 | integer or duration | الحد الأقصى لعدد الأيام قبل تسجيل الوصول التي يجب أن يتم خلالها الحجز
ليتم تطبيق العرض الترويجي. إذا لم يتم تحديد هذه السمة أو كانت قيمتها 0، لن يكون هناك حد أقصى.
أنواع القيم الصالحة هي:
|
| Promotions / HotelPromotions / Promotion / Ceiling | 0..1 | Ceiling |
تحدّد هذه السمة القيود المفروضة على الحدّ الأقصى للقيمة التي يمكن ضبط السعر عليها بعد تطبيق العروض الترويجية. يجب أن تحدّد العروض الترويجية دائمًا في حال ضبط إعدادات العروض الترويجية المجمّعة، يمكن تطبيق عروض ترويجية متعددة تتضمّن مثال: تسعير إقامة لمدة ليلة واحدة حيث تكون قيمة
في ما يلي ترتيب العمليات الحسابية:
ولا يهمّ أنّ الحدّ الأقصى الإجمالي البالغ 60 هو حدّ أكثر صرامة لأنّه صالح فقط للعرض الترويجي الخاص به، ولا يمكن أن يكون هناك حدّ أقصى واحد يشمل حزمة العروض الترويجية بأكملها. |
| Promotions / HotelPromotions / Promotion / Ceiling / @amount_per_night | 1 | float |
الحدّ الأقصى للمبلغ الذي يمكن ضبطه للسعر الليلي بعد تطبيق الخصم في حال تحديد عنصر يتم تطبيق |
| Promotions / HotelPromotions / Promotion / Floor | 0..1 | Floor |
تحدّد هذه السمة القيود المفروضة على الحد الأدنى للقيمة التي يمكن ضبط السعر عليها بعد تطبيق العروض الترويجية. يجب أن تحدّد العروض الترويجية دائمًا سيظل منطق في حال ضبط خيار التجميع، يمكن تطبيق عروض ترويجية متعددة تتضمّن مثال: تسعير إقامة لمدة ليلة واحدة حيث
في ما يلي ترتيب العمليات الحسابية:
إنّ حقيقة أنّ الحدّ الأدنى العام البالغ 90 هو حدّ أدنى أكثر صرامة لا صلة لها بالموضوع لأنّه صالح فقط لعرضه الترويجي، ولا يمكن أن يكون هناك حدّ أدنى واحد يشمل حزمة العروض الترويجية بأكملها. |
| Promotions / HotelPromotions / Promotion / Floor / @amount_per_night | 1 | float |
الحد الأدنى للمبلغ الذي يمكن ضبطه للسعر الليلي بعد تطبيق الخصم في حال تحديد العنصر يتم تطبيق |
| Promotions / HotelPromotions / Promotion / CheckinDates | 0..1 | CheckinDates | حاوية لنطاق واحد أو أكثر من التواريخ التي تحدّد الوقت الذي يجب فيه تسجيل الوصول ليتم تطبيق العرض الترويجي. |
| Promotions / HotelPromotions / Promotion / CheckinDates / DateRange | 1..20 | DateRange | نطاق زمني يحدّد الوقت الذي يجب فيه تسجيل الوصول لتطبيق العرض الترويجي هذا العنصر غير مطلوب إذا كنت تحذف عرضًا ترويجيًا واحدًا أو أكثر. يتوافق هذا النوع أيضًا مع تنسيق YearlessDate.
|
| Promotions / HotelPromotions / Promotion / CheckinDates / DateRange / @start | 0..1 | Date or YearlessDate | تمثّل هذه السمة تاريخ البدء (استنادًا إلى المنطقة الزمنية للموقع)، وهو تاريخ مشمول في النطاق الزمني. يجب أن يكون هذا التاريخ قبل تاريخ end أو مطابقًا له. في حال عدم تحديد start، يكون النطاق الزمني غير محدود فعليًا من حيث تاريخ البدء. |
| Promotions / HotelPromotions / Promotion / CheckinDates / DateRange / @end | 0..1 | Date or YearlessDate | تاريخ الانتهاء (استنادًا إلى المنطقة الزمنية للموقع)، شاملًا النطاق الزمني. يجب أن يكون هذا التاريخ هو تاريخ start أو تاريخًا لاحقًا. إذا لم يتم تحديد end، يكون النطاق الزمني غير محدود فعليًا من حيث تاريخ الانتهاء. |
| Promotions / HotelPromotions / Promotion / CheckinDates / DateRange / @days_of_week | 0..1 | string | أيام الأسبوع المسموح بها في النطاق الزمني في حال عدم تحديدها، يُسمح بجميع الأيام في النطاق الزمني. يحدّد كل حرف في السلسلة يومًا. على سبيل المثال، تحدّد القيمة "MTWHF" أنّه يُسمح بأيام الأسبوع في النطاق الزمني. الأحرف الصالحة هي:
يمكن استخدام أي مجموعة من الأحرف. |
| Promotions / HotelPromotions / Promotion / CheckoutDates | 0..1 | CheckoutDates | حاوية لنطاق واحد أو أكثر من التواريخ التي تحدّد الوقت الذي يجب أن يتم فيه تسجيل المغادرة للاستفادة من العرض الترويجي. |
| Promotions / HotelPromotions / Promotion / CheckoutDates / DateRange | 1..20 | DateRange | نطاق زمني يحدّد الوقت الذي يجب فيه تسجيل المغادرة كي يتم تطبيق العرض الترويجي. هذه السمة غير مطلوبة إذا كنت بصدد حذف عرض ترويجي واحد أو أكثر. يتوافق هذا النوع أيضًا مع تنسيق YearlessDate.
|
| Promotions / HotelPromotions / Promotion / CheckoutDates / DateRange / @start | 0..1 | Date or YearlessDate | تمثّل هذه السمة تاريخ البدء (استنادًا إلى المنطقة الزمنية للموقع)، وهو تاريخ مشمول في النطاق الزمني. يجب أن يكون هذا التاريخ قبل تاريخ end أو مطابقًا له. في حال عدم تحديد start، يكون النطاق الزمني غير محدود فعليًا من حيث تاريخ البدء. |
| Promotions / HotelPromotions / Promotion / CheckoutDates / DateRange / @end | 0..1 | Date or YearlessDate | تاريخ الانتهاء (استنادًا إلى المنطقة الزمنية للموقع)، شاملًا النطاق الزمني. يجب أن يكون هذا التاريخ هو تاريخ start أو تاريخًا لاحقًا. إذا لم يتم تحديد end، يكون النطاق الزمني غير محدود فعليًا من حيث تاريخ الانتهاء. |
| Promotions / HotelPromotions / Promotion / CheckoutDates / DateRange / @days_of_week | 0..1 | string | أيام الأسبوع المسموح بها في النطاق الزمني في حال عدم تحديدها، يُسمح بجميع الأيام في النطاق الزمني. يحدّد كل حرف في السلسلة يومًا. على سبيل المثال، تحدّد القيمة "MTWHF" أنّه يُسمح بأيام الأسبوع في النطاق الزمني. الأحرف الصالحة هي:
يمكن استخدام أي مجموعة من الأحرف. |
| Promotions / HotelPromotions / Promotion / Devices | 0..1 | Devices | حاوية لعرض قائمة بأجهزة المستخدمين المؤهَّلة للاستفادة من العرض الترويجي. في حال تحديدها، لا يتم تقديم السعر المخفَّض إلا للمستخدمين المؤهَّلين على الأجهزة المدرَجة. في حال عدم تحديد ذلك، سيتم عرض السعر المخفَّض للمستخدمين المؤهَّلين على أي جهاز. |
| Promotions / HotelPromotions / Promotion / Devices / Device | 1..3 | Device | تحدّد هذه السمة أحد أنواع أجهزة المستخدمين المؤهّلة للاستفادة من العرض الترويجي. |
| Promotions / HotelPromotions / Promotion / Devices / Device / @type | 1 | enum | نوع الجهاز يجب أن تكون القيمة desktop أو tablet أو mobile. |
| Promotions / HotelPromotions / Promotion / Discount | 1 | Discount | يجب تحديد سمة واحدة فقط من تحدّد هذه السمة الخصم الذي سيتم تطبيقه على هذا العرض الترويجي. |
| Promotions / HotelPromotions / Promotion / Discount / @percentage | 0..1 | float | يجب توفير قيمة واحدة فقط من القيم قيمة عشرية من 0 إلى 100 تحدّد النسبة المئوية للخصم.
يتم تطبيقها على أمثلة:
|
| Promotions / HotelPromotions / Promotion / Discount / @percentage_of_base | 0..1 | float | يجب توفير قيمة واحدة فقط من القيم قيمة عشرية من 0 إلى 100 تحدّد النسبة المئوية للخصم الأساسي. كما هو الحال مع على عكس مثال:
|
| Promotions / HotelPromotions / Promotion / Discount / @fixed_amount | 0..1 | float | يجب توفير قيمة واحدة فقط من القيم مبلغ ثابت سيتم طرحه من مجموع
أمثلة:
|
| Promotions / HotelPromotions / Promotion / Discount / @fixed_amount_per_night | 0..1 | float | يجب توفير قيمة واحدة فقط من القيم خصم ثابت يتم تطبيقه على كل من أمثلة:
|
| Promotions / HotelPromotions / Promotion / Discount / @fixed_price | 0..1 | float | يجب توفير قيمة واحدة فقط من القيم في حال تحديد أسعار الإقامة في الليلة إذا كان الهدف من أمثلة:
|
| Promotions / HotelPromotions / Promotion / Discount / @fixed_price_per_night | 0..1 | float | يجب توفير قيمة واحدة فقط من القيم في حال تحديد أسعار الإقامة في الليلة إذا كان الهدف من في حال تحديد أمثلة:
|
| Promotions / HotelPromotions / Promotion / Discount / @applied_nights | 0..1 | integer | يجب استخدام هذا الخيار مع عدد الليالي التي يتم تطبيق الخصم عليها، بدءًا من الليلة الأقل تكلفة يجب أن تكون القيمة عددًا صحيحًا يتراوح بين 1 و99. في حال عدم تحديدها، سيتم تطبيق الخصم على جميع الليالي. |
| Promotions / HotelPromotions / Promotion / Discount / FreeNights | 0..1 | FreeNights | تحدّد هذه السمة خصمًا على ليالٍ معيّنة من الإقامة عند استيفاء الحد الأدنى لمدة الإقامة. لا يُسمح باستخدام السمات في العنصر الرئيسي Discount إذا تم استخدام هذا العنصر. |
| Promotions / HotelPromotions / Promotion / Discount / FreeNights / @stay_nights | 1 | integer | عدد الليالي المطلوبة لتطبيق الخصم يتم تطبيق كل خصم على شريحة منفصلة من ليالي الإقامة. على سبيل المثال، إذا كانت مدة الإقامة 10 ليالٍ وكانت قيمة |
| Promotions / HotelPromotions / Promotion / Discount / FreeNights / @discount_nights | 1 | integer | عدد الليالي المخفَّضة ضمن كل شريحة من ليالي الإقامة |
| Promotions / HotelPromotions / Promotion / Discount / FreeNights / @discount_percentage | 1 | float | الخصم الذي يتم تطبيقه على الليالي التي يشملها الخصم إذا كانت هذه القيمة 50، سيتم تطبيق خصم بنسبة% 50 على كل ليلة محددة. |
| Promotions / HotelPromotions / Promotion / Discount / FreeNights / @night_selection | 1 | string | يجب أن تكون القيمة cheapest أو last. إذا كان
last، سيتم تطبيق الخصم على الليالي في نهاية فترة الإقامة. إذا كانت القيمة cheapest، سيتم تطبيق الخصم على أرخص الليالي ضمن شريحة ليالي الإقامة. |
| Promotions / HotelPromotions / Promotion / Discount / FreeNights / @repeats | 1 | boolean | تحديد ما إذا كان يمكن تطبيق الخصم على شرائح متعددة من ليالي الإقامة إذا كانت القيمة على سبيل المثال، إذا كانت قيمة |
| Promotions / HotelPromotions / Promotion / Discount / @rank | 0..1 | integer | يتم تحديد ترتيب لهذا العرض الترويجي وتفعيله في عملية الاختيار حسب الترتيب، حيث يتم اختيار العرض الترويجي ذي الترتيب الأدنى فقط لتطبيقه. يجب أن تتراوح القيم بين 1 و99، بما في ذلك هذان الرقمان. إذا كان للعروض الترويجية المتعددة الترتيب نفسه، يتم اختيار أحدها بشكل عشوائي وتطبيقه. |
| Promotions / HotelPromotions / Promotion / BestDailyDiscount | 1 | Discount | يجب تحديد سمة واحدة فقط من تحدّد هذه السمة خصمًا يوميًا يمكن تطبيقه على ليلة إقامة. يختلف هذا عن يمكن أن يتضمّن كل فندق مجموعة واحدة من العروض الترويجية التي تُعدّ "الأفضل يوميًا". يعني ذلك أنّه لكل ليلة إقامة، سيتم اختيار العرض الترويجي الفردي "الأفضل يوميًا" المؤهّل والذي يقدّم أكبر خصم لتلك الليلة، وقد يتم تطبيقه. يمكن تحديد يمكن تحديد |
| Promotions / HotelPromotions / Promotion / BestDailyDiscount / @percentage | 0..1 | float | يجب توفير قيمة واحدة فقط من قيمة عشرية من 0 إلى 100 تحدّد النسبة المئوية للخصم.
يتم تطبيقها على أمثلة:
|
| Promotions / HotelPromotions / Promotion/ BestDailyDiscount / @fixed_amount | 0..1 | float | يجب توفير قيمة واحدة فقط من مبلغ ثابت سيتم طرحه من أمثلة:
|
| Promotions / HotelPromotions / Promotion/ BestDailyDiscount / @fixed_price | 0..1 | float | يجب توفير قيمة واحدة فقط من في حال تحديد أسعار الإقامة في الليلة أمثلة:
|
| Promotions / HotelPromotions / Promotion / InventoryCount | 0..1 | InventoryCount | تحدّد هذه السمة القيود المفروضة على عدد الغرف التي يجب أن تكون متاحة من أجل تطبيق هذا العرض الترويجي. يتم تطبيق الخصم على الليالي التي تستوفي الشرط فقط. لا يمكن الاستفادة من الخصم من fixed_amount. يُرجى العِلم أنّه يتم تحديد عدد الغرف المتاحة باستخدام OTA_HotelInvCountNotifRQ (InvCount) أو OTA_HotelAvailNotifRQ (BookingLimit). |
| Promotions / HotelPromotions / Promotion / InventoryCount / @min | 0..1 | integer | تمثّل هذه السمة الحدّ الأدنى لعدد الغرف التي يجب أن تكون متاحة لتطبيق العرض الترويجي على السعر الليلي. إذا لم يتم تحديد هذه السمة، لن يكون هناك حد أدنى. |
| Promotions / HotelPromotions / Promotion / InventoryCount / @max | 0..1 | integer | الحدّ الأقصى لعدد الغرف التي يجب أن تكون متاحة لتطبيق العرض الترويجي على السعر الليلي إذا لم يتم تحديد هذه السمة، لن يكون هناك حد أقصى. |
| Promotions / HotelPromotions / Promotion / LengthOfStay | 0..1 | LengthOfStay | تحدّد هذه السمة حدود مدة الإقامة التي يمكن تطبيق هذا العرض الترويجي ضمنها. لا يتم تطبيق العرض الترويجي عندما تكون مدة الإقامة خارج الحد الأدنى والأقصى. |
| Promotions / HotelPromotions / Promotion / LengthOfStay / @min | 0..1 | integer | الحد الأدنى لعدد الليالي المسموح بها في الإقامة كي يتم تطبيق العرض الترويجي إذا لم يتم تحديد هذه السمة، لن يكون هناك حد أدنى. |
| Promotions / HotelPromotions / Promotion / LengthOfStay / @max | 0..1 | integer | تمثّل هذه السمة الحدّ الأقصى لعدد الليالي المسموح بها في الإقامة كي يتم تطبيق العرض الترويجي. إذا لم يتم تحديد هذه السمة، لن يكون هناك حد أقصى. |
| Promotions / HotelPromotions / Promotion / MembershipRateRule | 0..1 | MembershipRateRule |
حاوية لقاعدة سعر الاشتراك التي تؤدي إلى ظهور طريقة عرض معيّنة لواجهة المستخدم للخصم المرتبط يجب عدم تحديد هذا العنصر ما لم يتم تحديد |
| Promotions / HotelPromotions / Promotion / MembershipRateRule / @id | 1 | string |
معرّف قاعدة الأسعار المرتبطة ببرنامج اشتراك |
| Promotions / HotelPromotions / Promotion / MinimumAmount | 0..1 | MinimumAmount | تحدّد هذه السمة الحد الأدنى لمجموع أسعار الغرف اليومية (باستخدام القيمة الأكبر من AmountBeforeTax أو AmountAfterTax) التي يجب تجاوزها لتطبيق العرض الترويجي. |
| Promotions / HotelPromotions / Promotion / MinimumAmount / @before_discount | 1 | integer | القيمة التي يجب تجاوزها لتطبيق العرض الترويجي |
| Promotions / HotelPromotions / Promotion / Occupancy | 0..1 | Occupancy | تحدّد هذه السمة القيود المفروضة على الإشغال التي ينطبق عليها هذا العرض الترويجي. لا يتم تطبيق العرض الترويجي عندما تكون نسبة الإشغال خارج الحدّين الأدنى والأقصى.
تنطبق العروض الترويجية على سعر خط سير الرحلة. لا يمكن تحديد حدّ أقصى للخصم لكل شخص مقيم. |
| Promotions / HotelPromotions / Promotion / Occupancy / @min | 0..1 | integer | يجب أن يكون عدد الأشخاص الذي يحدّده المستخدم أكبر من هذه القيمة على الأقل ليتم تطبيق الخصم. |
| Promotions / HotelPromotions / Promotion / Occupancy / @max | 0..1 | integer | يجب ألا يتجاوز عدد الأشخاص الذي يحدّده المستخدم هذا الحدّ الأقصى ليتم تطبيق الخصم. |
| Promotions / HotelPromotions / Promotion / RatePlans | 0..1 | RatePlans | حاوية لقائمة خطط الأسعار التي ينطبق عليها العرض الترويجي
إذا لم يتم تحديد <RatePlans>، ينطبق العرض الترويجي على جميع خطط الأسعار. |
| Promotions / HotelPromotions / Promotion / RatePlans / RatePlan | 1..n | RatePlan | تحدّد هذه السمة خطة أسعار. يتم تحديد خطة الأسعار من خلال مجموعة من الحزم والأسعار ومدى التوفّر، كما هو موضّح في الرسائل Transaction (Property Data) وOTA_HotelRateAmountNotifRQ وOTA_HotelAvailNotifRQ، وكما هو محدّد بواسطة PackageID. |
| Promotions / HotelPromotions / Promotion / RatePlans / RatePlan / @id | 1 | string | تمثّل هذه السمة المعرّف الفريد لخطة الأسعار. ترتبط هذه القيمة بقيمة PackageID في <PackageData> ضمن رسالة المعاملة (بيانات العقار)، وفي السمة RatePlanCode ضمن <StatusApplicationControl> في كل من الرسالتين <OTA_HotelRateAmountNotifRQ> و<OTA_HotelAvailNotifRQ>.
الحد الأقصى لعدد الأحرف المسموح به هو 50 حرفًا. |
| Promotions / HotelPromotions / Promotion / RoomTypes | 0..1 | RoomTypes | حاوية لقائمة بأنواع الغرف التي يسري عليها العرض الترويجي.
يتم تطبيق العرض الترويجي على كل <RoomType>
محدّد. إذا لم يتم تحديد <RoomTypes>، ينطبق العرض الترويجي على جميع الغرف. |
| Promotions / HotelPromotions / Promotion / RoomTypes / RoomType | 1..n | RoomType | تحدّد هذه السمة نوع الغرفة. يتم تحديد نوع الغرفة في العنصر <RoomData> ضمن الرسالة المعاملة (بيانات المنشأة)، ويتم الرجوع إليه باستخدام قيمة <RoomID>. (تتم أيضًا الإشارة إلى قيمة <RoomID> من خلال السمة InvTypeCode في رسائل OTA_HotelRateAmountNotifRQ.) |
| Promotions / HotelPromotions / Promotion / RoomTypes / RoomType / @id | 1 | string | المعرّف الفريد للمستودع (نوع الغرفة). ترتبط هذه القيمة
بالقيمة <RoomID> في رسالة "معاملة" (بيانات الموقع).
الحد الأقصى لعدد الأحرف المسموح به هو 50 حرفًا. |
| Promotions / HotelPromotions / Promotion / Stacking | 0..1 | Stacking | تحدّد هذه السمة كيفية دمج العروض الترويجية. إذا لم يتم تحديدها، يُفترض أنّ "النوع" هو base. |
| Promotions / HotelPromotions / Promotion / Stacking / @type | 1 | enum | يمكن تطبيق عروض ترويجية متعددة على سعر واحد استنادًا إلى الإعداد التالي:
من بين المجموعات المسموح بها، يتم تطبيق مجموعة العروض الترويجية التي تقدّم أكبر خصم على السعر. |
| Promotions / HotelPromotions / Promotion / StayDates | 0..1 | StayDates | حاوية لنطاق واحد أو أكثر من التواريخ التي تحدّد كيفية تطبيق العرض الترويجي، مثلاً لاستيعاب الخصومات الموسمية |
| Promotions / HotelPromotions / Promotion / StayDates / @application | 1 | enum | توضّح هذه السمة طريقة تطبيق العرض الترويجي. القيم الصالحة هي:
يجب تحديد هذه السمة دائمًا.
|
| Promotions / HotelPromotions / Promotion / StayDates / DateRange | 1..99 | DateRange | نطاق زمني يحدّد التواريخ التي سيتم فيها تطبيق العرض الترويجي. يتوافق هذا النوع أيضًا مع تنسيق YearlessDate.
إذا أردت ضبط النطاق |
| Promotions / HotelPromotions / Promotion / StayDates / DateRange / @start | 0..1 | Date or YearlessDate | تمثّل هذه السمة تاريخ البدء (استنادًا إلى المنطقة الزمنية للموقع)، وهو تاريخ مشمول في النطاق الزمني. يجب أن يكون هذا التاريخ قبل تاريخ end أو مطابقًا له. في حال عدم تحديد start، يكون النطاق الزمني غير محدود فعليًا من حيث تاريخ البدء.
يجب تحديد القيمة |
| Promotions / HotelPromotions / Promotion / StayDates / DateRange / @end | 0..1 | Date or YearlessDate | تاريخ الانتهاء (استنادًا إلى المنطقة الزمنية للموقع)، شاملًا النطاق الزمني. يجب أن يكون هذا التاريخ هو تاريخ start أو تاريخًا لاحقًا. في حال عدم تحديد end، يكون النطاق الزمني غير محدود فعليًا بدءًا من تاريخ start.
يجب تحديد القيمة |
| Promotions / HotelPromotions / Promotion / StayDates / DateRange / @days_of_week | 0..1 | string | أيام الأسبوع المسموح بها في النطاق الزمني في حال عدم تحديدها، يُسمح بجميع الأيام في النطاق الزمني. يحدّد كل حرف في السلسلة يومًا. على سبيل المثال، تحدّد القيمة "MTWHF" أنّه يُسمح بأيام الأسبوع في النطاق الزمني. الأحرف الصالحة هي:
يمكن استخدام أي مجموعة من الأحرف. |
| Promotions / HotelPromotions / Promotion / UserCountries | 0..1 | UserCountries | حاوية لعرض قائمة بمواقع المستخدمين (البلدان) المؤهّلة للعرض الترويجي. في حال تحديدها، لن يتم تقديم السعر المخفَّض إلا للمستخدمين المؤهَّلين في البلدان المدرَجة. في حال عدم تحديدها، سيتم عرض السعر المخفَّض على المستخدمين المؤهّلين في أي بلد. |
| Promotions / HotelPromotions / Promotion / UserCountries / @type | 0..1 | enum | نوع مواصفات UserCountries.
القيم الصالحة هي إذا تم ضبط UserCountries إذا كانت قيمة UserCountries في حال عدم ضبط UserCountries |
| Promotions / HotelPromotions / Promotion / UserCountries / Country | 1..300 | Country | تحدّد هذه السمة بلدًا واحدًا يكون فيه المستخدمون مؤهّلين للاستفادة من العرض الترويجي. |
| Promotions / HotelPromotions / Promotion / UserCountries / Country / @code | 1 | string | رمز CLDR للبلد، مثل DE أو FR يُرجى العِلم أنّ رمز البلد وفقًا لمعيار CLDR لا يتطابق مع رمز البلد المكوّن من حرفَين وفقًا لمعيار ISO في بعض البلدان. ولا تتوفّر أيضًا رموز مناطق CLDR. |
أمثلة
يمكن إدراج 500 عرض ترويجي بحدٍ أقصى لكل فندق. راجِع مثال "حذف عرض ترويجي واحد" لإزالة العروض الترويجية من موقع.
الرسالة الأساسية
يعرض المثال التالي رسالة Promotions أساسية:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<BookingDates>
<DateRange start="2020-07-01" end="2020-07-31" days_of_week="MTWHF"/>
<DateRange start="2020-09-01" end="2020-09-30"/>
</BookingDates>
<BookingWindow min="7" max="330"/>
<CheckinDates>
<DateRange start="2020-10-01" end="2020-10-31" days_of_week="FSU"/>
</CheckinDates>
<CheckoutDates>
<DateRange start="2020-10-08" end="2020-11-07" days_of_week="FSU"/>
</CheckoutDates>
<Devices>
<Device type="mobile"/>
<Device type="tablet"/>
</Devices>
<Discount percentage="20" applied_nights="2"/>
<LengthOfStay min="2" max="14"/>
<RatePlans>
<RatePlan id="234"/>
<RatePlan id="567"/>
</RatePlans>
<RoomTypes>
<RoomType id="123"/>
<RoomType id="456"/>
</RoomTypes>
<Stacking type="base"/>
<UserCountries>
<Country code="US"/>
<Country code="GB"/>
</UserCountries>
</Promotion>
</HotelPromotions>
</Promotions>
حالة المستودع
يوضّح المثال التالي كيفية إنشاء خصم إذا كان هناك مخزون زائد قريب من تاريخ الوصول:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<BookingWindow max="7"/>
<Discount percentage="10"/>
<InventoryCount min="3"/>
</Promotion>
</HotelPromotions>
</Promotions>
حذف عرض ترويجي واحد
يوضّح المثال التالي كيفية حذف عرض ترويجي واحد لمكان إقامة:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1" action="delete"/>
</HotelPromotions>
</Promotions>
حذف جميع العروض الترويجية
يوضّح المثال التالي كيفية حذف جميع العروض الترويجية لمكان إقامة:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1" action="overlay"/>
</Promotions>
تراكب كل العروض الترويجية
يوضّح المثال التالي كيفية إضافة <HotelPromotions> إلى منشأة تتضمّن عرضًا ترويجيًا جديدًا واحدًا أو أكثر. عندما تكون القيمة action="overlay"، يتم حذف جميع العروض الترويجية المخزّنة قبل تخزين العروض الترويجية المحدّدة في الرسالة الحالية:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1" action="overlay">
<Promotion id="1">
<BookingDates>
<DateRange start="2020-09-01" end="2020-09-30"/>
</BookingDates>
<Discount percentage="10"/>
<RoomTypes>
<RoomType id="123"/>
<RoomType id="456"/>
</RoomTypes>
<RatePlans>
<RatePlan id="234"/>
<RatePlan id="567"/>
</RatePlans>
<Stacking type="base"/>
</Promotion>
</HotelPromotions>
</Promotions>
3 أنواع مختلفة من التجميع
يوضّح المثال التالي حالة يتم فيها تطبيق ثلاثة عروض ترويجية مختلفة (base وsecond وany). يُرجى العِلم أنّه لن يتم تطبيق العرض الترويجي none لأنّ العروض الترويجية الأخرى تقدّم خصمًا أفضل. إذا كان السعر الأصلي 100 دولار أمريكي، سيكون السعر المخفَّض 72.90 دولار أمريكي.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<Discount percentage="10"/>
<Stacking type="base"/>
</Promotion>
<Promotion id="2">
<Discount percentage="10"/>
<Stacking type="second"/>
</Promotion>
<Promotion id="3">
<Discount percentage="10"/>
<Stacking type="any"/>
</Promotion>
<Promotion id="4">
<Discount percentage="25"/>
<Stacking type="none"/>
</Promotion>
</HotelPromotions>
</Promotions>
نوع عدم التجميع
يعرض المثال التالي حالة يتم فيها استخدام العرض الترويجي none لأنّ الجمع بين العروض الترويجية الأخرى يوفّر خصمًا أقل. إذا كان السعر الأصلي 100 دولار أمريكي، سيكون السعر المخفَّض 75 دولار أمريكي.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<Discount percentage="10"/>
<Stacking type="base"/>
</Promotion>
<Promotion id="2">
<Discount percentage="10"/>
<Stacking type="any"/>
</Promotion>
<Promotion id="3">
<Discount percentage="25"/>
<Stacking type="none"/>
</Promotion>
</HotelPromotions>
</Promotions>
حدود مدة فترة الحجز
يوضّح المثال التالي حالة يتم فيها استخدام العنصر BookingWindow مع تحديد حدود البدء والانتهاء كنوع مدة ISO 8601. يتطلّب هذا القيد على فترة الحجز إجراء الحجز في الساعة 18:00 أو قبلها في اليوم السابق لتاريخ الوصول، وفي الساعة 12:00 أو بعدها في اليوم الثاني قبل تاريخ الوصول.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<BookingWindow min="P1DT6H" max="P2DT12H"/>
<Discount percentage="20"/>
</Promotion>
</HotelPromotions>
</Promotions>
Booking Dates DateTime Bounds
يعرض المثال التالي حالة يتم فيها استخدام العنصر BookingDates مع السمتَين start وend كنوعَي DateTime. يتطلّب قيد تاريخ الحجز هذا أن يتم الحجز
بين الساعة 6:30 صباحًا من يوم 2020-07-01 والساعة 6:45 مساءً من يوم 2020-07-02.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<BookingDates>
<DateRange start="2020-07-01T06:30:00" end="2020-07-02T18:45:00"/>
</BookingDates>
<Discount percentage="20"/>
</Promotion>
</HotelPromotions>
</Promotions>
النطاقات الزمنية بدون سنة
يعرض المثال التالي حالة يتضمّن فيها العنصر CheckInDates العناصر DateRanges التي تحتوي على الحقلَين start وend بدون سنوات. في هذا المثال، يسري العرض الترويجي على تواريخ تسجيل الوصول بين 29 ديسمبر و2 يناير، بغض النظر عن السنة. إنّ النطاقات الزمنية التي لا تتضمّن سنة وتعبر حدود السنة الجديدة تكون غير صالحة، لذا يتم التعبير عن DateRange كنطاقَين زمنيَّين متجاورَين.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<CheckInDates>
<DateRange start="12-29" end="12-31"/>
<DateRange start="01-01" end="01-02"/>
</CheckInDates>
<Discount percentage="20"/>
</Promotion>
</HotelPromotions>
</Promotions>
FreeNights discount
يقدّم المثال التالي خصمًا بنسبة% 50 على ليلتَين مقابل كل أربع ليالٍ يتم حجزها خلال النطاق المحدّد لتواريخ الحجز. بالنسبة إلى برنامج رحلة لمدة عشر ليالٍ، سيتم خفض سعر الإقامة لأربع ليالٍ بنسبة %50.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<BookingDates>
<DateRange start="2022-01-01" end="2022-05-31"/>
</BookingDates>
<Discount>
<FreeNights stay_nights="4" discount_nights="2" discount_percentage="50" night_selection="cheapest" repeats="true"/>
</Discount>
</Promotion>
</HotelPromotions>
</Promotions>
يخصم المثال التالي 50% من سعر ليلة واحدة مقابل كل ثلاث ليالٍ يتم حجزها ضمن نطاقات تواريخ الإقامة المحددة. ويتم احتساب الليالي المتداخلة فقط ضمن فترة الإقامة المؤهِّلة للحصول على الخصم. بالنسبة إلى خطة الرحلة التالية التي تتضمّن تسجيل الوصول في 2022-01-01 وتسجيل المغادرة في 2022-01-07، يتم تطبيق ليالي الإقامة المؤهَّلة والخصومات على النحو التالي.
- 2022-01-01 (إقامة)
- 2022-01-02 (إقامة)
- 2022-01-03
- 2022-01-04 (بسعر مخفَّض)
- 2022-01-05 (إقامة)
- 2022-01-06 (إقامة)
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<StayDates application="overlap">
<DateRange start="2022-01-01" end="2022-01-02"/>
<DateRange start="2022-01-04" end="2022-01-06"/>
</StayDates>
<Discount>
<FreeNights stay_nights="3" discount_nights="1" discount_percentage="50" night_selection="last" repeats="true"/>
</Discount>
</Promotion>
</HotelPromotions>
</Promotions>
الترتيب حسب الاختيار
يقدّم المثال التالي خصمين، أحدهما بنسبة 20% والآخر بنسبة 15%. أثناء التقييم، يتم تطبيق الخصم بنسبة 15% فقط لأنّ ترتيبه أقل.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<Discount percentage="15" rank="25"/>
</Promotion>
<Promotion id="2">
<Discount percentage="20" rank="50"/>
</Promotion>
</HotelPromotions>
</Promotions>
BestDailyDiscount
يقدّم المثال التالي خصمًا على إقامة ليلتَين من خلال تطبيق BestDailyDiscount مجمّع مع Discount.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="HotelID" action="overlay">
<Promotion id="general">
<BestDailyDiscount fixed_amount="20"/>
</Promotion>
<Promotion id="may">
<BestDailyDiscount fixed_amount="50"/>
<StayDates application="overlap">
<DateRange start="2023-05-01" end="2023-05-31"/>
</StayDates>
</Promotion>
<Promotion id="fiesta">
<Discount fixed_amount_per_night="5"/>
<Stacking type="any"/>
</Promotion>
</HotelPromotions>
</Promotions>
لنفترض أنّك حجزت إقامة لليلتَين من 30 أبريل 2023 إلى 2 مايو 2023. لإجراء عملية الحساب، يتم أولاً العثور على مجموعة أفضل الخصومات اليومية التي تؤدي إلى الحصول على أكبر خصم.
في الليلة الأولى، يكون العرض الترويجي "العام" هو المبلغ الوحيد المؤهّل مع خصم ثابت يبلغ 20.
في الليلة الثانية، يقدّم العرض الترويجي "شهر مايو" خصمًا أكبر من الخصم "العام". وبالتالي، عند اختيار "ربما"، يصبح مبلغ الخصم الثابت 50.
بعد ذلك، يتم تطبيق الخصم على الإقامة في إطار العرض الترويجي "فيستا" ليصبح السعر 5 دولار أمريكي في الليلة، أو 10 دولار أمريكي إجمالاً. يمكن دمجها مع مجموعة أفضل الخصومات اليومية لأنّ نوع الدمج في "fiesta" مضبوط على any. إذا تم ضبطها على base، سيتم تطبيق أفضل الخصومات اليومية أو خصم "الاحتفال" فقط. يُرجى الاطّلاع على وصف Stacking لمزيد من المعلومات.
`بشكل عام، يحصل سعر الإقامة على خصم ثابت بقيمة 20 + 50 + 10 = 80.
الردود
البنية
تستخدم الرسالة PromotionsResponse البنية التالية:
<?xml version="1.0" encoding="UTF-8"?>
<PromotionsResponse timestamp="timestamp"
id="message_ID"
partner="partner_key">
<!-- Either Success or Issues are populated. -->
<Success/>
<Issues>
<Issue code="issue_code"
status="issue_type">
issue_description
</Issue>
</Issues>
</PromotionsResponse>
العناصر والسمات
تتضمّن رسالة PromotionsResponse العناصر والسمات التالية:
| العنصر / @السمة | عدد مرات الظهور | النوع | الوصف |
|---|---|---|---|
| PromotionsResponse | 1 | Complex element | العنصر الجذر الذي يشير إلى النجاح أو المشاكل في رسالة طلب العروض الترويجية المستلَمة. |
| PromotionsResponse / @timestamp | 1 | DateTime | تاريخ إنشاء هذه الرسالة ووقته. |
| PromotionsResponse / @id | 1 | string | المعرّف الفريد من رسالة "العروض الترويجية" المرتبطة. |
| PromotionsResponse / @partner | 1 | string | حساب الشريك لهذه الرسالة |
| PromotionsResponse / Success | 0..1 | Success | تشير إلى أنّه تمت معالجة رسالة العروض الترويجية بنجاح
بدون تحذيرات أو أخطاء أو حالات تعذُّر.
يجب أن تتضمّن كل رسالة إما |
| PromotionsResponse / Issues | 0..1 | Issues | حاوية لمشكلة واحدة أو أكثر حدثت أثناء معالجة رسالة "العروض الترويجية".
يجب أن تتضمّن كل رسالة إما |
| PromotionsResponse / Issues / Issue | 1..n | Issue | تمثّل هذه السمة وصفًا للتحذير أو الخطأ أو العطل الذي حدث أثناء معالجة رسالة العروض الترويجية. يمكنك الاطّلاع على تفاصيل حول هذه المشاكل في رسائل الخطأ في حالة الخلاصة. |
| PromotionsResponse / Issues / Issue / @code | 1 | integer | معرّف المشكلة |
| PromotionsResponse / Issues / Issue / @status | 1 | enum | تمثّل هذه السمة نوع المشكلة التي واجهتها. القيم الصالحة هي |
أمثلة
تم الإجراء بنجاح
في ما يلي استجابة لرسالة "العروض الترويجية" التي تمت معالجتها بنجاح.
<?xml version="1.0" encoding="UTF-8"?>
<PromotionsResponse timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</PromotionsResponse>
المشاكل
في ما يلي ردّ على رسالة من فئة "العروض الترويجية" لم تتم معالجتها بسبب أخطاء.
<?xml version="1.0" encoding="UTF-8"?>
<PromotionsResponse timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Issues>
<Issue code="1001" status="error">Example</Issue>
</Issues>
</PromotionsResponse>