בקשות
תחביר
התחביר של ההודעה 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> בהודעת Transaction (נתוני נכס). |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanCode | 1 | string | מזהה ייחודי של תוכנית התמחור. המזהה הזה ממופה לערך <PackageID> בהודעת Transaction (נתוני נכס). תוכנית התעריפים מוגדרת בהרחבה ומופיעה ב-<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 | קוד של 3 תווים אלפביתיים לפי תקן ISO 4217 ליחידת מטבע ספציפית.
כאן אפשר לעיין ברשימת המטבעות הנתמכים. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @NumberOfGuests | 0..1 | integer | מספר האורחים המקסימלי שיכולים להתארח במחיר הזה.
אם לא מציינים ערך, ברירת המחדל היא 2 אורחים.
שימו לב: אם השדה |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts | 0..1 | AdditionalGuestAmounts | מאגר של חיובים על אורחים נוספים.
התחביר הזה שימושי אם המחירים הנוספים של האורחים או הילדים משתנים בהתאם לתאריך. אם אפשר להגדיר את הסכומים האלה באופן סטטי ברמת הנכס, כדאי להשתמש בהודעה
לדוגמה, נניח שצוינו תעריפי בסיס למבוגר אחד ול-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 | הגדרת סוג האורח הנוסף, מבוגר או ילד. האפשרויות התקינות הן:
אפשר להגדיר את צריך לציין את |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @MaxAge | 0..1 | integer | צריך לציין את MaxAge כשהערך של AgeQualifyingCode הוא 8 . אסור לציין אותו כשהערך של AgeQualifyingCode הוא 10 .
הערך של ציון הערך ערכים גדולים מ- אפשר לציין כמה טווחי גיל של ילדים באמצעות רכיבי |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @Amount | 1 | float | הסכום לפני המיסים והעמלות שנוספו למחיר הבסיסי לכל אורח נוסף.
מיסים ודמי נסיעה שתלויים בגיל הנוסעים צריכים להופיע ברכיב |
דוגמאות
בקטע הזה מפורטות דוגמאות קוד שממחישות איך:
- הגדרת שיעורי בסיס ושיעורים כוללים
- הוספה, שכבת-על והסרה של שיעורי חליפין
- הוספה, שכבת-על והסרה של כמויות נוספות של אורחים
- הגדרת שיעורים שמבוססים על רמת שירות
- הוספה, שכבות והסרה של תעריפים שמבוססים על LOS
כשמגדירים את הערכים add
, overlay
או remove
, טווחי התאריכים יכולים להיות זהים או שונים בהתאם ליעדים שלכם. לדוגמה, אפשר להשתמש ב-overlay
כדי להגדיר רק כמה שבועות לחגים בדצמבר, במקום את כל הטווח שהוגדר להצגת ההודעה 'הוספת שיעור'. הערך הזה יחליף את שיעורי התפוסה רק בתקופה הזו.
תמחור לפי תאריך
לכל חדר ולתוכנית תעריפים נתונה יכולים להיות עד 50 שיעורי תפוסה לכל נכס. אם המחירים זהים לכל מספרי האורחים, צריך לשלוח רק את מספרי האורחים המקסימליים עם המחיר הנדרש. כך Google מסיקה שגם בזמני תפוסה נמוכים יותר מקבלים את אותו התעריף הבסיסי.
הגדרת תעריפי בסיס ותעריפים כוללים
דוגמה 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>
הוספה, שכבת-על והסרה של שיעורי ריבית
יש מגבלה של 5,000 מוצרים – שילובים של סוגים של חדרים וחבילות – לכל נכס. משתמשים בסוגי ההתראות Overlay
או Remove
כדי להסיר מוצרים שהוגדרו בעבר.
הוספת מחירים
מגדירים את 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 בין 2021-10-20 ל-2021-12-31, ולהחליף אותם בתעריפים החדשים שצוינו לפי תפוסה.
לדוגמה, אם ההודעה הזו נשלחה אחרי ההודעה 'הוספת תעריפים', התעריפים לתפוסה של 1, 2 ו-3 יימחקו, ורק התעריף החדש לתפוסה של 1 יישמר. אפשר גם להגדיר טווח תאריכים קצר יותר (למשל: 2021-12-20 ו-2021-12-31) כדי להחליף רק חלק משיעורי התפוסה בתאריכים מסוימים, למשל בחגים.
<?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 (כולל).
- 40 ש"ח לילדים בגילאים 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 בין 2021-10-20 ל-2021-12-31, ולהחליף אותם בתעריפים החדשים לפי תפוסה ובסכומים הנוספים החדשים.
לדוגמה, אם ההודעה הזו נשלחה אחרי ההודעה 'הוספת תעריפים', תעריפי הבסיס של תפוסה 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>
הסרת אורחים נוספים בלבד
כדי למחוק את כל הסכומים הנוספים של האורחים עבור RoomID_1 ו-PackageID_1 בלי להשפיע על התעריפים הבסיסיים בין 20 באוקטובר 2021 ל-31 בדצמבר 2021, מגדירים את NotifType
כ-Delta
עם רכיב <AdditionalGuestAmounts>
ריק.
לדוגמה, אם ההודעה הזו נשלחה אחרי אחת מההודעות האחרות לדוגמה, רק הסכומים הבסיסיים יישמרו.
<?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
החל מ-18 במאי 2020, תוכלו להגדיר מחירים לשהיות של לילה אחד, לילהיים ושלושה לילות. בדוגמה הזו, המחיר הכולל לשהיות של לילה אחד, לילהיים ושלושה לילות יהיה 400 ש"ח, 800 ש"ח ו-1,200 ש"ח, בהתאמה.
<?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
הוספת משכי השהייה
כשמשתמשים בתמחור שמבוסס על משך השהייה, הפעולה 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>
שכבת-על של משכי השהייה
בתמחור שמבוסס על אורך השהייה, הפעולה 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>
הסרת משכי השהייה
כשמשתמשים בתמחור שמבוסס על אורך השהייה, הפעולה 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 | סוג האזהרה על השגיאה (EWT) של OpenTravel Alliance שמשויכת לשגיאה. המערכת משתמשת רק בערך 12 (Processing exception) . |
OTA_HotelRateAmountNotifRS / Errors / Error / @Code | 1 | integer | קוד השגיאה (ERR) של OpenTravel Alliance שמשויך לשגיאה.
המערכת משתמשת רק בערך 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>