OTA_HotelRateAmountNotifRQ

בקשות

תחביר

ההודעה OTA_HotelRateAmountNotifRQ מבוססת על התחביר הבא:

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="message_ID"
                            TimeStamp="timestamp"
                            Version="3.0"
                            NotifType="[Overlay|Delta|Remove]"
                            NotifScopeType="[ProductRate]">
  <POS>
    <Source>
      <RequestorID ID="partner_key"/>
    </Source>
  </POS>
  <RateAmountMessages HotelCode="HotelID">
    <RateAmountMessage>
      <StatusApplicationControl Start="YYYY-MM-DD"
                                End="YYYY-MM-DD"
                                Mon="boolean_value"
                                Tue="boolean_value"
                                Weds="boolean_value"
                                Thur="boolean_value"
                                Fri="boolean_value"
                                Sat="boolean_value"
                                Sun="boolean_value"
                                InvTypeCode="RoomID"
                                RatePlanCode="PackageID"
                                RatePlanType="[26]" />
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="float"
                            AmountAfterTax="float"
                            CurrencyCode="currency"
                            NumberOfGuests="integer"/>
          </BaseByGuestAmts>
          <AdditionalGuestAmounts>
            <AdditionalGuestAmount Amount="float"
                                   AgeQualifyingCode="[10|8]"
                                   MaxAge="integer"/>
          </AdditionalGuestAmounts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

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

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

רכיב / @Attribute אירועים סוג תיאור
OTA_HotelRateAmountNotifRQ 1 Complex element רכיב הבסיס של הודעת תעריפים.
OTA_HotelRateAmountNotifRQ / @xmlns 0..1 string (URI) מרחב השמות של XML.
OTA_HotelRateAmountNotifRQ / @EchoToken 1 string מזהה ייחודי להודעת הבקשה הזו. הערך הזה מוחזר בהודעת התשובה. התווים המותרים הם a-z, A-Z, 0-9, _ (underscore) ו-- (dash).
OTA_HotelRateAmountNotifRQ / @TimeStamp 1 DateTime התאריך והשעה של יצירת ההודעה הזו.
OTA_HotelRateAmountNotifRQ / @Version 1 decimal גרסת ההודעה ב-OpenTravel.
OTA_HotelRateAmountNotifRQ / @NotifType 0..1 enum

סוג ההתראה שצריך להחיל על כל <RateAmountMessage>.

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

כדי להבין איך המאפיינים האלה פועלים, אפשר לעיין בדוגמאות.

  • Overlay: מחיקת כל התעריפים לחדרים לפי סוג החדר, תוכנית המחירים והתאריכים שצוינו ב-<StatusApplicationControl> והחלפתם בתעריפים חדשים.
  • Remove: מחיקת כל התעריפים הקיימים לחדרים לפי סוג החדר, תוכנית המחירים והתאריכים שצוינו ב-<StatusApplicationControl>.
  • Delta: (ברירת המחדל אם לא צוין NotifType) מוסיפים או מעדכנים את התעריפים הקיימים לחדרים לפי סוג החדר, תוכנית המחירים והתאריכים שצוינו ב-<StatusApplicationControl>.
OTA_HotelRateAmountNotifRQ / @NotifScopeType 0..1 enum

ההיקף של NotifType שיחול על כל <RateAmountMessage>.

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

  • ProductRate: (ברירת המחדל אם לא צוין NotifScopeType) המאפיין NotifType חל על מוצרים – שילובים של סוג חדר (InvTypeCode) ותוכנית תמחור ותשלומים (RatePlanCode).
OTA_HotelRateAmountNotifRQ / POS 0..1 POS מאגר לציון חשבון השותף להודעה הזו (בדרך כלל משמש אם הקצה העורפי מספק פידים של מחירים לכמה חשבונות שותפים).
OTA_HotelRateAmountNotifRQ / POS / Source 1 Source שדה חובה אם השדה <POS> קיים. קונטיינר של <RequestorID>.
OTA_HotelRateAmountNotifRQ / POS / RequestorID 1 RequestorID שדה חובה אם השדה <POS> קיים. מגדיר את חשבון השותף.
OTA_HotelRateAmountNotifRQ / POS / RequestorID / @ID 1 string חשבון השותף שאליו שייכת ההודעה הזו. ערך המחרוזת הזה הוא הערך של 'מפתח שותף' שמופיע בדף הגדרות החשבון ב-Hotel Center.

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

