בקשות
תחביר
ההודעה 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 | A קוד שפה. |
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 | A קוד שפה. |
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 כדי לציין אם התעריף מאפשר ערך מלא
refund; אחרת הוא 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 יומיים לפני השעה 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>