עסקה (נתוני נכס)

בקשות

תחביר

ההודעה 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.

הערה:אם יש לכם קצה עורפי שמספק פידים כמה חשבונות, הערך הזה צריך להיות תואם לערך של ID ערך המאפיין שמצוין ב<RequestorID> של <OTA_HotelRateAmountNotifRQ> ו <OTA_HotelAvailNotifRQ> הודעות באותו חשבון.

Transaction / PropertyDataSet 1.. PropertyDataSet מאגר להגדרת סוגי חדרים וחבילות לנכס יחיד.
Transaction / PropertyDataSet / @action 0..1 enum

סוג העדכון שיש להחיל על הגדרות המחירים לחדר.

הערכים החוקיים כוללים:

  • overlay : מחליף את כל ההגדרות הקודמות <RoomData> וגם <PackageData> עבור הנכס. רק <RoomData> וגם הערכים <PackageData> בהודעה הנוכחית תקינים.
  • delta : הוספה של פריטים שלא הוגדרו קודם <RoomData> וגם <PackageData> או משנה נכסים קיימים.

המאפיין הזה הוא אופציונלי, ואם לא קיים, ערך ברירת המחדל שלו הוא delta שצוין.

Transaction / PropertyDataSet / Property 1 string המזהה הייחודי של הנכס. הערך הזה חייב להתאים לערך מזהה המלון צוין באמצעות <id> ברכיב <listing> בפיד של רשימת המלונות. מזהה המלון מופיע גם ב-Hotel Center.
Transaction / PropertyDataSet / RoomData 0..n RoomData

מיועד לתיאור חדר.

הערה: לפחות אחד מתוך <RoomData> או <PackageData>, הם שדות חובה.

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>.

אם מציינים <AllowablePackageIDs>, החדר הסוג שזוהה על ידי <RoomID> ברכיב ההורה <RoomData> יכול להיות רק בשילוב עם תוכניות התמחור והתשלומים שמוגדרות רכיבי <AllowablePackageID>.

אם לא מציינים את <AllowablePackageIDs>, החדר הסוג שזוהה על ידי <RoomID> ברכיב ההורה אפשר לשלב את הרכיב <RoomData> עם כל אחד תוכנית תמחור ותשלומים.

אפשר להשתמש ב-<AllowablePackageIDs> או <AllowableRoomIDs>, אבל לא את שניהם.

Transaction / PropertyDataSet / RoomData / AllowablePackageIDs / AllowablePackageID 1..n AllowablePackageID מציין את ה-PackageID של תוכנית תעריפים שאפשר לשלב עם המאפיין הזה סוג החדר. תוכנית תעריפים מוגדרת לפי שילוב של החבילה, המחירים והזמינות. PackageID תואם לRatePlanCode הודעות OTA_HotelRateAmountNotifRQ ו-OTA_HotelAvailNotifRQ.
Transaction / PropertyDataSet / RoomData / Capacity 0..1 integer המספר המקסימלי של מבוגרים וילדים שיכולים להיכנס לחדר להתאים פיזית. הערך צריך להיות גדול מ- או שווה ל- כל ערך של NumberOfGuests ששולחים עם התעריפים.

הערך של <Capacity> חייב להיות מספר שלם חיובי בין 1 ל-99, כולל. צפייה כאן, אפשר לראות דוגמה.

הערה: אם <Capacity> לא מוגדר, המספר ממספר הנוסעים המותר נחשב ללא מוגבל. אם השדה הזה לא מוגדר ו-ExtraGuestCharges או הוגדרו AdditionalGuestAmounts, מחירים אפשר ליצור לוח זמנים לכל מספר של אנשים. ההמלצות שלנו להגדיר את הערך <Capacity> אם ExtraGuestCharges או AdditionalGuestAmounts כדי להבטיח שהמחירים לא מוצגות אפשרויות תפוסה לא תקינות.

Transaction / PropertyDataSet / RoomData / AdultCapacity 0..1 integer המספר המקסימלי של מבוגרים שחדר יכול באופן פיזי להתאים לצרכים שלכם. הערך צריך להיות שווה לערך כלשהו או גדול ממנו ערכים של NumberOfGuests ששלחת עם התעריפים.

הערך של <AdultCapacity> חייב להיות חיובי מספר שלם בין 1 ל-99, כולל. צפייה כאן, אפשר לראות דוגמה.

Transaction / PropertyDataSet / RoomData / ChildCapacity 0..1 integer המספר המקסימלי של ילדים שהחדר יכול באופן פיזי להתאים לצרכים שלכם.

הערך של <ChildCapacity> חייב להיות חיובי מספר שלם בין 1 ל-99, כולל. צפייה כאן, אפשר לראות דוגמה.

Transaction / PropertyDataSet / RoomData / OccupancySettings 0..1 OccupancySettings הגדרות שיכולות להגביל או לשנות את דרישות התפוסה חדר.

