الطلبات
البنية
تستخدم رسالة 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
على العناصر والسمَات التالية:
العنصر / @السمة | عدد مرات الظهور | النوع | الوصف |
---|---|---|---|
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> في خلاصة بيانات الفنادق. يظهر رقم تعريف الفندق أيضًا في Hotel Center. |
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 لتضمين true أيام الثلاثاء بشكل صريح.
في حال ضبطها على |
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> في رسالة Transaction (Property Data). |
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" ، ما يعني أنّه سيتم تحديد مدّة الإقامة
بالأيام.
لاستخدام التسعير المستنِد إلى LOS،
يجب تحديد |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @UnitMultiplier | 0..1 | Integer | عدد RateTimeUnits التي تشكّل مدّة
الإقامة لهذا السعر
على سبيل المثال، إذا كانت قيمة سيتم ضرب تعرفات الإشغال المحدّدة ضمن عنصر لاستخدام التسعير المستنِد إلى LOS،
يجب تحديد |
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
- إضافة الأسعار المستندة إلى مدى الرؤية وتراكبها وإزالتها
عند ضبط القيم 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 بين 2021-10-20 و2021-12-31. يُرجى العِلم أنّه
تتيح 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
لحذف جميع أسعار الإقامة لكل شخص
في RoomID_1 وPackageID_1 بين 2021-10-20 و2021-12-31
واستبدالها بأسعار الإقامة لكل شخص المحدّدة حديثًا.
على سبيل المثال، إذا تم إرسال هذه الرسالة بعد رسالة "إضافة الأسعار"، سيتم حذف أسعار الإقامة لفرد واحد وفردَين وثلاثة أفراد، ولن يتم تخزين سوى سعر الإقامة لفرد واحد الجديد. يمكنك أيضًا ضبط نطاق زمني أقصر (مثلاً: 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
لحذف جميع أسعار الإقامة لكل شخص
في RoomID_1 وPackageID_1 بين 2021-10-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="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
لإضافة الأسعار الأساسية لرحلتَي الإقامة الأولى والثانية وعدد النزلاء الإضافيَين لـ RoomID_1 و
PackageID_1 بين 2021-10-20 و2021-12-31.
سيتم تطبيق رسوم إضافية على عدد النزلاء الإضافي بالإضافة إلى السعر الأساسي الذي سيتم تحديده استنادًا إلى عدد النزلاء في عملية بحث المستخدم. يجب أن تكون السعة المحدّدة من قِبل المستخدِم ضمن سعة 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 و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> <AdditionalGuestAmounts> <AdditionalGuestAmount Amount="30.00" AgeQualifyingCode="10" /> </AdditionalGuestAmounts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
إزالة المبالغ
اضبط NotifType
على Delete
لحذف كل الأسعار الأساسية
لكلّ نزلاء، وجميع المبالغ الإضافية للضيوف في RoomID_1 وPackageID_1
بين 2021-10-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="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 بدون التأثير في
الأسعار الأساسية بين 2021-10-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="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
إعداد الأسعار المستندة إلى مستوى الخدمة
مثال 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>
إضافة الأسعار المستندة إلى مدى الرؤية وتداخلها وإزالتها
إضافة مدد الإقامة
باستخدام الأسعار المستندة إلى مدة الإقامة، تسمح عملية 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>
مدد الإقامة التي تظهر على سطح الخريطة
في الأسعار المستندة إلى مدة الإقامة، تحلّ عملية 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
على العناصر والسمات التالية:
العنصر / @السمة | عدد مرات الظهور | النوع | الوصف |
---|---|---|---|
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 | نوع التحذير من الخطأ (EWT) في OpenTravel Alliance المرتبط بالخطأ
يتم استخدام القيمة 12 (Processing exception) فقط. |
OTA_HotelRateAmountNotifRS / Errors / Error / @Code | 1 | integer | رمز الخطأ (ERR) من 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>