Dokumentacja XML listy hoteli

Lista hoteli to co najmniej 1 plik XML zawierający listę wszystkich hoteli, dla których podasz informacje o cenach. Sam plik z listą hoteli nie zawiera informacji o cenach.

Elementem głównym listy hoteli jest element <listings>, który zawiera elementy <listing> opisujące Twoje obiekty.

Listę hoteli tworzysz w ramach wstępnej implementacji, a potem dodajesz do niej lub usuwasz z niej hotele w ramach regularnej konserwacji.

Upewnij się, że pliki są zgodne ze wskazówkami dotyczącymi składni. Użyj na przykład kodowania UTF-8 i określ ten schemat kodowania, dodając atrybut encoding do tagu XML.

Po utworzeniu listy hoteli możesz ręcznie przesłać ją do Google za pomocą Hotel Center lub hostować ją na swoim serwerze.

Znajdowanie i rozwiązywanie problemów z danymi

Aby znaleźć i rozwiązać problemy z danymi na liście hoteli, zapoznaj się z tymi artykułami:

Wymagania dotyczące informacji o hotelach

Aby móc korzystać z Reklam hoteli w Google, miejsce zakwaterowania na Twojej liście hoteli musi mieć:

  • pokoje, w których goście mogą zatrzymać się za opłatą;
  • stałą, fizyczną lokalizację, która jest dostępna dla wszystkich;
  • Ściany i instalacja wodno-kanalizacyjna
  • minimalny okres pobytu, który nie przekracza 7 dni.

Wśród niekwalifikujących się obiektów są statki wycieczkowe i apartamenty, ponieważ zazwyczaj nie spełniają kryteriów Listing requirements.

Dotyczy to domków kempingowych i innych obiektów kempingowych z nieruchomymi ścianami, instalacją wodno-kanalizacyjną i klimatyzacją (w tym pieców na drewno lub grzejników na propan). Niekwalifikujące się obiekty noclegowe na świeżym powietrzu:

  • pola namiotowe, na których goście mieszkają w namiotach;
  • parkingi dla kamperów, na których goście przyjeżdżają własnym kamperem;

<listings>

<listings> to element główny listy hoteli. Zawiera on element <language> i co najmniej 1 element <listing>.

Element <listings> znajduje się w hierarchii XML listy hoteli w tym miejscu:

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

Składnia

Element <listings> używa tej składni:

<?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>

Atrybuty

Element <listings> ma te atrybuty:

Atrybut Wymagany? Opis
xmlns:xsi Wymagane Ustaw jako: http://www.w3.org/2001/XMLSchema-instance.
xsi:noNamespaceSchemaLocation Wymagane Ustaw jako: http://www.gstatic.com/localfeed/local_feed.xsd.

Elementy potomne

Element <listings> ma te elementy podrzędne:

Element podrzędny Wymagany? Typ Opis
<language> Required string Język, w którym zapisany jest plik danych. Ustaw wartość tego elementu na dwuliterowy kod języka. Na przykład en w przypadku języka angielskiego.
<datum> Optional enum Ten element określa dane geodezyjne lub model referencyjny dla współrzędnych geograficznych podanych w pliku danych. Jeśli nie podasz wartości daty, domyślną wartością tego elementu będzie WGS84, która jest używana przez większość nowoczesnych urządzeń GPS. Datum Tokio dotyczy tylko adresów w Japonii.

Prawidłowe wartości tego elementu to:

  • WGS84
  • wgs84
  • TOKYO
  • tokyo
Uwaga: aby użyć wartości domyślnej WGS84, nie uwzględniaj elementu <datum> na liście hoteli.
<listing> Required <listing> Co najmniej 1 wpis opisujący każdy hotel w pliku danych. Pamiętaj, że każdy hotel na liście musi mieć identyfikator, który jest unikalny dla Twojej witryny, i że identyfikator ten nie powinien być używany ponownie.

Przykłady

Adres strukturalny

Ten przykład przedstawia częściową listę hoteli z uporządkowanym adresem:

<?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>

Adres swobodny

Ten przykład pokazuje częściową listę hoteli z adresem w dowolnym formacie:

