How to use the generator
Schema markup is structured data that labels the facts on a web page: this is the hotel's name, this is its street address, this is the check-in time. The usual way to write it is JSON-LD, a small block of code inside a script tag that guests never see. Google's own documentation recommends JSON-LD for most sites because it is the easiest format to add and maintain.
Fill in the form below with the facts you would give a guest on the phone. Only the name, the website address and the address (street, city and country) are required. Leave anything else blank if you are not sure, because the generator drops empty fields rather than writing them out empty. Press Generate, copy the code and keep the tab open while you read where it goes.
Nothing you type is sent anywhere. The tool runs entirely in your browser, and there is no email form between you and the code.
Hotel schema generator
Fill in what you know. Empty fields are left out of the code. Nothing you type leaves this page.
Schema is one of 16 checks the readiness audit runs. See the rest of your site's AI readiness in your free scan.
Scan my hotel freeWhat each field does for AI and Google
Name, website and address tell a machine which hotel this is. schema.org defines the Hotel type as a kind of LodgingBusiness, which is itself a LocalBusiness, so the address is written as a PostalAddress with street, city, postal code and country in separate fields. Separate fields are harder to misread than one line of text, and easier to match against the address on your listings.
Phone and photo matter for the same reason: they are the details a guest needs next. Our own readiness audit flags a Hotel block that is missing either one.
Star rating is written as a Rating. schema.org describes starRating as an official rating from a national association or standards body, so use the classification you actually hold, or leave it out.
Check-in and check-out times are defined by schema.org as the earliest time a guest may check in and the latest time they may check out. A time stated in its own field is easier to quote correctly than one buried in a policy paragraph.
Price range is free text, such as €€€ or a typical nightly range. It gives a rough sense of where you sit in the market, which helps when a guest asks for something mid-range or for a treat.
Amenities are written as a list of amenityFeature items, each one a LocationFeatureSpecification with a name and the value true. This is the format schema.org's own example uses for a sauna and a gym. Tick only what a guest can actually use.
Geo coordinates are optional. They place the hotel on a map exactly, which helps when your street name exists in more than one city or your address is hard to geocode.
The sameAs links point to pages that confirm the hotel's identity. schema.org defines sameAs as a reference page that unambiguously indicates the item's identity. Your Booking.com, Tripadvisor and Google Business Profile pages do that job, and they connect your own site to the listings AI assistants already read.
Where to paste the code
Put the block on your homepage, or on the main page for the hotel if you run several properties on one domain. Google accepts JSON-LD in either the head or the body of the page. Most website builders and WordPress themes have a setting for custom code in the header; that is usually the simplest place.
Paste it as code, not as text. If your editor shows the script tag on the live page, it went into a text box and will not work. Ask whoever manages the site to add it to the header template instead.
Then open Google's Rich Results Test and enter your homepage address. It checks that the markup is valid, and it may list your hotel under local business rather than as a Hotel type of its own. To check the markup against schema.org itself, paste the page address or the code into the Schema Markup Validator at validator.schema.org. Run a test again after every edit, since one stray character can break the whole block.
The five most common mistakes
First, empty or placeholder values. A checkinTime of an empty string, or an address still reading 'Street 1', can pass a syntax check and still tell a machine nothing. Our readiness audit counts an empty field as missing. Leave a field out instead of filling it with nothing.
Second, facts that disagree with the page or your listings. Google's guidelines say structured data must be a true representation of the page content and that you should not mark up content readers cannot see. If your schema says check-in at 14:00 and your Booking.com page says 15:00, an AI assistant has two answers and no reason to prefer yours.
Third, broken JSON. A trailing comma or an unescaped quotation mark makes the whole block unreadable. Our audit treats a block that is not valid JSON as a warning, because crawlers cannot use it. Copy the generator's output as it is rather than retyping it.
Fourth, a star rating you were never given. schema.org's definition is an official rating. A self-awarded five stars that no listing or classification body backs up is the kind of conflict that undermines the rest of the block.
Fifth, setting it once and forgetting it. Google's guidelines ask for up-to-date information. When you add a spa, change check-out time or move to a new phone number, update the schema the same day you update the website.
What schema can and cannot do
Good schema removes one reason for an AI assistant to fall back on an OTA's version of your facts. It does not make anyone recommend you. Google says structured data makes a page eligible for rich results without promising them, and nobody can guarantee an AI recommendation.
Our own case studies show the limit. Golden Well Hotel in Prague had the highest readiness score of the four hotels we published, 77.1%, and was named in 21 of 295 non-branded questions, or 7.1%. Across the four, readiness did not predict visibility. Schema is still worth adding because it is cheap and keeps your facts consistent. Treat it as one input among many.
For the fuller picture, including FAQPage markup, room and offer types and how to validate, read our hotel schema markup guide. To see how your site does on the other checks, run the free scan.