Hotels - Schema.org (original) (raw)

Note: You are viewing the development version of Schema.org. See how we work for more details.

Markup for Hotels

This page provides background information on the use of schema.org for marking up hotels and other forms of accommodations. For feature requests, please use the Github repository.

See also: acknowledgements

Overview

When modeling hotel-related information in Web content with schema.org, there are three core objects:

In schema.org, an offer for a hotel room is using the same patterns as an offer for any other type of product or service, e.g. a TV set or a welding service. However, a hotel room is not a subclass of Product or Service. To enable an offer to be described, use is made of the Multi-Typed Entity (MTE) feature of Schema.org.

When defining an instance of an Accommodation, that is offered by a LodgingBusiness, it is described as being both the appropriate Type for the accommodation and a Product. Thus for example a Hotel will make an Offer, or offers, for a HotelRoom, that is also identified as a Product. Prices and terms and conditions are thus not properties of the hotel or hotel room, but of the offer for a certain room or room category.

The markup for MTE's is very simple:

In the case of rental accommodations, it is important to attach the businessFunction property with the value LeaseOut to the offer, unless you want to sell the property. This allows reusing and extending the same types for dwellings for real estate offers in schema.org.

Basic Model

The diagram shown below illustrates the basic pattern for describing hotel room offers and offers for other forms of accommodations.

All accommodation Types are subclasses of https://schema.org/Place. To use them as the subject of an offer, you should use the MTE technique of assigining your instances to be both an Accommodation subclass and a Product. All types of lodging businesses are subclasses of https://schema.org/LocalBusiness which itself is a subclass of https://schema.org/Place and https://schema.org/Organization.

The relationship between an accommodation and the local business it belongs to is represented via the containedInPlace (from hotel room to hotel) or containsPlace (from hotel to hotel room) properties. The relationship between the offer and the room included in the offer can be represented via either the offers property (from the room product to the offer) or via itemsOffered (from the offer to the room).

The relationship between the lodging business and its offers for rooms is represented via the makesOffer property (from the hotel to the offer) or via the offeredBy property (from the offer to the hotel).

When the offer includes more than just the bare room (e.g. meals) or multiple nights we use the includesObject property and one or more TypeAndQuantityNode nodes.Schema.org pattern for describing hotel room offers

Types of Lodging Businesses

Currently, there are explicit types for the following kinds of lodging businesses:

This list might be extended in the future. For other forms, the generic type LodgingBusiness can be used. The property additionalType allows using external identifiers for indicating the exact type in such cases.

Types of Accommodations

For kinds of accommodations, the following types more specific types are available:

This list might be extended in the future. For other forms, the generic type Accommodation can be used. The property additionalType allows using external identifiers for indicating the exact type in such cases.

Minimal Example

In the most basic form, we can just model the hotel with basic information like photos and star rating and a price range, but without individual room rates and availability information:

ACME Hotel Innsbruck

A beautifully located business hotel right in the heart of the alps. Watch the sun rise over the scenic Inn valley while enjoying your morning coffee.
Technikerstrasse 21 6020 Innsbruck Tyrol, Austria
Phone: +43 512 8000-0 Front view of the hotel Star rating: **** Room rates: $100 - $240

See the page for https://schema.org/Hotel for a complete list of additional properties for describing the hotel. Popular properties are also explained in more detail below.

Note: In the following, we focus on hotel-related examples, but the basic patterns for other types of lodging businesses are the same. Simply use the more specific types (e.g. Campground or MeetingRoom).

Information about the Hotel

If your Web site provides more detailed information about your hotel, you can use many additional properties for marking them up with schema.org. Below, we highlight a few prominent properties.

Geo Position

ACME Hotel Innsbruck

A beautifully located business hotel right in the heart of the alps. Watch the sun rise over the scenic Inn valley while enjoying your morning coffee.
Technikerstrasse 21 6020 Innsbruck Tyrol, Austria

Telephone and Fax

ACME Hotel Innsbruck

A beautifully located business hotel right in the heart of the alps. Watch the sun rise over the scenic Inn valley while enjoying your morning coffee. Phone: +43 512 8000-0 Fax: +43 512 8000-99

Star Rating

Star ratings are popular indicators for the quality of an accommodation. In many countries, they are awarded by dedicated public or private bodies and are based on well-defined criteria that often also specify minimal amenities for a certain star rating.

Simple

You can simply mark-up the star rating as a numerical value.

Example: 4-star hotel

ACME Hotel Innsbruck

A beautifully located business hotel right in the heart of the alps. Watch the sun rise over the scenic Inn valley while enjoying your morning coffee. Star rating: **** Room rates: $100 - $240

Advanced: Type of Star Rating

If available, it makes sense to specify the origin of the star rating, e.g. the name of the awarding institution. In this case, use a rating and its author property for indicating the party making the rating assessment (e.g. HOTREC, DEHOGA, WHR, or Hotelstars).