<?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>

Treści opcjonalne

Ten przykład przedstawia częściową listę hoteli z informacjami, które zawierają opcjonalne <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>

<listing>

Definicja hotelu w elemencie <listings> listy hoteli.

Element <listing> znajduje się w hierarchii pliku XML pliku danych listy hoteli w tym miejscu:

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

Składnia

Element <listing> używa tej składni:

<?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>

Atrybuty

Element <listing> nie ma atrybutów.

Elementy potomne

Element <listing> ma te elementy podrzędne:

Element podrzędny Wymagany? Typ Opis
<id> Required string Unikalny identyfikator hotelu.

Uwaga: ta wartość musi być unikalna dla Twojej witryny przez cały czas. Nie używaj ponownie identyfikatorów, ponieważ może to spowodować problemy podczas rozwiązywania problemów z dopasowaniem obiektu.

<name> Required string Nazwa hotelu, Na przykład:
<name>Belgrave House</name>
<address> Required Object or string

Pełna fizyczna lokalizacja hotelu.

Ten element przyjmuje 1 atrybut, format, którego wartość musisz ustawić na simple.

Musisz podać co najmniej ulicę, miasto, stan lub region oraz kod pocztowy hotelu. Użyj elementów podrzędnych <component>, aby opisać poszczególne części adresu:

  • addr1: główny adres hotelu,
  • addr2: w razie potrzeby drugi adres ulicy.
  • addr3: trzecia część adresu ulicy (jeśli jest wymagana).
  • city: nazwa miasta, w którym znajduje się hotel.
  • province: nazwa stanu, regionu lub prowincji, w których znajduje się hotel.
  • postal_code: kod pocztowy hotelu.

Na przykład:

<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>

Możesz też podać adres „dowolny”, ale nie jest to zalecane. Na przykład:

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

Skrytki pocztowe i inne adresy korespondencyjne nie są uznawane za pełne adresy hoteli.

<country> Required string Kraj, w którym znajduje się ta strona. Wartość musi być 2-literowym kodem kraju. np. Polska to „PL”, a Niemcy to „DE”. Na przykład:
<country>US</country>
<latitude> Required* float Szerokość geograficzna odpowiadająca lokalizacji hotelu, Na przykład:
<latitude>37.423738</latitude>

Wartość tę można wygenerować za pomocą narzędzi do geokodowania, takich jak interfejs API Map Google.

<longitude> Required* float Długość geograficzna odpowiadająca lokalizacji hotelu, Na przykład:
<longitude>-122.090101</longitude>

Wartość tę można wygenerować za pomocą narzędzi do geokodowania, takich jak interfejs API Map Google.

<location_precision> Optional integer Dokładność lokalizacji obiektu wysłana w metrach, gdy szerokość i długość geograficzna obiektu są zaciemnione. Wartość 0 oznacza, że nie ma zaciemnienia i że jest to dokładna lokalizacja. Uwaga: ten element dotyczy tylko kwater wakacyjnych.
<phone> Required* string

co najmniej 1 numer kontaktowy hotelu; Jeśli wpis dotyczy oddziału firmy, podaj numer telefonu do oddziału (a nie numer centrali).

Atrybut type może mieć jedną z tych wartości:

  • fax: numer faksu.
  • main: główny numer telefonu VoIP.
  • mobile: numer telefonu komórkowego.
  • tdd: numer telefonu urządzenia telekomunikacyjnego dla osób niesłyszących (TDD).
  • tollfree: bezpłatny numer telefonu.

Na przykład:

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

Musisz podać co najmniej typ main.

<category> Optional string Typ obiektu, np. hotel. Partnerzy mogą używać dowolnych wewnętrznych kategorii do opisu obiektu, takich jak „hotele biznesowe”, „ośrodki wypoczynkowe”, „motele” i tym podobne.
<content> Optional <content> Opcjonalne szczegóły używane w ofercie, takie jak opis, oceny i funkcje obiektu.

* Wymagany jest numer telefonu LUB szerokość/długość geograficzna. Zalecamy zdefiniowanie obu tych wartości.

Przykłady

Adres strukturalny