OTA_HotelRateAmountNotifRQ / RateAmountMessages 1 RateAmountMessages אוסף של רכיבי <RateAmountMessage> שמגדירים את התעריפים.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / @HotelCode 1 string המזהה הייחודי של הנכס. הערך הזה חייב להתאים למזהה המלון שצוין באמצעות <id> ברכיב <listing> בפיד של רשימת המלונות. מזהה המלון מופיע גם ב-Hotel Center.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage 1..n RateAmountMessage מאגר להגדרת מחירים למחיר לחדר (שילוב של סוג חדר ותוכנית תמחור ותשלומים בטווח תאריכים מסוים).
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl 1 StatusApplicationControl ההגדרה הזו מגדירה את טווח התאריכים, וגם את המזהים של סוג החדר (InvTypeCode) ותוכנית המחירים (RatePlanCode).
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Start 1 Date תאריך ההתחלה (על סמך אזור הזמן של הנכס), כולל, בטווח התאריכים.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @End 1 Date תאריך הסיום (על סמך אזור הזמן של הנכס), כולל, בטווח התאריכים. חייב להיות שווה לערך start או גדול ממנו. אם הערך של start ושל end זהה, העדכון יחול על התאריך הזה. שימו לב ש-Google תומכת בנתונים של עד שלוש שנים.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Mon 0..1 boolean מגדירים את הערך true או 1 כדי לכלול באופן מפורש את ימי שני.

אם הערך שמוגדר לפרמטר הוא true, ימים אחרים בשבוע שלא הוגדרו במפורש ל-true לא ייכללו בדוח (למעשה, הם יסוננו מתוך התאריכים Start ו-End).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Tue 0..1 boolean צריך להגדיר את הערך true או 1 כדי לכלול באופן מפורש את ימי שלישי.

אם הערך שמוגדר לפרמטר הוא true, ימים אחרים בשבוע שלא הוגדרו במפורש ל-true לא ייכללו בדוח (למעשה, הם יסוננו מתוך התאריכים Start ו-End).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Weds 0..1 boolean צריך להגדיר את הערך true או 1 כדי לכלול באופן מפורש את ימי רביעי.

אם הערך שמוגדר לפרמטר הוא true, ימים אחרים בשבוע שלא הוגדרו במפורש ל-true לא ייכללו בדוח (למעשה, הם יסוננו מתוך התאריכים Start ו-End).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Thur 0..1 boolean צריך להגדיר את הערך true או 1 כדי לכלול באופן מפורש את ימי חמישי.

אם הערך שמוגדר לפרמטר הוא true, ימים אחרים בשבוע שלא הוגדרו במפורש ל-true לא ייכללו בדוח (למעשה, הם יסוננו מתוך התאריכים Start ו-End).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Fri 0..1 boolean צריך להגדיר את הערך true או 1 כדי לכלול במפורש את ימי שישי.

אם הערך שמוגדר לפרמטר הוא true, ימים אחרים בשבוע שלא הוגדרו במפורש ל-true לא ייכללו בדוח (למעשה, הם יסוננו מתוך התאריכים Start ו-End).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sat 0..1 boolean צריך להגדיר את הערך true או 1 כדי לכלול במפורש את ימי שבת.

אם הערך שמוגדר לפרמטר הוא true, ימים אחרים בשבוע שלא הוגדרו במפורש ל-true לא ייכללו בדוח (למעשה, הם יסוננו מתוך התאריכים Start ו-End).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sun 0..1 boolean צריך להגדיר את הערך true או 1 כדי לכלול באופן מפורש את ימי ראשון.

