שינויים בתעריפים

סקירה כללית

ממשק ה-API הזה מאפשר לכם להגדיר דרכים להחיל פעולות באופן דינמי על שיעור כשהתנאים מתקיימים, למשל התאמת המחיר או הפעלת האפשרות להנפקת החזר כספי. בניגוד ל-Promotions API, שיכול להחיל רק מבצעים שעומדים בדרישות עם ההנחות העמוקות ביותר, ה-API הזה מחיל פעולות כשמתקיימים תנאים מסוימים, כולל התאמות מחירים שעשויות להגדיל את המחיר הסופי.

בקשות

תחביר

התחביר של ההודעה RateModifications הוא:

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="partner_key&quot;
                      id="message_ID"
   >   <                timestamp="timestamp"
  HotelRateM>odifi<cations hotel_id="HotelID" action="[overlay]&quo>t;
    <ItineraryRat>eModifica<tion id="ModificationID" action="[delete]&quot;
      BookingDates>
        <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD&quot; days_of_week=&q>uot;&qu<ot;MTWHFSU_or>_subset<""/
        DateRange start=&quo>t;YYYY-<MM-DD" >end="<;YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/
      />Booking<Dates
      B>ookingW<indow min=&qu>ot;intege<r" max="integer"/
      CheckinDates
        DateRange start=&quot>;YYYY-M<M-DD" end>="<YYYY-MM>-DD"< days_of_week=""MTWHFSU_or_s>ubset&q<uot;&quo>t;/
   <   /CheckinDates
      CheckoutDates
    >    Dat<eRange start="YYYY-MM-DD&quot; end=>"Y<YYY-MM-DD>" da<ys_of_week=&quot;"MTW>HFSU_or_s<ubset"&quot;/
      />Checkou<tDates
   >   Devi<ces
     >   Device< type="[desktop|ta>blet|mobi<le]"/
      /Devic>es
    <  L>engthOfStay mi<n="integer" max="i>nteger&qu<ot;/
      MinimumAmount before_discount="integer"/
      RatePlans
   >     Ra<tePlan id=>"P<ackageID_1"/
        RatePlan id=>"Pac<kageID_2"/
      /RateP>lans
  <    Roo>mTypes
       < RoomType id=">RoomID_1&<quot;/
        RoomType id=&quot;Ro>omID_2&qu<ot;/
      /RoomTypes
   >   StayDa<tes application="[all|any]&quot;
        DateRange start="YYYY-MM-DD&quot; end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_su>bset"<;"/
      /StayDates
      User>Countri<es type="[inclu>de|ex<clude]"
        Count>ry <code="country_code>&<quot;/
      /User>Countries
      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.

הערה: אם יש לכם קצה עורפי שמספק פידים למספר חשבונות, הערך הזה צריך להתאים לערך המאפיין ID שצוין ברכיב <RequestorID> של ההודעות <OTA_HotelRateAmountNotifRQ> ו-<OTA_HotelAvailNotifRQ> לאותו חשבון.

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

אם לא מציינים את הערך של action, השינויים ברכיב הזה מתווספים או מתעדכנים במלון הזה. אם מציינים את הערך action="overlay", קודם נמחקים כל השינויים שהוגדרו בעבר למלון הזה. לאחר מכן, השינויים שצוינו כאן נכתבים. אם משתמשים ב-action="overlay" ולא מציינים שינויים ברכיב הזה, כל השינויים לגבי המלון הזה יימחקו.

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

אם לא צוין ערך וגם לא נשמרה שינוי של שיעור עם אותו id, השינוי הזה של שיעור יישמר. אחרת, אם לא צוין ערך ויש שינוי של שיעור עם אותו id, שינוי השיעור הקיים מתעדכן.

אם מצוין ערך, הוא חייב להיות "delete". אם מציינים את הערך "delete", מתבצע מחיקה של שינוי התעריף השמור עם אותו id. כשמשתמשים ב-"delete", אין לכלול רכיבי צאצא ב-<ItineraryRateModification>. בנוסף, אסור להשתמש ב-"delete" בשילוב עם <HotelRateModifications action="overlay"/>.

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' מציין שאפשר להשתמש בימים חול בטווח התאריכים.

