Skip to content
SEWWA

Schema guides Industry

Schema generator for Hotels

Common schema types for Hotels

SEO tips

Example JSON-LD

{
"@context": "https://schema.org",
"@type": "Hotel",
"name": "Riverfront Inn Portland",
"description": "Boutique hotel on the Willamette with river views and complimentary breakfast.",
"url": "https://example.com/riverfront-inn",
"telephone": "+1-503-555-0101",
"image": ["https://example.com/hotel-lobby.jpg", "https://example.com/guest-room.jpg"],
"address": {
"@type": "PostalAddress",
"streetAddress": "1510 SW Harbor Way",
"addressLocality": "Portland",
"addressRegion": "OR",
"postalCode": "97201",
"addressCountry": "US"
},
"geo": { "@type": "GeoCoordinates", "latitude": "45.5122", "longitude": "-122.6756" },
"starRating": { "@type": "Rating", "ratingValue": "4" },
"checkinTime": "15:00",
"checkoutTime": "11:00",
"amenityFeature": [
{ "@type": "LocationFeatureSpecification", "name": "Free WiFi", "value": true },
{ "@type": "LocationFeatureSpecification", "name": "Airport shuttle", "value": true },
{ "@type": "LocationFeatureSpecification", "name": "On-site parking", "value": true }
],
"containsPlace": {
"@type": "HotelRoom",
"name": "Deluxe King River View",
"bed": { "@type": "BedDetails", "type": "King" },
"occupancy": { "@type": "QuantitativeValue", "maxValue": 2 }
}
}

Overview

Hotel markup should align with booking reality: rates and availability change fast—mark up what is stable on the URL (property name, address, star tier if shown, amenity list). Mismatch with OTA feeds causes trust issues.

Use SEWWA to prototype JSON-LD for property templates, then wire dynamic fields from your CMS.

Try the free Schema Generator →