How are full-day opening and closure represented in business markup?

The Citead team, updated

In short. Google's LocalBusiness example uses 00:00 and 23:59 for all-day opening, and 00:00 for both fields for an all-day closure.

Definition: A full-day opening or closure is represented with an OpeningHoursSpecification for the relevant day. Google's LocalBusiness documentation uses opens at 00:00 and closes at 23:59 for a business open all day, and 00:00 for both fields when it is closed all day.

Key facts

  • Google's LocalBusiness structured data documentation documents 00:00 and 23:59 for a business open 24 hours a day.
  • The same documentation sets both opens and closes to 00:00 for a business closed all day.
  • Google's example shows the business open all day on Saturday and closed all day on Sunday.
  • An OpeningHoursSpecification carries the day with dayOfWeek; Schema.org defines that property as the day for which the hours are valid. Schema.org's definition describes the field.
  • Schema.org defines opens as the opening hour and closes as the closing hour for the place or service on the given day or days.

What values does Google document for a full day?

Google's business-hours guidance describes an all-day opening as 00:00 for the opening value and 23:59 for the closing value. For an all-day closure, it says to set both opens and closes to 00:00. The accompanying example applies the first specification to Saturday and the second to Sunday.

The page's prose uses the phrase open property in the all-day sentence, while its markup example uses the Schema.org property opens. The copyable property name is therefore opens:

"openingHoursSpecification": [
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": "Saturday",
    "opens": "00:00",
    "closes": "23:59"
  },
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": "Sunday",
    "opens": "00:00",
    "closes": "00:00"
  }
]

How does the specification identify the day?

The dayOfWeek property identifies the day for which the hours apply. Google says its documentation accepts the official Schema.org notation, including canonical URLs for days such as Monday and Tuesday, as well as a shorter notation discussed in the Schema.org community. The page says it continues to accept both variations for backwards compatibility.

For hours that cross midnight, Google's documentation uses one OpeningHoursSpecification and gives a Saturday example with opens at 18:00 and closes at 03:00. Schema.org describes the same ordering rule: when the closes value is less than the opens value, the range spans the next day.

How do regular and exceptional hours differ?

Google says that leaving out validFrom and validThrough means the hours are valid year-round. It separately instructs site owners to use both properties for seasonal hours. Schema.org defines validFrom as the date when an item becomes valid and validThrough as the date after which it is no longer valid, including for a period of opening hours.

This lets a site describe a recurring full-day rule with dayOfWeek, or attach the same 00:00 and 00:00 closure values to a dated period with validFrom and validThrough. The Google page's seasonal example uses 2015-12-23 and 2016-01-05 for those two properties.

FAQ

Which values represent a business open all day?

Use opens: "00:00" and closes: "23:59" in the OpeningHoursSpecification for that day, following Google's documented example.

Which values represent a business closed all day?

Use opens: "00:00" and closes: "00:00" for that day. Google's example uses this pair for Sunday.

Is a lower closing time always an all-day closure?

No. Schema.org says that when closes is less than opens, the hour range spans the next day. Google's example uses 18:00 to 03:00 for late-night hours.

Sources

  1. Google Search Central, "Local business (LocalBusiness) structured data", 8 September 2026
  2. Schema.org, "OpeningHoursSpecification", 16 September 2026

Check how a page reads to answer engines. Open the GEO score analyzer

Test a page and see what to fix first

The analysis usually takes less than 10 seconds and needs no account.

400,000+ pages scored in the public benchmark