الطلبات
البنية
تستخدم الرسالة 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 ، عند استخدام نموذج الأسعار المستنِد إلى LoS. الاستبعاد
من هذه السمة تشير إلى أنّ القيمة هي سعر محدَّد في تاريخ محدّد.
تحديث. |
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 | حاوية لمجموعة رسوم للنزلاء الإضافيين
تكون هذه البنية مفيدة في حال وجود أسعار إضافية للنزلاء أو الأطفال.
بناءً على التاريخ. ننصحك باستخدام النموذج الأكثر فعالية
على سبيل المثال، لنفترض أنّه تم تحديد الأسعار الأساسية للدرجتين 1 و2. البالغين.
|
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
لضبط بضعة أسابيع فقط لأعياد كانون الأول (ديسمبر) بدلاً من
تم تعيين النطاق بأكمله لـ "معدل الإضافة" . سيؤدي هذا الإجراء إلى استبدال بيانات الإشغال.
الأسعار لهذه الفترة فقط.
الأسعار لكل تاريخ
يمكن أن يكون هناك 50 سعر إشغال كحد أقصى لكل غرفة وخطة أسعار معينة الموقع. إذا كانت الأسعار موحّدة لجميع الإقامة، ما عليك سوى إرسال الحد الأقصى للإشغالات بالسعر المطلوب. بإجراء ذلك، تستنتج Google أن ستحصل أيضًا الإشغالات الأقل على السعر الأساسي نفسه.
إعداد الأسعار الأساسية والأسعار الإجمالية
مثال 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>
إضافة الأسعار وتركيبها وإزالتها
الحد الأقصى المسموح به لعدد المنتجات هو 5,000 منتج، نوع الغرفة والحزمة.
النُسخ— لكل موقع. استخدام إشعار Overlay
أو Remove
أنواع المنتجات لإزالة المنتجات المحددة سابقًا.
إضافة أسعار
اضبط السمة NotifType
على Delta
لإضافة أسعار الإقامة لكل إشغال في
RoomID_1 وPackageID_1 بين 20-10-2021 و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 بين 20 تشرين الثاني (نوفمبر) 2021 و31 كانون الأول (ديسمبر) 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 بين 20-10-2021 وبين 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، ومبالغ النزلاء الإضافية في RoomID_1
PackageID_1 بين 20/10/2021 و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-2020 و2021-12-31 واستبدالها بـ
معدلات محددة للإشغال ومبالغ إضافية.
على سبيل المثال، إذا تم إرسال هذه الرسالة بعد "إضافة أسعار" الرسالة، سيتم حذف سعرَي الإشغال الأساسي 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
بين 20-10-2021 و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>
لحذف الكل
مبالغ الضيوف الإضافية في RoomID_1 وPackageID_1 بدون التأثير
الأسعار الأساسية بين 2020-10-2021 و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. تشير رسالة الأشكال البيانية السعر الإجمالي للإقامة لمدة ليلة واحدة أو اثنتين أو 3 ليلة في هذا المثال هو 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 وتركيبها وإزالتها
إضافة مدة الإقامة
باستخدام الأسعار المستندة إلى خيارات الخدمة، تسمح عملية "Delta
" بفرض الأسعار
تحديثها بشكل تدريجي للنطاقات الزمنية لتسجيل الوصول المشار إليها في
<StatusApplicationControl>
ولجميع مُدد الإقامة
التي يشير إليها كل عنصر Rate
ثانوي
UnitMultiplier
لكل تاريخ تسجيل وصول ومدة إقامة سارٍين، تكون جميع قيم الإشغال الأسعار.
<?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>
إزالة مدة الإقامة
باستخدام الأسعار المستندة إلى خيارات الخدمة (LOS)، تتم إزالة الأسعار من خلال عملية "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 EWT (نوع تحذير الخطأ) المرتبط بـ
خطأ. ويتم استخدام القيمة 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>