סקירה כללית
ממשק ה-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 | רכיב הבסיס של הודעה על שינויים במחירים. |
| 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 | שינוי תעריף יחיד בנכס. הערה: קשה לאתר באגים בשינויים של שיעורי המרה, ולכן מומלץ להשתמש בהם במשורה. אם יש לכם תרחישי שימוש שבהם נדרשים יותר מ-200 שינויים בקצב, אתם יכולים לפנות למנהל החשבונות הטכני (TAM). |
| 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 | המזהה הזה מתאים לשיעור להגדרה בקובץ Rate Rule Definition.
הערה:
|
| 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 | מאפיין שמציין תוכנית תעריפים. תוכנית תמחור מוגדרת על ידי שילוב של חבילה, מחירים וזמינות, כפי שמוגדר בהודעות Transaction (Property Data), 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 (Property Data) ומתייחסים אליו באמצעות הערך <RoomID> שלו. (הערך של <RoomID> מופיע גם במאפיין InvTypeCode בהודעות OTA_HotelRateAmountNotifRQ). |
| RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType / @id | 1 | string | המזהה הייחודי של מלאי שטחי הפרסום (סוג החדר). הערך הזה ממופה ל-<RoomID> בהודעת Transaction (נתוני נכס).
אפשר להזין עד 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 אם הערך של UserCountries אם המדיניות 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 כוללת את הרכיבים והמאפיינים הבאים:
| רכיב / @מאפיין | מופעים | סוג | תיאור |
|---|---|---|---|
| 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. פרטים על הבעיות האלה מופיעים במאמר הודעות שגיאה בסטטוס הפיד. |
| 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>