בקשות
תחביר
בהודעה Transaction (Property Data)
נעשה שימוש בתחביר הבא:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="timestamp"
id="message_ID"
partner="partner_key">
<PropertyDataSet action="[overlay|delta]">
<!-- (Required) ID that matches the Hotel List Feed -->
<Property>HotelID</Property>
<RoomData>
<!-- (Required) One room ID per RoomData element -->
<RoomID>RoomID</RoomID>
<Name>
<Text text="room_name" language="language_code"/>
</Name>
<Description>
<Text text="room_description" language="language_code"/>
</Description>
<!-- (Optional) Restricts the rate plans allowed for this room type to
those listed here. If specified, don't specify AllowableRoomIDs. -->
<AllowablePackageIDs>
<AllowablePackageID>PackageID</AllowablePackageID>
</AllowablePackageIDs>
<Capacity>max_number_of_occupants</Capacity>
<AdultCapacity>max_number_of_adult_occupants</AdultCapacity>
<ChildCapacity>max_number_of_child_occupants</ChildCapacity>
<OccupancySettings>
<MinOccupancy>min_number_of_occupants</MinOccupancy>
<MinAge>min_age_of_occupants</MinAge>
</OccupancySettings>
<PhotoURL>
<Caption>
<Text text="photo_description" language="language_code"/>
</Caption>
<URL>photo_location</URL>
</PhotoURL>
<RoomFeatures>
<JapaneseHotelRoomStyle>[western|japanese|japanese_western]</JapaneseHotelRoomStyle>
<Beds>
<Bed size="[single|semi_double|double|queen|king]">
<Width unit="cm" number="bed_width"/>
<Length unit="cm" number="bed_length"/>
</Bed>
<!-- Include with any additional beds. -->
</Beds>
<Suite/>
<Capsule/>
<Roomsharing>[shared|private]</Roomsharing>
<Outdoor/>
<MobilityAccessible/>
<Smoking>[smoking|non_smoking]</Smoking>
<BathAndToilet relation="[together|separate]">
<Bath bathtub="[false|true]" shower="[false|true]"/>
<Toilet electronic_bidet="[false|true]" mobility_accessible="[false|true]"/>
</BathAndToilet>
<OpenAirBath/>
<AirConditioning/>
<Balcony/>
<Views>
<!-- (Optional) Defines the type of views from the room. -->
<!-- Example: <OceanView/> -->
</Views>
</RoomFeatures>
</RoomData>
<PackageData>
<!-- (Required) One package ID per PackageData element -->
<PackageID>PackageID</PackageID>
<Name>
<Text text="package_name" language="language_code"/>
</Name>
<Description>
<Text text="package_description" language="language_code"/>
</Description>
<!-- (Optional) Restricts the room types allowed for this rate plan to
those listed here. If specified, don't specify AllowablePackageIDs. -->
<AllowableRoomIDs>
<AllowableRoomID>RoomID</AllowableRoomID>
</AllowableRoomIDs>
<Refundable available="[false|true]" refundable_until_days="number_of_days"
refundable_until_time="time"/>
<!-- For these next 3 elements, boolean_value can be 0/1 or true/false -->
<BreakfastIncluded>boolean_value</BreakfastIncluded>
<InternetIncluded>boolean_value</InternetIncluded>
<ParkingIncluded>boolean_value</ParkingIncluded>
<PhotoURL>
<Caption>
<Text text="photo_description" language="language_code"/>
...
</Caption>
<URL>photo_location</URL>
</PhotoURL>
...
<Meals>
<Breakfast
included="[true|false]" buffet="[true|false]"
in_room="[true|false]" in_private_space="[true|false]"/>
<Dinner
included="[true|false]" buffet="[true|false]"
in_room="[true|false]" in_private_space="[true|false]"/>
</Meals>
<CheckinTime>checkin_time</CheckinTime>
<CheckoutTime>checkout_time</CheckoutTime>
</PackageData>
</PropertyDataSet>
</Transaction>
רכיבים ומאפיינים
ההודעה 'עסקה' (נתוני נכס) כוללת את הרכיבים והמאפיינים הבאים:
אלמנט / @מאפיין | אירועים | סוג | תיאור |
---|---|---|---|
Transaction | 1 | Complex element | בהטמעה של ARI, זהו רכיב הבסיס של הודעה שמגדירה סוגי חדרים וחבילות לנכס יחיד. |
Transaction / @timestamp | 1 | DateTime | התאריך והשעה שבהם ההודעה נוצרה. |
Transaction / @id | 1 | string | מזהה ייחודי של הודעת הבקשה הזו. הערך הזה מוחזר בהודעת התשובה. התווים המותרים הם a-z, A-Z, 0-9, _ (קו תחתון) ו- - (מקף). |
Transaction / @partner | 1 | string | חשבון השותף של ההודעה הזו. ערך המחרוזת הזה הוא
הערך 'מפתח שותף' שמופיע
בדף הגדרות החשבון ב-Hotel Center.
הערה: אם יש לך קצה עורפי שמספק פידים
למספר חשבונות, הערך הזה צריך להתאים לערך המאפיין |
Transaction / PropertyDataSet | 1.. | PropertyDataSet | מאגר להגדרת חבילות וסוגי חדרים לנכס יחיד. |
Transaction / PropertyDataSet / @action | 0..1 | enum | סוג העדכון שצריך להחיל על ההגדרות של מחירי החדרים. הערכים החוקיים כוללים:
המאפיין הזה הוא אופציונלי וברירת המחדל שלו היא |
Transaction / PropertyDataSet / Property | 1 | string | המזהה הייחודי של הנכס. הערך הזה צריך להתאים
למזהה המלון שצוין באמצעות
<id> ברכיב <listing>
בפיד רשימת המלונות. מזהה המלון מופיע גם ב-Hotel Center. |
Transaction / PropertyDataSet / RoomData | 0..n | RoomData | מתאר את החדר. הערה: יש להזין לפחות אחד מהשדות |
Transaction / PropertyDataSet / RoomData / RoomID | 1 | RoomID | מזהה ייחודי לסוג חדר. ההפניה לערך הזה מתבצעת באמצעות המאפיין InvTypeCode ברכיב <StatusApplicationControl> בהודעות <OTA_HotelAvailNotifRQ> ו-<OTA_HotelRateAmountNotifRQ> . |
Transaction / PropertyDataSet / RoomData / Name | 1 | Name | קונטיינר של שם קטגוריית החדר בשפה אחת או יותר. |
Transaction / PropertyDataSet / RoomData / Name / Text | 1..n | Text | זה השם של קטגוריית החדרים בשפה אחת. |
Transaction / PropertyDataSet / RoomData / Name / Text / @text | 1..n | string | שם הקטגוריה של החדר בשפה שצוינה
במאפיין language . |
Transaction / PropertyDataSet / RoomData / Description | 1 | Name | קונטיינר לתיאור קטגוריית החדר בשפה אחת או יותר. |
Transaction / PropertyDataSet / RoomData / Description / Text | 1..n | Text | זה התיאור של קטגוריית החדרים בשפה אחת. |
Transaction / PropertyDataSet / RoomData / Description / Text / @text | 1..n | string | תיאור קטגוריית החדר בשפה שצוינה
במאפיין language . |
Transaction / PropertyDataSet / RoomData / Description / Text / @language | 1..n | string | קוד שפה בן שתי אותיות. |
Transaction / PropertyDataSet / RoomData / AllowablePackageIDs | 0..1 | AllowablePackageIDs | מאגר לרכיבי <AllowablePackageID> .
אם מציינים אם לא מציינים אפשר להשתמש ב- |
Transaction / PropertyDataSet / RoomData / AllowablePackageIDs / AllowablePackageID | 1..n | AllowablePackageID | מציין את ה-PackageID של תוכנית התמחור והתשלומים שאפשר לשלב עם
סוג החדר הזה. תוכנית תעריפים מוגדרת לפי שילוב של
חבילה, תעריפים וזמינות. הערך PackageID
תואם לערך RatePlanCode בהודעות
OTA_HotelRateAmountNotifRQ בהודעות OTA_HotelAvailNotifRQ.
|
Transaction / PropertyDataSet / RoomData / Capacity | 0..1 | integer | המספר המקסימלי של מבוגרים וילדים שאפשר
להכיל חדר פיזי. הערך הזה צריך להיות גדול או שווה לכל
ערכי NumberOfGuests ששולחים עם תעריפים.
הערך של הערה: אם לא מגדירים את |
Transaction / PropertyDataSet / RoomData / AdultCapacity | 0..1 | integer | המספר המקסימלי של מבוגרים שחדר יכול להיות בו פיזית. הערך הזה צריך להיות גדול או שווה לכל
ערכי NumberOfGuests ששולחים עם תעריפים.
הערך של |
Transaction / PropertyDataSet / RoomData / ChildCapacity | 0..1 | integer | המספר המקסימלי של ילדים שאפשר להכניס לחדר פיזי.
הערך של |
Transaction / PropertyDataSet / RoomData / OccupancySettings | 0..1 | OccupancySettings | הגדרות שיכולות להגביל או לשנות את דרישות התפוסה של
חדר.
הרכיב
<OccupancySettings> <MinOccupancy>2</MinOccupancy> <MinAge>16</MinAge> </OccupancySettings> אין צורך לכלול את כל רכיבי הצאצא. |
Transaction / PropertyDataSet / RoomData / PhotoURL | 0..n | PhotoURL | כתובת URL וכיתוב אופציונלי לתמונה של החדר או של חבילת החדר. אפשר לציין יותר ממאפיין <PhotoURL> אחד
לכל חדר או חבילת חדר.
הרכיב הזה כולל את רכיבי הצאצא הבאים:
<PhotoURL> <URL>http://www.example.com/image1.jpg</URL> <Caption> <Text text="A bright way to enjoy your mornin' cuppa tea." language="en"/> <Text text="Une façon lumineuse pour profiter de votre tasse de thé." language="fr"/> </Caption> </PhotoURL> |
Transaction / PropertyDataSet / RoomData / RoomFeatures | 0..1 | <RoomFeatures> |
מידע על התכונות של החדר. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / JapaneseHotelRoomStyle | 0..1 | enum | מציין את הסגנון של חדר מלון יפני. הערכים החוקיים כוללים:
|
Transaction / PropertyDataSet / RoomData / RoomFeatures / Beds | 0..1 | Object | המספר כולל את כל כמות <Bed> שיש בחדר. לתשומת ליבך,
אין לספור כאן פוטונים יפניים.
לכל
<Bed> יש את רכיבי הצאצא הבאים:
<Beds> <Bed size="double"> <Width unit="cm" number="140"/> <Length unit="cm" number="195"/> </Bed> <Bed/> <!-- Size unknown --> </Beds> |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Suite | 0.. | enum | צריך לספק את הרכיב הזה כשהחדר הוא סוויטה. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Capsule | 0..1 | enum | צריך לספק את הרכיב הזה כשהחדר הוא חדר קפסולות. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Roomsharing | 0..1 | enum | האם החדר הזה משותף עם דיירים אחרים, כמו בעלים או אורחים אחרים. הערכים החוקיים הם shared ו-private . |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Outdoor | 0..1 | enum | יש לספק את הרכיב הזה כאשר מדובר בחדר לינה בחוץ ללא קירות קבועים, אינסטלציה ובקרת אקלים. לדוגמה, חדרי מלון לא מיועדים למקומות לינה בחוץ, ואילו אתרי קמפינג שבהם אורחים שוהים באוהלים ובפארקי קרוואנים שבהם האורחים שוהים בחוץ. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / MobileAccessible | 0..1 | enum | צריך לספק את הרכיב הזה כשהחדר נגיש בנייד. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Smoking | 0..1 | enum | האם החדר הוא חדר ללא עישון או חדר לעישון. הערכים החוקיים הם non_smoking ו-smoking . |
Transaction / PropertyDataSet / RoomData / RoomFeatures / BathAndToilet | 0..1 | Object | מכיל מידע על אמבטיה ושירותים בחדר.
המאפיין הוא:
הרכיב יכול לכלול את רכיבי הצאצא הבאים:
דוגמה: <BathAndToilet relation="separate"> <Bath bathtub="1" shower="1"/> <Toilet electronic_bidet="1" mobility_accessible="1"/> </BathAndToilet> |
Transaction / PropertyDataSet / RoomData / RoomFeatures / OpenAirBath | 0..1 | enum | יש לספק את הרכיב הזה כאשר יש בחדר אמבטיה פרטית בחוץ. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / AirConditioning | 0..1 | enum | צריך לספק את הרכיב הזה כשהחדר כולל מיזוג. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Balcony | 0..1 | enum | יש לספק את הרכיב הזה כאשר בחדר יש מרפסת או מרפסת גדולה. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Views | 0..1 | Object | האפשרויות החוקיות כוללות:
|
Transaction / PropertyDataSet / PackageData | 0..n | PackageData | קונטיינר לרכיבים שמתארים תכונות תעריף ומונחים שאינם חלק מתיאור החדר הפיזי. הערה: יש להזין לפחות אחד מהשדות |
Transaction / PropertyDataSet / PackageData / PackageID | 1 | string | PackageID בהודעות האלה תואם לערך
RatePlanCode בהודעות OTA_HotelRateAmountNotifRQ
ובהודעות OTA_HotelAvailNotifRQ. |
Transaction / PropertyDataSet / PackageData / Name | 1 | Name | מאגר של שם החבילה בשפה אחת או יותר. |
Transaction / PropertyDataSet / PackageData / Name / Text | 1..n | Text | ציון שם החבילה בשפה אחת. |
Transaction / PropertyDataSet / PackageData / Name / Text / @text | 1..n | string | שם החבילה בשפה שצוינה
במאפיין language . |
Transaction / PropertyDataSet / PackageData / Description | 1 | Description | מאגר לתיאור החבילה בשפה אחת או יותר. |
Transaction / PropertyDataSet / PackageData / Description / Text | 1..n | Text | מציין את תיאור החבילה בשפה אחת. |
Transaction / PropertyDataSet / PackageData / Description / Text / @text | 1..n | string | תיאור החבילה בשפה שצוינה
במאפיין language . |
Transaction / PropertyDataSet / PackageData / Description / Text / @language | 1..n | string | קוד שפה בן שתי אותיות. |
Transaction / PropertyDataSet / PackageData / AllowableRoomIDs | 0..1 | AllowableRoomIDs | מאגר לרכיבי <AllowableRoomID> .
אם מציינים אם לא מציינים אפשר להשתמש ב- |
Transaction / PropertyDataSet / PackageData / AllowableRoomIDs / AllowableRoomID | 1..n | AllowableRoomID | מציין את מזהה החדר של סוג חדר שאפשר לשלב עם
תוכנית המחירים הזו. סוג חדר מוגדר ברכיב <RoomData> .
|
Transaction / PropertyDataSet / PackageData / Refundable | 0..1 | Refundable | מאפשר רישום של תעריף עם החזר כספי מלא או שניתן לבטל. אם לא תספקו את המידע הזה, לא יוצג מידע לגבי ההחזר הכספי.
הערה: מומלץ להגדיר את כל המאפיינים. הודעת אזהרה לגבי סטטוס הפיד מופיעה כשלא מוגדר מאפיין אחד או יותר. אם לא יוגדרו מאפיינים, לא יוצג ערך עבור החזר כספי. כשמגדירים את המאפיינים, חשוב לשים לב לנקודות הבאות:
|
Transaction / PropertyDataSet / PackageData / Refundable / @available | 1 | boolean | (חובה) יש להגדיר את הערך 1 או את הערך true כדי לציין אם המחיר מאפשר החזר כספי מלא. אחרת, הוא מוגדר ל-0 או ל-false . |
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days | 0..1 | integer | (חובה אם
available הוא true ) מציין את
מספר הימים לפני הצ'ק-אין שבהם ניתן לבקש החזר כספי מלא. הערך של refundable_until_days
חייב להיות מספר שלם בין 0 ל-330, כולל. |
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_time | 0.. | Time | (מומלץ מאוד אם
available הוא true ) מציין
את השעה המאוחרת ביותר ביום, לפי השעה המקומית של המלון, שבה יכובד בקשה
להחזר כספי מלא. אפשר לשלב את השם הזה עם
refundable_until_days כדי לציין, לדוגמה, ש"ההחזרים הכספיים זמינים עד 16:00 יומיים לפני
הצ'ק-אין". אם לא מגדירים את refundable_until_time , ברירת המחדל של הערך היא חצות. |
Transaction / PropertyDataSet / PackageData / BreakfastIncluded | 0..1 | boolean | ההגדרה מציינת אם סוג החדר הזה כולל ארוחת בוקר.
הערכים החוקיים הם 0 (או false ) ו-1
(או true ).
עדיף להשתמש ב- |
Transaction / PropertyDataSet / PackageData / CheckinTime | 0..1 | Time | שעת הצ'ק-אין המוקדמת ביותר האפשרית בשעה המקומית של המלון. השעה חייבת להיות פחות מ-24:00. |
Transaction / PropertyDataSet / PackageData / CheckoutTime | 0..1 | Time | שעת הצ'ק-אאוט המאוחרת ביותר לפי השעון המקומי של המלון. |
Transaction / PropertyDataSet / PackageData / InternetIncluded | 0..1 | boolean | ההגדרה מציינת אם החדר כולל גישה לאינטרנט שכלולה במחיר הלינה, בעוד שחדרים אחרים לא כוללים את השירותים האלה. אין להגדיר את הרכיב הזה
בבית מלון שמספק אינטרנט שכלול במחיר הלינה לכל החדרים. הרכיב הזה
לא חל על אינטרנט קווי בחדרים או אינטרנט אלחוטי
שאינם זמינים בחדרי האורחים. הערכים החוקיים הם 0 (או
false ) ו-1 (או true ).
|
Transaction / PropertyDataSet / PackageData / Meals | 0..1 | Object | מכילה מידע על הארוחות בחבילה הזו.
הרכיב
אפשר להשתמש במאפיינים האופציונליים רק אם הערך של כדי שמסנני הארוחות ( |
Transaction / PropertyDataSet / PackageData / ParkingIncluded | 0..1 | boolean | האם חדר מסוים כולל חניה ללא תשלום, אחרת החניה הייתה שירות בתשלום במלון הזה. אין לציין
ערך לרכיב הזה עבור מלון שמציע חניה בחינם.
הערכים החוקיים הם 0 (או false ) ו-1 (או true ). ערך ברירת המחדל הוא false .
|
Transaction / PropertyDataSet / PackageData / PhotoURL | 0..1 | Object | (כמו <PhotoURL> ב-<RoomData> ,
אבל עבור החבילה (למשל, תמונות של ארוחות).)
|
דוגמאות
נתוני חדרים וחבילות
הנה דוגמה בסיסית לאופן שבו מגדירים נתוני חדר וחבילה של נכס בהודעת 'עסקה' (נתוני נכס). המאפיין overlay
משמש כדי להבטיח שאם קיימים כבר נתונים באופן בלתי צפוי, כל הנתונים הקיימים יימחקו ויוחלפו בנתונים שבהודעה הזו:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<PropertyDataSet action="overlay">
<Property>Property_1</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<Name>
<Text text="King" language="en"/>
</Name>
<Description>
<Text text="Room with a king bed" language="en"/>
</Description>
<Capacity>2</Capacity>
<PhotoURL>
<URL>http://www.foo.com/static/bar/image.jpg</URL>
<Caption>
<Text text="Room with a king bed" language="en"/>
</Caption>
</PhotoURL>
</RoomData>
<RoomData>
<RoomID>RoomID_2</RoomID>
<Name>
<Text text="Double" language="en"/>
</Name>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
<PackageData>
<PackageID>PackageID_1</PackageID>
<Name>
<Text text="Standard" language="en"/>
</Name>
<Description>
<Text text="Standard rate" language="en"/>
</Description>
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>0</BreakfastIncluded>
</PackageData>
<PackageData>
<PackageID>PackageID_2</PackageID>
<Name>
<Text text="Free Breakfast" language="en"/>
</Name>
<Description>
<Text text="Free breakfast rate" language="en"/>
</Description>
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>1</BreakfastIncluded>
</PackageData>
</PropertyDataSet>
</Transaction>
הוספת סוג חדר
הדוגמה הבאה היא דוגמה להוספת סוג וחבילה של חדר לנתוני <Transaction>
הקיימים:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-07-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<PropertyDataSet action="delta">
<Property>Property_1</Property>
<RoomData>
<RoomID>RoomID_3</RoomID>
<Name>
<Text text="Queen" language="en"/>
</Name>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
<PackageData>
<PackageID>PackageID_3</PackageID>
<Name>
<Text text="Non-Refundable" language="en"/>
</Name>
<!-- Additional PackageData child elements omitted. -->
<Refundable available="false"/>
</PackageData>
</PropertyDataSet>
</Transaction>
הסרה של סוגי חדרים
הדוגמה הבאה ממחישה איך להסיר חבילות וסוגי חדרים קיימים. בתרחיש הזה, אם ההודעות 'נתוני חדר וחבילה' ו'הוספת סוג חדר' כבר נשלחו ל-Google בעבר, סוגי החדרים King
ו-Double
לא יהיו קיימים יותר ברגע ש-Google תקבל את ההודעה שמוצגת. הערה: ההסרה של נתוני החבילה משפיעה על תוכנית התעריפים הכוללת, כפי שמוגדר ב'עסקאות' (נתוני הנכס), בהודעות OTA_HotelRateAmountNotifRQ ובהודעות OTA_HotelAvailNotifRQ
(באמצעות אותו שווי של PackageID
). כתוצאה מכך, ייתכן שיידרשו עדכונים תואמים באמצעות סוגי ההודעות האחרים, כדי לשקף שההודעות PackageID_2
ו-PackageID_3
כבר לא
מוגדרות כאן.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-08-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<PropertyDataSet action="overlay">
<Property>Property_1</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<Name>
<Text text="Queen" language="en"/>
</Name>
<!-- Additional RoomData child elements omitted. -->
<Capacity>2</Capacity>
<PhotoURL>
<URL>http://www.foo.com/static/bar/image.jpg</URL>
<Caption>
<Text text="Room with a queen bed" language="en"/>
</Caption>
</PhotoURL>
</RoomData>
<PackageData>
<PackageID>PackageID_1</PackageID>
<Name>
<Text text="Refundable" language="en"/>
</Name>
<!-- Additional PackageData child elements omitted. -->
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>0</BreakfastIncluded>
</PackageData>
</PropertyDataSet>
</Transaction>
הגבלת תוכניות תמחור ותשלומים
הדוגמה הבאה ממחישה איך אפשר להשתמש באלמנט <AllowablePackageIDs>
כדי להגביל את תוכניות התעריפים לכל סוג חדר. בדוגמה הזו, אפשר לשלב את סוג החדר Queen
(RoomID_2
) רק עם החבילה ותוכנית התמחור והתשלומים שמזוהות כ-PackageID_1.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-12-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<PropertyDataSet action="overlay">
<Property>Property_1</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<Name>
<Text text="King" language="en"/>
</Name>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
<RoomData>
<RoomID>RoomID_2</RoomID>
<Name>
<Text text="Queen" language="en"/>
</Name>
<AllowablePackageIDs>
<AllowablePackageID>PackageID_1</AllowablePackageID>
</AllowablePackageIDs>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
<PackageData>
<PackageID>PackageID_1</PackageID>
<Name>
<Text text="Standard" language="en"/>
</Name>
<!-- Additional PackageData child elements omitted. -->
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>0</BreakfastIncluded>
</PackageData>
<PackageData>
<PackageID>PackageID_2</PackageID>
<Name>
<Text text="Free Breakfast" language="en"/>
</Name>
<!-- Additional PackageData child elements omitted. -->
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>1</BreakfastIncluded>
</PackageData>
</PropertyDataSet>
</Transaction>
הגבלה של קיבולת החדרים
הדוגמה הבאה ממחישה איך משתמשים ברכיבים <Capacity>
, <AdultCapacity>
, <ChildCapacity>
כדי להגדיר הגבלות על קיבולת חדרים.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-12-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<PropertyDataSet action="overlay">
<Property>Property_1</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<Name>
<Text text="Double" language="en"/>
</Name>
<Capacity>4</Capacity>
<AdultCapacity>4</AdultCapacity>
<ChildCapacity>3</ChildCapacity>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
</PropertyDataSet>
</Transaction>
בחדרים מהסוג הכפול (חדרID_1) יכולים ללון עד 4 אורחים בסך הכול. בנוסף, התוכן יכול לכלול עד 4 מבוגרים ועד 3 ילדים. כדי שאפשר יהיה להזמין את החדר צריך למלא את כל שלוש הדרישות לגבי הקיבולת. ההגדרות האלה מייצגות חדר אופייני עם שתי מיטות, שכל אחת מהן מתאימה לשני אנשים. הקיבולת של ילדים היא אחת פחות מהקיבולת הכוללת, כי בחדר חייב להיות לפחות מבוגר אחד.
דוגמאות מורחבות עם <RoomFeatures>
וארוחות
ל-JapaneseHotelRoomStyle
אין ערך ברירת מחדל.
השמטת ערך לא תגרום לשגיאת XML, אבל הרישום שלך לא יופיע בתוצאות החיפוש, כשהמשתמש יבצע סינון לפי סגנון חדר או מיטות.
שתי מיטות יחיד
הדוגמה הבאה מציגה איך להשתמש ב-<RoomFeatures>
:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<RoomFeatures>
<JapaneseHotelRoomStyle>western</JapaneseHotelRoomStyle>
<Beds> <!-- Two single beds -->
<Bed size="single">
<Width unit="cm" number="97"/>
<Length unit="cm" number="195"/>
</Bed>
<Bed size="single">
<Width unit="cm" number="97"/>
<Length unit="cm" number="195"/>
</Bed>
</Beds>
<Suite/>
<Capsule/>
<Roomsharing>private</Roomsharing>
<Outdoor/>
<MobilityAccessible/>
<Smoking>non_smoking</Smoking>
<BathAndToilet relation="separate">
<Bath bathtub="1" shower="1"/>
<Toilet electronic_bidet="1" mobility_accessible="1"/>
</BathAndToilet>
<OpenAirBath/>
<AirConditioning/>
<Balcony/>
<Views>
<LakeView/>
<MarinaView/>
<BeachView/>
<ForestView/>
<MountainView/>
<NatureView/>
</Views>
</RoomFeatures>
</RoomData>
</PropertyDataSet>
</Transaction>
שתי מיטות זוגיות
זו דוגמה לחדר בסגנון western
עם שתי מיטות מסוג double
.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<RoomFeatures>
<JapaneseHotelRoomStyle>western</JapaneseHotelRoomStyle>
<Beds> <!-- Two double beds-->
<Bed size="double"></Bed>
<Bed size="double"></Bed>
</Beds>
</RoomFeatures>
</RoomData>
</PropertyDataSet>
</Transaction>
סגנון יפני ללא מיטה
הדוגמה הבאה היא של חדר בסגנון יפני ללא מיטה. אין צורך בפרטי המיטה בחדר בסגנון japanese
.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<RoomFeatures>
<JapaneseHotelRoomStyle>japanese</JapaneseHotelRoomStyle>
</RoomFeatures>
</RoomData>
</PropertyDataSet>
</Transaction>
מערב יפן עם מיטה
הדוגמה הבאה היא של חדר בסגנון japanese_western
עם מיטה בגודל king
.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<RoomFeatures>
<JapaneseHotelRoomStyle>japanese_western</JapaneseHotelRoomStyle>
<Beds>
<Bed size="king"></Bed>
</Beds>
</RoomFeatures>
</RoomData>
</PropertyDataSet>
</Transaction>
אם לשותף אין את מספר המיטות בחדרים ב-japanese_western
, תוכלו להיעזר בדוגמה הבאה:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<RoomFeatures>
<JapaneseHotelRoomStyle>japanese_western</JapaneseHotelRoomStyle>
</RoomFeatures>
</RoomData>
</PropertyDataSet>
</Transaction>
ארוחות
בדוגמה הבאה מוגדרים מטא-נתונים של חדרים וחבילות לארוחות, לתמונות, ולשעות הצ'ק-אין והצ'ק-אאוט:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<PackageData>
<PackageID>PackageID_1</PackageID>
<Name>
<Text text="Meals Included" language="en"/>
</Name>
<PhotoURL>
<Caption>
<Text text="Breakfast" language="en"/>
<Text text="朝食" language="ja"/>
</Caption>
<URL>http://example.com/static/bar/image1234.jpg</URL>
</PhotoURL>
<Meals>
<!-- Guests can choose to have breakfast in their room or in another
space to avoid contact with other guests. -->
<Breakfast included="1" in_room="1" in_private_space="1"/>
<Dinner included="1" buffet="1"/>
</Meals>
<CheckinTime>15:00</CheckinTime>
<CheckoutTime>11:00</CheckoutTime>
</PackageData>
</PropertyDataSet>
</Transaction>
ארוחת בוקר בלבד
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<PackageData>
<PackageID>PackageID_1</PackageID>
<Name>
<Text text="Breakfast Included" language="en"/>
</Name>
<PhotoURL>
<Caption>
<Text text="Breakfast" language="en"/>
<Text text="朝食" language="ja"/>
</Caption>
<URL>http://example.com/static/bar/image1234.jpg</URL>
</PhotoURL>
<Meals>
<Breakfast included="true"/>
<!-- Dinner not included needs to be explicitly specified -->
<Dinner included="false"/>
</Meals>
<CheckinTime>15:00</CheckinTime>
<CheckoutTime>11:00</CheckoutTime>
</PackageData>
</PropertyDataSet>
</Transaction>
תשובות
תחביר
בהודעה TransactionResponse (Property Data)
נעשה שימוש בתחביר הבא:
<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="timestamp"
id="message_ID"
partner="partner_key">
<!-- Either Success or Issues will be populated. -->
<Success/>
<Issues>
<Issue code="issue_code" status="issue_type">issue_description</Issue>
</Issues>
</TransactionResponse>
רכיבים ומאפיינים
ההודעה TransactionResponse (Property Data)
כוללת את הרכיבים והמאפיינים הבאים:
אלמנט / @מאפיין | אירועים | סוג | תיאור |
---|---|---|---|
TransactionResponse | 1 | Complex element | רכיב הבסיס שמציין את ההצלחה או הבעיות של הודעת הבקשה לעסקה שהתקבלה. |
TransactionResponse / @timestamp | 1 | DateTime | התאריך והשעה שבהם ההודעה נוצרה. |
TransactionResponse / @id | 1 | string | המזהה הייחודי מתוך הודעת העסקה המשויכת. |
TransactionResponse / @partner | 1 | string | חשבון השותף של ההודעה הזו. |
TransactionResponse / Success | 0..1 | Success | מציין שההודעה לגבי העסקה עובדה בהצלחה
ללא אזהרות, שגיאות או כשלים.
כל הודעה כוללת את |
TransactionResponse / Issues | 0..1 | Issues | מאגר תגים של בעיה אחת או יותר שזוהו במהלך העיבוד של הודעת העסקה.
כל הודעה כוללת את |
TransactionResponse / Issues / Issue | 1..n | Issue | תיאור של אזהרה, שגיאה או כשל במהלך עיבוד הודעת העסקה. אפשר למצוא פרטים על הבעיות האלה בהודעות השגיאה של סטטוס הפיד. |
TransactionResponse / Issues / Issue / @code | 1 | integer | המזהה של הבעיה. |
TransactionResponse / Issues / Issue / @status | 1 | enum | סוג הבעיה שבה נתקלתם. הערכים החוקיים הם |
דוגמאות
הפעולה הצליחה
זוהי תשובה להודעה על עסקה שעובדה בהצלחה.
<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</TransactionResponse>
בעיות
התגובה הבאה היא תשובה להודעה על עסקה שלא עובדה עקב שגיאות.
<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Issues>
<Issue code="1001" status="error">Example</Issue>
</Issues>
</TransactionResponse>