התווים התקינים הם:

  • M ליום שני
  • T ליום שלישי
  • W ליום רביעי
  • H ליום חמישי
  • F ליום שישי
  • S ליום שבת
  • U ליום ראשון

כל שילוב של תווים תקין.

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' מציין שאפשר להשתמש בימים חול בטווח התאריכים.

התווים התקינים הם:

  • M ליום שני
  • T ליום שלישי
  • W ליום רביעי
  • H ליום חמישי
  • F ליום שישי
  • S ליום שבת
  • U ליום ראשון

כל שילוב של תווים תקין.

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' מציין שאפשר להשתמש בימים חול בטווח התאריכים.

התווים התקינים הם:

  • M ליום שני
  • T ליום שלישי
  • W ליום רביעי
  • H ליום חמישי
  • F ליום שישי
  • S ליום שבת
  • U ליום ראשון

כל שילוב של תווים תקין.

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. הערה:
  • מגבלת התווים בשדה הזה היא 40 תווים.
  • אפשר לשייך כל שיעור רק לכלל שיעור אחד.
  • אם יש כמה שינויים שחלים על מזהה של כלל תמחור, מזהה כלל התמחור הקטן ביותר מבחינה לקסיקוגרפית יוקצה לשער.
  • אם המזהה הזה לא תואם לכלל של שיעור התמחור בקובץ ההגדרה של כללי התמחור, הוא לא עומד בדרישות.
מידע על הטיפולים השונים בממשק המשתמש של התעריף הפרטי זמין כאן.
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable 0..1 Refundable מחליף את הערך של האפשרות להחזר כספי לשיעור לערך שצוין.

כשמגדירים את המאפיינים, חשוב לשים לב לדברים הבאים:

  • פעולת השינוי הזו כותבת מחדש את ההגדרה של ההחזר הכספי של התעריף שעומד בדרישות, ולא רק את השדות המאוכלסים.
  • אם לא מגדירים את available או את refundable_until_days, התעריף לא יוצג ככזה שניתן להחזרים כספיים.
  • אם הערך של available הוא 0 או false, המערכת מתעלמת מהמאפיינים האחרים. השיעור לא יוצג כאפשרות להחזר כספי גם אם אחד מהמאפיינים האחרים מוגדר או שניהם מוגדרים.
  • מומלץ להגדיר את refundable_until_time. אם לא מגדירים אותו, המערכת תשתמש בשעה המוקדמת ביותר (חצות).
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‏ (נתוני המלון), OTA_HotelRateAmountNotifRQ ו-OTA_HotelAvailNotifRQ, וכפי שהם מזוהים לפי PackageID.
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan / @id 1 string המזהה הייחודי של תוכנית התמחור. הערך הזה ממופה לערך PackageID ב-<PackageData> בהודעת Transaction (נתוני נכס), ובמאפיין 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

תיאור של אופן החלת השינוי בשיעור.

הערכים החוקיים כוללים:

  • all: שינוי התעריף יחול על כל לילה בתוכנית הנסיעה אם כל התאריכים בתוכנית הנסיעה חופפים לתאריכי השהות.
  • any: שינוי התעריף יחול על כל הלילות במסלול הנסיעה אם יש תאריך במסלול הנסיעה שחופף לתאריך בטווח התאריכים של השהייה.

תמיד צריך לציין את המאפיין הזה.

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' מציין שאפשר להשתמש בימים חול בטווח התאריכים.

התווים התקינים הם:

  • M ליום שני
  • T ליום שלישי
  • W ליום רביעי
  • H ליום חמישי
  • F ליום שישי
  • S ליום שבת
  • U ליום ראשון

כל שילוב של תווים תקין.

RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries 0..1 UserCountries אם יצוין, שינוי התעריף יחול רק אם המשתמש נמצא באחת מהמדינות שצוינו. אם לא מציינים את המיקום, שינוי התעריף יחול ללא קשר למיקום של המשתמש.
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / @type 0..1 enum הסוג של מפרט UserCountries.

הערכים החוקיים הם include ו-exclude.

אם השדה UserCountries type מוגדר כ-include, שינוי התעריף יחול על משתמשים מהמדינות שצוינו.

אם הערך של UserCountries type הוא exclude, שינוי התעריף חל על משתמשים מחוץ למדינות המפורטות.

