ข้อความ Transaction (Property Data)

ภาพรวม

ข้อความ Transaction (Property Data) ของ ARI จะกำหนดข้อมูลเกี่ยวกับประเภทห้องพักและแพ็กเกจ (หรือแพ็กเกจราคา) ของที่พักแต่ละแห่ง ข้อมูลประเภทห้องพักแต่ละประเภทประกอบด้วยตัวระบุที่ไม่ซ้ำกัน (RoomID), ชื่อที่แปลแล้ว, คําอธิบาย และ URL ไปยังรูปภาพของห้องพัก ข้อมูลแพ็กเกจแต่ละรายการจะมีตัวระบุที่ไม่ซ้ำกัน (PackageID) ชื่อที่แปลแล้ว คำอธิบาย อัตราการเข้าพัก และบริการเสริม

คุณใช้ข้อความธุรกรรมเพื่อทำสิ่งต่อไปนี้ได้

  • กําหนดข้อมูลสําหรับพร็อพเพอร์ตี้อย่างน้อย 1 รายการ
  • กำหนดข้อมูลประเภทห้องพักและแพ็กเกจสำหรับที่พักแต่ละแห่ง
  • ควบคุมข้อเสนอผลิตภัณฑ์

นอกจากนี้ คุณยังตั้งค่าการดำเนินการเพื่อดำเนินการต่อไปนี้ได้ด้วย

  • เพิ่มประเภทห้องพักและแพ็กเกจลงในที่พัก

  • นำประเภทห้องและแพ็กเกจออกจากที่พัก

  • เพิ่มคะแนนสะสม ซึ่งเป็นโปรแกรมสะสมคะแนนลงในแพ็กเกจหรือที่พัก

ดูตัวอย่างข้อความธุรกรรมได้ที่ตัวอย่าง Transaction (Property Data)

องค์ประกอบที่จำเป็นและไม่บังคับ

ข้อมูลอ้างอิง XML มีคำอธิบายองค์ประกอบที่จำเป็นและที่ไม่บังคับ โปรดดูรายละเอียดเกี่ยวกับแอตทริบิวต์และองค์ประกอบย่อยที่หัวข้อองค์ประกอบและแอตทริบิวต์ Transaction (Property Data)

ไวยากรณ์และสคีมา

ใช้ตัวอย่างรูปแบบคำสั่ง Transaction (Property Data) เป็นข้อมูลอ้างอิงเมื่อสร้างข้อความ Transaction เพื่อให้แน่ใจว่าคุณใช้รูปแบบที่ถูกต้อง

คุณสามารถใช้เครื่องมือ XML ของบุคคลที่สาม เช่น xmllint เพื่อตรวจสอบฟีดกับสคีมาที่เผยแพร่แล้วก่อนส่งไปยัง Google สําหรับสคีมาข้อความธุรกรรม โปรดดูสคีมา Hotel Ads

หลักเกณฑ์

ใช้หลักเกณฑ์ต่อไปนี้สำหรับข้อความธุรกรรม

การดำเนินการ

delta: ใช้เพื่อเพิ่มหรืออัปเดตประเภทห้องพักและแพ็กเกจใหม่ (แพ็กเกจราคา)

overlay: ใช้เพื่อแทนที่ประเภทห้องพักและแพ็กเกจทั้งหมดของที่พักด้วยชุดใหม่ ต้องระบุข้อมูลสำหรับห้องพักทุกประเภทและแพ็กเกจราคาที่คุณยังต้องการขาย

ภาษาที่รองรับ

ระบุภาษา 1-2 ภาษา (ภาษาอังกฤษและภาษาท้องถิ่นของที่พัก หากจำเป็น) สำหรับช่องชื่อ คำอธิบาย และคำบรรยาย คุณเพิ่มภาษาได้มากกว่า 2 ภาษาหากต้องการ

ประเภทห้องพักและแพ็กเกจ

