Список гостиниц – это один или несколько XML-файлов, в которых перечислены все гостиницы, для которых вы будете предоставлять информацию о ценах. Сам файл со списком гостиниц не содержит информации о ценах.
Корневым элементом списка гостиниц является элемент <listings>, который содержит элементы <listing>, описывающие ваши объекты.
Список гостиниц создается на начальном этапе реализации, а затем вы можете добавлять в него гостиницы или удалять их.
Убедитесь, что файлы соответствуют требованиям к синтаксису.
Например, используйте кодировку UTF-8 и укажите ее в атрибуте encoding тега XML.
Созданный список гостиниц можно вручную загрузить в Google на странице https://support.google.com/hotelprices/ или разместить на своем сервере.
Как найти и устранить проблемы с данными
Чтобы найти и устранить проблемы с данными в списке гостиниц, ознакомьтесь со следующими статьями:
Требования к странице приложения
Чтобы объект из вашего списка гостиниц мог участвовать в рекламе гостиниц в Google, он должен соответствовать следующим требованиям:
- номера, в которых могут остановиться постояльцы;
- физическое местоположение и здание, открытое для посещения;
- Стационарные стены и сантехника
- минимальную продолжительность проживания в номере не более 7 дней.
К недопустимым объектам относятся круизные лайнеры и апартаменты, поскольку они не соответствуют критериям Listing requirements.
Кемпинги с домиками и другими строениями с фиксированными стенами, водопроводом и климат-контролем (включая дровяные печи или пропановые обогреватели). Кемпинги, которые не соответствуют требованиям:
- Кемпинги, где гости живут в палатках.
- Стоянки для автодомов, где гости останавливаются в собственных автодомах.
<listings>
<listings> – корневой элемент списка гостиниц, который содержит элемент <language> и по крайней мере один элемент <listing>.
Элемент <listings> находится в следующем месте иерархии XML-файла списка гостиниц:
+ <listings>
+ <language>
+ <datum>
+ <listing>
Синтаксис
Элемент <listings> использует следующий синтаксис:
<?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>
Атрибуты
Элемент <listings> имеет следующие атрибуты:
| Атрибут | Обязательно? | Описание |
|---|---|---|
xmlns:xsi |
Обязательно | Должно иметь значение http://www.w3.org/2001/XMLSchema-instance. |
xsi:noNamespaceSchemaLocation |
Обязательно | Должно иметь значение http://www.gstatic.com/localfeed/local_feed.xsd. |
Дочерние элементы
Элемент <listings> содержит следующие дочерние элементы:
| Дочерний элемент | Обязательно? | Тип | Описание |
|---|---|---|---|
| <language> | Required | string | Язык, на котором представлены ваши сведения о товарах. Значением этого элемента должен быть
двухбуквенный код языка. Например, en для английского языка. |
| <datum> | Optional | enum | Этот элемент указывает геодезическую систему координат или эталонную модель для координат широты и долготы, указанных в фиде. Если значение не указано, по умолчанию используется WGS84. Это значение используется в большинстве современных GPS-устройств. Система координат Токио применима только к адресам в Японии.
Допустимые значения для этого элемента:
WGS84, не включайте элемент <datum> в список гостиниц.
|
| <listing> | Required | <listing> |
Одна или несколько записей, описывающих каждую гостиницу в фиде. Обратите внимание, что у каждого отеля в списке должен быть уникальный идентификатор, который не используется для других отелей. |
Примеры
Структурированный адрес
Ниже приведен пример частичного списка гостиниц со структурированными адресами.
<?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>
Адрес в свободной форме
Ниже приведен пример списка отелей с адресами в свободной форме.
<?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>
Необязательный контент
Ниже приведен пример списка гостиниц, в котором есть необязательный элемент <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>
<attributes>
<website>https://hotel.example.com</website>
<client_attr name="rating">8.2</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>
Определение гостиницы в элементе списка гостиниц <listings>.
Элемент <listing> находится в следующем месте иерархии XML-фида со списком гостиниц:
+ <listings>
+ <language>
+ <listing>
Синтаксис
Элемент <listing> использует следующий синтаксис:
<?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>
Атрибуты
У элемента <listing> нет атрибутов.
Дочерние элементы
Элемент <listing> содержит следующие дочерние элементы:
| Дочерний элемент | Обязательно? | Тип | Описание |
|---|---|---|---|
| <id> | Required | string | Уникальный идентификатор гостиницы.
Примечание. Это значение должно быть уникальным для вашего сайта. Не используйте идентификаторы повторно, так как это может привести к проблемам при устранении неполадок с сопоставлением объектов. |
| <name> | Required | string | Название отеля. Пример:
<name>Belgrave House</name> |
| <address> | Required | Object or string | Полный адрес гостиницы. У этого элемента есть один атрибут – Укажите почтовый адрес гостиницы, в частности город, регион, почтовый индекс Используйте дочерние элементы
Пример: <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> Вы также можете указать адрес в свободной форме, но мы не рекомендуем так делать. Пример: <address>6 Elm Ave Unit 3, Boston, MA, 02472</address> Учтите, что номер абонентского ящика или только почтовый адрес не считаются полными физическими адресами. |
| <country> | Required | string | Страна, в которой находится объект. Значение должно быть двухбуквенным кодом страны.
Например, для России – RU, а для США – US. Пример:
<country>US</country> |
| <latitude> | Required* | float | Широта, которая соответствует местоположению, указанному в данных о компании. Пример:
<latitude>37.423738</latitude> Это значение можно сгенерировать с помощью инструментов геокодирования, например Google Maps API. |
| <longitude> | Required* | float | Долгота, которая соответствует местоположению, указанному в данных о компании. Пример:
<longitude>-122.090101</longitude> Это значение можно сгенерировать с помощью инструментов геокодирования, например Google Maps API. |
| <location_precision> | Optional | integer | Точность местоположения объекта недвижимости, отправленная в метрах, когда широта и долгота объекта скрыты. Значение "0" означает, что местоположение не скрыто и является точным. Примечание. Этот элемент относится только к жилью для отпуска. |
| <phone> | Required* | string | Один или несколько контактных номеров телефона гостиницы. Если это филиал, укажите его номер телефона, а не номер головного офиса. Атрибут
Пример: <!-- Singapore (country code +65) --> <phone type="main">+65 6722-2323</phone> <!-- U.S. (country code +1) --> <phone type="fax">+1 408-555-1111</phone> Как минимум, необходимо указать тип |
| <category> | Optional | string | Тип объекта, например гостиница. Партнеры могут использовать любые внутренние категории для описания своих объектов, например "бизнес-отели", "курорты", "мотели" и т. д. |
<content> |
Optional | <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>
<!-- 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>
Адрес в свободной форме
Ниже приведен пример списка отелей с адресами в свободной форме.
<?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>
Необязательный контент
Ниже приведен пример списка гостиниц, в котором есть необязательный элемент <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>
<attributes>
<website>https://hotel.example.com</website>
<client_attr name="rating">8.2</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>
Добавляет информацию о жилье, например оценки, удобства и другие сведения. Элемент <content> необязателен. Все дочерние элементы в <content> необязательны.
Элемент <content> находится в следующем месте иерархии XML-фида со списком гостиниц:
+ <listings>
+ <language>
+ <listing>
+ <content>
Синтаксис
Элемент <content> использует следующий синтаксис:
<?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 attributes: -->
<attributes>
<website>https://hotel.example.com</website>
<client_attr name="alternate_hotel_id">alternate_hotel_id</client_attr>
<client_attr name="hotel_brand">hotel_brand</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>
Атрибуты
У элемента <content> нет атрибутов.
Дочерние элементы
Элемент <content> содержит следующие дочерние элементы:
| Дочерний элемент | Обязательно? | Тип | Описание |
|---|---|---|---|
| <text |
Optional | Object | Веб-страница, связанная с информацией от поставщика. Содержит следующие дочерние элементы:
Примечание. Элементы должны быть указаны в приведенном выше порядке. |
| <review |
Optional | <review> | Отзыв пользователя или редактора. В списке может быть любое количество отзывов обоих типов. В элементе Важно! Элемент <review> следует отправлять только для аккаунтов, связанных с жильем для отпуска. За дополнительной информацией обратитесь к техническому менеджеру аккаунта. |
| <attributes> | Optional | Object | Содержит ноль или более дочерних элементов <client_attr name="attribute_name">attribute_value<client_attr> Список и описание дочерних элементов приведены в статье Все элементы Если в файле есть дочерний элемент |
| <image> | Optional | Object | Повторяющийся тег, содержащий подробную информацию об изображении. |
Пример
Ниже приведен пример частичного списка гостиниц, в котором есть элемент <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>
<attributes>
<website>https://hotel.example.com</website>
<client_attr name="rating">8.2</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>
Тег <attributes> можно использовать для описания удобств и классификации оценок гостиницы.
+ <listings>
+ <language>
+ <listing>
+ <content>
+ <attributes>
Дочерние элементы
| Дочерний элемент | Обязательно? | Описание | |
|---|---|---|---|
| <website> | Optional | Основной сайт гостиницы. Если он есть, то должен находиться перед первым элементом <client_attr>. Пример
<website>https://hotel.example.com</website> |
|
| <client_attr name="attribute_name"> | Optional | Дополнительная характеристика или атрибут объекта, который можно указать с помощью поддерживаемых свойств
attribute_name или
attribute_name для жилья для отпуска.
|
|
Значения для плейсхолдера attribute_name
В таблице ниже перечислены допустимые значения для attribute_name в элементе <client_attr name="attribute_name">.
Значения для attribute_name |
Описание | Допустимые значения |
|---|---|---|
| alternate_hotel_id | Альтернативный идентификатор отеля. Это удобно, если вам нужны разные идентификаторы для фида и системы бронирования. | Любое строковое значение |
| Устарело: любой настраиваемый атрибут строкового типа. Пользователи не видят эти данные. | Любое строковое значение | |
| hotel_brand | Бренд, к которому принадлежит этот отель. Примеры: "Marriott", "Hilton". Она не показывается пользователям, но может использоваться для группировки гостиниц. |
Следуйте стандарту RFC 3986 (общий синтаксис URI):
|
| lodging | Закодированное представление всех полей, доступных в протоколе Lodging. |
Строка в кодировке Base64, которая представляет собой закодированный протокол Lodging. |
| num_reviews | Количество отзывов.
Важно! Атрибут num_reviews следует отправлять только для фидов жилья для отпуска. |
Любое неотрицательное целое число. |
| rating | Число с плавающей запятой, представляющее общую оценку объекта. | Обычно это число от 0 до 5, от 0 до 10 или от 0 до 100, но вы можете использовать любой диапазон, соответствующий вашей системе оценок. Например, если оценочная шкала равна 5, то рейтинг должен быть равен 3 или 4.
Примечание. Если шкала не указана, по умолчанию используется rating_scale от 0 до 10. |
Значения для плейсхолдера attribute_name для жилья для отпуска
Подробнее об атрибутах для жилья для отпуска и примере XML-файла…
<image>
+ <listings>
+ <language>
+ <listing>
+ <content>
<!-- <review> is allowed in Vacation Rentals only -->
+ <review>
+ <attributes>
+ <image>
Изображения используются для показа объекта недвижимости в идентификаторе объявления. Все изображения должны соответствовать следующим требованиям:
- Рекомендуемое соотношение сторон – 4:3.
- URL изображения должен быть доступен поисковому роботу Googlebot-Image.
Если в корневом каталоге вашего сайта есть файл robots.txt, убедитесь, что в нем содержится один из двух вариантов, показанных ниже.
Разрешает поисковому роботу Googlebot сканировать контент вашего сайта, включая изображения.
- User-agent: Googlebot
- Allow: /
Разрешает поисковому роботу Googlebot-Image сканировать изображения на вашем сайте.
- User-agent: Googlebot-Image
- Allow: /
Скриншоты изображений или сайтов не допускаются. Изображения должны быть оригинальными, а также реальными изображениями или фотографиями.
На фотографиях не должно быть больших блоков текста, логотипов или водяных знаков.
Атрибуты
"ad", если изображение является рекламой;"menu", если на изображении меню ресторана;"photo", если на изображении показана компания;
| Название атрибута | Обязательно? | Формат | Описание |
|---|---|---|---|
| type | Required | Text | Изображение должно соответствовать одному из следующих требований: |
url |
Required | Text | URL полноразмерного изображения. Используйте атрибут url, чтобы указать изображение, которое будет использоваться на этой странице. |
| width | Required | A non-negative integer | Ширина изображения в пикселях (рекомендуется более 720 пикселей). |
| height | Required | A non-negative integer | Высота изображения в пикселях (рекомендуется более 720 пикселей). |
Дочерние элементы
| Дочерний элемент | Обязательно? | Описание |
|---|---|---|
| <link> | Рекомендуется, но обязательно для местных предложений с фото. | Этот тег содержит действительный и актуальный URL страницы вашего сайта, на которой находится соответствующее изображение. Он не содержит URL самого изображения.
Пример<link><http://www.example.com/magic_pizza/></link> |
| <title> | Запрошено | Этот тег содержит название изображения. Пример
<title>"Luxury Apartment"</title> |
| <author> | Необязательно | Имя автора контента. Значением может быть имя пользователя или полное имя в формате "Имя Фамилия". |
| <date> | Обязательно | Этот тег указывает дату создания контента. Необходимо указать год, месяц и день, как в следующем примере: <date month="6" day="7" year="2023"/> |
Пример
Ниже приведен пример частичного списка гостиниц с тегами изображений.
<?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>
<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>
Правила синтаксиса
При создании списка гостиниц в формате XML следуйте приведенным ниже рекомендациям.
Проверьте XML-файлы со списком гостиниц с помощью XSD-схемы Google.
Используйте кодировку UTF-8. Укажите эту схему кодирования, добавив атрибут
encodingв тег XML, как показано в примерах.Вы можете указать значения данных в фиде с помощью разделов
CDATA. Если вы используете разделыCDATA, не экранируйте специальные символы.Используйте управляющие символы для значений данных, которые не находятся в разделах
CDATA, включая URL. Для представления этих специальных символов можно использовать код объекта или код символа. В таблице ниже приведены коды часто используемых объектов и символов.Персонаж Объект Код символа Амперсанд (&) & & Одинарные кавычки (') ' ' Двойные кавычки (") " " Больше (>) > > Меньше (<) < < Пропустите элементы XML, которые не содержат данных. Например, если у вас нет широты и долготы для гостиницы, не включайте пустые элементы
<latitude/>и<longitude/>.Ни в коем случае не используйте HTML в элементах XML (даже если он экранирован).
Чтобы проверить фид перед загрузкой, можно использовать XSD-схему фида данных о местном ассортименте: http://www.gstatic.com/localfeed/local_feed.xsd.
Чтобы добавить комментарий в фид, заключите его в теги
<!--и-->, как показано в примере ниже.<!-- This is a comment -->