AI search glossary
LocalBusiness schema: markup for hours, address and location
LocalBusiness schema is structured data using the schema.org LocalBusiness type, defined as a particular physical business or branch of an organization, to state a location's name, address, opening hours, phone number, coordinates and price range.
Also called: local business schema, LocalBusiness structured data, local business markup
Why it matters for AI search
When someone asks an AI assistant for a dentist open on Saturday or a cafe near a station, the engine needs exact facts: where you are, when you are open and how to reach you. LocalBusiness markup states those facts in a form machines read without guessing, and keeping it identical to your visible page and your business profiles cuts the risk of an engine repeating old hours or the wrong address.
How LocalBusiness schema works
Schema.org defines LocalBusiness as a physical business or a branch of an organization, such as a restaurant, a bank branch or a medical practice. It inherits from both Organization and Place, so it can carry company details (name, logo, phone) and location details (address, coordinates, hours) in one block.
Google uses this markup to understand a business location and lists it as able to support features like knowledge panels. Google's documentation names only two required properties, name and address, and recommends the rest:
- openingHoursSpecification: one entry per set of days, with
opensandclosestimes. Seasonal closures usevalidFromandvalidThrough. - geo: latitude and longitude, which Google says should have at least 5 decimal places.
- telephone: include the country code and area code.
- priceRange: a range or currency signs, under 100 characters.
- url: a working link to the location's page.
- department: nested entries for parts of the business with their own hours, such as a pharmacy inside a store.
{
"@context": "https://schema.org",
"@type": "Dentist",
"name": "Harbor Street Dental",
"url": "https://example.com/locations/harbor-street",
"telephone": "+1-555-010-0199",
"priceRange": "$$",
"address": {
"@type": "PostalAddress",
"streetAddress": "12 Harbor Street",
"addressLocality": "Portland",
"addressRegion": "ME",
"postalCode": "04101",
"addressCountry": "US"
},
"geo": { "@type": "GeoCoordinates", "latitude": 43.65612, "longitude": -70.25331 },
"openingHoursSpecification": [{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "08:00",
"closes": "17:00"
}]
}
Write it as JSON-LD and place it on the page about that location. A business with several branches should give each branch its own page and its own block.
What it means for AI search
AI assistants answer local questions with specific facts: open now, distance, phone, price level. Those facts come from pages the engine retrieves and from data it already holds about the business as an entity. Clean markup does not guarantee a mention, and Google says it is not required for its AI features, but it removes ambiguity. The bigger risk is inconsistency: if your page says one set of hours, your markup another and your business profile a third, an engine has to pick one and may pick wrong.
How to check and fix it
- Pick the most specific subtype that fits (Restaurant, Dentist, Store) instead of plain LocalBusiness.
- Copy the address, hours and phone from your live page into the markup word for word.
- Run the page through Google's Rich Results Test and fix any critical errors.
- Use URL Inspection in Search Console to confirm Google can fetch the page.
- Update the markup the same day your hours change, including holiday hours.
Related ideas
LocalBusiness is a subtype of the type covered in Organization schema, so those guidelines apply too. For the general idea, see schema markup. Ratings on business pages have their own rules, covered in review schema.
Questions
- Which LocalBusiness properties does Google require?
- Only two: name and address. Google recommends adding as many address properties as possible, plus openingHoursSpecification, geo, telephone, url and priceRange where they apply.
- Should I use LocalBusiness or a more specific type?
- Google asks you to use the most specific subtype that fits, such as Restaurant, Dentist or Store. Schema.org lists many subtypes under LocalBusiness, and you can give several types in an array.
- Can I add star ratings to my own LocalBusiness markup?
- Not for Google's review stars. Google treats reviews a business controls about itself as self-serving, and pages with LocalBusiness or Organization markup are not eligible for star review snippets on that basis. See the review schema entry for details.
- Do I need LocalBusiness markup to appear in AI answers?
- No. Google says no special schema.org structured data is needed for AI Overviews or AI Mode. The markup is a clean, consistent statement of facts that also live in your visible text and business profiles, which is where its value lies.