בקשות
תחביר
ההודעה 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 | סוג ההתראה שצריך להחיל על כל
הערכים החוקיים כוללים: כדי להבין איך המאפיינים האלה פועלים, אפשר לעיין בדוגמאות.
|
OTA_HotelRateAmountNotifRQ / @NotifScopeType | 0..1 | enum | ההיקף של הערכים החוקיים כוללים:
|
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.
הערה: אם יש לכם קצה עורפי שמספק פידים לכמה חשבונות, הערך הזה צריך להתאים לערך המאפיין |
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 כדי לכלול באופן מפורש את ימי שני.
אם הערך שמוגדר לפרמטר הוא |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Tue | 0..1 | boolean | צריך להגדיר את הערך true או 1 כדי לכלול באופן מפורש את ימי שלישי.
אם הערך שמוגדר לפרמטר הוא |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Weds | 0..1 | boolean | צריך להגדיר את הערך true או 1 כדי לכלול באופן מפורש את ימי רביעי.
אם הערך שמוגדר לפרמטר הוא |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Thur | 0..1 | boolean | צריך להגדיר את הערך true או 1 כדי לכלול באופן מפורש את ימי חמישי.
אם הערך שמוגדר לפרמטר הוא |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Fri | 0..1 | boolean | צריך להגדיר את הערך true או 1 כדי לכלול במפורש את ימי שישי.
אם הערך שמוגדר לפרמטר הוא |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sat | 0..1 | boolean | צריך להגדיר את הערך true או 1 כדי לכלול במפורש את ימי שבת.
אם הערך שמוגדר לפרמטר הוא |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sun | 0..1 | boolean | צריך להגדיר את הערך true או 1 כדי לכלול באופן מפורש את ימי ראשון.
אם הערך שמוגדר לפרמטר הוא |
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, צריך לציין את הערכים |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @UnitMultiplier | 0..1 | Integer | המספר של RateTimeUnits שמרכיבים את
משך השהייה עבור התעריף הזה.
לדוגמה, אם הערך של תעריפי התפוסה שמצוינים באובייקט כדי להשתמש בתמחור מבוסס-LOS, צריך לציין את הערכים |
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 |
המחיר היומי של מחיר החדר, לפני מיסים ועמלות. אפשר לציין גם את אם משתמשים במבצעים, ההנחה תחול על |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountAfterTax | 0..1 | float | המחיר היומי של מחיר החדר, לאחר הוספת המיסים והעמלות הרלוונטיים. אם מציינים את AmountAfterTax , לא צריך לשלוח הודעות <TaxFeeInfo> נפרדות לכל נכס. אפשר להשתמש
במאפיין הזה בשילוב עם AmountBeforeTax
כדי לספק גם תעריף בסיס וגם מחיר כולל שאפשר להציג למשתמשים
באזורים מסוימים.
אזהרה: אם אתם משתמשים במבצעים, מומלץ מאוד לא להשתמש סכומים של הערה: אם |
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 אורחים.
הערה: אם המאפיין |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts | 0..1 | AdditionalGuestAmounts | מאגר לאיסוף חיובים של אורחים נוספים.
התחביר הזה שימושי אם תעריפים נוספים לאורחים או לילדים
משתנים בהתאם לתאריך. כדאי להשתמש בהודעה היעילה יותר
לדוגמה, נניח שתעריפי הבסיס מצוינים למבוגר אחד ולשני מבוגרים.
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount | 0..n | AdditionalGuestAmount | מציינת מחירים על סמך סוג האורח שצוין עד
AgeQualifyingCode , ואם רלוונטי, גיל האורח
שצוין עד MaxAge .
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @AgeQualifyingCode | 1 | enum | מגדיר את סוג האורחים הנוספים – מבוגר או ילד. האפשרויות החוקיות הן:
ניתן להגדיר את כשהערך של |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @MaxAge | 0..1 | integer | כשהערך של AgeQualifyingCode הוא 8 , צריך לציין את MaxAge . אי אפשר לציין אותו
כשהערך של AgeQualifyingCode הוא 10 .
ציון ערך של המערכת תתייחס לערכים שגדולים מ- אפשר לציין כמה טווחי גילאים של ילדים באמצעות רכיבי |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @Amount | 1 | float | הסכום לפני מיסים ועמלות, בנוסף למחיר הבסיסי לכל
אורח נוסף.
צריך לציין מיסים ועמלות שתלויים בגיל של האורחים באמצעות
הרכיב |
דוגמאות
בקטע הזה מפורטות דוגמאות לקוד שמדגישות איך:
- הגדרת תעריפים בסיסיים ותעריפים כוללים
- הוספה, שכבת-על והסרה של תעריפים
- הוספה, שכבת-על והסרה של סכומים נוספים של אורחים
- הגדרת תעריפים שמבוססים על LOS
- הוספה, שכבת-על והסרה של תעריפים שמבוססים על LOS
כשאתם מגדירים את הערכים 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
עובדה בהצלחה.
כל הודעה כוללת את |
OTA_HotelRateAmountNotifRS / Errors | 0..1 | Errors | מאגר תגים של בעיה אחת או יותר במהלך העיבוד של ההודעה OTA_HotelRateAmountNotifRQ .
כל הודעה כוללת את |
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>