הרכיב <OccupancySettings> לוקח את רכיבי הצאצא הבאים:

  • <MinOccupancy>: מספר האורחים המינימלי שיכולים להישאר בחדר. לדוגמה, אם מגדירים את הערך 2, לא ניתן להזמין את החדר הזה לאורח אחד.

    הערך של <MinOccupancy> חייב להיות חיובי מספר שלם בין 1 ל-99, כולל.

  • <MinAge>: הגיל המינימלי לכל האורחים להישאר בחדר. לדוגמה, אם מגדירים את הערך 18, ניתן להזמין את החדר הזה רק לקבוצות שבהן כל האורחים הם מעל גיל 18 ומעלה.

    הערך של <MinAge> חייב להיות מספר שלם חיובי בין 0 ל-99, כולל.

<OccupancySettings>
  <MinOccupancy>2</MinOccupancy>
  <MinAge>16</MinAge>
</OccupancySettings>

לא צריך לכלול את כל רכיבי הצאצא.

Transaction / PropertyDataSet / RoomData / PhotoURL 0..n PhotoURL כתובת URL וכיתוב אופציונלי לתמונה של החדר, או חבילת חדר. אפשר לציין יותר משדה <PhotoURL> אחד לחדר או לחבילת חדר.

הרכיב הזה לוקח את רכיבי הצאצא הבאים:

  • <URL>: מציין את המיקום של התמונה. המיקום צריך להיות ציבורי (לא מאחורי חומת אש) ועליו לכלול הפרוטוקול (http://).
  • <Caption>: הגדרת הכיתוב עבור התמונה. הרכיב הזה לוקח רכיב צאצא אחד, <Text>, שיש לו שני מאפייני חובה: Text language. המאפיין Text הוא הכיתוב. והמאפיין language מציין כמו en.
<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

מציין את הסגנון של חדר מלון יפני.

הערכים החוקיים כוללים:

  • western: חדר בסגנון מערבי עם מיטות.
  • japanese: חדר בסגנון יפני עם מיטות פוטון.
  • japanese_western: חדר בסגנון מערבי יפני עם גם מיטות בסגנון מערבי וגם פוטונים בסגנון יפני.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Beds 0..1 Object מכיל את כמות הערכים של <Bed> שיש בחדר. שימו לב שלא צריך לספור כאן פוטונים יפניים.

לכל <Bed> יש את המאפיינים הבאים:

  • size (אופציונלי): הערכים החוקיים הם single, semi_double, double, queen וגם king.
כל <Bed> כולל את רכיבי הצאצא הבאים:
  • <Width> (אופציונלי): מציין את רוחב המיטה. חייב להכיל את המאפיין unit עם הערך cm ואת המאפיין number ברוחב המיטה בסנטימטרים שלמים.
  • <Length> (אופציונלי): הערך הזה מציין את אורך המיטה. חייב להכיל את המאפיין unit עם הערך cm ואת המאפיין number עם אורך המיטה במספר סנטימטרים שלמים.
דוגמה:
<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 מכיל מידע על האמבטיה והשירותים בחדר.

המאפיין הוא:

  • relation (אופציונלי): מציין איך חדרי הרחצה אסלות ממוקמות ביחס זה לזה. הערכים החוקיים הם: together, למשל, חדר אמבטיה שבו שני חדרי הרחצה השירותים והשירותים ממוקמים יחד באותו חדר. וגם separate, שבו חדרי האמבטיה והשירותים ייעודיים מרחבים משותפים. אי אפשר להגדיר את המאפיין הזה אם אין בחדר גם באמבטיה וגם בשירותים.

הרכיב באופן אופציונלי לוקח את רכיבי הצאצא הבאים:

  • <Bath> (אופציונלי): קיומו של הרכיב הזה מציין שבחדר יש אמבטיה.

    אלו המאפיינים:

    • bathtub (אופציונלי): מציין שבאמבטיה יש באמבטיה בחדר האמבטיה. הערכים החוקיים הם 0 (או false) וגם 1 (או true).
    • shower (אופציונלי): מציין שבאמבטיה יש למקלחת. הערכים החוקיים הם 0 (או false) ו- 1 (או true).
  • <Toilet> (אופציונלי): קיומו של הרכיב הזה מציין שבחדר הזה יש שירותים.

    אלו המאפיינים:

    • electronic_bidet (אופציונלי): מציין שהמאפיין לשירותים יש בידה אלקטרונית. הערכים החוקיים הם 0 (או false) ו- 1 (או true).
    • mobility_accessible (אופציונלי): מציין שהמאפיין השירותים נגישים. הערכים החוקיים הם 0 (או false) וגם 1 (או true).

דוגמה:

<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 האפשרויות החוקיות כוללות:

<AirportView/>
<BayView/>
<BeachView>/>
<CastleView/>
<CityView/>
<CountrysideView/>
<CourtyardView/>
<DuneView/>
<ForestView/>
<GardenView/>
<GolfCourseView/>
<HarborView/>
<LagoonView/>
<LakeView/>
<MarinaView/>
<MountainView/>
<NatureView/>
<OceanView/>
<ParkView/>
<PartialOceanView/>
<PisteView/>
<PoolView/>
<PyramidView/>
<RiverView/>
<StreetView/>

Transaction / PropertyDataSet / PackageData 0..n PackageData

קונטיינר של רכיבים שמתארים תכונות של תעריפים ומונחים הם לא חלק מתיאור החדר הפיזי.

הערה: לפחות אחד מתוך <RoomData> או <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>.

אם מציינים <AllowableRoomIDs>, תוכנית התמחור והתשלומים מזוהה על ידי <PackageID> ברכיב ההורה <PackageData> יכול להיות רק בשילוב עם סוגי החדרים שמוגדרים רכיבי <AllowableRoomID>.

אם לא צוין <AllowableRoomIDs>, התעריף תוכנית שזוהתה על ידי <PackageID> בתבנית ההורה אפשר לשלב את הרכיב <PackageData> עם כל אחד סוג החדר.

אפשר להשתמש ב-<AllowablePackageIDs> או <AllowableRoomIDs>, אבל לא את שניהם.

Transaction / PropertyDataSet / PackageData / AllowableRoomIDs / AllowableRoomID 1..n AllowableRoomID מציין את מזהה החדר של סוג חדר שאפשר לשלב עם המידע הזה תוכנית תמחור ותשלומים. יש סוג חדר שמוגדר בארגון <RoomData> לרכיב מסוים.
Transaction / PropertyDataSet / PackageData / Refundable 0..1 Refundable מאפשר לציין מחיר כהחזר כספי מלא או כניתן לביטול. אם לא תספקו את המידע הזה, לא יוצג מידע על ההחזר הכספי.

הערה: מומלץ להגדיר את כל המאפיינים. פיד הודעת אזהרת סטטוס נוצרת כאשר מאפיין אחד או יותר לא מוגדר.

אם לא תגדירו מאפיינים, המחיר לא יוצג כך עם החזר כספי.

כשמגדירים את המאפיינים, חשוב לשים לב לנקודות הבאות:

  • אם available או refundable_until_days לא מוגדרת, המחיר לא יוצג עם אפשרות להחזר כספי.
  • אם הערך של available הוא 0 או false, המערכת מתעלמת מהמאפיינים האחרים. התעריף לא מוצג בתור ניתן לקבל החזר כספי גם אם אחד מהמאפיינים האחרים או שניהם מוגדרים.
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).

