Trang tham khảo XML về Danh sách khách sạn

Danh sách khách sạn là một hoặc nhiều tệp XML liệt kê tất cả các khách sạn mà bạn cần cung cấp thông tin về giá. Bản thân tệp danh sách khách sạn không chứa thông tin về giá.

Phần tử gốc của danh sách khách sạn là phần tử <listings> chứa các phần tử <listing> mô tả các cơ sở lưu trú của bạn.

Bạn tạo một danh sách khách sạn trong quá trình triển khai ban đầu, sau đó thêm hoặc xoá khách sạn khỏi danh sách đó trong quá trình bảo trì định kỳ.

Đảm bảo tệp của bạn tuân thủ nguyên tắc về cú pháp. Ví dụ: sử dụng phương thức mã hoá UTF-8 và chỉ định giản đồ mã hoá này bằng cách thêm thuộc tính encoding vào thẻ XML.

Sau khi tạo một danh sách khách sạn, bạn có thể tải danh sách đó lên Google theo cách thủ công bằng Hotel Center hoặc lưu trữ danh sách đó trên máy chủ.

Tìm và khắc phục vấn đề về dữ liệu

Để tìm và khắc phục các vấn đề về dữ liệu trong danh sách khách sạn, hãy tham khảo các bài viết sau:

Yêu cầu đối với trang thông tin

Để đủ điều kiện sử dụng Google Quảng cáo khách sạn, cơ sở lưu trú trong danh sách khách sạn phải có:

  • Các phòng mà khách trả tiền có thể lưu trú
  • Vị trí thực tế và vị trí cố định đang mở cửa cho công chúng
  • Tường cố định và hệ thống ống nước
  • Thời gian lưu trú không quá 7 ngày

Các ví dụ thường gặp về cơ sở lưu trú không đủ điều kiện bao gồm du thuyền và căn hộ vì những cơ sở này thường không đáp ứng tiêu chí Listing requirements.

Nhà cắm trại và những cơ sở cắm trại khác có tường cố định, hệ thống ống nước và thiết bị điều hoà nhiệt độ (bao gồm cả bếp củi hoặc máy sưởi khí propan) đủ điều kiện. Những cơ sở lưu trú ngoài trời không đủ điều kiện bao gồm:

  • Khu cắm trại có lều để khách lưu trú
  • Khu vui chơi giải trí có khách mang xe RV riêng

<listings>

<listings> là phần tử gốc của danh sách khách sạn, chứa phần tử <language> và ít nhất một phần tử <listing>.

Phần tử <listings> xuất hiện ở vị trí sau đây trong hệ thống phân cấp XML của danh sách khách sạn:

+ <listings>
    + <language>
    + <datum>
    + <listing>

Cú pháp

Phần tử <listings> sử dụng cú pháp sau:

<?xml version="1.0" encoding="UTF-8"?>
<listings xmlns:xsi="xsi"
    xsi:noNamespaceSchemaLocation="schema_xsd">
  <language> language_code</language>
  <datum> datum_code </datum>
  <listing> listing</listing>
  ...
</listings>

Thuộc tính

Phần tử <listings> có các thuộc tính như sau:

Thuộc tính Bắt buộc? Nội dung mô tả
xmlns:xsi Bắt buộc Đặt thành http://www.w3.org/2001/XMLSchema-instance.
xsi:noNamespaceSchemaLocation Bắt buộc Đặt thành http://www.gstatic.com/localfeed/local_feed.xsd.

Phần tử con

Phần tử <listings> có các phần tử con như sau:

Phần tử con Bắt buộc? Loại Nội dung mô tả
<language> Required string Ngôn ngữ dùng để viết nguồn cấp dữ liệu của bạn. Đặt giá trị của phần tử này thành mã ngôn ngữ gồm hai chữ cái. Ví dụ: en cho tiếng Anh.
<datum> Optional enum Phần tử này chỉ định dữ liệu địa lý hoặc mô hình tham chiếu cho các toạ độ vĩ độ/kinh độ được cung cấp trong nguồn cấp dữ liệu. Nếu bạn không cung cấp giá trị dữ liệu, thì giá trị mặc định của phần tử này sẽ là WGS84. Giá trị này được hầu hết các thiết bị GPS hiện đại sử dụng. Dữ liệu đo lường Tokyo chỉ áp dụng cho các địa chỉ ở Nhật Bản.

Các giá trị hợp lệ cho phần tử này là:

  • WGS84
  • wgs84
  • TOKYO
  • tokyo
Lưu ý: Để sử dụng giá trị mặc định của WGS84, đừng thêm phần tử <datum> vào danh sách khách sạn.
<listing> Required <listing> Một hoặc nhiều mục nhập mô tả từng khách sạn trong nguồn cấp dữ liệu. Xin lưu ý rằng mỗi khách sạn trong danh sách phải có một mã nhận dạng duy nhất trên trang web của bạn và không được sử dụng lại mã này.

Ví dụ

Địa chỉ có cấu trúc

