openingHoursSpecification present for business listings, encoding all 7 days
Why it matters
Incomplete openingHoursSpecification in structured data forces users to contact the business or visit in person to confirm hours — and misleads them when the schema implies all unlisted days are open by omission. Schema-org OpeningHoursSpecification requires explicit entries for every day of the week, including closures; a 5-day entry covering Monday–Friday leaves Saturday and Sunday in an undefined state that search engines may interpret as open. Users who show up based on incorrect Google knowledge panel hours generate negative reviews. For directories competing on data quality, missing hours degrade the product's core value proposition of replacing a phone call.
Severity rationale
Low because incomplete hours reduce listing usefulness and search-panel accuracy but do not cause data corruption or security exposure; the failure is cosmetic and informational.
Remediation
Populate openingHoursSpecification for all seven days when rendering listing JSON-LD. Closed days must be explicitly included with empty opens/closes strings rather than omitted.
// lib/hours-schema.ts
const DAYS = ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday'] as const;
export function buildHoursSpec(hours: Record<string, { opens: string; closes: string } | null>) {
return DAYS.map(day => ({
"@type": "OpeningHoursSpecification",
"dayOfWeek": day,
"opens": hours[day]?.opens ?? "",
"closes": hours[day]?.closes ?? "",
}));
}
Call buildHoursSpec(listing.hours) inside your buildListingSchema helper and assign the result to "openingHoursSpecification". Validate the output in Google's Rich Results Test after deploy.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Listing Data & Schema Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- schema-org · OpeningHoursSpecification — openingHoursSpecification property for business hours
- schema-org · OpeningHoursSpecification — OpeningHoursSpecification type encoding dayOfWeek, opens, closes
Taxons
History
- 2026-04-18·v1.0.0·Initial import from directory-listing-schema·automated