עדיף להשתמש באמצעי התשלום <Meals>. במקום <BreakfastIncluded>.

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 מכיל מידע על הארוחות בחבילה הזו.

לרכיב <Meals> נדרשים שני רכיבי צאצא אופציונליים רכיבים, <Breakfast> ו-<Dinner>, שכוללים את המאפיינים הבאים:

  • included (חובה): מגדירים כ-1 (או true) אם המחיר כולל ארוחת בוקר/ארוחת ערב, אחרת מוגדר ל-0 או false.
  • in_room (אופציונלי): מגדירים את הערך 1 (או true) אם לאורחים יש אפשרות לאכול ארוחת בוקר/ארוחת ערב בחדר שבו הם נשארים. אחרת הוגדרה כ-0 (או false).
  • in_private_space (אופציונלי): מגדירים ל-1 (או true) אם יש לאורחים אפשרות לאכול ארוחת בוקר. ארוחת ערב במסעדה (מלבד החדר שבו הם שוהים) שבו הם יכולים להימנע יצירת קשר עם אורחים אחרים. אחרת הוגדרה כ-0 (או false).
  • buffet (אופציונלי): מגדירים את הערך 1 (או true) אם ארוחת בוקר/ארוחת ערב מוגשת בסגנון מזנון. אחרת מוגדר ל-0 (או false).

המאפיינים האופציונליים משמשים רק כשהערך של included הוא נכון.

למסנני ארוחות (no meals, breakfast only, dinner only ו-breakfast and dinner) לעבודה, גם <Breakfast> וגם <Dinner> צריכים יסופק באמצעות המאפיין included.

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 מציין שהודעת העסקה עובדה בהצלחה ללא אזהרות, שגיאות או כשלים.

<Success> או <Issues> הם שנמצא בכל הודעה.

TransactionResponse / Issues 0..1 Issues מאגר שמתאר בעיה אחת או יותר במהלך העיבוד של הודעת העסקה.

<Success> או <Issues> הם שנמצא בכל הודעה.

TransactionResponse / Issues / Issue 1..n Issue תיאור של אזהרה, שגיאה או כשל במהלך בעיבוד הודעת העסקה. ניתן למצוא פרטים על הבעיות האלה בקטע הודעות שגיאה של סטטוס הפיד.
TransactionResponse / Issues / Issue / @code 1 integer המזהה של הבעיה.
TransactionResponse / Issues / Issue / @status 1 enum

סוג הבעיה.

הערכים החוקיים הם warning, error, ו-failure.

דוגמאות

הפעולה הצליחה

התשובה הבאה היא תשובה להודעת עסקה שעובדה בהצלחה.

<?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>