In short. OpeningHoursSpecification represents regular and dated business hours, while specialOpeningHoursSpecification explicitly overrides general hours.
Definition: Schema.org's OpeningHoursSpecification is a structured value describing the opening hours of a place or a service inside it. Its properties express opening and closing times, applicable weekdays and optional validity dates.
Key facts
- Schema.org's type definition assigns
dayOfWeekto the applicable weekdays,opensto the opening time andclosesto the closing time. - Schema.org defines specialOpeningHoursSpecification as an explicit override of general hours supplied through
openingHoursSpecificationoropeningHours. - As of 17 October 2026, Google's Local business documentation represents an overnight opening interval with a single hours object, assigned to the day it starts.
- Google's General structured data guidelines require current information and content visible to readers of the page.
How are regular business hours represented?
The property openingHoursSpecification attaches hours to a business location. An OpeningHoursSpecification object describes an interval; its dayOfWeek value can cover several weekdays that share the same times.
Google's Local business guide accepts either a single object or an array of objects. Its regular-hours example groups Monday through Friday together and supplies a separate object for weekend hours. Omitting validFrom and validThrough makes the hours valid year-round in that guide.
The following hours fragment reproduces the weekday portion of Google's example. It belongs inside a business record; it is an hours fragment rather than a complete business description.
{
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday"
],
"opens": "09:00",
"closes": "21:00"
}
]
}
Google accepts weekday names such as Monday as well as full Schema.org weekday URLs. Its property table specifies times in hh:mm:ss format, while its examples also use hour-and-minute values, as shown above.
How are exceptional and seasonal hours represented?
Schema.org's specialOpeningHoursSpecification property holds an OpeningHoursSpecification value that overrides general hours. This provides an explicit place for an exceptional schedule.
The type definition supplies validFrom and validThrough for the validity period. Its historical example shortens opening hours from daily hours to a morning interval over Christmas dates. The following fragment adapts those published values to the explicit override property:
{
"specialOpeningHoursSpecification": {
"@type": "OpeningHoursSpecification",
"validFrom": "2013-12-24",
"validThrough": "2013-12-25",
"opens": "09:00:00",
"closes": "11:00:00"
}
}
These dates reproduce the source's example and require replacement for a current schedule. Google's seasonal-hours example instead uses openingHoursSpecification with both validity dates. It represents a winter closure by setting opens and closes to 00:00 throughout the dated period.
How can a website check its hours markup?
Google's structured data guidelines require markup on the page it describes and an accurate representation of visible content. For business hours, the published timetable and the structured values therefore need to describe the same schedule, including dated exceptions.
The Local business guide directs publishers to validate code with the Rich Results Test and fix critical errors. After deployment, its next check is the URL Inspection tool, which shows how Google sees the page.
Related terms
FAQ
How do I mark a business as closed all day?
For Google's documented convention, set both opens and closes to 00:00. The Local business guide applies this convention to a closed weekday and to a dated seasonal closure.
How do I represent opening hours past midnight?
Keep the interval in a single object assigned to the opening day. The same guide's overnight example uses Saturday with opens: "18:00" and closes: "03:00" for an interval ending on Sunday.
How do I mark a business as open all day?
The same guide's all-day example sets opens to 00:00 and closes to 23:59 for a business open throughout the day.
Sources
- Schema.org, "OpeningHoursSpecification", accessed 17 October 2026
- Schema.org, "specialOpeningHoursSpecification", accessed 17 October 2026
- Google Search Central, "Local business (LocalBusiness) structured data", updated 8 September 2026
- Google Search Central, "General structured data guidelines", updated 10 July 2026
Check how a page reads to answer engines. Open the GEO score analyzer