Hours Schema

Opening Hours and
Special Hours Schema

Communicating operating hours in structured format — including holidays and special events.

Where to find it: LocalBusiness schema openingHoursSpecification | Google Business Profile hours

What It Is

The openingHoursSpecification property allows businesses to communicate exact operating hours to Google in structured, machine-readable format — including different hours for different days, split shifts, and special hours for holidays. Correctly implemented opening hours appear in Knowledge Panels and help Google display accurate 'open now' and 'closes soon' status in search results. Key format details: dayOfWeek uses full names (Monday, not Mon), opens and closes use 24-hour HH:MM format (09:00, 17:00), split shifts require two separate specification objects for the same day, and special hours use specialOpeningHoursSpecification.

Why It Matters

Hours accuracy directly affects user behavior: a business showing as 'Closed' when it's actually open loses visits in real time. Hours discrepancies between schema and GBP reduce Google's confidence in both sources. For businesses with complex or seasonal hours — restaurants, medical practices, seasonal retail — accurate structured hours are a significant competitive differentiator in local results where 'open now' filtering is heavily used.

Root Diagnostics

Common Causes

Understanding why this failure occurs is the first step to fixing it permanently.

01

GBP-Schema Hours Mismatch

GBP hours updated for a holiday or seasonal change without simultaneously updating the schema — creating conflicting hours data that reduces Google's confidence in both sources.

02

12-Hour Format Used Instead of 24-Hour

opens and closes values formatted as '9:00 AM' instead of '09:00' — the schema specification requires 24-hour format and 12-hour values may not parse correctly.

03

Split Shifts Not Separated

A restaurant open 11:00–14:00 and 17:00–22:00 implemented as a single openingHoursSpecification instead of two separate objects — causing incorrect hours display.

04

Missing Special Hours for Known Closures

No specialOpeningHoursSpecification for holidays like Christmas and Thanksgiving — causing Google to display incorrect 'Open' status when the business is actually closed.

Interactive Standard Operating Procedure

The Fix Blueprint (Interactive SOP)

Check off each step to monitor your implementation progress live!

Implementation Progress: 0% Completed (0/7)

Tools

  • Google Business Profile
    Free | The authoritative hours source — always pull schema hours from GBP and update both simultaneously when hours change
  • Google Rich Results Test
    Free | Shows a preview of how hours will display — confirms correct parsing of 24-hour format and split shifts
  • schema.org/openingHoursSpecification
    Free | Full specification reference including validFrom/validThrough date fields for special hours

Time to Fix

30–60 minutes
Hours Schema Build
15–30 minutes
Validation

Pro Tip

Update schema hours simultaneously with every GBP hours change.

A common mistake is updating GBP hours for a holiday or seasonal change but forgetting to update the schema — creating a discrepancy between the two entity declarations that reduces Google's confidence in the hours data for both sources. Build schema hours updates into your client workflow as a required step every time GBP hours are changed. Treat them as a single coordinated update, not two separate tasks that can be done independently.

Ep 4: Service Area Business Schema Ep 6: Multi-Location Schema Architecture