אם הערך שמוגדר לפרמטר הוא true, ימים אחרים בשבוע שלא הוגדרו במפורש ל-true לא ייכללו בדוח (למעשה, הם יסוננו מתוך התאריכים Start ו-End).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @InvTypeCode 1 string המזהה הייחודי של המלאי (סוג החדר). הערך הזה ממופה אל <RoomID> בהודעה של עסקה (נתוני נכס).
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanCode 1 string מזהה ייחודי של תוכנית התמחור והתשלומים. המזהה הזה ממופה אל <PackageID> בהודעה לגבי עסקה (נתוני נכס). תוכנית התעריפים מוגדרת בפירוט רב יותר, ומופיעה בה ב-<StatusApplicationControl> גם בהודעות <OTA_HotelRateAmountNotifRQ> וגם בהודעות <OTA_HotelAvailNotifRQ>.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanType 0..1 string מזהה שמציין את סוג מודל התמחור של ARI שחל על עדכון התמחור הזה. צריך לציין זאת רק באמצעות הערך 26, כשמשתמשים במודל התמחור מבוסס LOS. ההחרגה של המאפיין הזה מציינת שמדובר בעדכון של תמחור לפי תאריך.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates 0..1 Rates קונטיינר של אוסף של רכיבי <Rate>. אם הערך של NotifType הוא "Remove", אסור לציין את הרכיב הזה. אחרת, צריך לציין את הרכיב הזה פעם אחת בלבד.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate 1 Rate קונטיינר לאוסף של רכיבי <BaseByGuestAmts>.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @RateTimeUnit 0..1 String היחידה שלפיה צוין משך השהייה. הערך היחיד שנתמך הוא "Day", כלומר משך השהייה יצוין בימים.

כדי להשתמש בתמחור מבוסס-LOS, צריך לציין את הערכים RateTimeUnit ו-UnitMultiplier. אחרת, אין לציין אף אחד מהם.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @UnitMultiplier 0..1 Integer המספר של RateTimeUnits שמרכיבים את משך השהייה עבור התעריף הזה.

לדוגמה, אם הערך של RateTimeUnits הוא "Day", הערך UnitMultiplier של 5 מציין שהתעריפים שצוינו באובייקט Rate הזה חלים על כל לילה של שהייה של 5 לילות.

תעריפי התפוסה שמצוינים באובייקט Rate יוכפלו ב-UnitMultiplier (משך השהייה) כדי להגיע למחיר הכולל של השהייה.

כדי להשתמש בתמחור מבוסס-LOS, צריך לציין את הערכים RateTimeUnit ו-UnitMultiplier. אחרת, אין לציין אף אחד מהם.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts 1 BaseByGuestAmts קונטיינר לאוסף של חיובים בסיסיים.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt 1..n BaseByGuestAmt מציינת מחירי חדרים במטבע מסוים. המחיר יכול להיות למספר אורחים באמצעות כמה רכיבי <BaseByGuestAmt>, שלכל אחד מהם יש ערך שונה עבור NumberOfGuests. אחרת, המחיר רלוונטי למספר אורחים מקסימלי כפי שהוגדר על ידי NumberOfGuests.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountBeforeTax 0..1 float

המחיר היומי של מחיר החדר, לפני מיסים ועמלות.

אפשר לציין גם את AmountBeforeTax וגם את AmountAfterTax. אם לא מציינים את AmountBeforeTax, צריך לציין את AmountAfterTax. אם מציינים את AmountBeforeTax ולא מציינים את AmountAfterTax, צריך לציין מיסים ועמלות בהודעת <TaxFeeInfo>.

אם משתמשים במבצעים, ההנחה תחול על AmountBeforeTax. ההנחות באחוזים יחולו גם על AmountAfterTax. מכיוון שהשיטה הזו לא עובדת עם מבני מס מסוימים, מומלץ מאוד לציין כאן רק את הערך AmountBeforeTax ולהשתמש ב-<TaxFeeInfo> כדי לציין מיסים ועמלות.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountAfterTax 0..1 float המחיר היומי של מחיר החדר, לאחר הוספת המיסים והעמלות הרלוונטיים. אם מציינים את AmountAfterTax, לא צריך לשלוח הודעות <TaxFeeInfo> נפרדות לכל נכס. אפשר להשתמש במאפיין הזה בשילוב עם AmountBeforeTax כדי לספק גם תעריף בסיס וגם מחיר כולל שאפשר להציג למשתמשים באזורים מסוימים.

אזהרה: אם אתם משתמשים במבצעים, מומלץ מאוד לא להשתמש סכומים של AmountAfterTax. כדי להשתמש בהנחות, צריך לציין את המיסים והעמלות באמצעות ההודעה <TaxFeeInfo>. לאחר מכן, ההנחות יחולו על סכומים של AmountBeforeTax.

הערה: אם AmountBeforeTax לא צוין, צריך לציין את AmountAfterTax.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @CurrencyCode 1 enum קוד תווי אלפא של ISO 4217 (3) בשביל יחידה כספית ספציפית.

