درخواست ها
نحو
پیام 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 | یک شناسه منحصر به فرد برای این پیام درخواست. این مقدار در پیام پاسخ برگردانده می شود. کاراکترهای مجاز عبارتند از az , AZ , 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 | حساب شریک برای این پیام. این مقدار رشته، مقدار «کلید شریک» است که در صفحه تنظیمات حساب در مرکز هتل فهرست شده است. توجه: اگر یک Backend دارید که برای چندین حساب فید ارائه میدهد، این مقدار باید با مقدار ویژگی |
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 برابر باشند، بهروزرسانی برای آن تاریخ اعمال میشود. توجه داشته باشید که گوگل تا سه سال داده را پشتیبانی می کند. |
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 | شناسه منحصر به فرد موجودی (نوع اتاق). این مقدار در پیام Transaction (Property Data) به <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" است، به این معنی که مدت اقامت بر حسب روز مشخص می شود. برای استفاده از قیمتگذاری مبتنی بر 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 | حداکثر تعداد مهمانانی که با این نرخ می توانند پذیرایی کنند. در صورت عدم ارائه، به طور پیش فرض برای 2 مهمان تنظیم می شود. توجه داشته باشید که اگر |
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 | زمانی که AgeQualifyingCode 8 باشد، MaxAge باید مشخص شود. زمانی که AgeQualifyingCode 10 است نباید مشخص شود. تعیین مقدار مقادیر بیشتر از چندین محدوده سنی کودک را می توان از طریق عناصر جداگانه |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @Amount | 1 | float | مبلغ قبل از مالیات و هزینه های اضافه شده به نرخ پایه برای هر مهمان اضافی. مالیات ها و هزینه هایی که به سن ساکنین بستگی دارد باید از طریق عنصر |
نمونه ها
این بخش نمونههایی از کدها را ارائه میکند که نحوه انجام:
- نرخ های پایه و نرخ کل را تنظیم کنید
- اضافه کردن، همپوشانی، و حذف نرخ
- اضافه کردن، همپوشانی، و حذف مقادیر اضافی مهمان
- نرخ های مبتنی بر LOS را تنظیم کنید
- اضافه کردن، همپوشانی، و حذف نرخ های مبتنی بر LOS
وقتی مقادیر add
، overlay
یا remove
را تنظیم میکنید، محدوده تاریخ بسته به اهداف شما میتواند یکسان یا متفاوت باشد. به عنوان مثال، میتوانید از overlay
استفاده کنید تا فقط چند هفته را برای تعطیلات دسامبر تنظیم کنید نه کل محدوده تنظیم شده برای پیام «افزودن نرخ». این تنها برای این مدت جایگزین نرخ اشغال خواهد شد.
قیمت گذاری بر اساس تاریخ
برای یک اتاق معین و طرح نرخ میتواند حداکثر 50 نرخ اشغال در هر ملک وجود داشته باشد. اگر نرخ ها برای همه اشغال ها یکسان است، فقط باید حداکثر اشغال را با قیمت مورد نیاز ارسال کنید. با انجام این کار، گوگل استنباط می کند که اشغال های پایین تر نیز همان نرخ پایه را دریافت می کنند.
نرخ های پایه و نرخ کل را تنظیم کنید
مثال 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>
اضافه کردن، همپوشانی، و حذف نرخ
محدودیت 5000 محصول – نوع اتاق و ترکیب بسته – در هر ملک وجود دارد. از انواع اعلان Overlay
یا Remove
برای حذف محصولات تعریف شده قبلی استفاده کنید.
اضافه کردن نرخ
NotifType
را روی Delta
تنظیم کنید تا نرخهای هر اشغال را برای 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> <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 بین روزهای 20-10-2021 و 2021-12-31 حذف شود و آنها را با نرخهای جدید به ازای هر اشغال جایگزین کنید.
به عنوان مثال، اگر این پیام پس از پیام «افزودن نرخها» ارسال شده باشد، نرخهای اشغال 1، 2 و 3 حذف میشوند و فقط نرخ اشغال 1 جدید ذخیره میشود. همچنین میتوانید محدوده تاریخ کوتاهتری (به عنوان مثال: 20-12-2021 و 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>
حذف نرخ ها
برای حذف همه نرخهای اشغال برای RoomID_1 و PackageID_1 بین 20-10-2021 و 2021-12-31، NotifType
روی Remove
تنظیم کنید.
برای مثال، اگر این پیام پس از هر یک از پیامهای نمونه دیگر ارسال شده باشد، هیچ نرخی برای هر اشغال ذخیره نمیشود.
<?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 و 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 بین روزهای 20-10-2021 و 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 و 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
با یک عنصر خالی <AdditionalGuestAmounts>
روی Delta
تنظیم کنید تا همه مقادیر اضافی مهمان برای RoomID_1 و PackageID_1 بدون تأثیر بر نرخ های پایه بین 20-10-2021 و 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
نرخ های مبتنی بر LOS را تنظیم کنید
مثال 1
نرخها را برای اقامتهای 1، 2 و 3 شب از تاریخ 18/05/2020 تنظیم کنید. نرخ کل برای 1، 2 و 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
اضافه کردن مدت(های) اقامت
با قیمتگذاری مبتنی بر LOS، یک عملیات 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>
مدت(های) اقامت را حذف کنید
با قیمتگذاری مبتنی بر 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 ERR (کد خطا) مرتبط با خطا. فقط از مقدار 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>