Ví dụ sau đây cho thấy một phần danh sách khách sạn có địa chỉ có cấu trúc:

<?xml version="1.0" encoding="UTF-8"?>
<listings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://www.gstatic.com/localfeed/local_feed.xsd">
  <language>en</language>
  <listing>
    <!-- The value of <id> must be unique to your site for all time. Do NOT reuse IDs. -->
    <id>123abc</id>
    <name>Belgrave House</name>
    <address format="simple">
      <component name="addr1">6 Acacia Ave</component>
      <component name="addr2">Floor 5</component>
      <component name="city">London</component>
      <component name="province">Greater London</component>
      <component name="postal_code">SW1W 9TQ</component>
    </address>
    <country>GB</country>
    <latitude>35.070374</latitude>
    <longitude>-106.213648</longitude>
    <phone type="main">123-456-7890</phone>
    <category>hotel</category> <!-- You can use whatever property type categories you wish -->
  </listing>
  ...
</listings>

Địa chỉ dạng tự do

Ví dụ sau đây cho thấy một phần danh sách khách sạn có địa chỉ dạng tuỳ ý:

<?xml version="1.0" encoding="UTF-8"?>
<listings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://www.gstatic.com/localfeed/local_feed.xsd">
  <language>en</language>
  <listing>
    <!-- The value of <id> must be unique to your site for all time. Do NOT reuse IDs. -->
    <id>123abc</id>
    <name>Belgrave House</name>
    <address>6 Elm Ave Unit 3, Boston, MA, 02472</address>
    <country>US</country>
    <latitude>35.070374</latitude>
    <longitude>-106.213648</longitude>
    <phone type="main">123-456-7890</phone>
    <category>hotel</category> <!-- You can use whatever property type categories you wish -->
  </listing>
  ...
</listings>

Nội dung không bắt buộc

Ví dụ sau đây cho thấy một phần danh sách khách sạn có trang thông tin chứa <content> (không bắt buộc):

<?xml version="1.0" encoding="UTF-8"?>
<listings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://www.gstatic.com/localfeed/local_feed.xsd">
  <language>en</language>
  <listing>
    <id>123456</id>
    <name>My Apartment</name>
    <address format="simple">
      <component name="addr1">1 Sandstone Building</component>
      <component name="city">Los Angeles</component>
      <component name="postal_code">90210</component>
      <component name="province">CA</component>
    </address>
    <country>US</country>
    <latitude>40.730610</latitude>
    <longitude>-73.935242</longitude>
    <phone type="main">12345678</phone>
    <category>hotel</category> <!-- You can use whatever property type categories you wish -->
    <content>
      <text type="description">
        <link>https://examplelisting.com/listings/12345</link>
        <title>3 bedrooms with ocean views</title>
        <body>Stay in this newly renovated 3BR house with ocean views.</body>
        <date month="7" day="23" year="2023"/>
      </text>
      <review type="editorial">
        <link>https://example.com/reviews/42</link>
        <title>A little piece of heaven</title>
        <author>EXAMPLE.COM</author>
        <rating>8</rating>
        <body>This place is really good.</body>
      </review>
      <review type="user">
        <link>https://exampleperson.org/reviews/82</link>
        <author>Susan von Trapp</author>
        <rating>6</rating>
        <body>Not a bad place, but I prefer to be closer to the beach.</body>
        <date day="6" month="7" year="2023"/>
        <servicedate day="16" month="6" year="2023"/>
      </review>
      <attributes>
        <website>https://hotel.example.com</website>
        <client_attr name="rating">8.2</client_attr>
        <client_attr name="num_reviews">14</client_attr>
      </attributes>
      <image type="photo" url="https://image_url">
        <link>https://image_url</link>
        <title>Main hotel picture</title>
      </image>
    </content>
  </listing>
  ...
</listings>

<listing>

Định nghĩa về khách sạn trong phần tử <listings> của danh sách khách sạn.

Phần tử <listing> xuất hiện ở vị trí sau đây trong hệ thống phân cấp XML của Nguồn cấp dữ liệu danh sách khách sạn:

+ <listings>
    + <language>
    + <listing>

Cú pháp

Phần tử <listing> sử dụng cú pháp sau:

<?xml version="1.0" encoding="UTF-8"?>
<listings ... >
  <listing>
    <!-- Specify <listing>'s child elements in the order shown below. -->
    <id>hotel_ID</id>
    <name>hotel_name</name>
    <address>
      <component name="addr1">street_address_1</component>
      <component name="addr2">street_address_2</component>
      <component name="city">city_name</component>
      <component name="province">province_name</component>
      <component name="postal_code">postal_code</component>
    </address>
    <!-- You can also define an address freeform, although this is not recommended: -->
    <!-- <address>freeform_address</address> -->

    <country>country_code</country>
    <latitude>hotel_latitude</latitude>
    <longitude>hotel_longitude</longitude>
    <phone type="[fax|main|mobile|tdd|tollfree]">phone_number</phone>
    <category>hotel</category> <!-- You can use whatever property type categories you wish -->
    <content>content</content>
  </listing>
