בקשות
תחביר
התחביר של ההודעה 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 (נתוני נכס) כוללת את הרכיבים והמאפיינים הבאים:
רכיב / @Attribute | מופעים | סוג | תיאור |
---|---|---|---|
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> ו-<OTA_HotelInvCountNotifRQ> . |
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 תואם לשדה 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 | מזהה החדר (RoomID) של סוג החדר שאפשר לשלב עם חבילת המחיר הזו. סוג החדר מוגדר ברכיב <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 תקבל את ההודעה שמוצגת. חשוב לזכור שהסרת נתוני החבילה משפיעה על תוכנית התעריפים הכוללת כפי שמוגדרת בהודעות Transaction (נתוני הנכס), 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>
בסוג החדר 'חדר זוגי' (RoomID_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)
יש את הרכיבים והמאפיינים הבאים:
רכיב / @Attribute | מופעים | סוג | תיאור |
---|---|---|---|
TransactionResponse | 1 | Complex element | רכיב הבסיס שמציין את ההצלחה או הבעיות בהודעת בקשת העסקה שהתקבלה. |
TransactionResponse / @timestamp | 1 | DateTime | התאריך והשעה שבהם נוצרה ההודעה הזו. |
TransactionResponse / @id | 1 | string | המזהה הייחודי מההודעה Transaction המשויכת. |
TransactionResponse / @partner | 1 | string | חשבון השותף של ההודעה הזו. |
TransactionResponse / Success | 0..1 | Success | מציין שההודעה Transaction טופלה בהצלחה, ללא אזהרות, שגיאות או כשלים.
השדה |
TransactionResponse / Issues | 0..1 | Issues | מאגר של בעיה אחת או יותר שנתקלו בהן במהלך עיבוד הודעת העסקה.
השדה |
TransactionResponse / Issues / Issue | 1..n | Issue | תיאור של אזהרה, שגיאה או כשל שנתקלו בהם במהלך עיבוד הודעת העסקה. פרטים על הבעיות האלה מופיעים בקטע הודעות שגיאה לגבי סטטוס הפיד. |
TransactionResponse / Issues / Issue / @code | 1 | integer | המזהה של הבעיה. |
TransactionResponse / Issues / Issue / @status | 1 | enum | סוג הבעיה. הערכים החוקיים הם |
דוגמאות
הפעולה הצליחה
זוהי תגובה להודעת Transaction שעובדה בהצלחה.
<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</TransactionResponse>
בעיות
זוהי תגובה להודעת Transaction שלא טופלה בגלל שגיאות.
<?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>