סקירה כללית
באמצעות ה-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
כוללת את הרכיבים והמאפיינים הבאים:
אלמנט / @מאפיין | אירועים | סוג | תיאור |
---|---|---|---|
RateModifications | 1 | Complex element | רכיב הבסיס (root) של הודעה בנושא שינוי תעריפים. |
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> בהודעה מסוג עסקה (נתוני נכס), וההפניה אליו מתבצעת באמצעות הערך שבשדה <RoomID> . (הערך שלו
<RoomID> מופיע גם במאפיין
InvTypeCode בהודעות OTA_HotelRateAmountNotifRQ.) |
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 | סוג המפרט של מדינות משתמשים.
הערכים החוקיים הם אם המדיניות User countries אם אם המדיניות |
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
כוללת את הרכיבים והמאפיינים הבאים:
אלמנט / @מאפיין | אירועים | סוג | תיאור |
---|---|---|---|
RateModifications | 1 | Complex element | רכיב השורש שמציין את ההצלחה או הבעיות של הודעת בקשה לקבלת שינויים בשיעורים. |
RateModificationsResponse / @timestamp | 1 | DateTime | התאריך והשעה שבהם ההודעה נוצרה. |
RateModificationsResponse / @id | 1 | string | המזהה הייחודי של ההודעה המשויכת לשיעורי שינוי. |
RateModificationsResponse / @partner | 1 | string | חשבון השותף של ההודעה הזו. |
RateModificationsResponse / Success | 0..1 | Success | מציין שההודעה של RateChanges עובדה בהצלחה
ללא אזהרות, שגיאות או כשלים.
כל הודעה כוללת את |
RateModificationsResponse / Issues | 0..1 | Issues | מאגר תגים של בעיה אחת או יותר שזוהו במהלך עיבוד ההודעה של קביעת המחירים.
כל הודעה כוללת את |
RateModificationsResponse / Issues / Issue | 1..n | Issue | תיאור של אזהרה, שגיאה או כשל במהלך עיבוד ההודעה בנושא שינויי מחירים. אפשר למצוא פרטים נוספים על הבעיות האלה בהודעות השגיאה של סטטוס הפיד. |
RateModificationsResponse / Issues / Issue / @code | 1 | integer | המזהה של הבעיה. |
RateModificationsResponse / Issues / Issue / @status | 1 | enum | סוג הבעיה שבה נתקלתם. הערכים החוקיים הם |
דוגמאות
הפעולה הצליחה
בהמשך מופיעה תגובה להודעה מסוג RateModifys שעובדה בהצלחה.
<?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>