openingHours
openingHours · No Google docs page
Appears in
What is it?
The general weekly operating hours for a business, expressed as a compact text string. The openingHours property uses a shorthand format like "Mo,Tu,We,Th,Fr 09:00-17:00" to describe when the business is open. It is specific to LocalBusiness and CivicStructure types.
Google's LocalBusiness documentation recommends openingHoursSpecification (a structured object with dayOfWeek, opens, and closes) rather than the simpler openingHours text property. Both are valid schema.org properties, but openingHoursSpecification gives search engines more reliable, machine-readable data.
Why this matters for AEO
When a user asks "Is [business] open right now?" or "What are [business] hours on Saturday?", AI engines need structured hours data to compute an answer. The compact openingHours format requires parsing a text string, while openingHoursSpecification provides each day and time range as separate fields. AI assistants handle the structured format more reliably, especially for businesses with different hours on different days.
What the specs say
Schema.org: Text. The general opening hours for a business. Opening hours can be specified as a weekly time range, starting with days, then times per day. Days are specified using two-letter combinations: Mo, Tu, We, Th, Fr, Sa, Su. Times are specified using 24:00 format. schema.org/openingHours
Google: Not listed directly. Google's LocalBusiness documentation uses openingHoursSpecification (Recommended) rather than openingHours. Google LocalBusiness docs
How to find your value
- Google Business Profile — Your listed hours of operation
- Website footer — Hours displayed on the site
- Door signage — Physical posted hours
- Staff/owner — Confirm actual operating hours, including seasonal changes
Format and code
Compact text format (schema.org openingHours):
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Gene's Delicious Donuts",
"openingHours": "Mo,Tu,We,Th,Fr 09:00-17:00"
}
Multiple time ranges (for split schedules):
{
"openingHours": [
"Mo-Sa 11:00-14:30",
"Mo-Th 17:00-21:30",
"Fr-Sa 17:00-22:00"
]
}
Preferred: openingHoursSpecification (what Google recommends):
{
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "09:00",
"closes": "17:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Saturday"],
"opens": "10:00",
"closes": "14:00"
}
]
}
Day abbreviations: Mo, Tu, We, Th, Fr, Sa, Su. Ranges use hyphens: Mo-Fr. Lists use commas: Mo,We,Fr.
Time format: 24-hour clock. 09:00 not 9:00 AM. Midnight closing is 00:00 of the next day, or 24:00 on the same day.
Webflow implementation
Static pages
Hardcode the hours string in your JSON-LD block. For businesses with simple schedules, openingHours is the easier option. For complex schedules, use openingHoursSpecification.
CMS template pages
Create a plain text field for operating hours and reference it:
"openingHours": "{{wf {"path":"operating-hours"} }}"
For multi-location CMS collections, store hours as a formatted text string following the Mo-Fr 09:00-17:00 convention.
In Schema HQ
The openingHours field configures openinghoursspecification objects from your business hours settings, using the structured format that google prefers. each day/time range becomes a separate specification object.
Real examples
GreatFood (from schema.org/LocalBusiness):
"openingHours": [
"Mo-Sa 11:00-14:30",
"Mo-Th 17:00-21:30",
"Fr-Sa 17:00-22:00"
]
Gene's Delicious Donuts (from Whitespark LocalBusiness guide):
"openingHours": "Mo,Tu,We,Th,Fr 09:00-17:00"
Related fields
- name · the business these hours apply to
- address · the location with these operating hours
- telephone · phone number to call during business hours
- url · website with full hours information
FAQ
Should I use openingHours or openingHoursSpecification?
Use openingHoursSpecification when possible. Google's LocalBusiness documentation references the structured format, which provides cleaner machine-readable data. The compact openingHours text format is valid schema.org but less precise for complex schedules (split hours, seasonal changes, holiday closures).
How do I handle 24/7 businesses?
For a business open around the clock, use openingHours: "Mo-Su 00:00-23:59" or, with openingHoursSpecification, set opens: "00:00" and closes: "23:59" for all seven days.
How do I indicate a business is closed on certain days?
With openingHours, simply omit those days from the string. With openingHoursSpecification, you can explicitly set opens and closes to the same time (e.g., "opens": "00:00", "closes": "00:00") for the closed days, or omit those days entirely.