אם השדה UserCountries type לא מוגדר, המערכת מתייחסת אליו בתור include ושינוי השיעור חל על משתמשים מהמדינות שצוינו.

RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country 1..300 Country ציון מדינה של משתמש שמותר לשנות את התעריף עבורה.
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country / @code 1 string קוד מדינה בפורמט CLDR, כמו DE או FR. חשוב לזכור שבמדינות מסוימות, קוד המדינה ב-CLDR שונה מקוד המדינה בן שתי האותיות ב-ISO. בנוסף, אין תמיכה בקודים של אזורים מ-CLDR.

דוגמאות

הודעה בסיסית

בדוגמה הבאה מוצגת הודעת RateModifications` בסיסית:

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
 < HotelRateModifications hotel_id>="<Property_1&q>uot;
    I<tineraryRateModification id="1"
      BookingDates
      >   DateRan<ge start="2023-07-01" end="2023>-07-31&<quot; days_of>_week=&<quot;MTWHF"/
         DateR>ange st<art="20>23-09-01&q<uot; end="2023-09-30"/
      /BookingDates
      Bookin>gWindow< min="7&>quot; m<ax="330&>quot;/
   <   CheckinDates
         DateRange start="2023-10-01" e>nd=&quo<t;2023-10-31&q>uot; da<ys_of_w>eek="<;FSU"/
      /Ch>eckinDate<s
      CheckoutDates>
      <   DateRange st<art="2023-10-08" end>="<2023-11-0>7" da<ys_of_week="F>SU"/
<      /CheckoutDat>es
    <  D>evices
       < Device t>ype="<mobile"/
    >    Device< type="tablet>"/<
      /De>vices
 <     L>engthOfStay min=<"2" max=>"14&<quot;/
      RateP>lans
  <       >RatePlan id=&q<uot;234"/
    >     Rate<Plan id="567"/
      /R>atePlan<s
      RoomTypes
  >     <  RoomType id="123&qu>ot;</
         RoomType id=>&<quot;456"/
  >    /RoomTypes
      UserCountries
        Country code="US"/
        Country code="GB"/
      /UserCountries
      ModificationActions
        PriceAdjustment multiplier="1.2"/
      /ModificationActions
    /ItineraryRateModification
  /HotelRateModifications
/RateModifications


מחיקת שינוי אחד של התעריף

בדוגמה הבאה מוסבר איך מוחקים שינוי אחד של שיעור בנכס:

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
 < HotelRateModifications hotel_id="Property_1>&qu<ot;
    ItineraryRateMo>d<ification id=">;1" action="delete"/
  /HotelRateModifications
/RateModifications

מחיקת כל השינויים בשיעור

בדוגמה הבאה מוסבר איך מוחקים את כל השינויים בקצב של יצירת בקשות בנכס:

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00"
  HotelRateMod>i<fications hotel_id>=&quot;Property_1" action="overlay"/
/RateModifications


שכבת-על של כל השינויים בתעריפים

בדוגמה הבאה מוסבר איך להוסיף שכבה על <HotelRateModifications> של נכס עם שינוי אחד או יותר של שיעור חדש. כשהערך הוא action="overlay", כל השינויים ששמורים בשיעור מוחקים לפני שמאוחסנים השינויים שצוינו בהודעה הנוכחית:

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00"
  HotelRateMod>ifica<tions hotel_id="Property_1&>quot; a<ction=">overlay&qu<ot;/
    ItineraryRateModification id="1&>quot;
 <     B>ookingDates
  <       DateRange st>art="<;2023-09-01" end="2023->09-30&q<uot;/
      /Booking>Dates
 <     ModificationAc<tions
        Pric>eAdjustmen<t multiplier=">;1.2&qu<ot;/
     > /Modif<icationAc>tions
    <  RoomTypes
      >   RoomTyp<e id="123&quo>t;/
   <      RoomType <id="456"/
      >/Ro<omTypes
      RatePlans>
<         RatePlan >id="234"/
         RatePlan id="567"/
      /RatePlans
    /ItineraryRateModification
  /HotelRateModifications
/RateModifications

פעולות רבות של שינוי

בדוגמה הבאה אפשר לראות איך לבצע כמה פעולות שינוי בו-זמנית:

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
 < HotelRateModifications hotel_id>="<Property_1&q>uot;
    I<tineraryRateModification id="1"
    >  Booki<ngDates
     >    Dat<eRange start=">2023-01-0<1" end="2023-02-28">;/
      </BookingDates
      ModificationActions
        PriceAdjustment multiplier=".95"/
        Refundable available=">true&qu<ot;
                >    r<efundable_until_days=">;1&<quot;
                 > <  refundabl>e_until_time="12:00:00"/
      /ModificationActions
    /ItineraryRateModification
  /HotelRateModifications
/RateModifications


השבתת תוכנית תעריפים במדינות של משתמשים

בדוגמה הבאה מוסבר איך להגביל תוכנית תעריפים רק למשתמשים ביפן (JP):

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
 < HotelRateModifications hotel_id>="<Property_>1"
  <  ItineraryRate>Modification i<d="1&>quot;
 <     RatePlans
         Rate>Plan id=&<quot;jp_only">/
     < /RatePlans
  >    Use<rCountries type=&qu>ot;exclud<e"
        Country code=">;JP&quo<t;/
      /UserCount>ries
<      ModificationActions
>   <     Availability statu>s<="unavailable>&quot;/
      /ModificationActions
    /ItineraryRateModification
  /HotelRateModifications
/RateModifications


תשובות

תחביר

התחביר של ההודעה RateModificationsResponse הוא:

<?xml version="1.0" encodin>g<="UTF-8"?
RateModificationsResponse timestamp="timestamp&quot;
                    id="message_ID"
 >   <                partner="partner_key"
  >!--< Either >Suc<cess o>r Iss<ues will be populated. --
  Success/
  Issu><es
>    Issue code=&q<uot;><issue_>cod<e"> <status="issue_type&qu>ot;varissue_description/var/Issue
  /Issues
/RateModificationsResponse

רכיבים ומאפיינים

להודעה RateModificationsResponse יש את הרכיבים והמאפיינים הבאים:

רכיב / @Attribute מופעים סוג תיאור
RateModifications 1 Complex element רכיב הבסיס שמציין את ההצלחה או הבעיות בהודעת בקשה שהתקבלה של RateModifications.
RateModificationsResponse / @timestamp 1 DateTime התאריך והשעה שבהם נוצרה ההודעה הזו.
RateModificationsResponse / @id 1 string המזהה הייחודי מההודעה RateModifications המשויכת.
RateModificationsResponse / @partner 1 string חשבון השותף של ההודעה הזו.
RateModificationsResponse / Success 0..1 Success המשמעות היא שההודעה RateModifications טופלה בהצלחה, ללא אזהרות, שגיאות או כשלים.

השדה <Success> או השדה <Issues> נמצאים בכל הודעה.

RateModificationsResponse / Issues 0..1 Issues מאגר לבעיה אחת או יותר שנתקלו בהן במהלך עיבוד ההודעה RateModifications.

השדה <Success> או השדה <Issues> נמצאים בכל הודעה.

RateModificationsResponse / Issues / Issue 1..n Issue תיאור של אזהרה, שגיאה או כשל שנתקלו בהם במהלך עיבוד ההודעה RateModifications. פרטים על הבעיות האלה מופיעים בקטע הודעות שגיאה לגבי סטטוס הפיד.
RateModificationsResponse / Issues / Issue / @code 1 integer המזהה של הבעיה.
RateModificationsResponse / Issues / Issue / @status 1 enum

סוג הבעיה.

הערכים החוקיים הם warning,‏ error ו-failure.

דוגמאות

הפעולה הצליחה

זוהי תגובה להודעת RateModifications שעברה עיבוד בהצלחה.

<?xml version="1.0" encodin>g<="UTF-8"?
RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
                    id="12345678"
 >   <        > <       partner=&quo>t;partner_key"
  Success/
/RateModificationsResponse

בעיות

זוהי תגובה להודעת RateModifications שלא טופלה בגלל שגיאות.

<?xml version="1.0" encodin>g<="UTF-8"?
RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
                    id="12345678"
 >   <      >     <     partner="partne>r_key"
  <Issues>
  <  Issue <code="1001" stat>us="error"Example/Issue
  /Issues
/RateModificationsResponse