סקירה
ה-API הזה מאפשר להגדיר דרכים ליישום דינמי של פעולות על תעריף בכל פעם שתנאים מתקיימים, כמו שינוי המחיר או הפעלת האפשרות להחזר כספי. בניגוד ל-Promotions 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 | חשבון השותף שאליו שייכת ההודעה הזו. ערך המחרוזת הזה הוא
הערך של 'מפתח שותף' שמופיע
בדף הגדרות החשבון ב-Hotel Center.
הערה: אם יש לכם קצה עורפי שמספק פידים לכמה חשבונות, הערך הזה צריך להתאים לערך המאפיין |
RateModifications / @id | 1 | string | מזהה ייחודי להודעת הבקשה הזו. הערך הזה מוחזר בהודעת התשובה. התווים המותרים הם a-z, A-Z, 0-9, _ (קו תחתון) ו-- (מקף). |
RateModifications / @timestamp | 1 | DateTime | התאריך והשעה של יצירת ההודעה הזו. |
RateModifications / HotelRateModifications | 0..n | HotelRateModifications | שינויים בתעריפים של נכס. כל שינוי בתעריף חל על נכס אחד. הערה: אם אפשר להחיל כמה שינויים בתעריפים על אותו שיעור, כל השינויים יחולו. לא מובטח הזמנה ספציפית. |
RateModifications / HotelRateModifications / @hotel_id | 1 | string | המזהה הייחודי של הנכס. הערך הזה חייב להתאים
למזהה המלון שצוין באמצעות
<id> ברכיב <listing>
בפיד רשימת המלונות. מזהה המלון מופיע גם ב-Hotel Center. |
RateModifications / HotelRateModifications / @action | 0..1 | enum | אם לא מציינים ערך של |
RateModifications / HotelRateModifications / ItineraryRateModification | 0..200 | ItineraryRateModification | שינוי אחד בתעריף של נכס. הערה: קשה לנפות באגים בשינויים בתעריפים, ומומלץ להשתמש בהם באופן מדוד. כדאי לפנות למנהל החשבונות הטכני (TAM) כדי לקבל סיוע בתרחישים לדוגמה שדורשים יותר מ-200 שינויים בתעריפים. |
RateModifications / HotelRateModifications / ItineraryRateModification / @id | 1 | string | מזהה ייחודי של שינוי התעריף. אפשר להזין עד 40 תווים. התווים המותרים הם a-z, A-Z, 0-9, _ (קו תחתון), - (מקף) ו- . (נקודה). |
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 | תאריך הסיום (על סמך אזור הזמן של הנכס), כולל, בטווח התאריכים. התאריך הזה חייב להיות זהה לתאריך start או אחריו. אם לא מציינים את התאריך end , בפועל טווח התאריכים
לא מוגבל מבחינת תאריך סיום. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @days_of_week | 0..1 | string | הימים בשבוע שמותרים בטווח התאריכים. אם לא מציינים זאת, כל הימים מותרים בטווח התאריכים. כל תו במחרוזת מציין יום. לדוגמה, הערך MTWHF מציין שימי חול מותרים בטווח התאריכים. התווים החוקיים הם:
כל שילוב תווים חוקי. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow | 0..1 | BookingWindow | מאפיין זה מציין את התקופה שבה צריך לבצע הזמנה ביחס לתאריך הצ'ק אין (בהתאם לאזור הזמן של הנכס). לדוגמה, אפשר להגדיר חלון הזמנה של 7 ימים לפחות, אבל לא יותר מ-180 ימים לפני הצ'ק-אין. |
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 | (מומלץ אם הערך של available הוא true ) מציין את השעה המאוחרת ביותר ביום (בזמן המקומי של המלון) שבה מכבדים בקשה להחזר כספי מלא. אפשר לשלב את הסכום הזה עם
refundable_until_days כדי לציין, לדוגמה, ש'החזרים כספיים זמינים עד 16:00 יומיים לפני
הצ'ק-אין'. אם לא מגדירים את refundable_until_time , ברירת המחדל
של הערך תהיה חצות. |
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 | מציין תוכנית תעריפים. תוכנית תעריפים מוגדרת על סמך שילוב של חבילה, תעריפים וזמינות, כפי שמוגדר בהודעות (נתוני הנכס), OTA_HotelRateAmountNotifRQ ו-OTA_HotelAvailNotifRQ וכפי שמזוהה על ידי ה-PackageID. |
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan / @id | 1 | string | המזהה הייחודי של תוכנית התעריפים. הערך הזה ממופה
לערך PackageID ב-<PackageData>
בהודעה לגבי עסקה (נתוני נכס), ובמאפיין RatePlanCode
ב-<StatusApplicationControl> בהודעות
<OTA_HotelRateAmountNotifRQ> וב-<OTA_HotelAvailNotifRQ> .
אפשר להזין עד 50 תווים. |
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes | 0..1 | RoomTypes | מאגר לרשימת סוגי החדרים שעליהם חל השינוי במחיר.
שינוי התעריף יחול על כל <RoomType>
שצוין. אם לא תציינו את <RoomTypes> , המחיר ישתנה בכל החדרים. |
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType | 1..n | RoomType | מציין את סוג החדר. סוג חדר מוגדר ברכיב <RoomData> בהודעה Transaction (נתוני נכס) והפניה אליו מתבצעת באמצעות הערך <RoomID> שלו. (בהודעות OTA_HotelRateAmountNotifRQ
יש הפניה גם
לערך <RoomID> של
המאפיין InvTypeCode ). |
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType / @id | 1 | string | המזהה הייחודי של המלאי (סוג החדר). הערך הזה ממופה
אל <RoomID> בהודעה של עסקה (נתוני נכס).
אפשר להזין עד 50 תווים. |
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 שונה מקוד המדינה בן 2 האותיות לפי תקן 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>
יצירת שכבת-על של כל השינויים בתעריפים
הדוגמה הבאה מראה איך ליצור שכבת-על של <HotelRateModifications>
בנכס באמצעות שינוי חדש אחד או יותר בתעריפים. כשהערך הוא action="overlay"
, כל השינויים בתעריפים המאוחסנים נמחקים לפני שמירת השינויים בתעריפים שצוינו בהודעה הנוכחית:
<?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 | רכיב השורש שמציין את ההצלחה או את הבעיות בהודעת הבקשה ל-RateRates שהתקבלה. |
RateModificationsResponse / @timestamp | 1 | DateTime | התאריך והשעה של יצירת ההודעה הזו. |
RateModificationsResponse / @id | 1 | string | המזהה הייחודי של הודעת RateChanges המשויכת. |
RateModificationsResponse / @partner | 1 | string | חשבון השותף שאליו שייכת ההודעה הזו. |
RateModificationsResponse / Success | 0..1 | Success | מציין שההודעה RateChanges עובדה בהצלחה ללא אזהרות, שגיאות או כשלים.
כל הודעה כוללת את |
RateModificationsResponse / Issues | 0..1 | Issues | מאגר לבעיה אחת או יותר שזוהו במהלך העיבוד של ההודעה RateModifys.
כל הודעה כוללת את |
RateModificationsResponse / Issues / Issue | 1..n | Issue | תיאור של אזהרה, שגיאה או כשל שהתרחשו במהלך עיבוד ההודעה RateModifys. פרטים על הבעיות האלה מופיעים במאמר הודעות שגיאה של סטטוס פיד. |
RateModificationsResponse / Issues / Issue / @code | 1 | integer | המזהה של הבעיה. |
RateModificationsResponse / Issues / Issue / @status | 1 | enum | סוג הבעיה. הערכים החוקיים הם |
דוגמאות
הפעולה הצליחה
התגובה הבאה היא הודעה שהתבצעה עיבוד בהצלחה ב-RateChanges.
<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</RateModificationsResponse>
בעיות
התשובה הבאה היא תשובה להודעה RateChanges שלא עובדה בגלל שגיאות.
<?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>