เมื่ออัปเดตประเภทห้องพักหรือแพ็กเกจ คุณต้องส่งข้อมูลที่เกี่ยวข้องทั้งหมดสำหรับประเภทห้องพักหรือแพ็กเกจนั้น ตัวอย่างเช่น เมื่อเพิ่มรูปภาพ คุณต้องใส่ชื่อและคำอธิบายด้วย

<AllowablePackageIDs> และ <AllowableRoomIDs> เป็นตัวเลือกที่ไม่บังคับ และหากไม่ได้ตั้งค่าไว้ ระบบจะสร้างชุดค่าผสมของประเภทห้องพักและแพ็กเกจราคาได้ คุณยังคงต้องส่งความพร้อมให้บริการและราคาพร้อมรหัสประเภทห้องพักและรหัสแพ็กเกจราคา องค์ประกอบเหล่านี้ช่วยให้คุณควบคุมผลิตภัณฑ์ รวมถึงปิดใช้งานชุดค่าผสมที่ระบบไม่รองรับอีกต่อไปได้

ส่งการอัปเดตข้อความ Transaction ไปยัง Google เมื่อใดก็ตามที่มีการเปลี่ยนแปลงประเภทห้องพักหรือแพ็กเกจ หรือมีรายละเอียดสำคัญเกี่ยวกับประเภทห้องพักหรือแพ็กเกจที่ต้องเพิ่ม

คะแนนสะสม

หากต้องการรวมหรือยกเว้นโปรแกรมสะสมคะแนนไว้ในแพ็กเกจ ให้ตั้งค่าการกําหนดค่าคะแนนสะสมกับ Google ซึ่งจะแสดงคะแนนที่ได้รับซึ่งเชื่อมโยงกับแพ็กเกจนั้น ดูข้อมูลเพิ่มเติมเกี่ยวกับคะแนนสะสม

ใช้องค์ประกอบ <MilesIncluded> เพื่อกำหนดหรืออัปเดตแคมเปญสะสมคะแนน ดูข้อมูลเพิ่มเติมได้ที่ Transaction(Property Data) คะแนนสะสมสามารถรวมอยู่กับ <PackageData> ได้

ตัวอย่าง

ส่วนนี้แสดงตัวอย่างพื้นฐานของข้อความ Transaction ของ ARI โดยใช้องค์ประกอบที่ต้องระบุและองค์ประกอบที่ไม่บังคับ หากต้องการเพิ่มหรืออัปเดตประเภทห้องพักและแพ็กเกจ ให้ใช้การดำเนินการสำหรับ delta เพื่อเพิ่มหรืออัปเดตประเภทห้องพักและแพ็กเกจ หรือ overlay เพื่อแทนที่การกําหนดประเภทห้องพักและแพ็กเกจทั้งหมด (ลบรายการเก่า)

คุณต้องระบุภาษา 1-2 ภาษา (ภาษาอังกฤษและภาษาท้องถิ่นของพร็อพเพอร์ตี้ หากจำเป็น) สำหรับช่องชื่อ คำอธิบาย และคำบรรยายแทนเสียง จากนั้นเพิ่มข้อมูลที่พัก รวมถึงลิงก์ไปยังรูปภาพ

สำหรับ <PropertyID> และ <RoomID> ให้ใช้รหัสเดียวกับที่คุณใช้ในระบบสำหรับแพ็กเกจราคาและประเภทห้องพัก (ตามลำดับ) ความสอดคล้องกับระบบของคุณเป็นสิ่งสำคัญอย่างยิ่งเพื่อให้มั่นใจว่า Google แสดงราคาและข้อมูลของคุณอย่างถูกต้อง

