Dokumentacja XML listy hoteli

Lista hoteli to co najmniej jeden plik XML zawierający listę wszystkich hoteli, dla których podajesz informacje o cenach. 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.

W ramach początkowej implementacji tworzysz listę hoteli, a następnie w ramach regularnej konserwacji dodajesz lub usuwaj z niej hotele.

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

Po utworzeniu listy hoteli możesz ręcznie przesłać ją do Google za pomocą Hotel Center lub umieścić 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 produkcie

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;
  • Montaż ścian i hydraulików
  • minimalny okres pobytu, który nie przekracza 7 dni.

Typowe przykłady obiektów nieodpowiednich to rejsy i apartamenty, ponieważ zwykle nie spełniają one kryterium Listing requirements.

Domki kempingowe i inne obiekty kempingowe ze stałymi ścianami, instalacją hydrauliczną i klimatyzacją (w tym piecami drewnianymi lub propanowymi) mogą być objęte promocją. Niezakwalifikowane miejsca zakwaterowania na świeżym powietrzu:

  • Kempingi, w których goście zatrzymują się w namiotach
  • Parkingi dla kamperów, do których można przyjechać własnym kamperem

<listings>

<listings> to główny element listy hoteli, który zawiera element <language> i co najmniej 1 element <listing>.

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

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

Składnia

Element <listings> używa takiej 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 Wymagana? Opis
xmlns:xsi Wymagany Ustaw jako: http://www.w3.org/2001/XMLSchema-instance.
xsi:noNamespaceSchemaLocation Wymagany Ustaw jako: http://www.gstatic.com/localfeed/local_feed.xsd.

Elementy potomne

Element <listings> ma te elementy podrzędne:

Element podrzędny Wymagana? Typ Opis
<language> Required string Język, w którym napisano 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 punkt odniesienia geodezyjny lub model referencyjny dla współrzędnych szerokości i długości geograficznej podanych w pliku danych. Jeśli nie podasz wartości punktu odniesienia, wartością domyślną tego elementu będzie WGS84, która jest używana przez większość nowoczesnych urządzeń GPS. Punkt odniesienia dla Tokio ma zastosowanie tylko do 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 dodawaj elementu <datum> na liście hoteli.
<listing> Required <listing> Co najmniej jeden wpis opisujący każdy hotel w pliku danych. Pamiętaj, że każdy hotel na liście musi mieć unikalny identyfikator, który jest unikalny dla Twojej witryny. Tego identyfikatora nie należy nigdy używać ponownie.

Przykłady

Uporządkowany adres

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 w dowolnej postaci

Ten przykład zawiera 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, 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

Poniższy przykład pokazuje częściową listę hoteli wraz z wizytówką zawierającą opcjonalną <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 listy hoteli <listings>.

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

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

Składnia

Element <listing> używa takiej 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 Wymagana? Typ Opis
<id> Required string Unikalny identyfikator hotelu.

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

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

Pełna lokalizacja fizyczna hotelu.

Ten element przyjmuje jeden atrybut format, który musisz ustawić na simple.

Musisz podać co najmniej adres, miasto, stan lub region oraz kod pocztowy hotelu. Aby opisać każdą z tych części adresu, użyj elementów podrzędnych <component>:

  • addr1: podstawowy adres hotelu.
  • addr2: dodatkowy adres (jeśli jest wymagany).
  • addr3: trzecia część adresu pocztowego, jeśli to konieczne.
  • city: nazwa miasta hotelu.
  • province: nazwa stanu, regionu lub prowincji hotelu.
  • 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 w formacie dowolnym, chociaż nie jest to zalecane. Na przykład:

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

Skrytki pocztowe oraz inne adresy pocztowe nie są uznawane za pełne adresy pocztowe.

<country> Required string Kraj, w którym znajduje się dana wizytówka. Wartością musi być dwuliterowy kod 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>

Tę wartość 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>

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

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

Co najmniej jeden numer kontaktowy hotelu. Jeśli wpis dotyczy oddziału firmy, podaj numer telefonu do właściwego oddziału (nie numer główny centrali).

Oto możliwe atrybuty type:

  • fax: numer faksu.
  • main: główny numer telefonu dla połączeń głosowych.
  • mobile: numer telefonu komórkowego.
  • tdd: numer telefonu TDD (telekomunikacja dla osób niesłyszących).
  • 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>

Należy podać przynajmniej typ main.

<category> Optional string Rodzaj obiektu, na przykład hotel. Partnerzy mogą używać dowolnych wewnętrznych kategorii do opisania obiektu, np. „hotele biznesowe”, „ośrodki wypoczynkowe”, „motele” itp.
<content> Optional <content> Opcjonalne informacje używane we wpisie, takie jak opis, oceny i funkcje nieruchomości.

