交易 (資源資料) 訊息

總覽

ARI 交易 (資源資料) 訊息會定義各項 房源的房型和套裝行程 (或房價方案)。每種房型的資料包括 專屬 ID (RoomID)、本地化名稱、說明和客房網址 相簿。每個套件資料都包含一個經過本地化的專屬 ID (PackageID) 名稱、說明、可住人數和附加價值

您可以使用交易訊息執行下列操作:

  • 定義一或多個資源的資料。
  • 定義每個房源的客房類型和套件資訊。
  • 控管產品項目。

此外,您也可以設定下列動作:

  • 請在房源中新增客房類型和套件。

  • 請從房源中移除房型和套裝方案。

如需交易訊息範例,請參閱「交易 (資源資料)」一文 範例

必要和選用元素

XML 參考資料 提供必要和選用元素的說明。如要進一步瞭解屬性和子元素,請參閱「交易 (資源資料) 元素和屬性」。

語法和結構定義

使用「交易 (資源資料)」 語法 建立交易訊息 您使用了正確的格式。

您可以使用 xmllint 等第三方 XML 工具,使用 已公開的結構定義,再提交給 Google針對交易 訊息結構定義,請參閱「飯店廣告」一文 結構定義

指南規範

建立交易訊息時應遵循下列規範:

行動:

delta:用於新增或更新新的房型和套裝方案 (費率方案)。

overlay:用於將房源的所有房型和套裝行程替換為新組合。必須提供所有房型和費率方案的資訊 你要銷售不合適的內容

支援的語言:

在「名稱」、「說明」和「標題」欄位中,指定一或兩種語言 (英文,以及必要時的房源當地語言)。你可以新增更多 只需使用兩種語言

房型和套裝方案:

更新房型或包裹時,請務必傳送所有相關 該房型或套件的資訊舉例來說,新增相片時,您必須一併提供名稱和說明。

<AllowablePackageIDs><AllowableRoomIDs> 是選用項目。如果不設定, 可建立房型和房價方案的組合。您還是必須 透過房型和房價方案 ID 傳送供應情形和房價。這些 元素可讓您控制產品,並停用 系統不再支援。

每當房間有異動時,傳送交易更新訊息給 Google 類型或包裹,或是有關房型或套裝行程的重要詳細資料 。

,瞭解如何調查及移除這項存取權。

範例

本節提供使用以下語法的 ARI 交易訊息基本範例: 必要和自選元素如要新增或更新房型和套裝行程,請使用 delta 的動作來新增或更新房型和套裝行程,或是使用 overlay 來取代所有房型和套裝行程定義 (刪除舊的項目)。

您必須指定一到兩種語言 (英文和 屬性)。然後 資源資料,包括照片連結。

針對 <PropertyID><RoomID>,請使用與您系統中相同的 ID 即可分別套用費率方案和房型。系統的一致性是 必須確保 Google 能正確顯示價格和資料

檔案準備完成後,您必須透過 POST 訊息將檔案傳送給 Google 附加至以下端點: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:如何移除房型資料

如何移除現有的房型和/或包裹資料?

說明

你傳送了多種類型的房間,包括國王和皇后的房間 資源。重新裝修期間,所有皇后區的房型皆不提供服務 目前可選擇房型。

解決方案

  • 你不必更新 已移除或停用的客房類型和套件 ID。
  • 如果房型或套件遭到移除或停用,請傳送新的 含有 action="overlay" 且只包含聊天室的交易訊息 仍有效的類型和套件,並排除已移除的房型類型 或套件

範例

以下 XML 程式碼片段顯示如何使用 overlay 動作移除房型。

以下是包含 King 和 Queen 房型的原始 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 來移除 Queen 房型,並保留 King 房型:

  <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 控管產品

當套裝方案依房型分組時,如何控制產品 (房型和套裝方案的組合)?

說明

部分套裝方案僅適用於特定房型。適用對象 舉例來說,如果你的房源有四種房型 (包括總統套房), 和六種不同的套件,但只有少數 也可以指定總統大選資格

解決方案

傳送更新後的交易訊息,指定要納入哪些產品 在套件中使用 <AllowablePackageIDs>

範例

這個 XML 程式碼片段顯示如何使用 <AllowablePackageIDs> 指定與特定房型搭配使用的套裝方案。這裡的 Penthouse 套房客房類型只允許 頂樓的全包式全包式套裝行程,或免費的早餐套件 特大套房類型只允許 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:如何使用 allowableRoomID 控管產品

當房型以套裝方案分組時,如何控制產品 (房型和套裝方案的組合)?

說明

房型和套裝組合組合已不再做為產品銷售或你想使用的 來控管新套件內含的項目例如,您想在套裝行程中指定特定房型,例如海景大床房和大床房。

解決方案

傳送更新後的交易訊息,使用 <AllowableRoomIDs> 元素指定套件內含的確切產品。

範例

這個 XML 程式碼片段顯示如何使用 <AllowableRoomID> 指定 Seaview King 和 Queen 型客房類型

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