כאן מפורטת רשימת המטבעות הנתמכים.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @NumberOfGuests 0..1 integer המספר המקסימלי של אורחים שיכולים להתארח לפי התעריף הזה. אם לא מזינים ערך, ברירת המחדל היא 2 אורחים.

הערה: אם המאפיין <AdditionalGuestAmounts> כולל חיובים לילדים, המאפיין NumberOfGuests מתייחס רק למבוגרים. אם לא ציינת את <AdditionalGuestAmounts>, או שהחיוב לא כולל חיובים לילדים, המאפיין NumberOfGuests מתייחס למספר הכולל של הנוסעים, כולל מבוגרים וילדים.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts 0..1 AdditionalGuestAmounts מאגר לאיסוף חיובים של אורחים נוספים.

התחביר הזה שימושי אם תעריפים נוספים לאורחים או לילדים משתנים בהתאם לתאריך. כדאי להשתמש בהודעה היעילה יותר ExtraGuestCharges אם אפשר להגדיר את הסכומים האלה באופן סטטי ברמת הנכס.

מוסיפים סכומים נוספים לאורחים באופן הבא:
  • הן חלות בנוסף לתעריף השהייה הבסיסי. שיעור התפוסה הבסיסי הוא התעריף הגבוה ביותר למספר האורחים, שמצוין ב-<BaseByGuestAmts>, והוא קטן ממספר המבוגרים בחיפוש של המשתמש או שווה לו.
  • הדיווחים יחולו כל עוד מספר האורחים בחיפוש של המשתמש נכלל בקיבולת של החדר.
  • <AdditionalGuestAmounts> תמיד צריך להחליף סכומים נוספים שצוינו בעבר בערכים חדשים כשהערך של NotifType הוא Delta או Overlay.
  • אפשר לשלוח את הערך <AdditionalGuestAmounts> בנפרד מתעריפי הבסיס רק אם הערך של NotifType הוא דלתא. <BaseByGuestAmts>צריך לציין אם NotifType הוא Overlay.
  • רכיב <AdditionalGuestAmounts> ריק עם הערך NotifType שמוגדר ל-Delta מסיר סכומים נוספים קיימים בלי להשפיע על תעריפי הבסיס.
  • הן מוחלות באמצעות המטבע שצוין ב-<BaseByGuestAmt>.

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

  • אם משתמש מחפש 3 מבוגרים, התעריף לחדר זוגי ייבחר בתור התעריף הבסיסי, ומעליו יוחל מחיר נוסף של אורח אחד למבוגר אחד.
  • אם המשתמש יחפש מבוגר אחד ו-2 ילדים, ייבחר תעריף לחדרים ליחידים בתור התעריף הבסיסי, ועלויות נוספות יחולו על שני הילדים.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount 0..n AdditionalGuestAmount מציינת מחירים על סמך סוג האורח שצוין עד AgeQualifyingCode, ואם רלוונטי, גיל האורח שצוין עד MaxAge.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @AgeQualifyingCode 1 enum מגדיר את סוג האורחים הנוספים – מבוגר או ילד. האפשרויות החוקיות הן:
  • 10: למבוגרים.
  • חשבון צאצא אחד (8:).

ניתן להגדיר את AgeQualifyingCode לערך 10 לרכיב AdditionalGuestAmount אחד לכל היותר.

כשהערך של AgeQualifyingCode הוא 8, צריך לציין את MaxAge.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @MaxAge 0..1 integer כשהערך של AgeQualifyingCode הוא 8, צריך לציין את MaxAge. אי אפשר לציין אותו כשהערך של AgeQualifyingCode הוא 10.

MaxAge חייב להיות מספר שלם בין 0 ל-17.

אפשר לציין כמה טווחי גילאים של ילדים באמצעות רכיבי AdditionalGuestAmount נפרדים. טווחי הגילאים חייבים להיות רציפים ולא חופפים.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @Amount 1 float הסכום לפני מיסים ועמלות, בנוסף למחיר הבסיסי לכל אורח נוסף.

צריך לציין מיסים ועמלות שתלויים בגיל של האורחים באמצעות הרכיב <AgeBrackets> בהודעת <TaxFeeInfo>.

דוגמאות

