نمای کلی
این API به شما امکان میدهد روشهایی را برای اعمال پویای اقدامات بر روی یک نرخ در هر زمان که شرایط برآورده شوند، تعریف کنید، مانند تنظیم قیمت یا فعال کردن قابلیت استرداد وجه. برخلاف API تبلیغات ، که فقط میتواند تبلیغات واجد شرایط را با بیشترین تخفیفها اعمال کند، این API هرگونه اقدامی را در صورت برآورده شدن شرایط خاص اعمال میکند، از جمله تنظیم قیمت که در نهایت ممکن است قیمت نهایی را افزایش دهد.
درخواستها
نحو
پیام RateModifications از سینتکس زیر استفاده میکند:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="partner_key"
id="message_ID"
timestamp="timestamp">
<HotelRateModifications hotel_id="HotelID" action="[overlay]">
<ItineraryRateModification id="ModificationID" action="[delete]">
<BookingDates>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
</BookingDates>
<BookingWindow min="integer" max="integer"/>
<CheckinDates>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
</CheckinDates>
<CheckoutDates>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
</CheckoutDates>
<Devices>
<Device type="[desktop|tablet|mobile]"/>
</Devices>
<LengthOfStay min="integer" max="integer"/>
<MinimumAmount before_discount="integer"/>
<RatePlans>
<RatePlan id="PackageID_1"/>
<RatePlan id="PackageID_2"/>
</RatePlans>
<RoomTypes>
<RoomType id="RoomID_1"/>
<RoomType id="RoomID_2"/>
</RoomTypes>
<StayDates application="[all|any]">
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
</StayDates>
<UserCountries type="[include|exclude]">
<Country code="country_code"/>
</UserCountries>
<ModificationActions>
<PriceAdjustment multiplier="float"/>
<RateRule id="RateRuleID"/>
<Refundable available="[false|true]"
refundable_until_days="number_of_days"
refundable_until_time="time"/>
<Availability status="[unavailable]"/>
</ModificationActions>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
عناصر و ویژگیها
پیام RateModifications دارای عناصر و ویژگیهای زیر است:
| عنصر / @Attribute | رخدادها | نوع | توضیحات |
|---|---|---|---|
| RateModifications | 1 | Complex element | عنصر ریشهای یک پیام تغییر نرخ. |
| RateModifications / @partner | 1 | string | حساب کاربری همکار برای این پیام. این مقدار رشتهای، مقدار «کلید همکار» است که در صفحه تنظیمات حساب کاربری در مرکز هتل فهرست شده است. توجه: اگر یک backend دارید که برای چندین حساب کاربری فید ارائه میدهد، این مقدار باید با مقدار ویژگی |
| RateModifications / @id | 1 | string | یک شناسه منحصر به فرد برای این پیام درخواست. این مقدار در پیام پاسخ برگردانده میشود. کاراکترهای مجاز عبارتند از az، AZ، 0-9، _ (زیرخط) و - (خط تیره). |
| RateModifications / @timestamp | 1 | DateTime | تاریخ و زمان ایجاد این پیام. |
| RateModifications / HotelRateModifications | 0..n | HotelRateModifications | اصلاح نرخ برای یک ملک. هر اصلاح نرخ برای یک ملک واحد اعمال میشود. توجه: اگر چندین اصلاح نرخ برای یک نرخ قابل اعمال باشد، همه اصلاحات اعمال میشوند. هیچ ترتیب خاصی تضمین نمیشود. |
| RateModifications / HotelRateModifications / @hotel_id | 1 | string | شناسه منحصر به فرد برای ملک. این مقدار باید با شناسه هتل مشخص شده با استفاده از <id> در عنصر <listing> در فید فهرست هتل مطابقت داشته باشد. شناسه هتل همچنین در مرکز هتل فهرست شده است. |
| RateModifications / HotelRateModifications / @action | 0..1 | enum | اگر |
| RateModifications / HotelRateModifications / ItineraryRateModification | 0..200 | ItineraryRateModification | اصلاح نرخ واحد برای یک ملک. توجه: اشکالزدایی تغییرات نرخ دشوار است و توصیه میکنیم از آنها به میزان کم استفاده کنید. برای مواردی که نیاز به بیش از ۲۰۰ تغییر نرخ دارند، با مدیر حساب فنی (TAM) خود تماس بگیرید. |
| RateModifications / HotelRateModifications / ItineraryRateModification / @id | 1 | string | یک شناسه منحصر به فرد برای اصلاح نرخ. حداکثر تعداد کاراکترهای مجاز ۴۰ است. کاراکترهای مجاز عبارتند از az، AZ، ۰-۹، _ (زیرخط)، - (خط تیره) و . (نقطه). |
| RateModifications / HotelRateModifications / ItineraryRateModification / @action | 0..1 | enum | اگر مشخص نشده باشد و اصلاح نرخ با همان در صورت مشخص شدن، مقدار باید |
| RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates | 0..1 | BookingDates | برای اعمال تغییر نرخ، باید یک ظرف برای یک یا چند محدوده تاریخ که زمان رزرو را تعیین میکنند، ایجاد شود. |
| RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange | 1..99 | DateRange | برای اعمال تغییر نرخ، باید یک بازه زمانی مشخص شود که رزرو در چه زمانی انجام شود. |
| RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @start | 0..1 | Date | تاریخ شروع (بر اساس منطقه زمانی ملک)، شامل محدوده تاریخ. این تاریخ باید قبل یا همزمان با تاریخ end باشد. اگر start مشخص نشده باشد، محدوده تاریخ عملاً از نظر تاریخ شروع نامحدود است. |
| RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @end | 0..1 | Date | The ending date (based on the property's time zone), inclusive, of the date range. This date must be the same as, or after, the start date. If end isn't specified, the date range is effectively unlimited in terms of an end date. |
| RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @days_of_week | 0..1 | string | روزهای هفته که در محدوده تاریخ مجاز هستند. اگر مشخص نشده باشند، همه روزها در محدوده تاریخ مجاز هستند. هر کاراکتر در رشته یک روز را مشخص میکند. به عنوان مثال، "MTWHF" مشخص میکند که روزهای هفته در محدوده تاریخ مجاز هستند. کاراکترهای معتبر عبارتند از:
هر ترکیب کاراکتری معتبر است. |
| RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow | 0..1 | BookingWindow | مدت زمانی را که رزرو باید نسبت به تاریخ ورود (بر اساس منطقه زمانی ملک) انجام شود، مشخص میکند. برای مثال، میتوان بازه زمانی رزرو را حداقل ۷ روز و حداکثر ۱۸۰ روز قبل از ورود تنظیم کرد. |
| RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @min | 0..1 | integer | برای اعمال تغییر نرخ، حداقل تعداد روز قبل از ورود به هتل هنگام رزرو باید مشخص شود. اگر این مورد مشخص نشده باشد، حداقلی وجود ندارد. |
| RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @max | 0..1 | integer | برای اعمال تغییر نرخ، حداکثر تعداد روز قبل از ورود به هتل هنگام رزرو باید مشخص شود. اگر این مورد مشخص نشده باشد، حداکثری وجود ندارد. |
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates | 0..1 | CheckinDates | ظرفی برای یک یا چند محدوده تاریخ که مشخص میکند چه زمانی باید ورود انجام شود تا تغییر نرخ اعمال شود. |
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange | 1..99 | DateRange | یک محدوده تاریخی که مشخص میکند چه زمانی باید ورود انجام شود تا تغییر نرخ اعمال شود. اگر یک یا چند تغییر نرخ را حذف میکنید، این عنصر لازم نیست. |
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @start | 0..1 | Date | تاریخ شروع (بر اساس منطقه زمانی ملک)، شامل محدوده تاریخ. این تاریخ باید قبل یا همزمان با تاریخ end باشد. اگر start مشخص نشده باشد، محدوده تاریخ عملاً از نظر تاریخ شروع نامحدود است. |
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @end | 0..1 | Date | تاریخ پایان (بر اساس منطقه زمانی ملک)، شامل محدوده تاریخ. این تاریخ باید برابر یا بعد از تاریخ start باشد. اگر end مشخص نشده باشد، محدوده تاریخ عملاً از نظر تاریخ پایان نامحدود است. |
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @days_of_week | 0..1 | string | روزهای هفته که در محدوده تاریخ مجاز هستند. اگر مشخص نشده باشند، همه روزها در محدوده تاریخ مجاز هستند. هر کاراکتر در رشته یک روز را مشخص میکند. به عنوان مثال، "MTWHF" مشخص میکند که روزهای هفته در محدوده تاریخ مجاز هستند. کاراکترهای معتبر عبارتند از:
هر ترکیب کاراکتری معتبر است. |
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates | 0..1 | CheckoutDates | یک ظرف برای یک یا چند محدوده تاریخ که زمان خروج را برای اعمال تغییر نرخ تعیین میکند. |
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange | 1..99 | DateRange | یک محدوده تاریخی که مشخص میکند چه زمانی باید تسویه حساب انجام شود تا اصلاح نرخ اعمال شود. اگر یک یا چند اصلاح نرخ را حذف میکنید، این عنصر لازم نیست. |
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @start | 0..1 | Date | تاریخ شروع (بر اساس منطقه زمانی ملک)، شامل محدوده تاریخ. این تاریخ باید قبل یا همزمان با تاریخ end باشد. اگر start مشخص نشده باشد، محدوده تاریخ عملاً از نظر تاریخ شروع نامحدود است. |
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @end | 0..1 | Date | تاریخ پایان (بر اساس منطقه زمانی ملک)، شامل محدوده تاریخ. این تاریخ باید برابر یا بعد از تاریخ start باشد. اگر end مشخص نشده باشد، محدوده تاریخ عملاً از نظر تاریخ پایان نامحدود است. |
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @days_of_week | 0..1 | string | روزهای هفته که در محدوده تاریخ مجاز هستند. اگر مشخص نشده باشند، همه روزها در محدوده تاریخ مجاز هستند. هر کاراکتر در رشته یک روز را مشخص میکند. به عنوان مثال، "MTWHF" مشخص میکند که روزهای هفته در محدوده تاریخ مجاز هستند. کاراکترهای معتبر عبارتند از:
هر ترکیب کاراکتری معتبر است. |
| RateModifications / HotelRateModifications / ItineraryRateModification / Devices | 0..1 | Devices | محفظهای برای فهرست کردن دستگاههای کاربری که واجد شرایط تغییر نرخ هستند. در صورت مشخص شدن، تغییر نرخ فقط در صورتی اعمال میشود که کاربر با یکی از دستگاههای فهرست شده مطابقت داشته باشد. در صورت مشخص نشدن، این امر اعمال تغییر نرخ را محدود نمیکند. |
| RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device | 1..3 | Device | یک نوع دستگاه کاربر را که واجد شرایط تغییر نرخ است، تعریف میکند. |
| RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device / @type | 1 | enum | نوع دستگاه. مقدار باید desktop ، tablet یا mobile باشد. |
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions | 1 | ModificationActions | اقدام(هایی) که در صورت برآورده شدن تمام شرایط مشخص شده، روی نرخ اعمال میشوند. |
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment | 0..1 | PriceAdjustment | نرخ را با ضرب کردن هر دو AmountBeforeTax و AmountAfterTax در ضریب مشخص شده اصلاح میکند. |
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment / @multiplier | 1 | float | هر دو AmountBeforeTax و AmountAfterTax در این مقدار ضرب میشوند. |
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule | 0..1 | RateRule | با اعمال شناسه قانون نرخ مشخص شده به آن، نرخ را اصلاح میکند. |
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule / @id | 1 | string | این شناسه، نرخی را با تعریفی در فایل تعریف قانون نرخ شما مطابقت میدهد. توجه:
|
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable | 0..1 | Refundable | قابلیت استرداد نرخ را به مقدار مشخص شده بازنویسی میکند. هنگام تنظیم ویژگیها، به نکات زیر توجه کنید:
|
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @available | 1 | boolean | (الزامی) برای نشان دادن اینکه آیا نرخ اجازه بازپرداخت کامل را میدهد، روی 1 یا true تنظیم کنید؛ در غیر این صورت روی 0 یا false تنظیم کنید. |
| Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days | 0..1 | integer | (در صورت available true ، الزامی است) تعداد روزهایی را که میتوان قبل از ورود، درخواست بازپرداخت کامل وجه را داد، مشخص میکند. مقدار refundable_until_days باید یک عدد صحیح بین 0 تا 330 باشد. |
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @refundable_until_time | 0..1 | Time | (Recommended if available is true ) Specifies the latest time of day, in the local time of the hotel, that a full refund request is honored. This can be combined with refundable_until_days to specify, for example, that "refunds are available until 4:00PM two days before check-in". If refundable_until_time isn't set, the value defaults to midnight. |
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability | 0..1 | Availability | مقدار در دسترس بودن نرخ را به مقدار مشخص شده بازنویسی میکند. ما فقط از تنظیم نرخ روی unavailable پشتیبانی میکنیم. |
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability / @status | 1 | enum | اگر status="unavailable" ، نرخ طوری در نظر گرفته میشود که گویی در دسترس نیست، صرف نظر از اینکه قیمت معتبری برای آن وجود داشته باشد یا خیر. |
| RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay | 0..1 | LengthOfStay | محدودیتهای مدت اقامت را که این تغییر نرخ میتواند در آن اعمال شود، تعریف میکند. تغییر نرخ زمانی اعمال نمیشود که مدت اقامت خارج از محدودیتهای حداقل و حداکثر باشد. |
| RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @min | 0..1 | integer | حداقل تعداد شبهای مجاز برای اقامت جهت اعمال تغییر نرخ. اگر این مورد مشخص نشده باشد، حداقلی وجود ندارد. |
| RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @max | 0..1 | integer | حداکثر تعداد شبهای مجاز برای اقامت جهت اعمال تغییر نرخ. اگر این مورد مشخص نشده باشد، حداکثری وجود ندارد. |
| RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount | 0..1 | MinimumAmount | حداقل مجموع نرخهای روزانه اتاق (با استفاده از بزرگترین مقدار AmountBeforeTax یا AmountAfterTax ) را مشخص میکند که برای اعمال تغییر نرخ باید از آن تجاوز شود. |
| RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount / @before_discount | 1 | integer | مقداری که باید از آن تجاوز شود تا اصلاح نرخ اعمال شود. |
| RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans | 0..1 | RatePlans | محفظهای برای فهرستی از طرحهای نرخ که تغییر نرخ برای آنها اعمال میشود. اگر <RatePlans> مشخص نشده باشد، تغییر نرخ برای همه طرحهای نرخ اعمال میشود. |
| RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan | 1..n | RatePlan | یک طرح نرخ را مشخص میکند. یک طرح نرخ با ترکیبی از بسته، نرخها و در دسترس بودن، همانطور که در پیامهای Transaction (Property Data)، OTA_HotelRateAmountNotifRQ و OTA_HotelAvailNotifRQ تعریف شده و توسط PackageID شناسایی میشود، تعریف میشود. |
| RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan / @id | 1 | string | The unique identifier for the rate plan. This value maps to the PackageID value in <PackageData> in a Transaction (Property Data) message, and in the RatePlanCode attribute in <StatusApplicationControl> in both <OTA_HotelRateAmountNotifRQ> and <OTA_HotelAvailNotifRQ> messages. The maximum number of characters allowed is 50. |
| RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes | 0..1 | RoomTypes | محفظهای برای فهرستی از انواع اتاقهایی که تغییر نرخ برای آنها اعمال میشود. تغییر نرخ برای هر <RoomType> مشخص شده اعمال میشود. اگر <RoomTypes> مشخص نشده باشد، تغییر نرخ برای همه اتاقها اعمال میشود. |
| RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType | 1..n | RoomType | نوع اتاق را مشخص میکند. نوع اتاق در عنصر <RoomData> در یک پیام تراکنش (دادههای ویژگی) تعریف میشود و با استفاده از مقدار <RoomID> آن ارجاع داده میشود. (مقدار <RoomID> آن همچنین توسط ویژگی InvTypeCode در پیامهای OTA_HotelRateAmountNotifRQ ارجاع داده میشود.) |
| RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType / @id | 1 | string | شناسه منحصر به فرد برای موجودی (نوع اتاق). این مقدار به <RoomID> در یک پیام تراکنش (دادههای ویژگی) نگاشت میشود. حداکثر تعداد کاراکترهای مجاز ۵۰ است. |
| RateModifications / HotelRateModifications / ItineraryRateModification / StayDates | 0..1 | StayDates | ظرفی برای یک یا چند محدوده تاریخ که نحوه اعمال اصلاح نرخ را تعیین میکند، مانند تطبیق با قیمتگذاری فصلی. |
| RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / @application | 1 | enum | نحوه اعمال اصلاح نرخ را شرح میدهد. مقادیر معتبر عبارتند از:
این ویژگی همیشه باید مشخص شود. |
| RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange | 1..99 | DateRange | یک محدوده تاریخی که تاریخهایی را که قرار است اصلاح نرخ اعمال شود، مشخص میکند. |
| RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @start | 0..1 | Date | تاریخ شروع (بر اساس منطقه زمانی ملک)، شامل محدوده تاریخ. این تاریخ باید قبل یا همزمان با تاریخ end باشد. اگر start مشخص نشده باشد، محدوده تاریخ عملاً از نظر تاریخ شروع نامحدود است. |
| RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @end | 0..1 | Date | تاریخ پایان (بر اساس منطقه زمانی ملک)، شامل محدوده تاریخ. این تاریخ باید برابر یا بعد از تاریخ start باشد. اگر end مشخص نشده باشد، محدوده تاریخ عملاً از نظر تاریخ پایان نامحدود است. |
| RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @days_of_week | 0..1 | string | روزهای هفته که در محدوده تاریخ مجاز هستند. اگر مشخص نشده باشند، همه روزها در محدوده تاریخ مجاز هستند. هر کاراکتر در رشته یک روز را مشخص میکند. به عنوان مثال، "MTWHF" مشخص میکند که روزهای هفته در محدوده تاریخ مجاز هستند. کاراکترهای معتبر عبارتند از:
هر ترکیب کاراکتری معتبر است. |
| RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries | 0..1 | UserCountries | در صورت مشخص شدن، اصلاح نرخ فقط در صورتی اعمال میشود که کاربر در یکی از کشورهای مشخص شده قرار داشته باشد. در صورت مشخص نشدن، اصلاح نرخ صرف نظر از موقعیت مکانی کاربر اعمال میشود. |
| RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / @type | 0..1 | enum | نوع مشخصات UserCountries. مقادیر معتبر اگر اگر اگر |
| RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country | 1..300 | Country | کشور کاربر مجاز برای تغییر نرخ را مشخص میکند. |
| RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country / @code | 1 | string | کد کشور CLDR ، مانند DE یا FR . توجه داشته باشید که برای برخی از کشورها، کد کشور CLDR با کد کشور ISO دو حرفی یکسان نیست. همچنین، کدهای منطقه CLDR پشتیبانی نمیشوند. |
مثالها
پیام پایه
مثال زیر یک پیام پایه RateModifications نشان میدهد:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1">
<ItineraryRateModification id="1">
<BookingDates>
<DateRange start="2023-07-01" end="2023-07-31" days_of_week="MTWHF"/>
<DateRange start="2023-09-01" end="2023-09-30"/>
</BookingDates>
<BookingWindow min="7" max="330"/>
<CheckinDates>
<DateRange start="2023-10-01" end="2023-10-31" days_of_week="FSU"/>
</CheckinDates>
<CheckoutDates>
<DateRange start="2023-10-08" end="2023-11-07" days_of_week="FSU"/>
</CheckoutDates>
<Devices>
<Device type="mobile"/>
<Device type="tablet"/>
</Devices>
<LengthOfStay min="2" max="14"/>
<RatePlans>
<RatePlan id="234"/>
<RatePlan id="567"/>
</RatePlans>
<RoomTypes>
<RoomType id="123"/>
<RoomType id="456"/>
</RoomTypes>
<UserCountries>
<Country code="US"/>
<Country code="GB"/>
</UserCountries>
<ModificationActions>
<PriceAdjustment multiplier="1.2"/>
</ModificationActions>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
حذف یک اصلاح نرخ
مثال زیر نحوه حذف یک اصلاح نرخ برای یک ویژگی را نشان میدهد:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1">
<ItineraryRateModification id="1" action="delete"/>
</HotelRateModifications>
</RateModifications>
حذف تمام تغییرات نرخ
مثال زیر نحوه حذف تمام تغییرات نرخ برای یک ویژگی را نشان میدهد:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1" action="overlay"/>
</RateModifications>
همه تغییرات نرخ را پوشش دهید
The following example shows how to overlay <HotelRateModifications> for property with one or more new rate modifications. When action="overlay" , all stored rate modifications are deleted prior to storing the rate modifications specified in the current message:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1" action="overlay"/>
<ItineraryRateModification id="1">
<BookingDates>
<DateRange start="2023-09-01" end="2023-09-30"/>
</BookingDates>
<ModificationActions>
<PriceAdjustment multiplier="1.2"/>
</ModificationActions>
<RoomTypes>
<RoomType id="123"/>
<RoomType id="456"/>
</RoomTypes>
<RatePlans>
<RatePlan id="234"/>
<RatePlan id="567"/>
</RatePlans>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
چندین اقدام اصلاحی
مثال زیر نحوه انجام چندین عمل اصلاح را به طور همزمان نشان میدهد:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1">
<ItineraryRateModification id="1">
<BookingDates>
<DateRange start="2023-01-01" end="2023-02-28"/>
</BookingDates>
<ModificationActions>
<PriceAdjustment multiplier=".95"/>
<Refundable available="true"
refundable_until_days="1"
refundable_until_time="12:00:00"/>
</ModificationActions>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
خاموش کردن طرح تعرفه برای کشورهای کاربر
مثال زیر نحوه محدود کردن یک طرح تعرفه فقط به کاربران ژاپنی ( JP ) را نشان میدهد:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1">
<ItineraryRateModification id="1">
<RatePlans>
<RatePlan id="jp_only"/>
</RatePlans>
<UserCountries type="exclude">
<Country code="JP"/>
</UserCountries>
<ModificationActions>
<Availability status="unavailable"/>
</ModificationActions>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
پاسخها
نحو
پیام RateModificationsResponse از سینتکس زیر استفاده میکند:
<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="timestamp"
id="message_ID"
partner="partner_key">
<!-- Either Success or Issues will be populated. -->
<Success/>
<Issues>
<Issue code="issue_code" status="issue_type"><var>issue_description</var></Issue>
</Issues>
</RateModificationsResponse>
عناصر و ویژگیها
پیام RateModificationsResponse دارای عناصر و ویژگیهای زیر است:
| عنصر / @Attribute | رخدادها | نوع | توضیحات |
|---|---|---|---|
| RateModifications | 1 | Complex element | عنصر ریشهای که موفقیت یا مشکلات مربوط به پیام درخواست RateModifications دریافتی را نشان میدهد. |
| RateModificationsResponse / @timestamp | 1 | DateTime | تاریخ و زمان ایجاد این پیام. |
| RateModificationsResponse / @id | 1 | string | شناسه منحصر به فرد از پیام RateModifications مرتبط. |
| RateModificationsResponse / @partner | 1 | string | حساب کاربری شریک برای این پیام. |
| RateModificationsResponse / Success | 0..1 | Success | نشان میدهد که پیام RateModifications با موفقیت و بدون هشدار، خطا یا خرابی پردازش شده است. در هر پیام یا |
| RateModificationsResponse / Issues | 0..1 | Issues | یک ظرف برای یک یا چند مشکل پیش آمده هنگام پردازش پیام RateModifications. در هر پیام یا |
| RateModificationsResponse / Issues / Issue | 1..n | Issue | شرح هشدار، خطا یا خرابی که هنگام پردازش پیام RateModifications رخ داده است. جزئیات مربوط به این مشکلات را میتوانید در پیامهای خطای وضعیت فید (Feed Status Error Messages) بیابید. |
| RateModificationsResponse / Issues / Issue / @code | 1 | integer | شناسهی مسئله. |
| RateModificationsResponse / Issues / Issue / @status | 1 | enum | نوع مشکلی که با آن مواجه شدهاید. مقادیر معتبر عبارتند از |
مثالها
موفقیت
در ادامه، پاسخی به پیام RateModifications که با موفقیت پردازش شده است، آمده است.
<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</RateModificationsResponse>
مسائل
در ادامه پاسخی به پیام RateModifications که به دلیل خطا پردازش نشده است، آمده است.
<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Issues>
<Issue code="1001" status="error">Example</Issue>
</Issues>
</RateModificationsResponse>