Ten przykład przedstawia częściową listę hoteli z uporządkowanym adresem:

<?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>

Adres swobodny

Ten przykład pokazuje częściową listę hoteli z adresem w dowolnym formacie:

<?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>

Treści opcjonalne

Ten przykład przedstawia częściową listę hoteli z informacjami, które zawierają opcjonalne <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>

<content>

Dodaje informacje o ogłoszeniu, takie jak oceny i opinie, udogodnienia i inne szczegóły. Element <content> jest opcjonalny. W elementach <content> wszystkie elementy podrzędne są opcjonalne.

Element <content> znajduje się w hierarchii pliku XML pliku danych listy hoteli w tym miejscu:

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

Składnia

Element <content> używa tej składni:

<?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>

Atrybuty

Element <content> nie ma atrybutów.

Elementy potomne

Element <content> ma te elementy podrzędne:

Element podrzędny Wymagany? Typ Opis
<text type="description"> Optional Object

Strona internetowa powiązana z informacjami od dostawcy. Ma następujące elementy podrzędne:

  • <link>: link do opisu. Zawierać w tym elemencie prefiks „http://” lub „https://” (opcjonalnie).
  • <title>: tytuł opisu (opcjonalnie).
  • <author>: autor opisu (opcjonalnie).
  • <body>: treść opisu (wymagane).
  • <date>: data opisu (opcjonalnie).
  • Uwaga: te elementy muszą pojawiać się w podanej kolejności.

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

Zawiera opinię użytkownika lub opinię redakcyjną dotyczącą oferty. Twoja strona może zawierać dowolną liczbę opinii dowolnego typu.

Nie musisz uwzględniać wszystkich opinii o danej usłudze w elemencie <listing>. Ten element służy do uwzględniania wybranych opinii, które ilustrują cechy lub jakość danej oferty.

<attributes> Optional Object

Zawiera co najmniej 0 elementów podrzędnych <client_attr>, które zawierają informacje o usługi. Elementy podrzędne używają tej składni:

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

Listę i opis elementów podrzędnych znajdziesz w sekcji <attributes>.

Wszystkie elementy <client_attr> są opcjonalne.

Jeśli występuje element podrzędny <website>, musi on znajdować się przed elementem <client_attr>.

<image> Optional Object Powtarzający się tag zawierający szczegółowe informacje o obrazie.

Przykład

Ten przykład przedstawia częściową listę hoteli, która zawiera element <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>

Zawiera opinię użytkownika lub opinię redakcyjną. W elemencie <listing> nie musisz uwzględniać wszystkich opinii dotyczących danej wizytówki. Ten element służy do dodawania wybranych opinii, które odzwierciedlają cechy lub jakość danej wizytówki.

Element <review> znajduje się w hierarchii pliku XML pliku danych listy hoteli w tym miejscu:

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

Składnia

Element <review> używa tej składni:

<?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>

Atrybuty

Element <review> ma te atrybuty:

Atrybut Wymagany? Opis
type Required Typ opinii. Ustaw jedną z tych wartości:
  • editorial: opinia na temat witryny lub innej instytucji.
  • user: opinia użytkownika końcowego.

Elementy potomne

Element <review> ma te elementy podrzędne:

Element podrzędny Wymagany? Typ Opis
<link> Optional string link do opinii. W tym elemencie musisz użyć prefiksu „http://” lub „https://”.
<title> Optional string (dotyczy tylko opinii redakcyjnych) tytuł opinii.
<author> Optional string Autor opinii, np. „Susan von Trapp”. Może to być też nazwa witryny lub publikacji, w której pojawia się opinia, jeśli nie ma w niej informacji o źródle.
<rating> Optional string Liczba zmiennoprzecinkowa z zakresu 0–10 (włącznie) reprezentująca ocenę opinii. Na przykład „8,9”.
<body> Optional string Tekst opinii. Ten element nie może zawierać kodu HTML.
<date month="MM" day="DD" year="YYYY"/> Optional Object (dotyczy tylko opinii użytkowników) data opinii, którą określasz za pomocą tych atrybutów tego elementu:
  • day: dzień miesiąca, np. „7”.
  • month: miesiąc, gdzie 1 = styczeń, 12 = grudzień.
  • year: Czterocyfrowy rok, np. „2023”.

