ภาพรวม
ข้อความ ARI Transaction (Property Data) จะกำหนดข้อมูลเกี่ยวกับประเภทห้องพักและแพ็กเกจ (หรือแพ็กเกจราคา) ของที่พักแต่ละแห่ง ข้อมูลประเภทห้องพักแต่ละรายการประกอบด้วยตัวระบุที่ไม่ซ้ำกัน (RoomID) ชื่อที่แปลแล้ว คำอธิบาย และ URL ไปยังรูปภาพห้องพัก
ข้อมูลแพ็กเกจแต่ละรายการจะมีตัวระบุที่ไม่ซ้ำกัน (PackageID) ชื่อ
ที่แปลแล้ว คำอธิบาย จำนวนผู้เข้าพัก และข้อเสนอเพิ่มเติม
คุณใช้ข้อความธุรกรรมเพื่อทำสิ่งต่อไปนี้ได้
- กำหนดข้อมูลสำหรับพร็อพเพอร์ตี้อย่างน้อย 1 รายการ
- กำหนดข้อมูลประเภทห้องพักและแพ็กเกจสำหรับที่พักแต่ละแห่ง
- ควบคุมข้อเสนอผลิตภัณฑ์
นอกจากนี้ คุณยังตั้งค่าการดำเนินการให้ทำสิ่งต่อไปนี้ได้ด้วย
เพิ่มประเภทห้องพักและแพ็กเกจไปยังที่พัก
ได้นำประเภทห้องและแพ็กเกจออกจากที่พัก
เพิ่มคะแนนสะสม ซึ่งเป็นโปรแกรมสะสมคะแนนลงในแพ็กเกจหรือที่พัก
ดูตัวอย่างข้อความธุรกรรมได้ที่ตัวอย่างธุรกรรม (ข้อมูลพร็อพเพอร์ตี้)
องค์ประกอบที่จำเป็นและไม่บังคับ
การอ้างอิง XML จะอธิบายองค์ประกอบที่จำเป็นและที่ไม่บังคับ ดูรายละเอียดเกี่ยวกับ แอตทริบิวต์และองค์ประกอบย่อยได้ที่องค์ประกอบและแอตทริบิวต์ของธุรกรรม (ข้อมูลพร็อพเพอร์ตี้)
ไวยากรณ์และสคีมา
ใช้ไวยากรณ์ธุรกรรม (ข้อมูลพร็อพเพอร์ตี้) ตัวอย่างเป็นข้อมูลอ้างอิงเมื่อสร้างข้อความธุรกรรมเพื่อให้แน่ใจว่า คุณใช้รูปแบบที่ถูกต้อง
คุณสามารถใช้เครื่องมือ XML ของบุคคลที่สาม เช่น xmllint เพื่อตรวจสอบความถูกต้องของฟีดด้วยสคีมาที่เผยแพร่ก่อนส่งไปยัง Google ดูสคีมาข้อความธุรกรรมได้ที่สคีมา Hotel Ads
หลักเกณฑ์
ปฏิบัติตามหลักเกณฑ์ต่อไปนี้สำหรับข้อความธุรกรรม
- การดำเนินการ
delta: ใช้เพื่อเพิ่มหรืออัปเดตประเภทห้องและแพ็กเกจใหม่ (แพ็กเกจราคา)overlay: ใช้เพื่อแทนที่ประเภทห้องพักและแพ็กเกจทั้งหมดสำหรับที่พักด้วยชุดใหม่ ต้องระบุข้อมูลสำหรับห้องพักทุกประเภทและแพ็กเกจราคาที่คุณยังต้องการขาย- ภาษาที่รองรับ
ระบุภาษา 1-2 ภาษา (อังกฤษและภาษาท้องถิ่นสำหรับพร็อพเพอร์ตี้ หากจำเป็น) สำหรับช่องชื่อ คำอธิบาย และคำบรรยายแทนเสียง คุณเพิ่มภาษาได้มากกว่า 2 ภาษาหากต้องการ
- ประเภทห้องพักและแพ็กเกจ
เมื่ออัปเดตประเภทห้องพักหรือแพ็กเกจ คุณต้องส่งข้อมูลที่เกี่ยวข้องทั้งหมดสำหรับประเภทห้องพักหรือแพ็กเกจนั้น เช่น เมื่อเพิ่มรูปภาพ คุณต้องใส่ชื่อและคำอธิบายด้วย
<AllowablePackageIDs>และ<AllowableRoomIDs>เป็นตัวเลือก และหากไม่ได้ตั้งค่าไว้ จะใช้ชุดค่าผสมของประเภทห้องพักและแพ็กเกจราคาใดก็ได้ คุณยังคงต้องส่งความพร้อมให้บริการและราคาพร้อมรหัสประเภทห้องพักและแพ็กเกจราคา องค์ประกอบเหล่านี้ช่วยให้คุณควบคุมผลิตภัณฑ์ รวมถึงปิดใช้งานการผสมผสานที่ระบบไม่รองรับอีกต่อไปได้ส่งข้อมูลอัปเดตข้อความธุรกรรมให้ Google ทุกครั้งที่มีการเปลี่ยนแปลงประเภทห้องพักหรือแพ็กเกจ หรือรายละเอียดสำคัญเกี่ยวกับประเภทห้องพักหรือแพ็กเกจที่ต้องเพิ่ม
- คะแนนสะสม
หากต้องการรวมหรือยกเว้นโปรแกรมสะสมคะแนนในแพ็กเกจ ให้ตั้งค่าการกำหนดค่าคะแนนสะสมกับ Google ซึ่งจะแสดงคะแนนที่ได้รับซึ่ง เชื่อมโยงกับแพ็กเกจนั้น ดูข้อมูลเพิ่มเติมเกี่ยวกับคะแนนสะสม
ใช้องค์ประกอบ
<MilesIncluded>เพื่อกําหนดหรืออัปเดตแคมเปญสะสมคะแนน ดูข้อมูลเพิ่มเติมได้ที่ Transaction(Property Data) คุณสามารถระบุคะแนนสะสมพร้อมกับ<PackageData>ได้
ตัวอย่าง
ส่วนนี้แสดงตัวอย่างพื้นฐานของข้อความธุรกรรม ARI โดยใช้
องค์ประกอบที่จำเป็นและที่ไม่บังคับ หากต้องการเพิ่มหรืออัปเดตประเภทห้องพักและแพ็กเกจ คุณต้องใช้การดำเนินการสำหรับ delta เพื่อเพิ่มหรืออัปเดตประเภทห้องพักและแพ็กเกจ หรือ overlay เพื่อแทนที่คำจำกัดความของประเภทห้องพักและแพ็กเกจทั้งหมด (ลบรายการเก่า)
คุณต้องระบุภาษา 1-2 ภาษา (ภาษาอังกฤษและภาษาท้องถิ่นของ ที่พักหากจำเป็น) สำหรับช่องชื่อ คำอธิบาย และคำบรรยายแทนเสียง จากนั้นเพิ่ม ข้อมูลพร็อพเพอร์ตี้ รวมถึงลิงก์ไปยังรูปภาพ
สำหรับ <PropertyID> และ <RoomID> ให้ใช้รหัสเดียวกันกับที่ใช้ในระบบสำหรับแพ็กเกจราคาและประเภทห้องพัก (ตามลำดับ) ความสอดคล้องกับระบบของคุณเป็นสิ่งสำคัญ
อย่างยิ่งเพื่อให้มั่นใจว่า Google แสดงราคาและข้อมูลของคุณอย่างถูกต้อง
เมื่อเตรียมไฟล์แล้ว คุณต้องส่งไฟล์ไปยัง Google ผ่านข้อความ POST
ไปยังปลายทางต่อไปนี้ https://www.google.com/travel/hotels/uploads/property_data
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีพุช/POST ข้อความได้ที่การพุช ข้อความ
ตัวอย่างต่อไปนี้แสดงวิธีตั้งค่าข้อความธุรกรรมโดยใช้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 เพิ่มประเภทห้องพักและแพ็กเกจไปยังข้อมูลที่พักที่มีอยู่ รวมถึงนำประเภทห้องพักและแพ็กเกจที่มีอยู่ออก ได้ที่ตัวอย่างธุรกรรม (ข้อมูลที่พัก)
วิธีการ
ส่วนนี้จะแสดงวิธีแก้ปัญหาในสถานการณ์ที่คุณอาจพบขณะ ส่งข้อความธุรกรรม
สถานการณ์ที่ 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: วิธีควบคุมผลิตภัณฑ์โดยใช้ AllowablePackageIDs
ฉันจะควบคุมผลิตภัณฑ์ (การผสมผสานระหว่างประเภทห้องพักและแพ็กเกจ) ได้อย่างไรเมื่อจัดกลุ่มแพ็กเกจตามประเภทห้องพัก
คำอธิบาย
คุณมีแพ็กเกจบางอย่างที่ใช้ได้กับบางประเภทห้องพักเท่านั้น ตัวอย่างเช่น หากที่พักมีห้องพัก 4 ประเภท (รวมถึงห้องเพรสซิเดนเชียลสวีท) และแพ็กเกจที่แตกต่างกัน 6 แพ็กเกจ แต่มีเพียงไม่กี่แพ็กเกจเท่านั้นที่มีสิทธิ์สำหรับห้องเพรสซิเดนเชียลสวีท คุณก็ระบุสิทธิ์ได้
โซลูชัน
ส่งข้อความธุรกรรมที่อัปเดตแล้วซึ่งระบุว่ามีผลิตภัณฑ์ใดบ้างรวมอยู่ในแพ็กเกจโดยใช้ <AllowablePackageIDs>
ตัวอย่าง
ข้อมูลโค้ด XML นี้แสดงวิธีใช้ <AllowablePackageIDs> เพื่อระบุแพ็กเกจ
ที่ใช้กับประเภทห้องพักหนึ่งๆ ในที่นี้ ประเภทห้องพัก Penthouse suite อนุญาตเฉพาะแพ็กเกจ Penthouse แบบรวมทุกอย่างหรือแพ็กเกจอาหารเช้าฟรี ในขณะที่ประเภทห้องพัก King suite อนุญาตเฉพาะแพ็กเกจ King แบบรวมทุกอย่างหรือแพ็กเกจต้อนรับสัตว์เลี้ยง
<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
ฉันจะควบคุมผลิตภัณฑ์ (การผสมผสานระหว่างประเภทห้องพักและแพ็กเกจ) ได้อย่างไรเมื่อจัดกลุ่มประเภทห้องพักตามแพ็กเกจ
คำอธิบาย
คุณไม่ได้ขายประเภทห้องพักและแพ็กเกจร่วมกันเป็นผลิตภัณฑ์อีกต่อไป หรือต้องการควบคุมสิ่งที่รวมอยู่ในแพ็กเกจใหม่ เช่น คุณต้องการระบุเฉพาะประเภทห้องพักบางประเภท เช่น ห้องพักแบบคิงและควีนที่มีวิวทะเล พร้อมแพ็กเกจ
โซลูชัน
ส่งข้อความธุรกรรมที่อัปเดตแล้วซึ่งระบุผลิตภัณฑ์ที่รวมอยู่ในแพ็กเกจอย่างชัดเจนโดยใช้องค์ประกอบ <AllowableRoomIDs>
ตัวอย่าง
ข้อมูลโค้ด XML นี้แสดงวิธีใช้ <AllowableRoomID> เพื่อระบุประเภทห้องพักคิงและควีนที่มองเห็นวิวทะเลในแพ็กเกจ
<PackageID>RO</PackageID>
<AllowableRoomIDs>
<AllowableRoomID>king_oceanview</AllowableRoomID>
<AllowableRoomID>queen_oceanview</AllowableRoomID>
</AllowableRoomIDs>