בקשות
תחביר
ההודעה 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
כוללת את הרכיבים והמאפיינים הבאים:
רכיב / @מאפיין | מופעים | סוג | תיאור |
---|---|---|---|
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 (Property Data). הגדרות התוכנית מפורטות יותר בהודעות <StatusApplicationControl> , <OTA_HotelRateAmountNotifRQ> ו-<OTA_HotelAvailNotifRQ> . |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanType | 0..1 | string | מזהה שמציין את סוג מודל התמחור של ARI שחל על עדכון המחירים הזה. צריך לציין את הערך הזה רק כשמשתמשים במודל תמחור מבוסס-שהייה, עם הערך 26 . השמטה
של המאפיין הזה מציינת שמדובר בעדכון של תמחור לפי תאריך. |
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" , כלומר משך השהייה יצוין בימים.
כדי להשתמש בתמחור לפי משך השהייה, צריך לציין את המאפיינים |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @UnitMultiplier | 0..1 | Integer | מספר הלילות RateTimeUnits שכלולים במחיר הזה.
לדוגמה, אם הערך של שיעורי התפוסה שצוינו באובייקט כדי להשתמש בתמחור לפי משך השהייה, צריך לציין את המאפיינים |
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 | הסכום לפני מיסים ועמלות שנוספים למחיר הבסיסי לכל אורח נוסף.
מיסים ועמלות שמשתנים בהתאם לגיל האורחים צריכים להיות מוגדרים באמצעות רכיב |
דוגמאות
בקטע הזה מופיעות דוגמאות קוד שמדגימות איך:
- הגדרת מחירים בסיסיים ומחירים כוללים
- הוספה, הוספה כשכבת-על והסרה של תעריפים
- הוספה, הצגה כשכבת-על והסרה של סכומים נוספים של אורחים
- הגדרת תעריפים לפי משך השהייה
- הוספה, הצגה כשכבת-על והסרה של מחירים שמבוססים על משך השהייה
כשמגדירים את הערכים 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 בין התאריכים 2021-10-20 ו-2021-12-31. הערה: 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 בין התאריכים 2021-10-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="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
כדי להוסיף מחירי בסיס לשהייה של אורח אחד או שניים, וסכומים לאורחים נוספים, עבור RoomID_1 ו-PackageID_1 בין התאריכים 2021-10-20 ו-2021-12-31.
סכומים נוספים לאורחים יתווספו למחיר הבסיס שייקבע לפי מספר האורחים בחיפוש של המשתמש. מספר האנשים שהמשתמש ציין חייב להיות במסגרת הקיבולת של 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 בין התאריכים 2021-10-20 ו-2021-12-31, ותחליף אותם במחירים החדשים לפי מספר הנופשים ובסכומים הנוספים שצוינו.
לדוגמה, אם ההודעה הזו נשלחה אחרי ההודעה 'הוספת תעריפים', התעריפים של תפוסה בסיסית 1 ו-2 יימחקו, ורק התעריף החדש של תפוסה בסיסית 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 בין התאריכים 2021-10-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="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 בלי להשפיע על המחירים הבסיסיים בין התאריכים 2021-10-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="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>
תמחור לפי משך השהייה
הגדרת תעריפים לפי משך השהייה
דוגמה 1
הגדרת מחירים לשהייה של לילה אחד, שני לילות ושלושה לילות החל מ-2020-05-18. בדוגמה הזו, המחיר הכולל לשהייה של לילה אחד הוא 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>
הוספה, הוספה כשכבת-על והסרה של מחירים לפי משך השהייה
הוספת משכי שהייה
בשיטת התמחור לפי משך השהייה, פעולת Delta
מאפשרת לעדכן את המחירים באופן מצטבר לטווח תאריכי הצ'ק-אין שמצוין ב-<StatusApplicationControl>
ולכל משך השהייה שמצוין בכל רכיב צאצא Rate
של UnitMultiplier
.
לכל תאריך צ'ק-אין רלוונטי ולכל משך שהייה, צריך לציין את כל שיעורי התפוסה.
<?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>
.
ההודעה הזו תגרום להסרה של תעריפים לכל מספר האורחים לכל משך השהייה בתאריכי ההגעה שצוינו, ולהחלפה שלהם בתעריף ל-2 אורחים שמוגדר רק למשך שהייה של 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
כוללת את הרכיבים והמאפיינים הבאים:
רכיב / @מאפיין | מופעים | סוג | תיאור |
---|---|---|---|
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>