Na przykład 7 czerwca 2023 r. to:

<date month="6" day="7" year="2023"/>
<servicedate month="MM" day="DD" year="YYYY"/> Optional Object (dotyczy tylko opinii użytkowników) data, kiedy użytkownik odwiedził stronę z opinią. Format jest taki sam jak w przypadku parametru <date> powyżej.

Na przykład 7 czerwca 2023 r. to:

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

Opinie bez co najmniej miesiąca i roku w polu <servicedate> mogą nie być wyświetlane. Dzień nie jest wymagany.

Pamiętaj, że element <title> jest prawidłowym elementem podrzędnym elementu <review> tylko wtedy, gdy wartość type elementu recenzji to editorial, a element <date> jest prawidłowy tylko wtedy, gdy wartość type to user.

Przykład

Ten przykład pokazuje częściową listę hoteli z informacjami zawierającymi opinię redakcyjną i opinię użytkownika:

<?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>

Tag <attributes> może służyć do opisywania udogodnień obiektu oraz do klasyfikowania ocen i opinii dotyczących obiektu.

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

Elementy potomne

Element podrzędny Wymagany? Opis
<website> Optional Główna witryna internetowa hotelu. Jeśli występuje, musi być umieszczony przed pierwszym elementem <client_attr>. Przykład:
<website>https://hotel.example.com</website>
<client_attr name="attribute_name"> Optional Dodatkowa cecha lub „atrybut” obiektu, które można określić za pomocą obsługiwanej attribute_name lub attribute_name w przypadku kwater wakacyjnych.

Wartości obiektu zastępczego attribute_name

W tabeli poniżej znajdziesz listę prawidłowych wartości atrybutu attribute_name w elemencie <client_attr name="attribute_name">.

Wartości w kolumnie attribute_name Opis Prawidłowe wartości treści
alternate_hotel_id Alternatywny identyfikator miejsca zakwaterowania. Oddzielne identyfikatory są przydatne, jeśli potrzebujesz jednego identyfikatora miejsca zakwaterowania do informacji w pliku danych, a drugiego do systemu rezerwacji online. dowolna wartość ciągu znaków,
custom_[0-4] Atrybuty niestandardowe dowolnego typu ciągu znaków. Nie są one widoczne dla użytkowników. dowolna wartość ciągu znaków,
hotel_brand Marka, do której należy ten hotel, np. „Marriott” lub „Hilton”. Nie jest ona widoczna dla użytkowników, ale może być używana do grupowania hoteli. dowolna wartość ciągu znaków,
lodging Zaszyfrowane reprezentacje wszystkich pól dostępnych w prototypie Lodging. Ciąg znaków zakodowany w formacie Base64 zakodowanego proto Lodging
num_reviews Liczba opinii dotyczących oferty. Dowolny nieujemny numer całkowity.
rating Liczba zmiennoprzecinkowa reprezentująca łączną ocenę obiektu. Zwykle jest to zakres 0–5, 0–10 lub 0–100, ale możesz użyć dowolnego zakresu, który reprezentuje Twój system oceny. Na przykład: ocena obiektu powinna wynosić 3 lub 4, jeśli rating_scale ma wartość 5.

Uwaga: jeśli nie podasz wartości, domyślna skala rating_scale to 0–10.

Wartości obiektu zastępczego attribute_name w przypadku kwater wakacyjnych

Zapoznaj się z atrybutami dotyczącymi kwater wakacyjnych i przykładem pliku XML.

<image>

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