เมื่อเตรียมไฟล์แล้ว คุณต้องส่งไฟล์ไปยัง Google ผ่านข้อความ POST ไปยังปลายทาง https://www.google.com/travel/hotels/uploads/property_data

ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธี Push/POST ข้อความได้ที่การ Push/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 การเพิ่มประเภทห้องพักและแพ็กเกจลงในข้อมูลที่พักที่มีอยู่ และการนำประเภทห้องพักและแพ็กเกจที่มีอยู่ออกได้ที่ตัวอย่าง Transaction (ข้อมูลที่พัก)

วิธีการ

ส่วนนี้จะแสดงวิธีแก้ปัญหาสำหรับสถานการณ์ที่คุณอาจพบขณะส่งข้อความธุรกรรม

สถานการณ์ 1: วิธีนำข้อมูลประเภทห้องพักออก

ฉันจะนำข้อมูลประเภทห้องพักและ/หรือแพ็กเกจที่มีอยู่ออกได้อย่างไร

คำอธิบาย

คุณได้ส่งข้อมูลห้องพักหลายประเภทสำหรับที่พัก ซึ่งรวมถึงห้องพักขนาดคิงไซส์และควีนไซส์ ห้องพักทุกประเภทที่มีเตียงควีนจะใช้งานไม่ได้ในระหว่างการปรับปรุง และขณะนี้มีให้บริการเฉพาะห้องพักประเภทที่มีเตียงคิงเท่านั้น

โซลูชัน

  • คุณไม่จำเป็นต้องอัปเดตห้องว่าง ราคา หรือห้องว่างสำหรับคืนของประเภทห้องพักและรหัสแพ็กเกจที่นําออกหรือปิดใช้งานแล้ว
  • หากนำประเภทห้องพักหรือแพ็กเกจออกหรือปิดใช้งานแล้ว ให้ส่งข้อความธุรกรรมใหม่ที่มี action="overlay" ซึ่งจะรวมเฉพาะประเภทห้องพักและแพ็กเกจที่ยังคงใช้งานอยู่ โดยไม่รวมประเภทห้องพักหรือแพ็กเกจที่ถูกนำออก

ตัวอย่าง

ข้อมูลโค้ด XML นี้แสดงวิธีใช้การดำเนินการ overlay เพื่อนำประเภทห้องพักออก

การดำเนินการ delta เดิมซึ่งมีประเภทห้องพัก King และ Queen มีดังนี้

  <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 รายการ แต่มีเพียงไม่กี่แพ็กเกจที่มีสิทธิ์ใช้ห้องชุดประธานาธิบดี คุณสามารถระบุสิทธิ์ได้

โซลูชัน

ส่งข้อความ 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

ฉันจะควบคุมผลิตภัณฑ์ (การรวมประเภทห้องพักและแพ็กเกจ) ได้อย่างไรเมื่อจัดกลุ่มประเภทห้องพักตามแพ็กเกจ

คำอธิบาย

ไม่ได้ขายชุดค่าผสมของห้องพักและแพ็กเกจเป็นผลิตภัณฑ์อีกต่อไป หรือคุณต้องการควบคุมสิ่งที่รวมอยู่ในแพ็กเกจใหม่ เช่น คุณต้องการระบุเฉพาะห้องพักบางประเภท เช่น ห้องพัก King และ Queen ที่มองเห็นวิวทะเล กับแพ็กเกจ

โซลูชัน

ส่งข้อความธุรกรรมที่อัปเดตซึ่งระบุผลิตภัณฑ์ที่รวมอยู่ในแพ็กเกจโดยใช้องค์ประกอบ <AllowableRoomIDs>

ตัวอย่าง

ข้อมูลโค้ด XML นี้แสดงวิธีใช้ <AllowableRoomID> เพื่อระบุประเภทห้องพักแบบ King และ Queen ที่สามารถมองเห็นวิวทะเลในแพ็กเกจ

<PackageID>RO</PackageID>
<AllowableRoomIDs>
  <AllowableRoomID>king_oceanview</AllowableRoomID>
  <AllowableRoomID>queen_oceanview</AllowableRoomID>
</AllowableRoomIDs>