</listings>

Thuộc tính

Phần tử <listing> không có thuộc tính nào.

Phần tử con

Phần tử <listing> có các phần tử con như sau:

Phần tử con Bắt buộc? Loại Nội dung mô tả
<id> Required string Giá trị nhận dạng duy nhất của khách sạn.

Lưu ý: Giá trị này phải là giá trị duy nhất cho trang web của bạn ở mọi thời điểm. Không sử dụng lại mã nhận dạng vì việc này có thể gây ra vấn đề khi cố gắng giải quyết các vấn đề về việc so khớp thuộc tính.

<name> Required string Tên khách sạn. Ví dụ:
<name>Belgrave House</name>
<address> Required Object or string

Toàn bộ vị trí thực tế của khách sạn.

Phần tử này có một thuộc tính duy nhất là format và bạn phải đặt thành simple.

Bạn phải cung cấp địa chỉ đường phố, thành phố, tiểu bang hoặc khu vực và mã bưu chính của khách sạn ở mức tối thiểu. Sử dụng các phần tử con <component> để mô tả từng phần sau của địa chỉ:

  • addr1: Địa chỉ đường chính của khách sạn.
  • addr2: Địa chỉ đường phụ, nếu cần.
  • addr3: Phần thứ ba của địa chỉ đường phố, nếu cần.
  • city: Tên thành phố nơi khách sạn toạ lạc.
  • province: Tên tiểu bang, khu vực hoặc tỉnh nơi lưu trú khách sạn.
  • postal_code: Mã bưu chính của khách sạn.

Ví dụ:

<address format="simple">
  <component name="addr1">6 Acacia Ave</component>
  <component name="addr2">Floor 5</component>
  <component name="city">London</component>
  <component name="province">Greater London</component>
  <component name="postal_code">SW1W 9TQ</component>
</address>

Ngoài ra, bạn có thể cung cấp địa chỉ "theo mẫu tuỳ ý", mặc dù bạn không nên làm như vậy. Ví dụ:

<address>6 Elm Ave Unit 3, Boston, MA, 02472</address>

Xin lưu ý rằng các địa chỉ hòm thư hoặc các địa chỉ chỉ nhận thư không được coi là địa chỉ thực tế đầy đủ.

<country> Required string Quốc gia nơi đặt trang thông tin này. Giá trị này phải là mã quốc gia gồm hai chữ cái. Ví dụ: Hoa Kỳ là "US" và Canada là "CA". Ví dụ:
<country>US</country>
<latitude> Required* float Vĩ độ tương ứng với vị trí của trang thông tin. Ví dụ:
<latitude>37.423738</latitude>

Bạn có thể tạo giá trị này bằng các công cụ Mã hoá địa lý như API Google Maps.

<longitude> Required* float Kinh độ tương ứng với vị trí của trang thông tin. Ví dụ:
<longitude>-122.090101</longitude>

Bạn có thể tạo giá trị này bằng các công cụ Mã hoá địa lý như API Google Maps.

<location_precision> Optional integer Độ chính xác của vị trí của cơ sở lưu trú được gửi theo mét khi vĩ độ và kinh độ của cơ sở lưu trú bị làm rối mã nguồn. Số không (0) có nghĩa là không có xáo trộn và đó là vị trí chính xác. Lưu ý: Phần tử này chỉ áp dụng cho Nhà nghỉ dưỡng cho thuê.
<phone> Required* string

Một hoặc nhiều số điện thoại liên hệ của khách sạn. Nếu cơ sở lưu trú là chi nhánh doanh nghiệp, vui lòng cung cấp số điện thoại của riêng chi nhánh (chứ không phải số điện thoại của trụ sở chính).

Thuộc tính type có thể là một trong những thuộc tính sau:

  • fax: Số điện thoại fax.
  • main: Số điện thoại chính.
  • mobile: Số điện thoại di động.
  • tdd: Số điện thoại Thiết bị viễn thông dành cho người khiếm thính (TDD).
  • tollfree: Số điện thoại gọi miễn phí.

Ví dụ:

<!-- Singapore (country code +65) -->
<phone type="main">+65 6722-2323</phone>
<!-- U.S. (country code +1) -->
<phone type="fax">+1 408-555-1111</phone>

Bạn nên cung cấp loại main ở mức tối thiểu.

<category> Optional string Loại cơ sở lưu trú, chẳng hạn như khách sạn. Đối tác có thể sử dụng bất kỳ danh mục nội bộ nào để mô tả cơ sở lưu trú, chẳng hạn như "khách sạn cho doanh nhân", "khu nghỉ dưỡng", "nhà nghỉ" và các danh mục tương tự.
<content> Optional <content> Thông tin chi tiết không bắt buộc dùng cho trang thông tin, chẳng hạn như nội dung mô tả, điểm xếp hạng và đặc điểm của cơ sở lưu trú.

* Bạn phải nhập số điện thoại hoặc vĩ độ/kinh độ. Bạn nên xác định cả hai.