Zdjęcia służą do wyświetlania obiektu w identyfikatorze oferty. Wszystkie używane obrazy muszą być zgodne z tymi wytycznymi:

  • Zalecany format obrazu to 4:3.
  • Adres URL obrazu musi być dostępny dla robota Googlebot indeksującego obrazy.
  • Jeśli Twoja witryna zawiera plik robots.txt na poziomie katalogu głównego, sprawdź, czy zawiera on jedną z 2 opcji pokazanych poniżej:

    1. Umożliwia robotowi Googlebot indeksowanie treści witryny, w tym obrazów.

      • User-agent: Googlebot
      • Allow: /
    2. Umożliwia robotowi Googlebot indeksującemu obrazy indeksowanie obrazów w Twojej witrynie.

      • User-agent: Googlebot-Image
      • Allow: /
  • Zrzuty ekranu obrazów lub stron internetowych są niedozwolone. Obrazy muszą być oryginalne i przedstawiać rzeczywiste zdjęcia.

Atrybuty

  • "ad" jeśli obraz jest reklamą,
  • "menu" jeśli obraz przedstawia menu restauracji,
  • "photo" jeśli obraz przedstawia firmę,
Nazwa atrybutu Wymagany? Format Opis
type Required Text

Obraz musi być jednym z tych elementów:

url Required Text Adres URL obrazu w pełnej wielkości. Użyj atrybutu url, aby określić obraz, którego chcesz użyć na tej stronie.
width Required A non-negative integer Szerokość obrazu w pikselach (zalecane ponad 720 pikseli)
height Required A non-negative integer Wysokość obrazu w pikselach (zalecane ponad 720 pikseli)

Elementy potomne

Element podrzędny Wymagany? Opis
<link> Wymagane w przypadku lokalnych informacji z zdjęciami. Ten tag zawiera aktualny adres URL strony w Twojej witrynie, na której znajduje się odpowiedni obraz. Nie zawiera adresu URL samego obrazu. Przykład:
<link><http://www.example.com/magic_pizza/></link>
<title> Wysłano prośbę Ten tag zawiera tytuł obrazu. Przykład:
<title>"Luxury Apartment"</title>
<author> Niewymagane Imię i nazwisko autora treści. Wartość może być nazwą użytkownika lub pełnym imieniem i nazwiskiem w formacie „Imię Nazwisko”.
<date> Wymagane

Ten tag wskazuje datę utworzenia elementu treści. Musisz wpisać rok, miesiąc i dzień, jak w tym przykładzie:

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

Przykład

Ten przykład przedstawia częściową listę hoteli z tagami obrazów:

<?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>

Wytyczne dotyczące składni

Podczas tworzenia listy hoteli w formacie XML należy przestrzegać tych wskazówek:

  • Sprawdź poprawność plików XML listy hoteli za pomocą schematu XSD Google.

  • Użyj kodowania UTF-8. Określ ten schemat kodowania, dodając atrybut encoding do tagu XML, jak pokazano w przykładach poniżej.

  • Wartości danych w pliku danych możesz określać za pomocą sekcji CDATA. Jeśli używasz sekcji CDATA, nie zmieniaj znaczenia znaków specjalnych.

  • Używaj kodów zmiany znaczenia w przypadku wartości danych, które nie znajdują się w sekcjach CDATA, w tym adresów URL. Do reprezentowania tych znaków specjalnych możesz użyć kodu encji lub kodu znaku. W tabeli poniżej znajdziesz listę typowych kodów elementów i znaków, których możesz używać:

    Znak Jednostka Kod znaku
    Ampersand (&) &amp; &#38;
    Pojedynczy cudzysłów (‘) &apos; &#39;
    Podwójny cudzysłów („”) &quot; &#34;
    Większe niż (>) &gt; &#62;
    Mniejsze niż (<) &lt; &#60;
  • Pomiń elementy XML, które nie zawierają danych. Jeśli na przykład nie masz szerokości i długości geograficznej hotelu, nie dodawaj pustych elementów <latitude/> i <longitude/>.

  • Pod żadnym pozorem nie używaj kodu HTML w elementach XML (nawet jeśli jest on ujęty w znaki ucieczki).

  • Aby sprawdzić plik danych przed przesłaniem, możesz użyć lokalnego pliku XSD: http://www.gstatic.com/localfeed/local_feed.xsd.

  • Aby używać komentarzy w kanale, użyj tagów <!-- i -->, jak w tym przykładzie:

    <!-- This is a comment -->
    
  • Pamiętaj, aby zamknąć element <date> w profilu użytkownika <review>. Na przykład:

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