Can Schema handle two sets of business hours?
-
I have a client who, due to covid, will have two sets of business hours. Morning hours for business customers, and afternoon hours for general customers. Is it possible to designate this distinction in schema?
-
Hello,
covid I with you and your client safe days ahead
https://developers.google.com/search/docs/data-types/special-announcements
https://www.schemaapp.com/how-to/your-guide-to-covid-19-structured-data/ https://schema.org/CovidTestingFacility
https://support.google.com/business/answer/3039617?co=GENIE.Platform%3DiOS&hl=en
for Structured data I would use it like pharmacy’s do but name is what you like.
this tool will help you make your own
https://technicalseo.com/tools/schema-markup-generator/
Here are some great examples
<title>Dave's Department Store</title>
<scripttype="application ld+json"="">{
"@context":"https://schema.org",
"@type":"Store",
"image":[
"https://example.com/photos/1x1/photo.jpg",
"https://example.com/photos/4x3/photo.jpg",
"https://example.com/photos/16x9/photo.jpg"
],
"@id":"http://davesdeptstore.example.com",
"name":"Dave's Department Store",
"address":{
"@type":"PostalAddress",
"streetAddress":"1600 Saratoga Ave",
"addressLocality":"San Jose",
"addressRegion":"CA",
"postalCode":"95129",
"addressCountry":"US"
},
"geo":{
"@type":"GeoCoordinates",
"latitude":37.293058,
"longitude":-121.988331
},
"url":"http://www.example.com/store-locator/sl/San-Jose-Westgate-Store/1427",
"priceRange":"$$",
"telephone":"+14088717984",
"openingHoursSpecification":[
{
"@type":"OpeningHoursSpecification",
"dayOfWeek":[
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
],
"opens":"08:00",
"closes":"23:59"
},
{
"@type":"OpeningHoursSpecification",
"dayOfWeek":"Sunday",
"opens":"08:00",
"closes":"23:00"
}
],
"department":[
{
"@type":"Pharmacy",
"image":[
"https://example.com/photos/1x1/photo.jpg",
"https://example.com/photos/4x3/photo.jpg",
"https://example.com/photos/16x9/photo.jpg"
],
"name":"Dave's Pharmacy",
"telephone":"+14088719385",
"openingHoursSpecification":[
{
"@type":"OpeningHoursSpecification",
"dayOfWeek":[
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday"
],
"opens":"09:00",
"closes":"19:00"
},
{
"@type":"OpeningHoursSpecification",
"dayOfWeek":"Saturday",
"opens":"09:00",
"closes":"17:00"
},
{
"@type":"OpeningHoursSpecification",
"dayOfWeek":"Sunday",
"opens":"11:00",
"closes":"17:00"
}
]
}
]
}</scripttype="application>remember to submit the changes to google here [https://search.google.com/search-console/special-announcement](https://search.google.com/search-console/special-announcement) I didn’t finish the last one but the tool will help ma it work sincerely, Tom -
What it will break is the ability to indicate that a place is closed over lunch-time with a single OpeningHoursSpecification node, which works currently because you can simply sort the times for opens/closes to reconstruct the intended order, like so:
<code># opens 8:00 - 12:30 and 14:00 - 20:00 opens 08:00:00 closes 12:30:00 opens 14:00:00 closes 20:00:00</code>if you allow
<code># opens 20.00 - 02:00 next day opens 20:00:00 closes 02:00:00</code>then there can be cases that become ambiguous, e.g. i. if you use more than one pair per OpeningHoursSpecification without making the case undecidable, like so:
<code># opens 8 - 16:00 and 21:00 - 9:00: next day opens 08:00:00 closes 16:00:00 opens 21:00:00 closes 09:00:00</code>It could also mean opens 8:00 - 9:00 and 21:00 - 16:00 next day.
What might work is a rule that cross-midnight intervals are only allowed if you have exactly one pair of opens / closes properties. And we need to precisely define how this works in the light of additional statements for the next day of the week, in particular with validity constraints (like seasonal opening hours).