طلبات
البنية
تستخدم الرسالة OTA_HotelRateAmountNotifRQ
البنية التالية:
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
EchoToken="message_ID"
TimeStamp="timestamp"
Version="3.0"
NotifType="[Overlay|Delta|Remove]"
NotifScopeType="[ProductRate]">
<POS>
<Source>
<RequestorID ID="partner_key"/>
</Source>
</POS>
<RateAmountMessages HotelCode="HotelID">
<RateAmountMessage>
<StatusApplicationControl Start="YYYY-MM-DD"
End="YYYY-MM-DD"
Mon="boolean_value"
Tue="boolean_value"
Weds="boolean_value"
Thur="boolean_value"
Fri="boolean_value"
Sat="boolean_value"
Sun="boolean_value"
InvTypeCode="RoomID"
RatePlanCode="PackageID"
RatePlanType="[26]" />
<Rates>
<Rate>
<BaseByGuestAmts>
<BaseByGuestAmt AmountBeforeTax="float"
AmountAfterTax="float"
CurrencyCode="currency"
NumberOfGuests="integer"/>
</BaseByGuestAmts>
<AdditionalGuestAmounts>
<AdditionalGuestAmount Amount="float"
AgeQualifyingCode="[10|8]"
MaxAge="integer"/>
</AdditionalGuestAmounts>
</Rate>
</Rates>
</RateAmountMessage>
</RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
العناصر والسمات
تحتوي رسالة OTA_HotelRateAmountNotifRQ
على العناصر
والسمات التالية:
العنصر / @Attribute | عدد مرات الظهور | النوع | الوصف |
---|---|---|---|
OTA_HotelRateAmountNotifRQ | 1 | Complex element | العنصر الجذر لرسالة الأسعار. |
OTA_HotelRateAmountNotifRQ / @xmlns | 0..1 | string (URI) | مساحة اسم XML. |
OTA_HotelRateAmountNotifRQ / @EchoToken | 1 | string | معرّف فريد لرسالة الطلب هذه يتم عرض هذه القيمة في رسالة الرد. الأحرف المسموح بها هي a-z وA-Z و0-9 و_ (underscore) و- (dash) . |
OTA_HotelRateAmountNotifRQ / @TimeStamp | 1 | DateTime | تاريخ إنشاء هذه الرسالة ووقتها. |
OTA_HotelRateAmountNotifRQ / @Version | 1 | decimal | إصدار رسالة OpenTravel. |
OTA_HotelRateAmountNotifRQ / @NotifType | 0..1 | enum | تمثّل هذه السمة نوع الإشعار الذي يتم تطبيقه على كل القيم الصالحة هي: لفهم طريقة عمل هذه السمات، يمكنك الاطّلاع على الأمثلة.
|
OTA_HotelRateAmountNotifRQ / @NotifScopeType | 0..1 | enum | نطاق القيم الصالحة هي:
|
OTA_HotelRateAmountNotifRQ / POS | 0..1 | POS | تمثّل هذه السمة حاوية لتحديد حساب الشريك لهذه الرسالة (تُستخدم عادةً إذا كانت الخلفية توفّر خلاصات أسعار لحسابات شركاء متعدّدة). |
OTA_HotelRateAmountNotifRQ / POS / Source | 1 | Source | يجب ملء الحقل في حال توفّر السمة <POS> . تمثّل هذه السمة حاوية
<RequestorID> . |
OTA_HotelRateAmountNotifRQ / POS / RequestorID | 1 | RequestorID | يجب ملء الحقل في حال توفّر السمة <POS> . تحدّد حساب الشريك. |
OTA_HotelRateAmountNotifRQ / POS / RequestorID / @ID | 1 | string | حساب الشريك لهذه الرسالة تمثّل قيمة السلسلة هذه قيمة "مفتاح الشريك" المدرَجة في
صفحة "إعدادات الحساب" ضمن Hotel Center.
ملاحظة: إذا كانت لديك خلفية توفّر خلاصات لعدة حسابات، يجب أن تتطابق هذه القيمة مع قيمة السمة |
OTA_HotelRateAmountNotifRQ / RateAmountMessages | 1 | RateAmountMessages | وهي مجموعة من عناصر <RateAmountMessage> التي تحدد الأسعار. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / @HotelCode | 1 | string | تشير هذه السمة إلى المعرّف الفريد الخاص بالمكان المخصّص للاستئجار. ويجب أن تتطابق هذه القيمة مع رقم تعريف الفندق المحدّد باستخدام <id> في العنصر <listing> في خلاصة قائمة الفنادق. مُدرَج أيضًا رقم تعريف الفندق في مركز إدارة معلومات الفنادق. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage | 1..n | RateAmountMessage | حاوية لضبط أسعار سعر الإقامة في الغرفة (مجموعة من نوع الغرفة وخطة السعر خلال نطاق زمني معيّن) |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl | 1 | StatusApplicationControl | تحدد النطاق الزمني، إلى جانب معرّفات نوع الغرفة (InvTypeCode ) وخطة الأسعار (RatePlanCode ). |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Start | 1 | Date | تاريخ البدء (استنادًا إلى المنطقة الزمنية للموقع)، ويشمل ذلك النطاق الزمني. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @End | 1 | Date | تاريخ الانتهاء (استنادًا إلى المنطقة الزمنية للموقع)، ويشمل ذلك النطاق الزمني. يجب أن تكون القيمة مساوية لقيمة start أو أكبر منها.
في حال تساوي start وend ، يسري التعديل على ذلك التاريخ. تجدر الإشارة إلى أنّ Google تتيح جمع البيانات لمدة تصل إلى ثلاث سنوات. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Mon | 0..1 | boolean | اضبط السمة على true أو 1 لتضمين أيام الاثنين بشكل واضح.
وفي حال ضبط هذه السياسة على |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Tue | 0..1 | boolean | اضبط السمة على true أو 1 لتضمين أيام الثلاثاء بشكل واضح.
وفي حال ضبط هذه السياسة على |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Weds | 0..1 | boolean | اضبط السمة على true أو 1 لتضمين أيام الأربعاء بوضوح.
وفي حال ضبط هذه السياسة على |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Thur | 0..1 | boolean | اضبط السمة على true أو 1 لتضمين أيام الخميس بشكل واضح.
وفي حال ضبط هذه السياسة على |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Fri | 0..1 | boolean | اضبط السمة على true أو 1 لتضمين أيام الجمعة بشكل واضح.
وفي حال ضبط هذه السياسة على |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sat | 0..1 | boolean | اضبط السمة على true أو 1 لتضمين أيام السبت بشكل واضح.
وفي حال ضبط هذه السياسة على |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sun | 0..1 | boolean | اضبط السمة على true أو 1 لتضمين أيام الأحد بشكل صريح.
وفي حال ضبط هذه السياسة على |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @InvTypeCode | 1 | string | المعرّف الفريد للمستودع (نوع الغرفة) يتم ربط هذه القيمة
بـ <RoomID> في رسالة معاملة (بيانات الموقع). |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanCode | 1 | string | معرّف فريد لخطة الأسعار يرتبط هذا المعرّف برمز <PackageID> في رسالة المعاملة (بيانات الموقع). تم تحديد خطة الأسعار بشكل أكبر والرجوع إليها
في <StatusApplicationControl> في رسالتَي
<OTA_HotelRateAmountNotifRQ>
و<OTA_HotelAvailNotifRQ> . |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanType | 0..1 | string | معرّف يشير إلى نوع نموذج أسعار ARI الذي ينطبق على تعديل الأسعار هذا. يجب تحديد هذه السمة فقط باستخدام
قيمة 26 ، عند استخدام نموذج الأسعار المستنِد إلى خيارات الخدمة. يشير استبعاد
هذه السمة إلى أنّ هذا التغيير يتم تطبيق السعر في تاريخ معيّن. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates | 0..1 | Rates | حاوية لمجموعة عناصر <Rate> . وإذا كانت قيمة السمة NotifType هي "Remove" ، يجب عدم تحديد هذا العنصر. وبخلاف ذلك، يجب تحديد هذا العنصر مرة واحدة فقط. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate | 1 | Rate | حاوية لمجموعة من عناصر <BaseByGuestAmts> . |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @RateTimeUnit | 0..1 | String | الوحدة التي يتم تحديد مدة الإقامة بها. والقيمة الوحيدة المسموح بها هي "Day" ، ما يعني أنّه سيتم تحديد مدة الإقامة بالأيام.
لاستخدام الأسعار المستندة إلى خيارات الخدمة،
يجب تحديد |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @UnitMultiplier | 0..1 | Integer | تمثّل هذه السمة عدد RateTimeUnits التي تنشئ مدة الإقامة
لهذا السعر.
على سبيل المثال، إذا كانت قيمة سيتم ضرب معدّلات الإشغال المحدّدة ضمن هذا العنصر لاستخدام الأسعار المستندة إلى خيارات الخدمة،
يجب تحديد |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts | 1 | BaseByGuestAmts | حاوية لمجموعة رسوم أساسية |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt | 1..n | BaseByGuestAmt | تحدّد هذه السياسة أسعار الغرف بعملة محدّدة. ويمكن أن يكون السعر
لكل إشغال من خلال استخدام عدة عناصر <BaseByGuestAmt> ، ولكل منها قيمة مختلفة للسمة NumberOfGuests .
وبخلاف ذلك، ينطبق السعر على الحد الأقصى لعدد النزلاء المحدّد في NumberOfGuests . |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountBeforeTax | 0..1 | float |
السعر اليومي لسعر الإقامة في الغرفة قبل احتساب الضرائب والرسوم. يمكن تحديد كل من إذا كنت تستخدم عروضًا ترويجية، سيتم تطبيق الخصم على |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountAfterTax | 0..1 | float | تمثّل هذه السمة السعر اليومي لسعر الإقامة في الغرفة بعد تضمين الضرائب والرسوم السارية. في حال تحديد السمة AmountAfterTax ، لن تحتاج إلى إرسال رسائل <TaxFeeInfo> منفصلة لكل موقع. يمكن استخدام هذه
السمة مع AmountBeforeTax
لتقديم أسعار أساسية وإجمالية يمكن عرضها للمستخدمين في
مناطق معيّنة.
تحذير: إذا كنت تستخدم عروضًا ترويجية، ننصحك بشدة بعدم استخدام مبالغ ملاحظة: إذا لم يتم تحديد السمة |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @CurrencyCode | 1 | enum | تمثّل هذه السمة رمز الأحرف ألفا وفقًا لمعيار ISO 4217 (3) لوحدة نقدية محدّدة.
راجِع قائمة العملات المُعتمَدة. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @NumberOfGuests | 0..1 | integer | الحدّ الأقصى لعدد النزلاء الذين يمكن استضافتهم بهذا السعر
مع العلم بأنّ الإعداد التلقائي هو ضيفان إذا لم يتم اختيارهما.
يُرجى العِلم أنّه إذا كانت السمة |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts | 0..1 | AdditionalGuestAmounts | حاوية لمجموعة رسوم للنزلاء الإضافيين
تكون هذه البنية مفيدة إذا تغيّرت الأسعار الإضافية للنزلاء أو الأسعار الثانوية بناءً على التاريخ. ننصحك باستخدام رسالة
على سبيل المثال، لنفترض أنّه تم تحديد الأسعار الأساسية لشخص بالغ أو شخصَين بالغَين.
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount | 0..n | AdditionalGuestAmount | تحدّد هذه السمة الأسعار استنادًا إلى نوع الضيف والمحددة من خلال AgeQualifyingCode وعمر الضيف المحدد من خلال MaxAge ، إذا كان ذلك منطبقًا.
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @AgeQualifyingCode | 1 | enum | تحدّد هذه السمة نوع النزيل الإضافي، سواء كان شخصًا بالغًا أو طفلاً. في ما يلي الخيارات
الصالحة:
يمكن ضبط يجب تحديد |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @MaxAge | 0..1 | integer | يجب تحديد MaxAge عندما تكون قيمة السمة AgeQualifyingCode هي 8 . ويجب عدم تحديده عندما تكون قيمة AgeQualifyingCode هي 10 .
يجب أن تكون يؤدي تحديد قيمة سيتم التعامل مع القيم التي تزيد عن يمكن تحديد فئات عمرية فرعية متعددة من خلال عناصر |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @Amount | 1 | float | المبلغ قبل الضرائب والرسوم التي تتم إضافتها إلى السعر الأساسي لكل
ضيف إضافي.
يجب تحديد الضرائب والرسوم التي تعتمد على أعمار المقيمين من خلال العنصر |
أمثلة
يقدم هذا القسم أمثلة على التعليمات البرمجية تبرز كيفية:
- إعداد الأسعار الأساسية والأسعار الإجمالية
- إضافة الأسعار وتركيبها وإزالتها
- إضافة المزيد من المدعوّين وتركيب عناصر على أجهزتهم وإزالتها
- إعداد الأسعار المستندة إلى مستوى الخدمة (LOS)
- إضافة الأسعار المستندة إلى LOS وتركيبها وإزالتها
عند ضبط القيم add
أو overlay
أو remove
، يمكن أن تكون النطاقات الزمنية متطابقة أو مختلفة استنادًا إلى أهدافك. على سبيل المثال، يمكنك استخدام overlay
لضبط بضعة أسابيع فقط لأعياد كانون الأول (ديسمبر) بدلاً من النطاق الكامل المعين لرسالة "إضافة سعر". سيؤدي هذا إلى استبدال أسعار الإشغال
لهذه الفترة فقط.
الأسعار لكل تاريخ
إعداد الأسعار الأساسية والأسعار الإجمالية
مثال 1
السعر الأساسي (بدون ضرائب أو رسوم) للإشغال التلقائي (مزدوج). في هذا
النموذج، يجب تحديد الضرائب والرسوم المتعلقة بالموقع باستخدام رسالة
<TaxFeeInfo>
. سيكون السعر الأساسي أكثر بروزًا للمستخدمين الذين يجرون عمليات بحث من مناطق معيّنة.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
مثال 2
السعر الأساسي والإجمالي للإشغال التلقائي (مزدوج) في هذا النموذج، يجب عدم تحديد الضرائب والرسوم بشكل منفصل باستخدام رسائل <TaxFeeInfo>
. سيكون السعر الأساسي أكثر بروزًا للمستخدمين الذين يجرون عمليات بحث من مناطق معيّنة.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" AmountAfterTax="110.00" CurrencyCode="USD"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
مثال 3
السعر الإجمالي (مع الضرائب والرسوم) لإقامة عدة أماكن. في هذا النموذج، يجب عدم تحديد الضرائب والرسوم بشكل منفصل باستخدام رسائل <TaxFeeInfo>
.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountAfterTax="100.00" CurrencyCode="USD" NumberOfGuests="1"/> <BaseByGuestAmt AmountAfterTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> <BaseByGuestAmt AmountAfterTax="120.00" CurrencyCode="USD" NumberOfGuests="3"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
مثال 4
السعر الأساسي والإجمالي للعديد من أنواع الغرف وخطط الأسعار على مستوى نطاقات زمنية مختلفة.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" AmountAfterTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> <RateAmountMessage> <StatusApplicationControl Start="2020-05-01" End="2020-05-31" InvTypeCode="RoomID_2" RatePlanCode="PackageID_2"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="200.00" AmountAfterTax="220.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
إضافة الأسعار وتركيبها وإزالتها
إضافة أسعار
اضبط السمة NotifType
على Delta
لإضافة أسعار الإقامة في الغرفةID_1 وPackageID_1 في الفترة بين 2021/10/20 و31/12/2021. وتجدُر الإشارة إلى أنّ Google يتيح استخدام البيانات لمدة تصل إلى ثلاث سنوات.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD" NumberOfGuests="1"/> <BaseByGuestAmt AmountBeforeTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> <BaseByGuestAmt AmountBeforeTax="120.00" CurrencyCode="USD" NumberOfGuests="3"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
معدلات التراكب
يمكنك ضبط السمة NotifType
على Overlay
لحذف جميع أسعار الإقامة
في الغرفةID_1 وPackageID_1 في الفترة بين 2021-10-20 و 31-12-2021
واستبدالها بالأسعار المحدّدة حديثًا لكل إشغال.
على سبيل المثال، إذا تم إرسال هذه الرسالة بعد رسالة "إضافة أسعار"، سيتم حذف أسعار الإشغال 1 و2 و3، ولن يتم تخزين سوى سعر الإشغال 1 الجديد. يمكنك أيضًا ضبط نطاق زمني أقصر (مثل: 2021-12-20 و2021-12-31) لاستبدال بعض أسعار الإشغال فقط في تواريخ معينة، مثل العطلات.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Overlay" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="200.00" CurrencyCode="USD" NumberOfGuests="1"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
إزالة الأسعار
اضبط السمة NotifType
على Remove
لحذف جميع أسعار الإقامة في الغرفةID_1 وPackageID_1 في الفترة بين 2021/10/20 و31/12/2021.
على سبيل المثال، إذا تم إرسال هذه الرسالة بعد إحدى الرسالتين التاليتين، لن يتم تخزين معدلات الإشغال.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Remove" NotifScopeType="ProductRate">> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
إضافة مزيد من الضيوف وتركيبها وإزالتها
إضافة مبالغ
اضبط السمة NotifType
على Delta
لإضافة الأسعار الأساسية
للإشغال 1 و2، ومبالغ إضافية للنزلاء، في الغرفةID_1 و
للحزمةID_1 في الفترة بين 2021/10/20 و31/12/2021.
ستتم إضافة مبالغ إضافية للنزلاء إلى سعر أساسي يتم تحديده حسب معدّل الإشغال في بحث المستخدم. يجب أن تكون الإشغال الذي حدّده المستخدم ضمن سعة RoomID_1.
في هذا المثال، سيتم تطبيق مبالغ إضافية للنزلاء على النحو التالي:
- 5 دولار أمريكي للأطفال في الفئة العمرية من 0 إلى 10 سنوات (شاملًا).
- 10 دولار أمريكي للأطفال في الفئة العمرية بين 11 و17 عامًا (شاملًا).
- 20 دولار أمريكي للبالغين.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD" NumberOfGuests="1"/> <BaseByGuestAmt AmountBeforeTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> <AdditionalGuestAmounts> <AdditionalGuestAmount Amount="5.00" AgeQualifyingCode="8" MaxAge="10" /> <AdditionalGuestAmount Amount="10.00" AgeQualifyingCode="8" MaxAge="17" /> <AdditionalGuestAmount Amount="20.00" AgeQualifyingCode="10" /> </AdditionalGuestAmounts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
مبالغ التراكب
يمكنك ضبط السمة NotifType
على Overlay
لحذف جميع أسعار الإقامة
لكل إقامة وجميع المبالغ الإضافية للنزلاء في RoomID_1 وPackageID_1
في الفترة بين 2021-10-20 و 31-12-2021، واستبدالها بالأسعار الإضافية المحدّدة حديثًا
لكل إقامة والمبالغ الإضافية.
على سبيل المثال، إذا تم إرسال هذه الرسالة بعد رسالة "إضافة أسعار"، سيتم حذف أسعار الإشغال الأساسي 1 و2، ولن يتم تخزين سوى السعر الجديد للإشغال الأساسي 1. سيتم حذف المجموعة السابقة من المبالغ الإضافية للضيوف، ولن يتم تخزين سوى المجموعة الجديدة من المبالغ. سيتم الآن استخدام السعر الجديد للإشغال 1 كسعر أساسي للمبالغ للنزلاء. يُرجى العلم أنّه بعد هذا التحديث، لن يتم تحديد رسوم إضافية للأطفال مقابل الإقامة في النزلاء.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Overlay" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="200.00" CurrencyCode="USD" NumberOfGuests="1"/> </BaseByGuestAmts> <AdditionalGuestAmounts> <AdditionalGuestAmount Amount="30.00" AgeQualifyingCode="10" /> </AdditionalGuestAmounts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
إزالة مبالغ
يجب ضبط السمة NotifType
على Delete
لحذف جميع الأسعار الأساسية
لكل إقامة وجميع المبالغ الإضافية للنزلاء في RoomID_1 وPackageID_1
بين 2021/10/2020 و31/12/2021.
على سبيل المثال، إذا تم إرسال هذه الرسالة بعد أي من المثالين الآخرَين، لن يتم تخزين الأسعار الأساسية لكل إشغال أو مبالغ إضافية للنزلاء.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Remove" NotifScopeType="ProductRate">> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
إزالة العدد الإضافي للضيوف فقط
يمكنك ضبط NotifType
على Delta
مع استخدام عنصر <AdditionalGuestAmounts>
فارغ لحذف كل
المبالغ الإضافية للضيوف في الغرفةID_1 وPackageID_1 بدون التأثير في
الأسعار الأساسية في الفترة بين 2021/10/20 و31/12/2021.
على سبيل المثال، إذا تم إرسال هذه الرسالة بعد أي من المثالَين الآخرَين، سيتم تخزين المبالغ الأساسية فقط.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <AdditionalGuestAmounts/> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
التسعير المستنِد إلى خدمة مقارنة الأسعار (LOS)
إعداد الأسعار المستندة إلى LOS
مثال 1
حدِّد أسعار الإقامة لمدة ليلة واحدة أو ليلتين أو 3 ليلة اعتبارًا من 18 أيار (مايو) 2020. سيكون السعر الإجمالي للإقامة لمدة ليلة واحدة أو اثنتين وثلاث ليلة في هذا المثال هو 100 دولار أمريكي و180 دولار أمريكي و240 دولار أمريكي على التوالي.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-18" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> <Rates> <Rate UnitMultiplier="1" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> <Rate UnitMultiplier="2" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="90.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> <Rate UnitMultiplier="3" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="80.00" CurrencyCode="USD" NumberOfGuests="2" /> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
إضافة الأسعار المستندة إلى LOS وتركيبها وإزالتها
إضافة مدة الإقامة
من خلال تحديد الأسعار المستنِدة إلى LS، تسمح عملية Delta
بتعديل الأسعار
بشكل تدريجي للنطاقات الزمنية لتسجيل الوصول المُشار إليها في
<StatusApplicationControl>
ولجميع مُدد الإقامة
المُشار إليها في سمة UnitMultiplier
لكل عنصر Rate
ثانوي.
يجب تحديد جميع أسعار الإشغال لكل تاريخ تسجيل وصول ومدة إقامة سارٍين.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-18" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> <Rates> <Rate UnitMultiplier="3" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="80.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
مدة الإقامة المركّبة
وفقًا للأسعار المستنِدة إلى لوائح الخدمة (LOS)، تحلّ العملية Overlay
محلّ الأسعار لجميع مُدد إقامة المنتج والنطاق الزمني لتسجيل الوصول المشار إليه في <StatusApplicationControl>
.
وفي هذه الرسالة، ستتم إزالة أسعار الإقامة لكل إشغال لجميع مُدد الإقامة في تواريخ الوصول المحدّدة واستبدالها بمعدل إشغال مزدوج يتم تحديده فقط لمدة الإقامة 3.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0" NotifType="Overlay" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-18" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> <Rates> <Rate UnitMultiplier="3" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="80.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
إزالة مدة الإقامة
باستخدام الأسعار المستندة إلى خيارات الخدمة، تزيل عملية Remove
الأسعار
لجميع مُدد إقامة المنتج والنطاق الزمني لتسجيل الوصول المُشار إليه في
<StatusApplicationControl>
.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Remove" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
الردود
البنية
تستخدم الرسالة OTA_HotelRateAmountNotifRS
البنية التالية:
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
TimeStamp="timestamp"
EchoToken="echo_token"
Version="3.0">
<!-- Either Success or Errors will be populated. -->
<Success/>
<Errors>
<Error Type="12" Status="NotProcessed" ShortText="issue_code">issue_description</Error>
</Errors>
</OTA_HotelRateAmountNotifRS>
العناصر والسمات
تحتوي الرسالة OTA_HotelRateAmountNotifRS
على العناصر
والسمات التالية:
العنصر / @Attribute | عدد مرات الظهور | النوع | الوصف |
---|---|---|---|
OTA_HotelRateAmountNotifRS | 1 | Complex element | تمثّل هذه السمة العنصر الجذر للردّ على رسالة التوفّر. |
OTA_HotelRateAmountNotifRS / @TimeStamp | 1 | DateTime | تاريخ إنشاء هذه الرسالة ووقتها. |
OTA_HotelRateAmountNotifRS / @EchoToken | 1 | string | المعرّف الفريد من رسالة
OTA_HotelRateAmountNotifRQ المرتبطة. |
OTA_HotelRateAmountNotifRS / Success | 0..1 | Success | يشير إلى أنّه تمت معالجة رسالة OTA_HotelRateAmountNotifRQ بنجاح.
تحتوي كل رسالة على |
OTA_HotelRateAmountNotifRS / Errors | 0..1 | Errors | حدثت حاوية لمشكلة واحدة أو أكثر أثناء معالجة رسالة OTA_HotelRateAmountNotifRQ .
تحتوي كل رسالة على |
OTA_HotelRateAmountNotifRS / Errors / Error | 1..n | Error | وصف لخطأ حدث أثناء معالجة رسالة OTA_HotelRateAmountNotifRQ . يمكن العثور على تفاصيل عن هذه الأخطاء في رسائل الخطأ لحالة الخلاصة. |
OTA_HotelRateAmountNotifRS / Errors / Error / @Type | 1 | integer | نوع تحذير الخطأ OpenTravel Alliance المرتبط
بالخطأ ويتم استخدام القيمة 12 (Processing exception) فقط. |
OTA_HotelRateAmountNotifRS / Errors / Error / @Code | 1 | integer | رمز الخطأ في OpenTravel Alliance (رمز الخطأ) المرتبط بالخطأ
ويتم استخدام القيمة 450 (Unable to process) فقط. |
OTA_HotelRateAmountNotifRS / Errors / Error / @Code | 1 | enum | حالة الطلب الأصلي ويتم استخدام القيمة NotProcessed فقط. |
OTA_HotelRateAmountNotifRS / Errors / Error / @ShortText | 1 | string | معرّف Google للمشكلة يمكن العثور على تفاصيل حول هذه الأخطاء في رسائل الخطأ لحالة الخلاصة. |
أمثلة
تم الإجراء بنجاح
في ما يلي رد على رسالة OTA_HotelRateAmountNotifRQ التي تمت معالجتها بنجاح.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0"> <Success/> </OTA_HotelRateAmountNotifRS>
الأخطاء
في ما يلي ردّ على رسالة OTA_HotelRateAmountNotifRQ التي لم تتم معالجتها بسبب حدوث أخطاء.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0"> <Errors> <Error Type="12" Code="450" Status="NotProcessed" ShortText="8001">Example</Error> </Errors> </OTA_HotelRateAmountNotifRS>