ภาพรวม
ข้อความ Transaction (Property Data) ของ ARI จะกำหนดข้อมูลเกี่ยวกับประเภทห้องพักและแพ็กเกจ (หรือแพ็กเกจราคา) ของที่พักแต่ละแห่ง ข้อมูลประเภทห้องพักแต่ละประเภทจะมีตัวระบุที่ไม่ซ้ำกัน (RoomID
) ชื่อที่แปลแล้ว คำอธิบาย และ URL ไปยังรูปภาพห้องพัก ข้อมูลแพ็กเกจแต่ละรายการจะมีตัวระบุที่ไม่ซ้ำกัน (PackageID
) ชื่อที่แปลแล้ว คำอธิบาย อัตราการเข้าพัก และการเพิ่มมูลค่า
คุณใช้ข้อความ Transaction เพื่อทำสิ่งต่อไปนี้ได้
- กำหนดข้อมูลสำหรับพร็อพเพอร์ตี้อย่างน้อย 1 รายการ
- กำหนดประเภทห้องพักและข้อมูลแพ็กเกจสำหรับที่พักแต่ละแห่ง
- ควบคุมข้อเสนอผลิตภัณฑ์
นอกจากนี้ คุณยังสามารถตั้งค่าการทำงานเพื่อดำเนินการดังต่อไปนี้:
- เพิ่มประเภทห้องพักและแพ็กเกจลงในที่พัก
- นำประเภทห้องพักและแพ็กเกจออกจากที่พัก
ดูตัวอย่างข้อความธุรกรรมได้ในตัวอย่าง Transaction (Property Data)
องค์ประกอบที่จำเป็นและไม่บังคับ
การอ้างอิง XML ให้คำอธิบายขององค์ประกอบที่จำเป็นและที่ไม่บังคับ โปรดดูรายละเอียดเกี่ยวกับแอตทริบิวต์และองค์ประกอบย่อยในองค์ประกอบและแอตทริบิวต์ของธุรกรรม (ข้อมูลพร็อพเพอร์ตี้)
ไวยากรณ์และสคีมา
ใช้ตัวอย่างไวยากรณ์ Transaction (Property Data) เป็นข้อมูลอ้างอิงเมื่อคุณสร้างข้อความ Transaction เพื่อให้แน่ใจว่าคุณทำตามรูปแบบที่ถูกต้อง
คุณใช้เครื่องมือ XML ของบุคคลที่สาม เช่น xmllint เพื่อตรวจสอบฟีดด้วยสคีมาที่เผยแพร่ก่อนส่งให้ Google ได้ สำหรับสคีมาข้อความธุรกรรม โปรดดูสคีมา Hotel Ads
หลักเกณฑ์
ใช้หลักเกณฑ์ต่อไปนี้สำหรับข้อความ Transaction
- การดำเนินการ
delta
: ใช้เพื่อเพิ่มหรืออัปเดตประเภทห้องพักและแพ็กเกจใหม่ (แพ็กเกจราคา)overlay
: ใช้เพื่อแทนที่ห้องพักและแพ็กเกจทุกประเภทสำหรับที่พักด้วยชุดใหม่ ต้องระบุข้อมูลห้องพักทุกประเภทและแพ็กเกจราคาทั้งหมดที่คุณยังต้องการขาย- ภาษาที่รองรับ:
ระบุ 1-2 ภาษา (อังกฤษ และภาษาท้องถิ่นของพร็อพเพอร์ตี้ หากจำเป็น) สำหรับช่องชื่อ คำอธิบาย และคำบรรยาย คุณสามารถเพิ่มได้มากกว่า 2 ภาษาหากจำเป็น
- ประเภทห้องพักและแพ็กเกจ:
เมื่ออัปเดตประเภทห้องพักหรือแพ็กเกจ คุณต้องส่งข้อมูลที่เกี่ยวข้องทั้งหมดสำหรับประเภทห้องพักหรือแพ็กเกจนั้นๆ เช่น เมื่อเพิ่มรูปภาพ จะต้องมีชื่อและคำอธิบายด้วย
คุณจะระบุ
<AllowablePackageIDs>
และ<AllowableRoomIDs>
หรือไม่ก็ได้ หากไม่ได้ตั้งค่า ระบบจะสร้างประเภทห้องพักและแพ็กเกจราคาผสมกันได้ คุณยังต้องส่งห้องว่างและราคาพร้อมรหัสประเภทห้องพักและรหัสแพ็กเกจราคา องค์ประกอบเหล่านี้ช่วยให้คุณควบคุมผลิตภัณฑ์และปิดใช้งานชุดค่าผสมที่ระบบของคุณไม่รองรับอีกต่อไปได้ส่งการอัปเดตข้อความ Transaction ให้แก่ Google ทุกครั้งที่มีการเปลี่ยนแปลงประเภทห้องพักหรือแพ็กเกจ หรือรายละเอียดสำคัญเกี่ยวกับประเภทห้องพักหรือแพ็กเกจที่จำเป็นต้องเพิ่ม
ตัวอย่าง
ส่วนนี้จะแสดงตัวอย่างพื้นฐานของข้อความ ARI Transaction โดยใช้องค์ประกอบที่จำเป็นและที่ไม่บังคับ หากต้องการเพิ่มหรืออัปเดตประเภทห้องพักและแพ็กเกจ คุณสามารถใช้การดำเนินการสำหรับ delta
เพื่อเพิ่มหรืออัปเดตประเภทห้องพักและแพ็กเกจ หรือ overlay
เพื่อแทนที่คำจำกัดความของประเภทห้องพักและแพ็กเกจทั้งหมด (ลบรายการเก่า)
คุณต้องระบุภาษา 1-2 ภาษา (อังกฤษ และภาษาท้องถิ่นของพร็อพเพอร์ตี้หากจำเป็น) สำหรับช่องชื่อ คำอธิบาย และคำบรรยาย จากนั้นใส่ข้อมูลที่พัก รวมถึงลิงก์ไปยังรูปภาพ
สำหรับ <PropertyID>
และ <RoomID>
ให้ใช้รหัสเดียวกันกับที่คุณใช้ในระบบสำหรับแพ็กเกจราคาและประเภทห้องพัก (ตามลำดับ) ความสอดคล้องกันของระบบของคุณเป็นสิ่งสำคัญที่ทำให้มั่นใจได้ว่า Google จะแสดงราคาและข้อมูลของคุณอย่างถูกต้อง
เมื่อเตรียมไฟล์แล้ว คุณต้องส่งไปยัง Google ผ่านข้อความ POST ไปยังปลายทางต่อไปนี้ https://www.google.com/travel/hotels/uploads/property_data
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีพุช/โพสต์ข้อความได้ที่ข้อความพุช
ตัวอย่างต่อไปนี้แสดงวิธีตั้งค่าข้อความ Transaction โดยใช้การดำเนินการ delta
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="202X-XX-XXT00:00:00-0X:00" id="12345678" partner="partner_key">
<PropertyDataSet action="delta">
<Property>PROPERTYID</Property>
<RoomData>
<RoomID>ROOMID</RoomID>
<Name><Text text="ROOM NAME" language="en"/></Name>
<Description>
<Text text="ROOM DESCRIPTION TEXT" language="en"/>
</Description>
<Capacity>4</Capacity>
<PhotoURL>
<Caption><Text text="ROOM PHOTO CAPTION TEXT" language="en"/></Caption>
<URL>https://LINK TO PHOTO</URL>
</PhotoURL>
</RoomData>
<PackageData>
<PackageID>BASE</PackageID>
<Name><Text text="Internet Special" language="en"/></Name>
<Description><Text text="Direct Booking through Hotel Website" language="en"/></Description>
<Refundable available="true" refundable_until_days="2" refundable_until_time="12:00"/>
</PackageData>
</PropertyDataSet>
</Transaction>
ดูตัวอย่างเพิ่มเติม เช่น วิธีใช้การดำเนินการ overlay
, เพิ่มประเภทห้องพักและแพ็กเกจลงในข้อมูลที่พักที่มีอยู่ รวมถึงนำประเภทห้องพักและแพ็กเกจที่มีอยู่ออกได้จากตัวอย่างธุรกรรม (ข้อมูลที่พัก)
วิธีการ
ส่วนนี้จะแสดงวิธีแก้ไขปัญหาที่คุณอาจพบขณะส่งข้อความ Transaction
สถานการณ์ที่ 1: วิธีนำข้อมูลประเภทห้องพักออก
ฉันจะนำข้อมูลประเภทห้องพักและ/หรือแพ็กเกจที่มีอยู่ออกได้อย่างไร
คำอธิบาย
คุณได้ส่งห้องพักหลายประเภท ซึ่งรวมถึงห้องพักคิงไซส์และเตียงควีนไซส์สำหรับที่พัก ห้องพักประเภทควีนไซส์ทุกห้องจะไม่มีให้บริการในช่วงปรับปรุง แต่ปัจจุบันมีเฉพาะห้องคิงไซส์เท่านั้น
โซลูชัน
- คุณไม่จำเป็นต้องอัปเดตห้องว่าง ราคา หรือห้องว่างต่อคืนสำหรับประเภทห้องพักและรหัสแพ็กเกจที่นำออกไปแล้วหรือถูกปิดใช้งาน
- หากประเภทห้องพักหรือแพ็กเกจถูกนำออกหรือปิดใช้ ให้ส่งข้อความ Transaction ใหม่พร้อม
action="overlay"
ซึ่งจะระบุเฉพาะประเภทห้องพักและแพ็กเกจที่ยังใช้งานอยู่ โดยไม่รวมประเภทห้องพักหรือแพ็กเกจที่ถูกนำออก
ตัวอย่าง
ข้อมูลโค้ด XML นี้แสดงวิธีใช้การดำเนินการ overlay
เพื่อนำประเภทห้องพักออก
ต่อไปนี้คือการดำเนินการdelta
ต้นฉบับ ซึ่งรวมถึงห้องพักประเภทคิงไซส์และควีนไซส์
<PropertyDataSet action="delta">
<Property>Property_1</Property>
<RoomData>
<RoomID>King</RoomID>
<Name>
<Text text="King" language="en"/>
</Name>
<Capacity>2</Capacity>
</RoomData>
<PackageData>
<PackageID>Standard</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>
<RoomData>
<RoomID>Queen</RoomID>
<Name>
<Text text="Queen" language="en"/>
</Name>
<Capacity>2</Capacity>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
</PropertyDataSet>
จากนั้นจึงตั้งค่า overlay
ให้นำห้องประเภทควีนไซส์ออกและคงประเภทห้องคิงไซส์ไว้ดังนี้
<PropertyDataSet action="overlay">
<Property>Property_1</Property>
<RoomData>
<RoomID>King</RoomID>
<Name>
<Text text="King" language="en"/>
</Name>
<Capacity>2</Capacity>
</RoomData>
<PackageData>
<PackageID>Standard</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>
</PropertyDataSet>
สถานการณ์ที่ 2: วิธีควบคุมผลิตภัณฑ์โดยใช้ AllowablePackageID
ฉันจะควบคุมผลิตภัณฑ์ (ชุดค่าผสมของประเภทห้องพักและแพ็กเกจ) ได้อย่างไรเมื่อมีการจัดกลุ่มแพ็กเกจตามประเภทห้องพัก
คำอธิบาย
คุณมีแพ็กเกจบางแพ็กเกจที่พร้อมให้บริการสำหรับห้องพักบางประเภทเท่านั้น เช่น หากที่พักมีห้องพัก 4 ประเภท (รวมถึงห้องสวีทระดับประธานาธิบดี) และแพ็กเกจที่แตกต่างกัน 6 แพ็กเกจ แต่มีแพ็กเกจเพียงไม่กี่แพ็กเกจที่มีสิทธิ์สำหรับชุดเพรสซิเดนเชียล คุณก็ระบุการมีสิทธิ์ได้
โซลูชัน
ส่งข้อความ Transaction ที่อัปเดตแล้วซึ่งระบุผลิตภัณฑ์ที่รวมอยู่ในแพ็กเกจโดยใช้ <AllowablePackageIDs>
ตัวอย่าง
ข้อมูลโค้ด XML นี้แสดงวิธีใช้ <AllowablePackageIDs>
เพื่อระบุแพ็กเกจที่ใช้กับห้องพักบางประเภท สำหรับห้องพักประเภทเพนต์เฮาส์สวีทจะอนุญาตเฉพาะแพ็กเกจเพนต์เฮาส์แบบรวมทุกอย่างหรือแพ็กเกจอาหารเช้าฟรี ในขณะที่ประเภทห้องพักคิงส์สวีทจะอนุญาตเฉพาะแพ็กเกจคิงไซส์แบบรวมทุกอย่างหรือแพ็กเกจที่นำสัตว์เลี้ยงเข้าได้
<RoomData>
<RoomID>penthouse_suite</RoomID>
<AllowablePackageIDs>
<AllowablePackageID>penthouse_all_inclusive</AllowablePackageID>
<AllowablePackageID>free_breakfast</AllowablePackageID>
</AllowablePackageIDs>
<!-- Additional child elements omitted. -->
</RoomData>
<RoomData>
<RoomID>king_suite</RoomID>
<AllowablePackageIDs>
<AllowablePackageID>king_all_inclusive</AllowablePackageID>
<AllowablePackageID>pet_friendly</AllowablePackageID>
</AllowablePackageIDs>
<!-- Additional child elements omitted. -->
</RoomData>
<PackageData>
<PackageID>penthouse_all_inclusive</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
<PackageID>free_breakfast</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
<PackageID>king_all_inclusive</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
<PackageID>pet_friendly</PackageID>
</PackageData>
สถานการณ์ที่ 3: วิธีควบคุมผลิตภัณฑ์โดยใช้ AllowableRoomIDs
ฉันจะควบคุมผลิตภัณฑ์ (ชุดค่าผสมของประเภทห้องพักและแพ็กเกจ) ได้อย่างไรเมื่อจัดกลุ่มประเภทห้องพักตามแพ็กเกจ
คำอธิบาย
การรวมประเภทห้องพักและแพ็กเกจจะไม่ขายเป็นผลิตภัณฑ์อีกต่อไป หรือคุณต้องการควบคุมสิ่งที่รวมอยู่ในแพ็กเกจใหม่ เช่น คุณต้องการระบุเฉพาะห้องพักบางประเภทที่มีแพ็กเกจเป็นห้องแบบคิงไซส์และเตียงควีนไซส์
โซลูชัน
ส่งข้อความ Transaction ที่อัปเดตแล้วซึ่งระบุผลิตภัณฑ์ที่รวมอยู่ในแพ็กเกจโดยใช้องค์ประกอบ <AllowableRoomIDs>
ตัวอย่าง
ข้อมูลโค้ด XML นี้แสดงวิธีใช้ <AllowableRoomID>
เพื่อระบุห้องพักประเภทคิงไซส์และเตียงควีนไซส์ในแพ็กเกจ
<PackageID>RO</PackageID>
<AllowableRoomIDs>
<AllowableRoomID>king_oceanview</AllowableRoomID>
<AllowableRoomID>queen_oceanview</AllowableRoomID>
</AllowableRoomIDs>