Список отелей — это один или несколько XML-файлов, содержащих список всех отелей, для которых вы предоставляете информацию о ценах. Сам файл списка отелей не содержит информации о ценах.
Корневым элементом списка отелей является элемент <listings>
, который содержит элементы <listing>
, описывающие ваши объекты недвижимости.
Вы создаете список отелей в рамках первоначального внедрения , а затем добавляете или удаляете отели из него в ходе регулярного обслуживания.
Убедитесь, что ваши файлы соответствуют правилам синтаксиса . Например, используйте кодировку UTF-8 и укажите эту схему кодировки, включив атрибут encoding
в XML-тег.
После создания списка отелей вы можете вручную загрузить его в Google с помощью https://support.google.com/hotelprices/ или разместить его на своем сервере .
Найти и устранить проблемы с данными
Чтобы найти и устранить проблемы с данными в вашем списке отелей, ознакомьтесь со следующими статьями:
Требования к листингу
Чтобы иметь право на рекламу в Google Hotel Ads, ваш отель в списке должен соответствовать следующим требованиям:
- Номера, в которых могут остановиться гости, оплачивающие проживание
- Физическое присутствие и фиксированное местоположение, открытое для публики
- Стационарные стены и сантехника
- Минимальный срок пребывания не должен превышать 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 | Страна, в которой находится этот объект. Значение должно быть двухбуквенным кодом страны . Например, для США это «US», а для Канады — «CA». Например: <country>US</country> |
<latitude> | Required* | float | Широта, соответствующая местоположению объекта. Например:<latitude>37.423738</latitude> Это значение можно получить с помощью инструментов геокодирования, таких как API Google Maps . |
<longitude> | Required* | float | Долгота, соответствующая местоположению объекта. Например:<longitude>-122.090101</longitude> Это значение можно получить с помощью инструментов геокодирования, таких как API Google Maps . |
<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 type= "description"> | Optional | Object | Веб-страница, связанная с листингом поставщика. Имеет следующие дочерние элементы:
Примечание : эти элементы должны располагаться в указанном выше порядке. |
<review type= "[editorial| user]"> | Optional | <review> | Содержит пользовательский или редакционный отзыв о товаре. В вашем товаре может быть любое количество отзывов любого типа. Вам не обязательно включать все отзывы о недвижимости в элемент Ключевой момент: <отзыв> следует отправлять только для аккаунтов, связанных с арендой жилья для отпуска. За дополнительной информацией обратитесь к своему техническому менеджеру по работе с клиентами (TAM). |
<attributes> | Optional | Object | Содержит 0 или более дочерних элементов <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 для Vacation Rentals . |
Значения для заполнителя attribute_name
В следующей таблице перечислены допустимые значения для attribute_name в элементе <client_attr name=" attribute_name ">.
Значения для attribute_name | Описание | Допустимые значения содержимого |
---|---|---|
alternate_hotel_id | Альтернативный идентификатор для вашего объекта недвижимости. Наличие отдельных идентификаторов полезно, если вам может понадобиться один идентификатор объекта для информации в фиде, а другой — для системы бронирования. | Любое строковое значение |
Устаревшие: любые настраиваемые атрибуты строкового типа. Они не отображаются для пользователей. Важно: обратитесь к своему техническому менеджеру по работе с клиентами (TAM), если вы хотите использовать переменные | Любое строковое значение | |
hotel_brand | Бренд, к которому принадлежит этот отель. Например, «Marriott» или «Hilton». Эта информация не отображается пользователям, но может использоваться для группировки отелей. | Любое строковое значение |
lodging | Кодированное представление всех полей, доступных в протоколе Lodging . | Строка, закодированная в формате Base64, из закодированного протокола Lodging |
num_reviews | Количество отзывов о листинге. Ключевой момент: «num_reviews» следует отправлять только для каналов аренды жилья на время отпуска. | Любое неотрицательное целое число. |
rating | Число с плавающей запятой, представляющее собой совокупный рейтинг недвижимости. | Обычно это число находится в диапазоне от 0 до 5, от 0 до 10 или от 0 до 100, но вы можете использовать любой диапазон, соответствующий вашей системе оценок. Например, рейтинг объекта должен быть 3 или 4 для шкалы оценок 5. Примечание: шкала оценок по умолчанию составляет 0–10, если не указано иное. |
Значения для заполнителя attribute_name для Vacation Rentals
См. атрибуты, специфичные для Vacation Rentals, и пример XML .
<image>
+ <listings>
+ <language>
+ <listing>
+ <content>
<!-- <review> is allowed in Vacation Rentals only -->
+ <review>
+ <attributes>
+ <image>
Изображения используются для демонстрации объекта недвижимости в объявлении. Все используемые изображения должны соответствовать следующим требованиям:
- Рекомендуемое соотношение сторон изображений — 4:3.
- URL-адрес изображения должен быть доступен поисковому роботу Googlebot Image.
Если ваш сайт содержит robots.txt на корневом уровне, убедитесь, что он содержит один из двух показанных вариантов:
Позволяет роботу Googlebot сканировать содержимое вашего сайта, включая изображения.
- Пользовательский агент: Googlebot
- Позволять: /
Позволяет роботу Googlebot Image сканировать изображения на вашем сайте.
- Пользовательский агент: Googlebot-Image
- Позволять: /
Скриншоты изображений или веб-сайтов не допускаются. Изображения должны быть оригинальными и реальными.
Атрибуты
Имя атрибута | Необходимый? | Формат | Описание |
---|---|---|---|
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>
<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>
Правила синтаксиса
При создании списка отелей на основе 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 -->