คำขอ
ไวยากรณ์
ข้อความ 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>
      <!-- Add Loyalty point information -->
      <MilesIncluded>
        <LoyaltyCampaignID>campaign-ID</LoyaltyCampaignID>
        <!-- (Optional) Use <NumberOfMiles> if the rate plan earns fixed loyalty rewards-->
        <NumberOfMiles>integer</NumberOfMiles>
      </MilesIncluded>
      <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 (Property Data) มีองค์ประกอบและแอตทริบิวต์ต่อไปนี้
| องค์ประกอบ / @แอตทริบิวต์ | จำนวนข้อผิดพลาด | ประเภท | คำอธิบาย | 
|---|---|---|---|
| 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 | รหัสภาษา 2 ตัวอักษร | 
| 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>ได้มากกว่า 1 รายการสำหรับห้องพักหรือแพ็กเกจห้องพักหนึ่งๆองค์ประกอบนี้มีองค์ประกอบย่อยต่อไปนี้ 
 <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 | รหัสภาษา 2 ตัวอักษร | 
| Transaction / PropertyDataSet / PackageData / AllowableRoomIDs | 0..1 | AllowableRoomIDs | คอนเทนเนอร์สำหรับองค์ประกอบ <AllowableRoomID>หากระบุ  หากไม่ได้ระบุ  ใช้  | 
| Transaction / PropertyDataSet / PackageData / AllowableRoomIDs / AllowableRoomID | 1..n | AllowableRoomID | ระบุ RoomID ของประเภทห้องพักที่ใช้ร่วมกับแพ็กเกจราคานี้ได้ ประเภทห้องพักจะระบุอยู่ในองค์ประกอบ <RoomData> | 
| Transaction / PropertyDataSet / PackageData / MilesIncluded | 0..1 | MilesIncluded | เพิ่มข้อมูลคะแนนสะสมลงในแพ็กเกจตามการกำหนดแพ็กเกจหรือแพ็กเกจอัตรา ระบุองค์ประกอบ <MilesIncluded>ในองค์ประกอบ<PackageData>ที่กําหนดแพ็กเกจราคา<MilesIncluded>มีองค์ประกอบย่อยต่อไปนี้
 | 
| Transaction / PropertyDataSet / PackageData / Refundable | 0..1 | Refundable | แสดงข้อมูลราคาห้องพักที่ขอเงินคืนได้เต็มจำนวนหรือยกเลิกได้ หากไม่ได้ระบุไว้ ระบบจะไม่แสดงข้อมูลเกี่ยวกับการคืนเงิน หมายเหตุ: เราขอแนะนำให้ตั้งค่าแอตทริบิวต์ทั้งหมด ระบบจะสร้างข้อความเตือนสถานะฟีดเมื่อไม่ได้ตั้งค่าแอตทริบิวต์อย่างน้อย 1 รายการ หากคุณไม่ได้ตั้งค่าแอตทริบิวต์ใดๆ ระบบจะไม่แสดงราคาห้องพักเป็นขอเงินคืนได้ โปรดคำนึงถึงสิ่งต่อไปนี้เมื่อตั้งค่าแอตทริบิวต์ 
 | 
| 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 น. ก่อนเช็คอิน 2 วัน" หากไม่ได้ตั้งค่า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>แต่สำหรับแพ็กเกจ (เช่น รูปภาพอาหาร)) | 
ตัวอย่าง
ข้อมูลห้องพักและแพ็กเกจ
ตัวอย่างต่อไปนี้เป็นตัวอย่างพื้นฐานของวิธีการกำหนดข้อมูลห้องพักและแพ็กเกจของที่พักในข้อความ Transaction (Property Data) ระบบใช้แอตทริบิวต์ 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>
      <MilesIncluded>
        <LoyaltyCampaignID>my_campaign</LoyaltyCampaignID>
      </MilesIncluded>
      <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 คน ห้องนี้ต้องเป็นไปตามข้อกำหนดด้านจำนวนห้องทั้ง 3 ข้อจึงจะจองได้ การกำหนดค่านี้แสดงถึงห้องพักทั่วไปที่มีเตียง 2 ตัว โดยแต่ละเตียงรองรับได้ 2 คน ความจุสำหรับเด็กจะน้อยกว่าความจุทั้งหมด 1 คนเนื่องจากต้องมีผู้ใหญ่อย่างน้อย 1 คนอยู่ในห้อง
ตัวอย่างแบบขยายที่มี <RoomFeatures> และอาหาร
JapaneseHotelRoomStyle ไม่มีค่าเริ่มต้น
  การละเว้นค่าจะไม่ทำให้เกิดข้อผิดพลาด XML แต่ข้อมูลของคุณจะไม่แสดงในผลการค้นหาเมื่อผู้ใช้กรองตามสไตล์ห้องหรือเตียง