* Wymagany jest numer telefonu lub szerokość/długość geograficzna. Zalecamy zdefiniowanie obu.

Przykłady

Uporządkowany adres

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 w dowolnej postaci

Ten przykład zawiera 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, 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

Poniższy przykład pokazuje częściową listę hoteli wraz z wizytówką zawierającą opcjonalną <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 wizytówce, np. oceny i opinie, udogodnienia i inne szczegóły. Element <content> jest opcjonalny. W <content> wszystkie elementy podrzędne są opcjonalne.

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

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

Składnia

Element <content> używa takiej 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 Wymagana? Typ Opis
<text type="description"> Optional Object

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

  • <link>: link do opisu. Dodaj w tym elemencie „http://” lub
    „https://” (opcjonalnie).
  • <title>: tytuł opisu (opcjonalny).
  • <author>: autor opisu (opcjonalnie).
  • <body>: treść opisu (wymagany).
  • <date>: data opisu (opcjonalnie).
  • Uwaga: te elementy muszą występować w podanej wyżej kolejności.

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

Zawiera opinię użytkownika lub opinię redakcyjną dotyczącą informacji o firmie. Wizytówka może zawierać dowolną liczbę opinii każdego typu.

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

<attributes> Optional Object

Zawiera co najmniej 0 elementów podrzędnych <client_attr>, które zawierają informacje o właściwości. Elementy podrzędne używają takiej 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 się on znajdować przed jakimkolwiek elementem <client_attr>.

<image> Optional Object Powtórzony tag zawiera szczegółowe informacje o obrazie.

Przykład

Ten przykład przedstawia częściową listę hoteli zawierającą 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ą. Nie musisz uwzględniać w elemencie <listing> wszystkich opinii o produkcie. Ten element służy do uwzględniania wybranych opinii, które wskazują cechy lub jakość wizytówki.

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

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

Składnia

Element <review> używa takiej 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 Wymagana? Opis
type Required Rodzaj opinii. Ustaw jedną z tych wartości:
  • editorial: opinia wydana przez witrynę lub inny organ weryfikatora.
  • user: opinia użytkownika.

Elementy potomne

Element <review> ma te elementy podrzędne:

Element podrzędny Wymagana? Typ Opis
<link> Optional string Link do opinii. Dodaj w tym elemencie „http://” lub „https://”.
<title> Optional string (Tylko opinie redakcyjne) Tytuł opinii.
<author> Optional string Autor opinii, np. „Susan von Trapp”. Może to też być nazwa witryny lub publikacji, w których pojawia się opinia, jeśli nie ma ona podanego źródła.
<rating> Optional string Liczba zmiennoprzecinkowa od 0 do 10 (włącznie) reprezentująca wynik opinii. Na przykład „8.9”.
<body> Optional string Tekst opinii. Ten element nie powinien zawierać kodu HTML.
<date month="MM" day="DD" year="YYYY"/> Optional Object (Tylko opinie użytkowników) Data opinii określona za pomocą tych atrybutów tego elementu:
  • day: dzień miesiąca, np. „7”.
  • month: miesiąc, gdzie 1 = styczeń ... 12 = grudzień.
  • year: rok zapisany 4 cyframi, np. 2023.

Na przykład dzień 7 czerwca 2023 r. będzie wyglądać tak:

<date month="6" day="7" year="2023"/>
<servicedate month="MM" day="DD" year="YYYY"/> Optional Object (Tylko w przypadku opinii użytkowników) Data dodania opinii przez osobę sprawdzającą. Format jest taki sam jak powyżej.

Na przykład dzień 7 czerwca 2023 r. będzie wyglądać tak:

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

Opinie, w których nie podano przynajmniej miesiąca i roku <servicedate>, mogą się nie wyświetlać. Dzień nie jest wymagany.

Pamiętaj, że <title> jest prawidłowym elementem podrzędnym elementu <review> tylko wtedy, gdy type podczas sprawdzania ma wartość editorial, a zasada <date> jest prawidłowa tylko wtedy, gdy type ma wartość user.

Przykład

Ten przykład przedstawia częściową listę hoteli z informacjami o firmie zawierającymi redakcję 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>

Tagu <attributes> można używać do opisywania udogodnień w obiekcie oraz do klasyfikowania ocen i opinii.

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

Elementy potomne