בקטע הזה מפורטות דוגמאות לקוד שמדגישות איך:

כשאתם מגדירים את הערכים add, overlay או remove, טווחי התאריכים יכולים להיות זהים או שונים בהתאם ליעדים. לדוגמה, תוכלו להשתמש ב-overlay כדי להגדיר רק כמה שבועות בודדים של חגי דצמבר, במקום את כל הטווח שהוגדר להודעה "Add rate". התעריף החדש יחליף את תעריפי התפוסה לתקופה הזו בלבד.

תמחור לפי תאריך

הגדרת תעריפים בסיסיים ותעריפים כוללים

דוגמה 1

תעריף בסיסי (לא כולל מיסים או עמלות) לחדרים שמוגדרים כברירת מחדל (זוגי). במודל הזה, צריך להגדיר מיסים ועמלות עבור הנכס באמצעות הודעת <TaxFeeInfo>. מחיר הבסיס יהיה בולט יותר למשתמשים שמחפשים מאזורים מסוימים.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            CurrencyCode="USD"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

דוגמה 2

התעריף הבסיסי והתעריף הכולל לחדרי ברירת מחדל (זוגי). במודל הזה אין להגדיר מיסים ועמלות בנפרד באמצעות הודעות <TaxFeeInfo>. מחיר הבסיס יהיה בולט יותר למשתמשים שמחפשים מאזורים מסוימים.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            AmountAfterTax="110.00"
                            CurrencyCode="USD"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

דוגמה 3

התעריף הכולל (כולל מיסים ועמלות) למספר חדרים. במודל הזה אין להגדיר מיסים ועמלות בנפרד באמצעות הודעות <TaxFeeInfo>.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountAfterTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
            <BaseByGuestAmt AmountAfterTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
            <BaseByGuestAmt AmountAfterTax="120.00"
                            CurrencyCode="USD"
                            NumberOfGuests="3"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

דוגמה 4

המחיר הבסיסי והתעריף הכולל למספר סוגי חדרים ותוכניות מחירים בטווחי תאריכים שונים.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            AmountAfterTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-01"
                                End="2020-05-31"
                                InvTypeCode="RoomID_2"
                                RatePlanCode="PackageID_2"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="200.00"
                            AmountAfterTax="220.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
הוספה, שכבת-על והסרה של תעריפים

הוספת מחירים

צריך להגדיר את NotifType לערך Delta כדי להוסיף תעריפים לחדרים עבור RoomID_1 ו-PackageID_1 בין 20 באוקטובר 2021 ל-31 בדצמבר 2021. לתשומת ליבך: Google תומכת בנתונים של עד שלוש שנים.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Delta"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
            <BaseByGuestAmt AmountBeforeTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
            <BaseByGuestAmt AmountBeforeTax="120.00"
                            CurrencyCode="USD"
                            NumberOfGuests="3"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

שיעורי שכבות-על

צריך להגדיר את NotifType לערך Overlay כדי למחוק את כל התעריפים לחדרים עבור RoomID_1 ו-PackageID_1 בין 20 באוקטובר 2021 ל-31 בדצמבר 2021, ולהחליף אותם בתעריפים החדשים לחדרים שצוינו.

לדוגמה, אם ההודעה הזו נשלחה אחרי ההודעה 'הוספת תעריפים', תעריפי התפוסה 1, 2 ו-3 יימחקו, ויישמר רק המחיר החדש של חדר 1. אפשר גם להגדיר טווח תאריכים קצר יותר (למשל: 20-12-2021 ו-31 בדצמבר 2021). כדי להחליף רק חלק מתעריפי התפוסה בתאריכים מסוימים, למשל בחגים.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Overlay"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="200.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

הסרת התעריפים

צריך להגדיר את הערך NotifType לערך Remove כדי למחוק את כל התעריפים לחדרים עבור RoomID_1 ו-PackageID_1 בין 20 באוקטובר 2021 ל-31 בדצמבר 2021.

לדוגמה, אם ההודעה הזו נשלחה אחרי אחת מההודעות האחרות לדוגמה, לא יישמרו תעריפים לפי תפוסה.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Remove"
                            NotifScopeType="ProductRate">>
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
הוספה, שכבת-על והסרה של סכומים נוספים של אורחים

הוספת סכומים

