會議室組合

「套裝組合」可讓您為單一房源定義多個房型,或結合房價功能 (含有費率和特價的額外服務) 和標準價格以外的使用者行程。

重要概念與工作流程

使用 Room 套裝組合時,您可以提供不同服務套件的額外實體類型組合。

下圖顯示 Room 套裝組合範例:

在這個範例中,第一個套裝組合是基本客房,僅有一位成人入住折扣。第二種客房是一種不同的房型,最多可有三位成人入住。第三個屬性是同一個資源中的另一個房型。第四個是基礎客房的「付費」套件,當中可能包含免費早餐或稍後結帳等設施。

下圖顯示費率功能範例:

在搜尋結果中顯示 Room Bundle 和費率功能,取決於與標準房型費率相同的選取程序。

房型套裝組合

您可以在交易訊息中定義 Room 套裝組合和費率功能。交易訊息的根元素為 <Transaction>

交易訊息的結構取決於您採取的行動:定義 Room Bundle 或費率功能的中繼資料,或是更新 Room Bundle 的價格或供應情形。

Metadata
<PropertyDataSet> 元素中,使用 <PackageData> 定義 Room Bundle 和費率功能中繼資料。詳情請參閱定義會議室和套件中繼資料。Room 套裝組合會使用現有的 <RoomData> 元素做為實體會議室說明。
價格與空房資訊
使用 <Result><RoomBundle> 元素,為每個套件/行程組合定義 Room 套裝組合價格和空房資訊。詳情請參閱「定義價格與供應情形」。

如果將 <Result> 與 Room Bundle 搭配使用時,基礎客房的房價、稅金和其他費用均為最低費用,即可與 Room 套裝組合搭配使用時移除。如要使用即時帳戶實作 Room Bundle,請按照下列步驟操作:

  1. <Result> 下方提供基本房價、稅金和其他費用,還能新增一個符合基本房型套裝組合的 Room 套裝組合。

  2. 如有需要,您可以在同一個 <Result> 區塊中,為該屬性或不同套件的其他房間類型定義其他 Room 套裝組合。

  3. 啟動 Room Bundle 後,請移除基本客房的房價、稅金和其他費用。

房型套裝組合中繼資料

定義 Room Bundle 和費率功能時,通常會定義說明、該費率的額外服務,以及有關房型套裝組合的其他資訊。這些資訊稱為 Room Bundle 中繼資料。接著,您可以在價格更新中參照這個中繼資料,但不要在價格更新訊息中加入這類中繼資料。

定義 Room Bundle 時,請使用實體 <RoomData> 元素做為實體客房說明,以及使用 <PackageData> 元素做為房價功能和不屬於實體房間說明的字詞。

使用 <RoomData><PackageData> 元素可能會大幅減少飯店清單和飯店價格動態饋給的大小,因為這樣可以減少交易訊息中傳送的重複資料量。

舉例來說,每項行程的資料 (例如房間名稱和說明) 通常會重複。您可以使用 <RoomData><PackageData> 元素定義這類資料。接著,該行程專用的 Room Bundle 資料會與儲存的會議室和套件定義合併,以向使用者顯示。

Google 會將您的中繼資料與行程專屬資料進行比對,以呈現廣告內容。有一個特殊處理,可以結合 <RoomData><PackageData> 元素的名稱和說明,讓實體空間在 <RoomData> 中描述,並在 <PackageData> 中將功能與套件詳細資料評分。

如果您針對單一客房或 Room 套裝組合分別定義客房資料和套件資料,Google 會在廣告輸出內容中加入這兩個資料,並以連字號分隔。

相片指南

傳送房間相片時,請遵循下列準則,確保使用者能看見相片:

  • 針對每種房型傳送相片,包括有無障礙空間的相片,例如,上面有不同浴室裝飾的無障礙客房 (如滾動式淋浴)。

  • 請提供至少 4 張房間相片,以及至少一張洗手台的相片。

  • 相片應是房間本身,而非房源。最重要的相片包括床鋪、整個房間、浴室、客廳和房間內的檢視畫面 (相片中其他房間的房間),還有陽台、露台或露台 (如適用)。

    拍攝辦公桌、廚房、咖啡/茶機和不同房間功能的相片也很有幫助。

  • 避免使用人物和房源 (例如外觀或財產設施),例如觀光/觀光和美食。

  • 避免使用特寫鏡頭,例如軟體的特寫鏡頭。

  • 避免宣傳品牌和品牌,但相片或品牌盥洗用品可納入拍攝整個浴室區域的相片。相片不應含有大量文字、標誌或浮水印區塊。

  • 提供標準橫向 (橫向) 相片的視野,並避免使用魚眼和變形相片。拍攝解析度最高的相片,以提升排名。您不必用不同解析度提交同一張相片。

