คำขอ
ไวยากรณ์
ข้อความ Transaction (Property Data)
ใช้ไวยากรณ์ต่อไปนี้
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="timestamp"
id="message_ID"
partner="partner_key">
<PropertyDataSet action="[overlay|delta]">
<!-- (Required) ID that matches the Hotel List Feed -->
<Property>HotelID</Property>
<RoomData>
<!-- (Required) One room ID per RoomData element -->
<RoomID>RoomID</RoomID>
<Name>
<Text text="room_name" language="language_code"/>
</Name>
<Description>
<Text text="room_description" language="language_code"/>
</Description>
<!-- (Optional) Restricts the rate plans allowed for this room type to
those listed here. If specified, don't specify AllowableRoomIDs. -->
<AllowablePackageIDs>
<AllowablePackageID>PackageID</AllowablePackageID>
</AllowablePackageIDs>
<Capacity>max_number_of_occupants</Capacity>
<AdultCapacity>max_number_of_adult_occupants</AdultCapacity>
<ChildCapacity>max_number_of_child_occupants</ChildCapacity>
<OccupancySettings>
<MinOccupancy>min_number_of_occupants</MinOccupancy>
<MinAge>min_age_of_occupants</MinAge>
</OccupancySettings>
<PhotoURL>
<Caption>
<Text text="photo_description" language="language_code"/>
</Caption>
<URL>photo_location</URL>
</PhotoURL>
<RoomFeatures>
<JapaneseHotelRoomStyle>[western|japanese|japanese_western]</JapaneseHotelRoomStyle>
<Beds>
<Bed size="[single|semi_double|double|queen|king]">
<Width unit="cm" number="bed_width"/>
<Length unit="cm" number="bed_length"/>
</Bed>
<!-- Include with any additional beds. -->
</Beds>
<Suite/>
<Capsule/>
<Roomsharing>[shared|private]</Roomsharing>
<Outdoor/>
<MobilityAccessible/>
<Smoking>[smoking|non_smoking]</Smoking>
<BathAndToilet relation="[together|separate]">
<Bath bathtub="[false|true]" shower="[false|true]"/>
<Toilet electronic_bidet="[false|true]" mobility_accessible="[false|true]"/>
</BathAndToilet>
<OpenAirBath/>
<AirConditioning/>
<Balcony/>
<Views>
<!-- (Optional) Defines the type of views from the room. -->
<!-- Example: <OceanView/> -->
</Views>
</RoomFeatures>
</RoomData>
<PackageData>
<!-- (Required) One package ID per PackageData element -->
<PackageID>PackageID</PackageID>
<Name>
<Text text="package_name" language="language_code"/>
</Name>
<Description>
<Text text="package_description" language="language_code"/>
</Description>
<!-- (Optional) Restricts the room types allowed for this rate plan to
those listed here. If specified, don't specify AllowablePackageIDs. -->
<AllowableRoomIDs>
<AllowableRoomID>RoomID</AllowableRoomID>
</AllowableRoomIDs>
<Refundable available="[false|true]" refundable_until_days="number_of_days"
refundable_until_time="time"/>
<!-- For these next 3 elements, boolean_value can be 0/1 or true/false -->
<BreakfastIncluded>boolean_value</BreakfastIncluded>
<InternetIncluded>boolean_value</InternetIncluded>
<ParkingIncluded>boolean_value</ParkingIncluded>
<PhotoURL>
<Caption>
<Text text="photo_description" language="language_code"/>
...
</Caption>
<URL>photo_location</URL>
</PhotoURL>
...
<Meals>
<Breakfast
included="[true|false]" buffet="[true|false]"
in_room="[true|false]" in_private_space="[true|false]"/>
<Dinner
included="[true|false]" buffet="[true|false]"
in_room="[true|false]" in_private_space="[true|false]"/>
</Meals>
<CheckinTime>checkin_time</CheckinTime>
<CheckoutTime>checkout_time</CheckoutTime>
</PackageData>
</PropertyDataSet>
</Transaction>
องค์ประกอบและแอตทริบิวต์
ข้อความ Transaction (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> ข้อความ |
Transaction / PropertyDataSet / RoomData / Name | 1 | Name | คอนเทนเนอร์สำหรับชื่อหมวดหมู่ห้องพักในอย่างน้อย 1 รายการ ภาษา |
Transaction / PropertyDataSet / RoomData / Name / Text | 1..n | Text | ระบุชื่อหมวดหมู่ห้องพักในภาษาเดียว |
Transaction / PropertyDataSet / RoomData / Name / Text / @text | 1..n | string | ชื่อหมวดหมู่ห้องพักในภาษาที่ระบุโดย
language |
Transaction / PropertyDataSet / RoomData / Description | 1 | Name | คอนเทนเนอร์สำหรับคำอธิบายหมวดหมู่ห้องพักในอย่างน้อย 1 รายการ ภาษา |
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 | คอนเทนเนอร์สำหรับชื่อแพ็กเกจใน 1 ภาษาขึ้นไป |
Transaction / PropertyDataSet / PackageData / Name / Text | 1..n | Text | ระบุชื่อแพ็กเกจในภาษาเดียว |
Transaction / PropertyDataSet / PackageData / Name / Text / @text | 1..n | string | ชื่อแพ็กเกจในภาษาที่ระบุโดย
language |
Transaction / PropertyDataSet / PackageData / Description | 1 | Description | คอนเทนเนอร์สำหรับคำอธิบายแพ็กเกจในภาษาอย่างน้อย 1 ภาษา |
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 / 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 น. สองวันก่อนหน้า
เช็คอิน" หากไม่ได้ตั้งค่า 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>
<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
และ
Google จะไม่มีห้องแชท Double
ประเภทอีกต่อไปเมื่อ Google ได้รับข้อความ
แสดงอยู่ โปรดทราบว่าการนำข้อมูลแพ็กเกจออกจะส่งผลต่อแพ็กเกจราคาโดยรวม
ตามที่ระบุไว้ใน Transaction (Property Data), 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 | องค์ประกอบรูทที่ระบุความสำเร็จหรือปัญหาสำหรับ ข้อความคำขอธุรกรรม |
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>