צריך להגדיר את NotifType לערך Delta כדי להוסיף את תעריפי הבסיס לחדרים 1 ו-2 וכמויות נוספות לאורחים, עבור RoomID_1 ו-PackageID_1 בין 20 באוקטובר 2021 ל-31 בדצמבר 2021.

סכומים נוספים של אורחים יתווספו למחיר הבסיסי שייקבע לפי מספר האורחים בחיפוש של המשתמש. מספר האורחים שצוינו חייב להיות בקיבולת של RoomID_1.

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

  • ₪5 לילדים בטווח הגילאים 0 עד 10 (כולל).
  • 10$ לילדים בטווח הגילאים 11 עד 17 (כולל).
  • 20$ למבוגר.
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Delta"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
            <BaseByGuestAmt AmountBeforeTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
          <AdditionalGuestAmounts>
            <AdditionalGuestAmount Amount="5.00" AgeQualifyingCode="8" MaxAge="10" />
            <AdditionalGuestAmount Amount="10.00" AgeQualifyingCode="8" MaxAge="17" />
            <AdditionalGuestAmount Amount="20.00" AgeQualifyingCode="10" />
          </AdditionalGuestAmounts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

סכומי שכבות-על

צריך להגדיר את הערך NotifType לערך Overlay כדי למחוק את כל התעריפים לחדרים ואת כל הסכומים הנוספים של האורחים עבור RoomID_1 ו-PackageID_1 בין 20 באוקטובר 2021 ל-31 בדצמבר 2021, ולהחליף אותם בתעריפים החדשים לחדרים ובסכומים הנוספים שצוינו.

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

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Overlay"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="200.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
          </BaseByGuestAmts>
          <AdditionalGuestAmounts>
            <AdditionalGuestAmount Amount="30.00" AgeQualifyingCode="10" />
          </AdditionalGuestAmounts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

הסרת סכומים

צריך להגדיר את NotifType לערך Delete כדי למחוק את כל תעריפי הבסיס לחדר ואת כל הסכומים הנוספים של האורחים עבור RoomID_1 ו-PackageID_1 בין 20 באוקטובר 2021 ל-31 בדצמבר 2021.

לדוגמה, אם ההודעה הזו נשלחה אחרי אחת מההודעות האחרות לדוגמה, לא יישמרו תעריפי בסיס לחדר או סכומים נוספים של אורחים.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Remove"
                            NotifScopeType="ProductRate">>
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

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

צריך להגדיר את NotifType לערך Delta עם רכיב <AdditionalGuestAmounts> ריק כדי למחוק את כל הסכומים הנוספים של האורחים ב- RoomID_1 וב-PackageID_1 בלי להשפיע על תעריפי הבסיס בין 20 באוקטובר 2021 ל-31 בדצמבר 2021.

למשל, אם ההודעה הזו נשלחה אחרי אחת מההודעות האחרות לדוגמה, יישמרו רק הסכומים הבסיסיים.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Delta"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <AdditionalGuestAmounts/>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

תמחור לפי LOS

הגדרת תעריפים שמבוססים על LOS

דוגמה 1

יש להגדיר תעריפים לשהייה של לילה אחד, 2 ו-3 לילות החל מ-18 במאי 2020. התעריף לשהייה של 1, 2 ו-3 לילות בדוגמה הזו יהיה 100$, 180$ ו-240 $בהתאמה.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-18"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"
                                RatePlanType="26"/>
      <Rates>
        <Rate UnitMultiplier="1" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
        <Rate UnitMultiplier="2" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="90.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
        <Rate UnitMultiplier="3" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="80.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2" />
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
הוספה, שכבת-על והסרה של מחירים שמבוססים על LOS

הוספת משך השהייה

בתמחור שמבוסס על LOS, פעולה של Delta מאפשרת לעדכן באופן מצטבר את התעריפים בטווחי תאריכי הצ'ק אין שצוינו ב-<StatusApplicationControl> ולכל משך השהייה שמצוין על ידי UnitMultiplier של כל רכיב צאצא Rate.

צריך לציין את כל תעריפי התפוסה עבור כל תאריך צ'ק אין רלוונטי ומשך שהייה.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Delta"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-18"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"
                                RatePlanType="26"/>
      <Rates>
        <Rate UnitMultiplier="3" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="80.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

משך השהייה בשכבות-על