資料優先順序

系統會從所有來源收集 Room Bundle 資料,並使用優先順序規則產生特定飯店、行程和 Room Bundle 的最終資料。排序方式如下 (由高到低):

  1. (最低) 合作夥伴資料
  2. 資源資料
  3. <RoomData>,其中 <RoomID><RoomBundle> 區塊中的 <RoomID> 相符
  4. <PackageData>,其中 <PackageID><RoomBundle> 區塊中的 <PackageID> 相符
  5. (最高) <RoomBundle>

定義價格和供應情形

如要定義 Room Bundle 價格和供應情形,請在每個套件或行程組合的交易訊息中使用 <RoomBundle> 元素。<RoomBundle> 元素應該位於 <Result> 元素中。以下顯示兩個 <RoomBundle> 元素的程式碼範例。請注意,在本例中,這兩個 <RoomBundle> 元素都會使用 <RoomID><PackageID> 參照會議室和套件中繼資料。

在每個 <Result> 中,包含的 Room Bundle 會覆寫該屬性或行程組合的現有組合。如果您未在 <Result> 元素中定義任何房型套裝組合或費率功能,系統會移除所有 Room 套裝組合,而且只有該飯店或行程的基本客房才會顯示在搜尋結果中。

請務必使用 <Name> 等元素,讓 Room 套裝組合更吸引潛在客戶,且符合飯店的到達網頁。在這個範例中,您將在中繼資料內定義名稱和其他描述性資訊。

<RatePlanID> 是選用項目,代表會議室和套件組合的專屬 ID。強烈建議您使用 RatePlanID 做為變數,建立動態到達網頁 (舊稱銷售點) 網址。詳情請參閱使用變數和條件

Room 套裝組合中的下列元素為選用元素:

<Baserate>
<Tax>
<OtherFees>
<RoomID>
<PackageID>
<Occupancy>
<OccupancyDetails>

在即時帳戶中實作 Room Bundle 後,請在啟用 Room Bundle 後移除 <Baserate>

<Result>
  <!-- Note: When using Room Bundles, the top level result price is no
       longer necessary. -->
  <Property>180054</Property>
  <Checkin>2017-10-07</Checkin>
  <Nights>2</Nights>
  <!-- Base Room Bundle -->
  <RoomBundle>
    <RoomID>060773</RoomID>
    <PackageID>P54321</PackageID>
    <Baserate currency="USD">199.99</Baserate>
    <Tax currency="USD">25.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
    <!-- RatePlanID is optional and represents the unique identifier for a
    room and package data combination. We strongly recommend using RatePlanID
    as a variable to build your dynamic landing page (formerly Point of Sale)
    URL. For details, see Using Variables and Conditions. -->
    <RatePlanID>060773-P54321</RatePlanID>
  </RoomBundle>
  <!-- Premium Room Bundle -->
  <RoomBundle>
    <RoomID>436233</RoomID>
    <PackageID>P12345</PackageID>
    <!-- Price for 4 ("occupancy") -->
    <Baserate currency="USD">298.88</Baserate>
    <Tax currency="USD">42.12</Tax>
    <OtherFees currency="USD">10.00</OtherFees>
    <RatePlanID>436233-P12345</RatePlanID>
  </RoomBundle>
</Result>

定義會議室和套件中繼資料

如要定義 Room Bundle 中繼資料,請在交易訊息的 <PropertyDataSet> 元素內使用 <PackageData><RoomData> 元素。

您可以在交易訊息中定義 Room 與套件中繼資料,這對定價和供應情形資料是獨立的。藉由事先定義這項資料,您的定價更新就不需要包含每趟行程的每個行程或每組會議室或套件的重複說明、相片網址、設施和其他資料。

Google 會為您儲存中繼資料,並在顯示時插入中繼資料。您隨時可以透過新的交易訊息更新客房和套件中繼資料。

