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

סקירה כללית

ה-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.

הערה:אם יש לכם קצה עורפי שמספק פידים כמה חשבונות, הערך הזה צריך להיות תואם לערך של 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

שינוי אחד בתעריף של נכס.

הערה: קשה לנפות באגים בשינויים בתעריפים, מומלץ להשתמש בהן במידה מועטה. פנו למנהל החשבונות הטכני (TAM) שלכם לצורך שימוש בתרחישים לדוגמה נדרשים יותר מ-200 שינויים במחירים.

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 המזהה הזה תואם לתעריף להגדרה קובץ הגדרת כלל דירוג. הערה:
  • מגבלת התווים לשדה הזה היא 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 כדי לציין אם התעריף מאפשר ערך מלא 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

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

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

  • 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, שינוי התעריף חל על משתמשים מהמדינות הרשומות.

אם מדינות המשתמש type הן exclude, השינוי במחיר חל על משתמשים מחוץ למדינות שצוינו.

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

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 עובדה בהצלחה ללא אזהרות, שגיאות או כשלים.

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

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

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

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

סוג הבעיה.

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

דוגמאות

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

התגובה הבאה היא תגובה ל-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>