Ví dụ

Địa chỉ có cấu trúc

Ví dụ sau đây cho thấy một phần danh sách khách sạn có địa chỉ có cấu trúc:

<?xml version="1.0" encoding="UTF-8"?>
<listings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://www.gstatic.com/localfeed/local_feed.xsd">
  <language>en</language>
  <listing>
    <!-- The value of <id> must be unique to your site for all time. Do NOT reuse IDs. -->
    <id>123abc</id>
    <name>Belgrave House</name>
    <address format="simple">
      <component name="addr1">6 Acacia Ave</component>
      <component name="addr2">Floor 5</component>
      <component name="city">London</component>
      <component name="province">Greater London</component>
      <component name="postal_code">SW1W 9TQ</component>
    </address>
    <country>GB</country>
    <latitude>35.070374</latitude>
    <longitude>-106.213648</longitude>
    <phone type="main">123-456-7890</phone>
    <category>hotel</category> <!-- You can use whatever property type categories you wish -->
  </listing>
  ...
</listings>

Địa chỉ dạng tự do

Ví dụ sau đây cho thấy một phần danh sách khách sạn có địa chỉ dạng tuỳ ý:

<?xml version="1.0" encoding="UTF-8"?>
<listings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://www.gstatic.com/localfeed/local_feed.xsd">
  <language>en</language>
  <listing>
    <!-- The value of <id> must be unique to your site for all time. Do NOT reuse IDs. -->
    <id>123abc</id>
    <name>Belgrave House</name>
    <address>6 Elm Ave Unit 3, Boston, MA, 02472</address>
    <country>US</country>
    <latitude>35.070374</latitude>
    <longitude>-106.213648</longitude>
    <phone type="main">123-456-7890</phone>
    <category>hotel</category> <!-- You can use whatever property type categories you wish -->
  </listing>
  ...
</listings>

Nội dung không bắt buộc

Ví dụ sau đây cho thấy một phần danh sách khách sạn có trang thông tin chứa <content> (không bắt buộc):

<?xml version="1.0" encoding="UTF-8"?>
<listings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://www.gstatic.com/localfeed/local_feed.xsd">
  <language>en</language>
  <listing>
    <id>123456</id>
    <name>My Apartment</name>
    <address format="simple">
      <component name="addr1">1 Sandstone Building</component>
      <component name="city">Los Angeles</component>
      <component name="postal_code">90210</component>
      <component name="province">CA</component>
    </address>
    <country>US</country>
    <latitude>40.730610</latitude>
    <longitude>-73.935242</longitude>
    <phone type="main">12345678</phone>
    <category>hotel</category> <!-- You can use whatever property type categories you wish -->
    <content>
      <text type="description">
        <link>https://examplelisting.com/listings/12345</link>
        <title>3 bedrooms with ocean views</title>
        <body>Stay in this newly renovated 3BR house with ocean views.</body>
        <date month="7" day="23" year="2023"/>
      </text>
      <review type="editorial">
        <link>https://example.com/reviews/42</link>
        <title>A little piece of heaven</title>
        <author>EXAMPLE.COM</author>
        <rating>8</rating>
        <body>This place is really good.</body>
      </review>
      <review type="user">
        <link>https://exampleperson.org/reviews/82</link>
        <author>Susan von Trapp</author>
        <rating>6</rating>
        <body>Not a bad place, but I prefer to be closer to the beach.</body>
        <date day="6" month="7" year="2023"/>
        <servicedate day="16" month="6" year="2023"/>
      </review>
      <attributes>
        <website>https://hotel.example.com</website>
        <client_attr name="rating">8.2</client_attr>
        <client_attr name="num_reviews">14</client_attr>
      </attributes>
      <image type="photo" url="https://image_url">
        <link>https://image_url</link>
        <title>Main hotel picture</title>
      </image>
    </content>
  </listing>
  ...
</listings>

<content>

Thêm thông tin về cơ sở lưu trú, chẳng hạn như điểm xếp hạng và bài đánh giá, tiện nghi và các thông tin chi tiết khác. Phần tử <content> là không bắt buộc. Trong <content>, tất cả các phần tử con đều không bắt buộc.

Phần tử <content> xuất hiện ở vị trí sau đây trong hệ thống phân cấp XML của Nguồn cấp dữ liệu danh sách khách sạn:

+ <listings>
    + <language>
    + <listing>
        + <content>

Cú pháp

Phần tử <content> sử dụng cú pháp sau:

<?xml version="1.0" encoding="UTF-8"?>
<listings ... >
  <listing>
    <content>
      <!-- Specify <text>'s child elements in the order shown below. -->
      <text type="description">
        <link>listing_link</link>
        <title>listing_title</title>
        <author>listing_author</author>
        <body>listing_description</body>
        <date month="MM" day="DD" year="YYYY"/>
      </text>
      <!-- 0 or more reviews: -->
      <review type="[editorial|user]">
        ...
      </review>
      <!-- 0 or more attributes: -->
      <attributes>
        <website>https://hotel.example.com</website>
        <client_attr name="alternate_hotel_id">alternate_hotel_id</client_attr>
        <client_attr name="custom_0">custom_attribute_0</client_attr>
        <client_attr name="custom_1">custom_attribute_1</client_attr>
        <client_attr name="custom_2">custom_attribute_2</client_attr>
        <client_attr name="custom_3">custom_attribute_3</client_attr>
        <client_attr name="custom_4">custom_attribute_4</client_attr>
        <client_attr name="hotel_brand">hotel_brand</client_attr>
        <client_attr name="num_reviews">number_of_reviews</client_attr>
        <client_attr name="rating">aggregate_rating</client_attr>
      </attributes>
      <!-- a picture of the hotel or property-->
      <image type="photo" url="https://image_url">
        <link>https://image_url</link>
        <title>Main Hotel Picture</title>
      </image>
    </content>
  </listing>
  ...
</listings>

Thuộc tính

Phần tử <content> không có thuộc tính nào.

Phần tử con

Phần tử <content> có các phần tử con như sau:

Phần tử con Bắt buộc? Loại Nội dung mô tả
<text type="description"> Optional Object

Trang web được liên kết với trang thông tin của nhà cung cấp. Có các phần tử con sau đây:

  • <link>: Đường liên kết đến nội dung mô tả. Thêm "http://" hoặc
    "https://" vào phần tử này (không bắt buộc).
  • <title>: Tiêu đề của nội dung mô tả (không bắt buộc).
  • <author>: Tác giả của nội dung mô tả (không bắt buộc).
  • <body>: Nội dung mô tả (bắt buộc).
  • <date>: Ngày mô tả (không bắt buộc).
  • Lưu ý: Các phần tử này phải xuất hiện theo thứ tự như trên.

<review type="[editorial|user]"> Optional <review>

Có bài đánh giá của người dùng hoặc bài đánh giá của người biên tập về trang thông tin. Trang thông tin của bạn có thể có số lượng bài đánh giá bất kỳ, thuộc một trong hai loại.

Bạn không cần thêm tất cả các bài đánh giá về một cơ sở lưu trú vào phần tử <listing>. Phần tử này giúp bạn cung cấp những bài đánh giá chọn lọc thể hiện được đặc điểm hoặc chất lượng của trang thông tin này.

<attributes> Optional Object

Chứa từ 0 phần tử con <client_attr> trở lên cung cấp thông tin chi tiết về cơ sở lưu trú. Các phần tử con sử dụng cú pháp sau:

<client_attr name="attribute_name">attribute_value<client_attr>

Để xem danh sách và nội dung mô tả về các phần tử con, hãy tham khảo <attributes>.

Tất cả phần tử <client_attr> đều không bắt buộc.

Nếu có phần tử con <website>, thì phần tử đó phải được đặt trước bất kỳ phần tử <client_attr> nào.

<image> Optional Object Thẻ lặp lại chứa thông tin chi tiết về hình ảnh.

Ví dụ:

Ví dụ sau đây cho thấy một phần danh sách khách sạn có phần tử <content>:

<?xml version="1.0" encoding="UTF-8"?>
<listings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://www.gstatic.com/localfeed/local_feed.xsd">
  <language>en</language>
  <listing>
    <id>123456</id>
    <name>My Apartment</name>
    <address format="simple">
      <component name="addr1">1 Sandstone Building</component>
      <component name="city">Los Angeles</component>
      <component name="postal_code">90210</component>
      <component name="province">CA</component>
    </address>
    <country>US</country>
    <latitude>40.730610</latitude>
    <longitude>-73.935242</longitude>
    <phone type="main">12345678</phone>
    <category>hotel</category> <!-- You can use whatever property type categories you wish -->
    <content>
      <text type="description">
        <link>https://examplelisting.com/listings/12345</link>
        <title>3 bedrooms with ocean views</title>
        <body>Stay in this newly renovated 3BR house with ocean views.</body>
        <date month="7" day="23" year="2023"/>
      </text>
      <review type="editorial">
        <link>https://example.com/reviews/42</link>
        <title>A little piece of heaven</title>
        <author>EXAMPLE.COM</author>
        <rating>8</rating>
        <body>This place is really good.</body>
      </review>
      <review type="user">
        <link>https://exampleperson.org/reviews/82</link>
        <author>Susan von Trapp</author>
        <rating>6</rating>
        <body>Not a bad place, but I prefer to be closer to the beach.</body>
        <date day="6" month="7" year="2023"/>
        <servicedate day="16" month="6" year="2023"/>
      </review>
      <attributes>
        <website>https://hotel.example.com</website>
        <client_attr name="rating">8.2</client_attr>
        <client_attr name="num_reviews">14</client_attr>
      </attributes>
      <image type="photo" url="https://image_url">
        <link>https://image_url</link>
        <title>Main hotel picture</title>
      </image>
    </content>
  </listing>
  ...
</listings>

<review>