在交易訊息中,您可以在每個區塊的 <Result> 區塊中,設定一個套件 ID 和客房 ID。

如果會議室和套件資料有所變更 (例如在屬性中新增 Room 類型,請傳送含有新會議室和套件資料的新交易訊息),Google 會以新資料取代會議室或套件的現有中繼資料。

Google 建議您在初始設定期間定義中繼資料。定義中繼資料後,您只需在定價更新中參照 <RoomID><PackageID> 值,而不是再次加入所有相關資訊。Google 會使用這些 ID 來比對客房和 Room 套裝組合與已儲存的中繼資料。這可以大幅減少交易訊息的整體大小。

客房或行程組合的價格比房間或套件說明要變更的頻率高出許多,因此只需定義一次中繼資料,並直接將其參照,就能更有效率地使用交易訊息。此外,您也可以使用中繼資料來排除不相符的聊天室說明等錯誤,而非以內嵌方式定義資料。

定義中繼資料和價格時,最建議且最有效率的方法如下所示:

<!-- Efficient method of defining Room Bundles -->
<!----- Occupancy of 2 and 4 example ------>

<Transaction timestamp="2019-04-18T16:20:00-04:00" id="12345678">
  <!-- Part1: Define RoomData and PackageData in PropertyDataSet -->
  <!-- Note: Once defined it does not have to be repeated for future Transaction Messages. -->
  <!--       PropertyDataSets can also be defined and sent in their own Transaction Message -->
  <!--       separately from pricing. Google can be configured to pull just PropertyDataSets -->
  <!--       once per day (or on a predefined frequency). -->
  <PropertyDataSet>
    <Property>180054</Property>
    <!-- Can be reused by multiple Room Bundles -->
    <RoomData>
      <RoomID>060773</RoomID>
      <Name>
        <Text text="Single Queen Room - Non-Smoking" language="en"/>
        <Text text="Chambre de la Roi Premium - Pas de Fumeurs" language="fr"/>
      </Name>
      <!-- Room can accommodate 4, but bundle is for 2 -->
      <Capacity>4</Capacity>
      <PhotoURL>
        <URL>http://www.foo.com/static/bar/imageQueen.jpg</URL>
        <Caption>
          <Text text="A bright and breezy way to enjoy your mornin'
            cuppa tea." language="en"/>
          <Text text="Une façon lumineuse et aérée pour profiter
            de votre journée tasse de thé." language="fr"/>
        </Caption>
      </PhotoURL>
    </RoomData>
    <RoomData>
      <RoomID>436233</RoomID>
      <Name>
        <Text text="Premium King Room - Non-Smoking" language="en"/>
        <Text text="Chambre de le Roi Premium - Pas de Fumeurs" language="fr"/>
      </Name>
      <!-- Room can accommodate 4 and bundle is for 4 -->
      <Capacity>4</Capacity>
      <PhotoURL>
        <URL>http://www.foo.com/static/bar/imageKing.jpg</URL>
        <Caption>
          <Text text="A bright and breezy way to enjoy your mornin'
            cuppa tea." language="en"/>
          <Text text="Une façon lumineuse et aérée pour profiter
            de votre journée tasse de thé." language="fr"/>
        </Caption>
      </PhotoURL>
    </RoomData>
    <!-- Can be reused by multiple Room Bundles -->
    <PackageData>
      <PackageID>P54321</PackageID>
      <Occupancy>2</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="1" refundable_until_days="7"
           refundable_until_time="18:00:00"/>
      <ParkingIncluded>1</ParkingIncluded>
      <InternetIncluded>1</InternetIncluded>
    </PackageData>
    <PackageData>
      <PackageID>P12345</PackageID>
      <Occupancy>4</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="1" refundable_until_days="1"
           refundable_until_time="18:00:00"/>
      <BreakfastIncluded/>
      <ParkingIncluded>1</ParkingIncluded>
      <InternetIncluded>1</InternetIncluded>
    </PackageData>
  </PropertyDataSet>

    <!-- Efficient method of defining Room Bundles -->
    <!-- Part 2: Reference RoomData and PackageData through ID -->
  <Result>
    <Property>180054</Property>
    <Checkin>2017-10-07</Checkin>
    <Nights>2</Nights>

    <!-- Base Room Bundle -->
    <RoomBundle>
      <RoomID>060773</RoomID>
      <PackageID>P54321</PackageID>
      <Baserate currency="USD">199.99</Baserate>
      <Tax currency="USD">25.12</Tax>
      <OtherFees currency="USD">2.00</OtherFees>
      <!-- RatePlanID is optional and represents the unique identifier for a
      room and package data combination. We strongly recommend using RatePlanID
      as a variable to build your dynamic landing page (formerly Point of Sale)
      URL. For details, see Using Variables and Conditions. -->
      <RatePlanID>060773-P54321</RatePlanID>
    </RoomBundle>
    <!-- Premium Room Bundle -->
    <RoomBundle>
      <RoomID>436233</RoomID>
      <PackageID>P12345</PackageID>
      <!-- Price for 4 ("occupancy") -->
      <Baserate currency="USD">298.88</Baserate>
      <Tax currency="USD">42.12</Tax>
      <OtherFees currency="USD">10.00</OtherFees>
      <RatePlanID>060773-P12345</RatePlanID>
    </RoomBundle>
    <!-- Continue providing all available RoomBundle rates under matched
         property for any other occupancies -->
  </Result>
