Na tej stronie znajdziesz opisy, wartości i wymagania dotyczące atrybutów i elementów podrzędnych. Te wartości mają zastosowanie tylko w przypadku obiektów wakacyjnych.
Ogólna struktura XML jest podobna do formatu plików danych z informacjami o hotelach. Zobacz specyfikację listy hoteli w formacie XML.
Brak tych wymaganych elementów spowoduje automatyczne wyłączenie informacji:
- Wymagane elementy podrzędne XML:
id
,name
,latitude
,longitude
,address
. - Wymagane atrybuty:
capacity
iwebsite
. Zapoznaj się z linkami bezpośrednimi do kwater wakacyjnych w pliku danych z informacjami o kwaterach. Dzięki temu użytkownicy mogą odwiedzić witrynę obiektu.
Szczegółowe informacje o wymaganych elementach podrzędnych XML znajdziesz w sekcji Elementy podrzędne XML.
Więcej informacji o kwaterach wakacyjnych znajdziesz w artykule Atrybuty unikalne dla kwater wakacyjnych.
Gdy Google na podstawie innych źródeł stwierdzi, że wartość atrybutu jest inna niż podana w pliku danych dla informacji o kwaterze wakacyjnej, wyświetli tę wartość w informacjach. Jeśli na przykład na podstawie zdjęć obiektu Google stwierdzi, że ma on kuchnię, ale atrybut kitchen
jest nieobecny lub ma wartość No
, Google uzna, że obiekt ma kuchnię. Te atrybuty są nazywane „atrybutami wywnioskowanymi” i wyświetlają się tylko wtedy, gdy istnieje wysoki poziom pewności co do dokładności wnioskowania.
<review>
Zawiera opinię użytkownika lub redakcyjną. W elemencie <listing>
nie musisz umieszczać wszystkich opinii o informacjach. Ten element służy do umieszczania wybranych opinii, które wskazują na funkcje lub jakość tej wizytówki.
Element <review>
występuje w tym miejscu w hierarchii pliku danych XML listy hoteli:
+ <listings>
+ <language>
+ <listing>
+ <content>
+ <review>
Składnia
Element <review>
ma tę 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 | Rodzaj opinii. Ustaw jedną z tych wartości:
|
Elementy potomne
Element <review>
ma te elementy podrzędne:
Element podrzędny | Wymagany? | Typ | Opis |
---|---|---|---|
<link> | Optional | string | Link do opinii. Ten element musi zawierać „http://” lub „https://”. |
<title> | Optional | string | (Tylko opinie redakcyjne) 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 jest ona przypisana do konkretnego autora. |
<rating> | Optional | string | Liczba zmiennoprzecinkowa z przedziału od 0 do 10 (włącznie) reprezentująca ocenę 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, którą określasz za pomocą tych atrybutów elementu:
Na przykład 7 czerwca 2023 r. zapisuje się w ten sposób: <date month="6" day="7" year="2023"/> |
<servicedate month="MM" day="DD" year="YYYY"/> | Optional | Object | (Tylko opinie użytkowników) Data, kiedy osoba pisząca opinię odwiedziła stronę z informacjami o aplikacji. Format jest taki sam jak w przypadku elementu <date>.
Na przykład 7 czerwca 2023 r. zapisuje się w ten sposób: <servicedate month="6" day="7" year="2023"/> Opinie, w których nie podano co najmniej miesiąca i roku w polu <servicedate>, mogą nie być wyświetlane. Dzień nie jest wymagany. |
Przykład
Ten przykład przedstawia częściową listę hoteli z informacjami o hotelu, które zawierają redakcyjną i 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>
Wartości zmiennej attribute_name
W tabeli poniżej znajdziesz listę prawidłowych wartości atrybutu attribute_name
w elemencie <client_attr name="attribute_name">
. Zalecamy jednak podanie dodatkowych wartości attribute_name
, jeśli są dostępne.
Wartości dla: attribute_name |
Wymagany? | Opis | Prawidłowe wartości treści |
---|---|---|---|
capacity | Required | Maksymalna liczba gości, jaką może pomieścić obiekt. Ta wartość powinna być równa lub większa niż „number_of_bedrooms”. | Non-negative integer value |
website | Required | Adres URL witryny usługi. | Free text |
partner_hygiene_link | Strongly recommended | Link do zewnętrznej witryny partnera, w której znajdziesz więcej informacji o szczegółach dotyczących higieny w przypadku danej oferty. | Free text (the site's URL) |
number_of_bathrooms | Strongly recommended | Liczba łazienek. | Non-negative float value, for example, 1, 1.5, 2 |
number_of_bedrooms | Strongly recommended | Liczba sypialni. | Non-negative integer value |
number_of_beds | Strongly recommended | Liczba łóżek we wszystkich pokojach. | Non-negative integer value |
self_checkin_checkout | Recommended | Czy obiekt umożliwia samodzielne zameldowanie się i wymeldowanie. | Yes/No/Unknown |
rating | Strongly recommended | Liczba zmiennoprzecinkowa reprezentująca łączną ocenę obiektu. Ta liczba zwykle mieści się w zakresie 0–5, 0–10 lub 0–100, ale możesz użyć dowolnego zakresu, który odpowiada Twojemu systemowi ocen. | Non-negative float value |
rating_num | Strongly recommended | Liczba ocen, które ma obiekt. | Non-negative integer value |
rating_scale | Strongly recommended | Maksymalna ocena możliwa w przypadku obiektu. Na przykład w przypadku skali oceny 5 ocena obiektu powinna wynosić 3 lub 4.
Uwaga: jeśli nie podasz wartości, domyślna skala oceny to 0–10. |
Non-negative integer value |
instant_bookable | Strongly recommended | Czy w procesie płatności można natychmiast zarezerwować pokój. Alternatywą jest oczekiwanie na zatwierdzenie. | Yes/No/Unknown |
description | Strongly recommended | Tekst niesformatowany opisujący unikalne cechy obiektu | Free text |
category | Strongly recommended | rodzaj obiektu, np. willa, bungalow, domek lub apartament; | Free text |
ac | Recommended | Czy obiekt jest klimatyzowany. | Yes/No/Unknown |
beach_access | Recommended | Czy obiekt ma dostęp do publicznej plaży w pobliżu. | Yes/No/Unknown |
check_in_time | Recommended | Dokładna godzina zameldowania w obiekcie. Akceptowane formaty to GGMM, GG:MM i GG:MM:SS. Na przykład zamiast 14:00 lub 14:00 użyj 14:00. Wszystkie pozostałe formaty nie będą analizowane ani wyświetlane. | Time |
check_out_time | Recommended | Dokładna godzina wymeldowania z obiektu. Akceptowane formaty to GGMM, GG:MM i GG:MM:SS. Na przykład zamiast 11:00 rano lub 11:00am użyj 11:00. Wszystkie pozostałe formaty nie będą analizowane ani wyświetlane. | Time |
child_friendly | Recommended | Czy obiekt jest odpowiedni dla dzieci. | Yes/No/Unknown |
crib | Recommended | Dostępność łóżeczka dziecięcego. | Yes/No/Unknown |
elevator | Recommended | Czy w obiekcie znajduje się winda. | Yes/No/Unknown |
gym_fitness_equipment | Recommended | Czy w obiekcie znajduje się siłownia lub sprzęt do ćwiczeń. | Yes/No/Unknown |
heating | Recommended | Czy obiekt jest ogrzewany. | Yes/No/Unknown |
hot_tub | Recommended | Czy obiekt ma jacuzzi. | Yes/No/Unknown |
ironing_board | Recommended | Czy w obiekcie znajduje się deska do prasowania. | Yes/No/Unknown |
kitchen | Recommended | Czy w obiekcie znajduje się kuchnia. | Yes/No/Unknown |
microwave | Recommended | Czy w obiekcie znajduje się kuchenka mikrofalowa. | Yes/No/Unknown |
min_days_advance_purchase | Recommended | Minimalna liczba dni wyprzedzenia, z jakim można zarezerwować obiekt. | Non-negative integer value |
min_night_stay | Recommended | Minimalna liczba nocy, na które gość może zarezerwować obiekt. | Positive integer (more than zero) |
max_night_stay | Recommended | Maksymalna liczba nocy, na jaką gość może zarezerwować obiekt. | Positive integer (more than zero) |
outdoor_grill | Recommended | Czy obiekt ma grilla. | Yes/No/Unknown |
oven_stove | Recommended | Czy w obiekcie znajduje się kuchenka. | Yes/No/Unknown |
parking_type | Recommended | Rodzaj parkingu dostępnego na terenie obiektu. | Free/Paid/None |
patio | Recommended | Czy obiekt ma patio. | Yes/No/Unknown |
pets_allowed | Recommended | W niektórych lub wszystkich pokojach goście mogą przebywać ze zwierzętami domowymi – psami lub kotami, które nie są zwierzętami asystującymi. | Yes/No/Unknown |
pool_type | Recommended | Rodzaj basenu (dostęp do basenu) w obiekcie. | Indoors, Outdoors, Indoors/Outdoors, None |
room_type | Recommended | Rodzaj pokoju. ENTIRE_PLACE to jedyna obsługiwana wartość. |
ENTIRE_PLACE
|
smoking_free_property | Recommended | Czy w obiekcie obowiązuje zakaz palenia. | Yes/No/Unknown |
special_service_level | Recommended | Czy poziom usługi w przypadku tej wizytówki jest w jakiś sposób specjalny.
Przykłady: verified , luxury , premium |
Yes/No/Unknown |
square_footage | Recommended | Powierzchnia nieruchomości w stopach kwadratowych. | Non-negative float value |
square_meters | Recommended | Powierzchnia nieruchomości w metrach kwadratowych. | Non-negative float |
tv | Recommended | Czy w obiekcie znajduje się telewizor. | Yes/No/Unknown |
washer_dryer | Recommended | Czy w obiekcie znajdują się pralki. | Yes/No/Unknown |
wheelchair_accessible | Recommended | Dostępność obiektu dla osób na wózkach inwalidzkich. | Yes/No/Unknown |
internet_type | Recommended | Rodzaj dostępu do internetu Wi-Fi zapewnianego przez obiekt. | Free/Paid/None |
airport_shuttle | Optional | Czy gospodarz zapewnia transport między hotelem a lotniskiem lub innymi terminalami. | Yes/No/Unknown |
balcony | Optional | Czy obiekt ma balkon. | Yes/No/Unknown |
fire_place | Optional | Czy w obiekcie znajduje się kominek. | Yes/No/Unknown |
free_breakfast | Optional | Czy śniadanie jest wliczone w cenę. | Yes/No/Unknown |
host_description | Optional | Opis gospodarza kwatery wakacyjnej. | Free text |
host_language | Optional | Języki, którymi posługuje się gospodarz. | Lista kodów języków rozdzielonych przecinkami, np. de , en |
host_name | Optional | Imię i nazwisko gospodarza kwatery wakacyjnej. | Free text |
host_response_rate | Optional | Średni współczynnik odpowiedzi gospodarza. | Non-negative float value, for example, 1, 0.75, 0.5 |
host_response_time | Optional | Średni czas odpowiedzi gospodarza. | Free text |
license_num | Optional | Numer licencji (turystycznej lub firmy) wymagany w przypadku obiektów w określonych regionach świata. Można go powtarzać. Jeśli istnieje kilka licencji, zalecamy dodanie urzędu wystawiającego licencję (na przykład: „Paryż: 123456ABC”). | Free text |
number_of_half_bathrooms | Optional | Liczba łazienek bez prysznica lub wanny. | Non-negative integer value |
number_of_living_rooms | Optional | Liczba salonów. | Non-negative integer value |
private_beach_access | Optional | Czy obiekt ma specjalny dostęp do niepublicznej plaży. | Yes/No/Unknown |
refund_policy | Optional | Zasady zwrotów dotyczące obiektu. | Free text |
Elementy podrzędne XML
Wymagane są te elementy podrzędne XML:
Element podrzędny | Wymagany? | Typ | Opis |
---|---|---|---|
<country> | Strongly recommended | string | Kraj, w którym znajduje się ta wizytówka. Wartością musi być dwuliterowy kod kraju zgodny z normą ISO 3116. Na przykład Stany Zjednoczone to US , a Kanada to CA :
<country>US</country> |
<id> | Required | string | Unikalny identyfikator usługi. Pamiętaj, że każdy obiekt wakacyjny musi mieć identyfikator, który jest unikalny w Twojej witrynie i nigdy nie powinien być ponownie używany. |
<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. |
<name> | Required | string | Nazwa usługi. Maksymalnie 300 znaków. |
<address> | Required | string or Object | Pełny adres fizycznej lokalizacji obiektu w formie ciągu znaków. Adres musi zawierać nazwę ulicy i numer domu. Jeśli nie ma adresu, powinien on zawierać kod plus. W stosownych przypadkach należy podać numer mieszkania lub lokalu. Możesz też podać adres „złożony”. Użyj elementów podrzędnych
Skrytki pocztowe ani inne adresy korespondencyjne nie są uznawane za pełne adresy hoteli. Oto przykłady pełnego adresu: <address>6 Acacia Ave Apt. 2, Nottingham NG8 6FT, UK/address> <address> <component name="addr1">6 Acacia Ave</component> <component name="addr2">Apt. 2</component> <component name="city">Nottingham </component> <component name="postal_code">NG8 6FT</component> <component name="country">UK</component> </address> Oto przykłady pełnego adresu z użyciem kodu plus: <address>XQHM+7VF Nottingham NG8 6FT, UK/address> <address> <component name="addr1">XQHM+7VF</component> <component name="city">Nottingham </component> <component name="postal_code">NG8 6FT</component> <component name="country">UK</component> </address> Unikaj tych działań:
|
Przykład informacji o kwaterze wakacyjnej
<?xml version="1.0" encoding="UTF-8"?> <listings> <language>en</language> <listing> <id>123456</id> <name>Apartment Name</name> <address format="simple"> <component name="addr1">18733 Clark Way</component> <component name="addr2">#C10</component> <component name="city">Mountain View</component> <component name="postal_code">94043</component> <component name="province">California</component> </address> <country>US</country> <latitude>37.4182515</latitude> <longitude>-122.0742354</longitude> <phone type="main">12345678</phone> <category>vacation_villa</category> <date day="21" month="12" year="2017"/> <content> <text type="description"> <link>https://list_url</link> <title>Description Title</title> <body>Description Body</body> </text> <review type="editorial"> <link>https://example.com/reviews/42</link> <title>A little piece of heaven</title> <author>EXAMPLE</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="2017"/> <servicedate day="16" month="6" year="2017"/> </review> <attributes> <website>https://hotel.example.com/123456</website> <client_attr name="capacity">7</client_attr> <client_attr name="cleaning_disinfection">Yes</client_attr> <client_attr name="min_days_between_stays">3</client_attr> <client_attr name="enhanced_cleaning_practices">Yes</client_attr> <client_attr name="partner_hygiene_link">http://www.example.com/hygiene/</client_attr> <client_attr name="number_of_bathrooms">2</client_attr> <client_attr name="number_of_bedrooms">3</client_attr> <client_attr name="number_of_beds">4</client_attr> <client_attr name="self_checkin_checkout">Yes</client_attr> <client_attr name="rating">4.8</client_attr> <client_attr name="rating_num">5373</client_attr> <client_attr name="rating_scale">5</client_attr> <client_attr name="ac">Yes</client_attr> <client_attr name="airport_shuttle">Yes</client_attr> <client_attr name="balcony">No</client_attr> <client_attr name="beach_access">Yes</client_attr> <client_attr name="check_in_time">15:00</client_attr> <client_attr name="check_out_time">11:00</client_attr> <client_attr name="child_friendly">Yes</client_attr> <client_attr name="crib">Unknown</client_attr> <client_attr name="elevator">Yes</client_attr> <client_attr name="fire_place">Unknown</client_attr> <client_attr name="free_breakfast">Yes</client_attr> <client_attr name="gym_fitness_equipment">Yes</client_attr> <client_attr name="heating">Yes</client_attr> <client_attr name="host_description">A short description about the host and their interests</client_attr> <client_attr name="host_name">The name of the host</client_attr> <client_attr name="host_language">en, da, el</client_attr> <client_attr name="host_response_rate">0.75</client_attr> <client_attr name="host_response_time">1 hour</client_attr> <client_attr name="hot_tub">Yes</client_attr> <client_attr name="instant_bookable">Yes</client_attr> <client_attr name="internet_type">Free</client_attr> <client_attr name="ironing_board">No</client_attr> <client_attr name="kitchen">Yes</client_attr> <client_attr name="license_num">Free text. If multiple licenses exist, we suggest adding authority of the licence as context</client_attr> <client_attr name="license_num">Paris: 123456ABC</client_attr> <client_attr name="microwave">Yes</client_attr> <client_attr name="max_night_stay">7</client_attr> <client_attr name="min_days_advance_purchase">2</client_attr> <client_attr name="min_night_stay">3</client_attr> <client_attr name="number_of_living_rooms">1</client_attr> <client_attr name="outdoor_grill">No</client_attr> <client_attr name="oven_stove">Yes</client_attr> <client_attr name="parking_type">Free</client_attr> <client_attr name="patio">Unknown</client_attr> <client_attr name="pets_allowed">Yes</client_attr> <client_attr name="pool_type">Indoors</client_attr> <client_attr name="private_beach_access">Unknown</client_attr> <client_attr name="room_type">ENTIRE_PLACE</client_attr> <client_attr name="refund_policy">The refund policy for the property</client_attr> <client_attr name="smoking_free_property">Yes</client_attr> <client_attr name="special_service_level">No</client_attr> <client_attr name="square_footage">1200</client_attr> <client_attr name="tv">Yes</client_attr> <client_attr name="washer_dryer">Yes</client_attr> <client_attr name="wheelchair_accessible">Yes</client_attr> </attributes> </content> </listing> </listings>