Список отелей представляет собой один или несколько XML-файлов, содержащих перечень всех отелей, для которых вы предоставите информацию о ценах. Сам файл со списком отелей не содержит информации о ценах.
Корневым элементом списка отелей является элемент <listings> , который содержит элементы <listing> , описывающие ваши объекты размещения.
В рамках первоначальной реализации вы создаете список отелей, а затем добавляете или удаляете отели из него в рамках регулярного обслуживания.
Убедитесь, что ваши файлы соответствуют рекомендациям по синтаксису . Например, используйте кодировку UTF-8 и укажите эту схему кодировки, включив атрибут encoding в ваш XML-тег.
После создания списка отелей вы можете вручную загрузить его в Google, используя https://support.google.com/hotelprices/ , или разместить его на своем сервере .
Выявление и устранение проблем с данными
Чтобы найти и исправить ошибки в данных вашего списка отелей, обратитесь к следующим статьям:
Требования к размещению объявления
Для того чтобы ваш отель из списка соответствовал следующим требованиям, он должен обладать следующими характеристиками:
- Номера, в которых могут проживать платные гости.
- Физическое присутствие и стационарное местоположение, открытое для публики.
- Неподвижные стены и водопровод
- Минимальный срок пребывания не должен превышать 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 для объектов, сдаваемых в аренду на время отпуска . | |
Значения для заполнителя 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 для 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 сканировать контент вашего сайта, включая изображения.
- User-gent: Googlebot
- Позволять: /
Позволяет поисковому роботу Googlebot сканировать изображения на вашем сайте.
- User-gent: 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>
<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 -->