</Transaction>

可住人數和入住人數

定義 Room Bundle 時,您必須瞭解可住人數容量之間的差異:

人員偵測狀態
Room 要套用的邀請對像人數。舉例來說,「Honeymoon 套件」的可住人數為兩個。您可以使用 <PackageData><RoomBundle> 元素的 <Occupancy> 子項元素,設定套件座位佔用率。
運算能力
會議室可容納的人數上限。會議室的容量一律等於或高於入座率。舉例來說,飯店的「Honeymoon Suite」人數上限為六人,但您可以為兩名房客購買套裝組合。您可以使用 <RoomData> 元素的 <Capacity> 子元素來設定套件的容量值。

設定 Room Bundle 價格時,您必須針對組合預計的房客人數提供價格 (套裝組合的 <Occupancy> 元素中指定的值)。如果將 <Occupancy> 設為兩個,則該套件中的價格必須適用於兩個人。您無法將 <Occupancy> 設為四個邀請對象,並將兩人的價格設為套裝組合的價格。

共用房間

你也可以透過房型套裝組合中的入座率和入住數來設定共用住宿費用 (例如青年旅館)。舉例來說,如果想為擁有 8 張床的宿舍房入住每人價格,請將入座率設為 1,並將容量設為 8,然後在 <RoomData> 名稱中加以識別。查看範例

更新 Room 套裝組合

本節說明如何移除不再使用的 Room Bundle,以及如何更新現有 Room 套裝組合的價格。

移除房型套裝組合

Room 套裝組合與飯店價格不同,移除方法會有所不同。

如要從商品目錄中移除會議室或行程組合,請將 <Result> 元素的 <Baserate> 設為 -1。如要移除特定客房或行程的 Room Bundle,請從交易訊息的 <Result> 區塊中移除 <RoomBundle> 元素。

系統會將資料動態饋給中的 Room Bundle 視為一組,0 到 1 之間的數字。傳送 Room Bundle 給 Google 時,您將傳送目前的完整組合。您無法變更個別 Room Bundle 的值,將先前可用的無法使用的項目標示為無法使用。最近期的交易交易訊息中會有任何組合會取代目前的組合。

例如套裝組合 A、B、C 和 D 的組合。您首先會傳送定義 A、B、C 和 D 房間組合的訊息。後,如果 B 方案售罄,您將只傳送 A、C 和 D 套件的完整組合。如果所有 Room 套裝組合均已售出,請傳送一組空白的房型套裝組合。

價格調整

如要變更 Room 套裝組合的價格,請在 <Result> 元素中設定新的 <Baserate>

每次更新交易訊息中的會議室/行程 <Result> 區塊時,您必須為每個 <Result> 加入一組完整的 Room Bundle。Google 會以新的集合取代現有的 Room 套裝組合。如果您未在 <Result> 中加入任何 Room 套件,則 Google 會移除該會議室或行程的所有 Room 套裝組合。

中繼資料更新

您更新了 Room Bundle 中繼資料,藉此回應 Google 的回應 <Query>

您會使用交易訊息回應查詢訊息,其中包含特定飯店的會議室和套件中繼資料。詳情請參閱「查詢訊息」