เตียงเดี่ยว 2 หลัง
ตัวอย่างต่อไปนี้แสดงวิธีใช้ <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>
เตียงคู่ 2 หลัง
ต่อไปนี้เป็นตัวอย่างห้องพักสไตล์ western ที่มีเตียง double เตียง
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>western</JapaneseHotelRoomStyle>
        <Beds> <!-- Two double beds-->
          <Bed size="double"></Bed>
          <Bed size="double"></Bed>
        </Beds>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>
สไตล์ญี่ปุ่นแบบไม่มีเตียง
ต่อไปนี้เป็นตัวอย่างของห้องพักสไตล์ญี่ปุ่นที่ไม่มีเตียง คุณไม่จำเป็นต้องระบุข้อมูลเตียงสำหรับห้องสไตล์ japanese
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>japanese</JapaneseHotelRoomStyle>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>
ญี่ปุ่นตะวันตกพร้อมเตียง
ต่อไปนี้เป็นตัวอย่างห้องพักสไตล์ japanese_western ที่มีเตียงขนาด king
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>japanese_western</JapaneseHotelRoomStyle>
        <Beds>
          <Bed size="king"></Bed>
        </Beds>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>
หากพาร์ทเนอร์ไม่มีข้อมูลจำนวนเตียงในjapanese_westernห้อง ให้ดูตัวอย่างต่อไปนี้
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>japanese_western</JapaneseHotelRoomStyle>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>
อาหาร
ตัวอย่างต่อไปนี้กำหนดข้อมูลเมตาของห้องพักและแพ็กเกจสำหรับอาหาร รูปภาพ และเวลาเช็คอินและเช็คเอาต์
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Meals Included" language="en"/>
      </Name>
      <PhotoURL>
        <Caption>
          <Text text="Breakfast" language="en"/>
          <Text text="朝食" language="ja"/>
        </Caption>
        <URL>http://example.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
      <Meals>
        <!-- Guests can choose to have breakfast in their room or in another
        space to avoid contact with other guests. -->
        <Breakfast included="1" in_room="1" in_private_space="1"/>
        <Dinner included="1" buffet="1"/>
      </Meals>
      <CheckinTime>15:00</CheckinTime>
      <CheckoutTime>11:00</CheckoutTime>
    </PackageData>
  </PropertyDataSet>
</Transaction>
มีเฉพาะอาหารเช้า
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Breakfast Included" language="en"/>
      </Name>
      <PhotoURL>
        <Caption>
          <Text text="Breakfast" language="en"/>
          <Text text="朝食" language="ja"/>
        </Caption>
        <URL>http://example.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
      <Meals>
        <Breakfast included="true"/>
        <!-- Dinner not included needs to be explicitly specified -->
        <Dinner included="false"/>
      </Meals>
      <CheckinTime>15:00</CheckinTime>
      <CheckoutTime>11:00</CheckoutTime>
    </PackageData>
  </PropertyDataSet>
</Transaction>
การตอบกลับ
ไวยากรณ์
ข้อความ TransactionResponse (Property Data) ใช้ไวยากรณ์ต่อไปนี้
<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="timestamp"
                     id="message_ID"
                     partner="partner_key">
  <!-- Either Success or Issues will be populated. -->
  <Success/>
  <Issues>
    <Issue code="issue_code" status="issue_type">issue_description</Issue>
  </Issues>
</TransactionResponse>
องค์ประกอบและแอตทริบิวต์
ข้อความ TransactionResponse (Property Data) มีองค์ประกอบและแอตทริบิวต์ต่อไปนี้
| องค์ประกอบ / @แอตทริบิวต์ | จำนวนข้อผิดพลาด | ประเภท | คำอธิบาย | 
|---|---|---|---|
| TransactionResponse | 1 | Complex element | องค์ประกอบรูทที่บ่งบอกความสำเร็จหรือปัญหาของข้อความคำขอ Transaction ที่ได้รับ | 
| TransactionResponse / @timestamp | 1 | DateTime | วันที่และเวลาที่สร้างข้อความนี้ | 
| TransactionResponse / @id | 1 | string | ตัวระบุที่ไม่ซ้ำกันจากข้อความ Transaction ที่เกี่ยวข้อง | 
| TransactionResponse / @partner | 1 | string | บัญชีพาร์ทเนอร์สำหรับข้อความนี้ | 
| TransactionResponse / Success | 0..1 | Success | บ่งบอกว่าข้อความ Transaction ได้รับการประมวลผลเรียบร้อยแล้วโดยไม่มีคำเตือน ข้อผิดพลาด หรือความล้มเหลว แต่ละข้อความจะมี  | 
| TransactionResponse / Issues | 0..1 | Issues | คอนเทนเนอร์สำหรับปัญหาอย่างน้อย 1 รายการที่พบขณะประมวลผลข้อความ Transaction แต่ละข้อความจะมี  | 
| TransactionResponse / Issues / Issue | 1..n | Issue | คำอธิบายของคำเตือน ข้อผิดพลาด หรือความล้มเหลวที่พบขณะประมวลผลข้อความ Transaction ดูรายละเอียดเกี่ยวกับปัญหาเหล่านี้ได้ในข้อความแสดงข้อผิดพลาดของสถานะฟีด | 
| 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>