Có bài đánh giá của người dùng hoặc bài đánh giá của người biên tập. Bạn không cần đưa mọi bài đánh giá về một trang thông tin vào phần tử <listing>. Mục đích của phần tử này là để bạn bao gồm những bài đánh giá chọn lọc cho thấy đặc điểm hoặc chất lượng của trang thông tin này.

Phần tử <review> xuất hiện ở vị trí sau đây trong hệ thống phân cấp XML của Nguồn cấp dữ liệu danh sách khách sạn:

+ <listings>
    + <language>
    + <listing>
        + <content>
            + <review>

Cú pháp

Phần tử <review> sử dụng cú pháp sau:

<?xml version="1.0" encoding="UTF-8"?>
<listings ... >
  <listing>
    <content>
      ...
      <!-- Specify <review>'s child elements in the order shown below. -->
      <review type="editorial">
        <link>review_link</link>
        <title>review_title</title> <!-- Title is for reviews of type "editorial" only -->
        <author>review_author</author>
        <rating>review_rating</rating>
        <body>review_text</body>
        <date>review_date</date>
        <servicedate>review_servicedate</servicedate>
      </review>
      <review type="user">
        <link>review_link</link>
        <author>review_author</author>
        <date month="MM" day="DD" year="YYYY"/>  <!-- Date is for reviews of type "user" only -->
        <servicedate month="MM" day="DD" year="YYYY"/>  <!-- Service Date is for reviews of type "user" only -->
        <rating>review_rating</rating>
        <body>review_text</body>
      </review>
    </content>
  </listing>
</listings>

Thuộc tính

Phần tử <review> có các thuộc tính như sau:

Thuộc tính Bắt buộc? Nội dung mô tả
type Required Loại bài đánh giá. Đặt thành một trong các giá trị sau:
  • editorial: Bài đánh giá của một trang web hoặc cơ quan đánh giá khác.
  • user: Bài đánh giá của người dùng cuối.

Phần tử con

Phần tử <review> có các phần tử con như sau:

Phần tử con Bắt buộc? Loại Nội dung mô tả
<link> Optional string Đường liên kết đến bài đánh giá. Thêm "http://" hoặc "https://" vào phần tử này.
<title> Optional string (Chỉ dành cho bài đánh giá của người biên tập) Tiêu đề của bài đánh giá.
<author> Optional string Tác giả của bài đánh giá, ví dụ: "Susan von Trapp". Đây cũng có thể là tên của trang web hoặc ấn bản nơi bài đánh giá xuất hiện nếu bài đánh giá đó không có thông tin chính thức.
<rating> Optional string Số thực từ 0 đến 10 (bao gồm cả giá trị này) thể hiện điểm số của bài đánh giá. Ví dụ: "8.9".
<body> Optional string Nội dung bài đánh giá. Phần tử này không được chứa HTML.
<date month="MM" day="DD" year="YYYY"/> Optional Object (Chỉ dành cho bài đánh giá của người dùng) Ngày đánh giá mà bạn chỉ định bằng các thuộc tính sau đây của phần tử này:
  • day: Ngày trong tháng; ví dụ như "7".
  • month: Tháng, trong đó 1 = Tháng 1 ... 12 = Tháng 12.
  • year: Năm gồm bốn chữ số; ví dụ như "2023".

Ví dụ: Ngày 7 tháng 6 năm 2023 được viết là:

<date month="6" day="7" year="2023"/>
<servicedate month="MM" day="DD" year="YYYY"/> Optional Object (Chỉ dành cho bài đánh giá của người dùng) Ngày mà người đánh giá truy cập vào trang thông tin được đánh giá. Định dạng giống với <date> ở trên.

Ví dụ: Ngày 7 tháng 6 năm 2023 được viết là:

<servicedate month="6" day="7" year="2023"/>

Những bài đánh giá không có thông tin tối thiểu là tháng và năm <servicedate> có thể không xuất hiện. Không bắt buộc phải nhập ngày.

Xin lưu ý rằng <title> là phần tử con hợp lệ của <review> chỉ khi type của bài đánh giá là editorial<date> chỉ hợp lệ nếu typeuser.

Ví dụ:

Ví dụ sau đây cho thấy một phần danh sách khách sạn có một trang thông tin có bài đánh giá của người biên tập và bài đánh giá của người dùng:

<?xml version="1.0" encoding="UTF-8"?>
<listings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://www.gstatic.com/localfeed/local_feed.xsd">
  <language>en</language>
  <listing>
    <id>123456</id>
    <name>My Apartment</name>
    <address format="simple">
      <component name="addr1">1 Sandstone Building</component>
      <component name="city">Los Angeles</component>
      <component name="postal_code">90210</component>
      <component name="province">CA</component>
    </address>
    <country>US</country>
    <latitude>40.730610</latitude>
    <longitude>-73.935242</longitude>
    <phone type="main">12345678</phone>
    <category>hotel</category> <!-- You can use whatever property type categories you wish -->
    <content>
      <text type="description">
        <link>https://examplelisting.com/listings/12345</link>
        <title>3 bedrooms with ocean views</title>
        <body>Stay in this newly renovated 3BR house with ocean views.</body>
        <date month="7" day="23" year="2023"/>
      </text>
      <review type="editorial">
        <link>https://example.com/reviews/42</link>
        <title>A little piece of heaven</title>
        <author>EXAMPLE.COM</author>
        <rating>8</rating>
        <body>This place is really good.</body>
      </review>
      <review type="user">
        <link>https://exampleperson.org/reviews/82</link>
        <author>Susan von Trapp</author>
        <rating>6</rating>
        <body>Not a bad place, but I prefer to be closer to the beach.</body>
        <date day="6" month="7" year="2023"/>
        <servicedate day="16" month="6" year="2023"/>
      </review>
      <attributes>
        <website>https://hotel.example.com</website>
        <client_attr name="rating">8.2</client_attr>
        <client_attr name="num_reviews">14</client_attr>
      </attributes>
      <image type="photo" url="https://image_url">
        <link>https://image_url</link>
        <title>Main hotel picture</title>
      </image>
    </content>
  </listing>
  ...
</listings>

<attributes>

Bạn có thể sử dụng thẻ <attributes> để mô tả các tiện nghi của cơ sở lưu trú cũng như phân loại điểm xếp hạng và bài đánh giá về cơ sở lưu trú.

+ <listings>
    + <language>
    + <listing>
        + <content>
            + <review>
            + <attributes>

Phần tử con

Phần tử con Bắt buộc? Nội dung mô tả
<website> Optional Trang web chính của khách sạn. Nếu có, bạn phải đặt phần tử này trước phần tử <client_attr> đầu tiên. Ví dụ:
<website>https://hotel.example.com</website>
<client_attr name="attribute_name"> Optional Một đặc điểm hoặc "thuộc tính" bổ sung của cơ sở lưu trú mà bạn có thể chỉ định bằng attribute_name hoặc attribute_name của Nhà nghỉ dưỡng cho thuê được hỗ trợ.

Giá trị cho phần giữ chỗ attribute_name

Bảng sau đây liệt kê các giá trị hợp lệ cho attribute_name trong phần tử <client_attr name="attribute_name">.

Giá trị cho attribute_name Nội dung mô tả Giá trị nội dung hợp lệ
alternate_hotel_id Giá trị nhận dạng thay thế cho cơ sở lưu trú của bạn. Việc có mã nhận dạng riêng sẽ giúp ích nếu bạn có thể cần một giá trị nhận dạng cơ sở lưu trú trong thông tin của nguồn cấp dữ liệu và một giá trị nhận dạng khác cho công cụ đặt phòng. Giá trị chuỗi bất kỳ
custom_[0-4] Thuộc tính tuỳ chỉnh bất kỳ của loại chuỗi nào. Người dùng sẽ không nhìn thấy thông tin này. Giá trị chuỗi bất kỳ
hotel_brand Thương hiệu của khách sạn này. Ví dụ: "Marriott" hoặc "Hilton". Thông tin này không hiển thị cho người dùng nhưng có thể được dùng để nhóm khách sạn. Giá trị chuỗi bất kỳ
lodging Nội dung đại diện đã mã hoá của tất cả các trường có sẵn trong proto Lodging. Chuỗi được mã hoá base64 của proto được mã hoá Lodging
num_reviews Số lượng bài đánh giá về cơ sở lưu trú. Số nguyên không âm bất kỳ.
rating Số thực thể hiện điểm xếp hạng tổng hợp của cơ sở lưu trú. Số này thường nằm trong khoảng từ 0 đến 5, 0 đến 10 hoặc 0 đến 100. Tuy nhiên, bạn có thể sử dụng bất kỳ phạm vi nào đại diện cho hệ thống xếp hạng của mình.

Giá trị cho phần giữ chỗ attribute_name của Nhà nghỉ dưỡng cho thuê

Tham khảo các thuộc tính dành riêng cho nhà nghỉ dưỡng cho thuê và ví dụ về XML.

<image>

+ <listings>
    + <language>
    + <listing>
        + <content>
            + <review>
            + <attributes>
            + <image>

Hình ảnh dùng để hiển thị cơ sở lưu trú trong mã nhận dạng trang thông tin. Tất cả hình ảnh bạn sử dụng phải tuân thủ các nguyên tắc sau:

  • Tỷ lệ khung hình nên dùng cho hình ảnh là 4:3.
  • Trình thu thập thông tin Googlebot Image phải có thể truy cập vào URL của hình ảnh.
  • Nếu trang web của bạn có tệp robots.txt ở cấp thư mục gốc, hãy xác minh rằng trang web đó chứa một trong hai tuỳ chọn dưới đây:

    1. Cho phép trình thu thập thông tin Googlebot thu thập nội dung trang web của bạn, bao gồm cả hình ảnh.

      • User-agent: Googlebot
      • Allow: /
    2. Cho phép trình thu thập thông tin Googlebot Image thu thập hình ảnh trên trang web của bạn.

      • User-agent: Googlebot-Image
      • Allow: /
  • Chúng tôi không được phép sử dụng ảnh chụp màn hình của hình ảnh hoặc trang web. Hình ảnh phải là hình ảnh gốc và hình ảnh thực tế.