בתמחור לפי LOS, פעולה של Overlay מחליפה את התעריפים לכל משך השהייה של המוצר ולטווח תאריכי הצ'ק-אין שצוין ב-<StatusApplicationControl>.

בהודעה הזו, תעריפים לחדרים לכל משך השהייה בתאריכי ההגעה שצוינו יוסרו ויוחלפו בתעריף לחדר זוגי שמוגדר רק למשך שהייה של 3.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Overlay"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-18"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"
                                RatePlanType="26"/>
      <Rates>
        <Rate UnitMultiplier="3" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="80.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

הסרת משך השהייה

בתמחור שמבוסס על LOS, פעולת Remove מסירה את התעריפים לכל משך השהייה של המוצר ולטווח התאריכים של הצ'ק-אין שצוין ב-<StatusApplicationControl>.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Remove"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"
                                RatePlanType="26"/>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

תשובות

תחביר

ההודעה OTA_HotelRateAmountNotifRS מבוססת על התחביר הבא:

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
                            TimeStamp="timestamp"
                            EchoToken="echo_token"
                            Version="3.0">
  <!-- Either Success or Errors will be populated. -->
  <Success/>
  <Errors>
    <Error Type="12" Status="NotProcessed" ShortText="issue_code">issue_description</Error>
  </Errors>
</OTA_HotelRateAmountNotifRS>

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

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

רכיב / @Attribute אירועים סוג תיאור
OTA_HotelRateAmountNotifRS 1 Complex element הרכיב הבסיסי של התשובה להודעת זמינות.
OTA_HotelRateAmountNotifRS / @TimeStamp 1 DateTime התאריך והשעה של יצירת ההודעה הזו.
OTA_HotelRateAmountNotifRS / @EchoToken 1 string המזהה הייחודי של הודעת OTA_HotelRateAmountNotifRQ המשויכת.
OTA_HotelRateAmountNotifRS / Success 0..1 Success מעיד על כך שההודעה OTA_HotelRateAmountNotifRQ עובדה בהצלחה.

כל הודעה כוללת את <Success> או את <Errors>.

OTA_HotelRateAmountNotifRS / Errors 0..1 Errors מאגר תגים של בעיה אחת או יותר במהלך העיבוד של ההודעה OTA_HotelRateAmountNotifRQ.

כל הודעה כוללת את <Success> או את <Errors>.

OTA_HotelRateAmountNotifRS / Errors / Error 1..n Error התיאור של השגיאה שהתרחשה במהלך העיבוד של הודעת OTA_HotelRateAmountNotifRQ. פרטים על השגיאות האלה מופיעים במאמר הודעות שגיאה של סטטוס פיד.
OTA_HotelRateAmountNotifRS / Errors / Error / @Type 1 integer כרטיס OpenTravel Alliance EWT (סוג אזהרת שגיאה) המשויך לשגיאה. נעשה שימוש רק בערך 12 (Processing exception).
OTA_HotelRateAmountNotifRS / Errors / Error / @Code 1 integer קוד השגיאה OpenTravel Alliance ERR (קוד השגיאה) שמשויך לשגיאה. נעשה שימוש רק בערך 450 (Unable to process).
OTA_HotelRateAmountNotifRS / Errors / Error / @Code 1 enum סטטוס הבקשה המקורית. נעשה שימוש רק בערך NotProcessed.
OTA_HotelRateAmountNotifRS / Errors / Error / @ShortText 1 string המזהה של Google לבעיה. פרטים על השגיאות האלה מופיעים במאמר הודעות שגיאה של סטטוס פיד.

דוגמאות

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

התגובה הבאה התקבלה כתשובה להודעת OTA_HotelRateAmountNotifRQ שעובדה בהצלחה.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
                       EchoToken="12345678"
                       TimeStamp="2021-10-20T20:50:37-05:00"
                       Version="3.0">
  <Success/>
</OTA_HotelRateAmountNotifRS>

שגיאות

זו תשובה להודעה OTA_HotelRateAmountNotifRQ שלא עובדה בגלל שגיאות.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
                       EchoToken="12345678"
                       TimeStamp="2021-10-20T20:50:37-05:00"
                       Version="3.0">
  <Errors>
    <Error Type="12" Code="450" Status="NotProcessed" ShortText="8001">Example</Error>
  </Errors>
</OTA_HotelRateAmountNotifRS>