סקירה כללית
ה-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 כדי לציין אם התעריף מאפשר ערך מלא
refund; אחרת הוא 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 יומיים לפני השעה 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
messages.) |
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 (ארצות הברית).
הערכים החוקיים הם אם המדיניות UserCountries מוגדרת בתור אם מדינות המשתמש אם המדיניות User countries |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country | 1..300 | Country | מציינת את המדינה שבה אפשר לשנות את התעריף. |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country / @code | 1 | string | קוד מדינה במאגר CLDR.
כמו DE או FR . שימו לב שלחלק
מדינות, קוד המדינה של ה-CLDR שונה מקוד ה-ISO בן 2 האותיות
. בנוסף, אין תמיכה בקודי אזורים במאגר 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 | רכיב השורש שמציין את ההצלחה או הבעיות עבור קבלה הודעת בקשה ל-RateChanges. |
RateModificationsResponse / @timestamp | 1 | DateTime | התאריך והשעה של יצירת ההודעה הזו. |
RateModificationsResponse / @id | 1 | string | המזהה הייחודי של הודעת RateChanges המשויכת. |
RateModificationsResponse / @partner | 1 | string | חשבון השותף שאליו שייכת ההודעה הזו. |
RateModificationsResponse / Success | 0..1 | Success | מעיד על כך שההודעה RateChanges עובדה בהצלחה
ללא אזהרות, שגיאות או כשלים.
|
RateModificationsResponse / Issues | 0..1 | Issues | מאגר שמתאר בעיה אחת או יותר במהלך העיבוד של
הודעה על RateChanges.
|
RateModificationsResponse / Issues / Issue | 1..n | Issue | תיאור של אזהרה, שגיאה או כשל במהלך בעיבוד ההודעה RateChanges. ניתן למצוא פרטים על הבעיות האלה נמצא בקטע שגיאת סטטוס פיד Messages. |
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>