Thuộc tính

  • "ad" nếu hình ảnh là quảng cáo
  • "menu" nếu hình ảnh là thực đơn của một nhà hàng
  • "photo" nếu hình ảnh là ảnh của doanh nghiệp
Tên thuộc tính Bắt buộc? Định dạng Nội dung mô tả
type Required Text

Hình ảnh phải thuộc một trong những trường hợp sau:

url Required Text URL của hình ảnh có kích thước đầy đủ. Sử dụng thuộc tính url để chỉ định hình ảnh cần sử dụng trên trang đó.
width Required A non-negative integer Chiều rộng của hình ảnh, tính bằng pixel (nên lớn hơn 720 pixel)
height Required A non-negative integer Chiều cao của hình ảnh, tính bằng pixel (nên lớn hơn 720 pixel)

Phần tử con

Phần tử con Bắt buộc? Nội dung mô tả
<link> Theo yêu cầu, nhưng bắt buộc đối với danh sách ảnh cục bộ. Thẻ này chứa URL hợp lệ và mới nhất của trang có hình ảnh liên quan trên trang web của bạn. Phần tử này không chứa URL của hình ảnh đó. Ví dụ:
<link><http://www.example.com/magic_pizza/></link>
<title> Ðã yêu cầu Thẻ này chứa tiêu đề của hình ảnh. Ví dụ:
<title>"Luxury Apartment"</title>
<author> Không bắt buộc Tên tác giả của nội dung. Giá trị có thể là tên người dùng hoặc tên đầy đủ theo định dạng "Tên Họ".
<date> Bắt buộc

Thẻ này xác định ngày tạo mục nội dung. Bạn phải nhập năm, tháng và ngày, như trong ví dụ sau:

<date month="6" day="7" year="2023"/>

Ví dụ:

Ví dụ sau đây cho thấy một phần danh sách khách sạn có thẻ hình ảnh:

<?xml version="1.0" encoding="UTF-8"?>
<listings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://www.gstatic.com/localfeed/local_feed.xsd">
  <language>en</language>
  <listing>
    <content>
      <review>
      </review>
      <attributes>
      </attributes>
      <image type="photo" url="https://image_url" width="400" height="300">
        <link>https://image_url</link>
        <title>Apartment at Sandstone</title>
        <author>Jessica Landlord</author>
        <date month="6" day="7" year="2023"/>
      </image>
    </content>
  </listing>
  ...
</listings>

Nguyên tắc cú pháp

Khi tạo danh sách khách sạn ở dạng XML, hãy làm theo các nguyên tắc sau:

  • Xác thực tệp XML của Danh sách khách sạn bằng Giản đồ XSD của Google.

  • Sử dụng bộ mã hoá UTF-8. Hãy chỉ định giản đồ mã hoá này bằng cách thêm thuộc tính encoding vào thẻ XML, như trong các ví dụ dưới đây.

  • Bạn có thể chỉ định các giá trị dữ liệu trong nguồn cấp dữ liệu của mình bằng các phần CDATA. Nếu bạn sử dụng các phần CDATA, đừng thoát các ký tự đặc biệt.

  • Sử dụng mã thoát cho các giá trị dữ liệu không nằm trong phần CDATA, bao gồm cả URL. Bạn có thể sử dụng mã thực thể hoặc mã ký tự để biểu thị các ký tự đặc biệt này. Bảng sau đây liệt kê các mã thực thể và mã ký tự phổ biến mà bạn có thể sử dụng:

    Ký tự Thực thể Mã ký tự
    Ký hiệu và (&) &amp; &#38;
    Dấu nháy đơn (') &apos; &#39;
    Dấu nháy kép (") &quot; &#34;
    Lớn hơn (>) &gt; &#62;
    Nhỏ hơn (<) &lt; &#60;
  • Hãy bỏ qua các phần tử XML không chứa dữ liệu. Ví dụ: Nếu không có vĩ độ và kinh độ của khách sạn, bạn không nên thêm các phần tử <latitude/><longitude/> trống.

  • Không sử dụng HTML trong các phần tử XML trong bất kỳ trường hợp nào (ngay cả khi đó là mã thoát).

  • Để xác thực nguồn cấp dữ liệu trước khi tải lên, bạn có thể sử dụng XSD nguồn cấp dữ liệu cục bộ http://www.gstatic.com/localfeed/local_feed.xsd.

  • Để sử dụng nhận xét trong nguồn cấp dữ liệu, hãy gói nhận xét trong các thẻ <!---->, như trong ví dụ sau:

    <!-- This is a comment -->
    
  • Hãy nhớ đóng phần tử <date> trong <review> của người dùng. Ví dụ:

    <date day="2" month="12" year="2017"/>