Example: 4-star hotel rated by the DEHOGA

ACME Hotel Innsbruck

A beautifully located business hotel right in the heart of the alps. Watch the sun rise over the scenic Inn valley while enjoying your morning coffee. Star rating: DEHOGA **** Room rates: $100 - $240

ACME Hotel Innsbruck

hotel logo A beautifully located business hotel right in the heart of the alps. Watch the sun rise over the scenic Inn valley while enjoying your morning coffee. Front view of the hotel

Map

ACME Hotel Innsbruck

A beautifully located business hotel right in the heart of the alps. Watch the sun rise over the scenic Inn valley while enjoying your morning coffee. Click here for a map.

Opening Hours (Reception)

You can use the openingHours or openingHoursSpecification properties to indicate the opening hours of the reception of the hotel.

ACME Hotel Innsbruck

A beautifully located business hotel right in the heart of the alps. Watch the sun rise over the scenic Inn valley while enjoying your morning coffee. Reception opening hours: Mon-Fri 07.00-23.00 Saturdays 08.00-23.00 Sundays 08.00-12.00

Reviews and Ratings

You can attach individual (customer) reviews and aggregate ratings using review / Review and aggregate ratings using aggregateRating / AggregateRating.

Note: Official hotel star ratings are not reviews but should use the starRating property.

Number of Rooms

Example: A hotel with 60 bedrooms

ACME Hotel Innsbruck

A beautifully located business hotel right in the heart of the alps. Watch the sun rise over the scenic Inn valley while enjoying your morning coffee. 60 rooms.

Example: A hotel with 45 double rooms and 15 single rooms

ACME Hotel Innsbruck

A beautifully located business hotel right in the heart of the alps. Watch the sun rise over the scenic Inn valley while enjoying your morning coffee. 45 double rooms 15 single rooms

Renovation and Date of Establishment

For the date of establishment, use foundingDate. For information about renovation activities, use additionalProperty and put the year into its value property and details into its description.

ACME Hotel Innsbruck

A beautifully located business hotel right in the heart of the alps. Watch the sun rise over the scenic Inn valley while enjoying your morning coffee. Founded: 1985 Last Renovation: 2001 The three-month project involved a complete update of all guestrooms, guest bathrooms and public spaces, including a redesign of the hotel's restaurant.

Membership in Organizations

Use memberOf to link to noteworthy organizations.

ACME Hotel Innsbruck

A beautifully located business hotel right in the heart of the alps. Watch the sun rise over the scenic Inn valley while enjoying your morning coffee. Member of the Austrian Tourist Partner Association.

Hotels Chains

Use parentOrganization to link a chain hotel to the operating company.

ACME Hotel Innsbruck

A beautifully located business hotel right in the heart of the alps. Watch the sun rise over the scenic Inn valley while enjoying your morning coffee. An ACME Hotel.

Hotel Features and Services

Sauna and Gym

ACME Hotel Innsbruck

A beautifully located business hotel right in the heart of the alps. Watch the sun rise over the scenic Inn valley while enjoying your morning coffee. Hotel Features:

Sauna with Opening Hours

ACME Hotel Innsbruck

A beautifully located business hotel right in the heart of the alps. Watch the sun rise over the scenic Inn valley while enjoying your morning coffee. Hotel Features:

Check-in and Check-out Times

ACME Hotel Innsbruck

hotel logo A beautifully located business hotel right in the heart of the alps. Watch the sun rise over the scenic Inn valley while enjoying your morning coffee. Check-in: 2:00 PM Check-out: 11:00 AM

Languages

ACME Hotel Innsbruck

A beautifully located business hotel right in the heart of the alps. Watch the sun rise over the scenic Inn valley while enjoying your morning coffee. We speak:

Information about Rooms

Some hotels just indicate basic information about the number and type of available room categories. In the simplest form, one can use the numberOfRooms property with the type of room in the unitText property of a QuantitativeValue, like so:

ACME Hotel Innsbruck

hotel logo A beautifully located business hotel right in the heart of the alps. Watch the sun rise over the scenic Inn valley while enjoying your morning coffee. 45 double rooms 15 single rooms

In many cases, however, hotel Web sites contain additional information like images and textual descriptions about room categories (like "Hollywood Twin Room") or even individual rooms (in particular in the case of small, family-owned hotels). Schema.org provides support for describing rooms and linking them to the hotel. This is also needed if you want to describe actual room offers (see below).

Basic Pattern: Description and Picture

You can link the hotel to its rooms (or suites or guest apartments) via the containsPlace property or a room to the hotel it belongs to via the inverse containedInPlace.

ACME Hotel Innsbruck

A beautifully located business hotel right in the heart of the alps. Watch the sun rise over the scenic Inn valley while enjoying your morning coffee. Room types:

Beds and Occupancy

You can add more details to the hotel room entities, like the type and number of beds and the occupancy. The occupancy can be a single value (using value) or a range (using minValue and minValue).

ACME Hotel Innsbruck

A beautifully located business hotel right in the heart of the alps. Watch the sun rise over the scenic Inn valley while enjoying your morning coffee. Room types:

Features and Services

Room features, like "mini-bar", "wifi" or "air conditioning" can be expressed using the amenityFeature property and an LocationFeatureSpecification entity, which is a special form of a property-value. The amenityFeature property does not make a statement on whether the room feature is free or for an additional charge.

Room Features

Example: The rooms have a mini-bar and wifi. Charges may or may not apply for those.

Double Room Our double rooms are spacious and comfortable. Room Features:

Note: For modeling the fees of optional room features, you can link the offer for the room to an offer for the feature or service via the addOn property.

Offers and Pricing

A key principle in schema.org is that things do not have prices, but that offers to grant you some rights on the things do have instead. Thus, all commercial aspects of a hotel offer belong to the offer type in schema.org. In the following, we show the use of relevant schema.org elements. Note the use of MTEs, asignining the accommodation instance to also be a https://schema.org/Product.

Basic Pattern

Example: Single room for $ 99 per night

Single Room Our single rooms are cosy and comfortable. Rate: $99.00 per night

Price per Room vs. Price per Person

You can indicate room prices per room or per person by choosing the appropriate unit code. "IE" is the UN/CEFACT Common Code for persons and "DAY" the code for days / nights. For price information per person you should indicate the occupancy as a single value.

Example: Double room for $ 49 per night per person based on double occupancy

Double Room Our double rooms are spacious and comfortable. Occupancy: 2 people Rate: $49.00 per person (based on double occupancy)

Price Ranges

You can use the minPrice and maxPrice properties to indicate price ranges for rooms.

Example: Single rooms cost between $ 99 and $ 179 per night.

Single Room Our single rooms are cosy and comfortable. Rate: $99.00 - 179.00 per night

Validity of an Offer

You can constrain the validity of a price by time in one of the following ways:

Booking Period

Example: A rate is valid only when the booking is made between October 1 and December 31, 2015.

Single Room Our single rooms are cosy and comfortable. Rate: Price valid if booked between: October 1 - December 31, 2015 $99.00 per night

Advance Booking Requirement

Example: A room must be booked seven days in advance.

Single Room Our single rooms are cosy and comfortable. Rate: Must be booked at least 7 days before the stay $99.00 per night

Eligible Dates

Example: A rate is valid only for stays between January 15-31, 2016.

Single Room Our single rooms are cosy and comfortable. Rate: For stays between: January 15 - 31, 2016 $99.00 per night

Seasonal Pricing

Example: Different prices for summer and winter

Single Room Our single rooms are cosy and comfortable. Rate: Summer (June 1 - October 31) $69.00 per night Winter (November 1 - May 31) $99.00 per night

Compound Prices

For some types of accommodations, the price has multiple components, e.g. a weekly fee and a flat cleaning and service fee for a vacation home. The CompoundPriceSpecification type serves this purpose.

Example: 400 USD per week plus a cleaning fee of 100 USD per stay

Seaside Apartment Our seaside apartments are perfect for small families with children. Rate: $400.00 per week plus a cleaning fee of $100.00 per stay

Occupancy

The occupancy for a given room rate can be indicated via occupancy (total occupancy). For details (e.g. number of adults vs. number of children), you can use the name property of the value.

Example: USD 249 per night for a suite with up to two adults and two children

Deluxe Suite Our deluxe suites are ideal for longer stays or families. Occupancy: Up to 2 adults and 2 children Rate: $249.00 per night

Minimum Duration of Stay

Example: The room rate is valid only for stays of at least three nights.

Single Room Our single rooms are cosy and comfortable. Rate: $99.00 per night for stays of at least 3 nights

Cancellation Rules and Terms and Conditions

Cancellation policy information and other details of the terms and conditions should be put into the description property of the offer.

Fees for Optional Services

Price information for optional services should be put into an additional offer and linked to from the base offer via the addOn property.

Meals and Food Services

Information about meals can be attached to the offer by creating a product bundle with multiple TypeAndQuantityNode elements and FoodService.

Example: Room with breakfast included

Single room with breakfast $99.00 per night Single Room Our single rooms are cosy and comfortable. Breakfast Our famous healthy starter breakfast is included.

Acknowledgments

Many thanks to Martin Hepp for contributing the initial version of this document, and leading the design of schema.org's hotel/accommodation vocabulary.

The elements for describing hotels in schema.org are based on the STI Accommodation Ontology, see http://ontologies.sti-innsbruck.at/acco/ns.html for details. Many class and property definitions are inspired by or based on abstracts from Wikipedia, the free encyclopedia.