בקשות
תחביר
ההודעה 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>
רכיבים ומאפיינים
ההודעה 'נתוני עסקה (נתוני נכס)' כוללת את הרכיבים והמאפיינים הבאים:
רכיב / @Attribute | אירועים | סוג | תיאור |
---|---|---|---|
Transaction | 1 | Complex element | בהטמעה של ARI, זהו הרכיב הבסיסי (root) של הודעה שמגדירה סוגי חדרים וחבילות לנכס יחיד. |
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
תואם ל-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>
בחדר מסוג 'חדר זוגי' (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 | המזהה הייחודי של הודעת העסקה המשויכת. |
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>