Element podrzędny Wymagana? Opis
<website> Optional Główna strona internetowa hotelu. Jeśli występuje, musisz go umieścić przed pierwszym elementem <client_attr>. Przykład:
<website>https://hotel.example.com</website>
<client_attr name="attribute_name"> Optional Dodatkowa cecha lub „atrybut” nieruchomości, który można określić za pomocą obsługiwanej właściwości attribute_name lub attribute_name w przypadku kwater wakacyjnych.

Wartości zmiennej attribute_name

W tabeli poniżej znajdziesz prawidłowe wartości parametru attribute_name w elemencie <client_attr name="attribute_name">.

Wartości parametru attribute_name Opis Prawidłowe wartości treści
alternate_hotel_id Alternatywny identyfikator miejsca zakwaterowania. Posiadanie osobnych identyfikatorów jest przydatne, gdy potrzebujesz jednego identyfikatora usługi w informacjach o pliku danych i drugiego identyfikatora usługi systemu rezerwacji. Dowolna wartość ciągu znaków
custom_[0-4] Dowolny niestandardowy atrybut typu ciągu. Te informacje nie są wyświetlane użytkownikom. Dowolna wartość ciągu znaków
hotel_brand Marka, do której należy ten hotel, Na przykład „Marriott” lub „Hilton”. Nie jest ona widoczna dla użytkowników, ale można jej używać do grupowania hoteli. Dowolna wartość ciągu znaków
lodging Zakodowana reprezentacja wszystkich pól dostępnych w protokołu Lodging. Ciąg znaków zakodowany w Base64 zakodowanego protokołu Lodging
num_reviews Liczba opinii o firmie. Dowolna nieujemna liczba całkowita.
rating Liczba zmiennoprzecinkowa reprezentująca łączną ocenę właściwości. Zwykle należy do zakresu od 0 do 5, 0–10 lub 0–100, ale możesz użyć dowolnego zakresu, który odzwierciedla Twój system ocen.

Wartości zmiennej attribute_name dla kwater wakacyjnych

Zobacz przykładowe atrybuty dotyczące kwater wakacyjnych i plik XML.

<image>

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

Obrazy pokazują usługę w identyfikatorze wizytówki. Wszystkie używane obrazy muszą być zgodne z tymi wytycznymi:

  • Zalecany współczynnik proporcji obrazu to 4:3.
  • Adres URL obrazu musi być dostępny dla robota indeksującego obrazy Googlebot.
  • Jeśli na poziomie głównym witryny znajduje się plik robots.txt, sprawdź, czy zawiera ona jedną z tych 2 opcji:

    1. Zezwala robotowi Googlebot na indeksowanie treści w witrynie, w tym załączonych obrazów.

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

      • User-agent: Googlebot-Image
      • Allow: /
  • Zrzuty ekranu i strony internetowe są niedozwolone. Grafika musi być oryginalnymi i rzeczywistymi obrazami lub fotografiami.

Atrybuty

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

Musi to być jeden z tych rodzajów obrazów:

url Required Text Adres URL obrazu w pełnym rozmiarze. Aby określić obraz, którego chcesz użyć na danej stronie, użyj atrybutu url.
width Required A non-negative integer Szerokość obrazu w pikselach (zalecana wartość większa niż 720 pikseli)
height Required A non-negative integer Wysokość obrazu w pikselach (zalecana wartość większa niż 720 pikseli)

Elementy potomne

Element podrzędny Wymagana? Opis
<link> Prośba, ale wymagana w przypadku lokalnych informacji o zdjęciach. Ten tag zawiera prawidłowy i 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ścią może być nazwa użytkownika lub imię i nazwisko w formacie „Imię Nazwisko”.
<date> Wymagany

Ten tag określa 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

Przykład poniżej pokazuje częściową listę hoteli z tagami zdjęć:

<?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 postępuj zgodnie z tymi wskazówkami:

  • Zweryfikuj pliki XML listy hoteli za pomocą schematu XSD Google.

  • Użyj kodowania UTF-8. Określ ten schemat kodowania, uwzględniając atrybut encoding w tagu XML, tak jak w poniższych przykładach.

  • Możesz określić wartości danych w pliku danych 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órych nie ma w sekcjach CDATA, także w adresach URL. Te znaki specjalne możesz reprezentować zarówno za pomocą kodu elementu, jak i kodu znaków. W tabeli poniżej znajdziesz typowe kody elementów i znaków, których możesz używać:

    Znak Element Kod znaku
    Znak & &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 np. 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 ze znakami ucieczki).

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

  • Aby używać komentarzy w kanale, umieść go między tagami <!-- i -->, jak pokazano na przykładzie poniżej:

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

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