Uren- en contactblokken: Openingstijden, Uitzonderingen en Routes
Bouw een uren- en contactblok met accurate openingstijden, feestdagenuitzonderingen, telefoon- en e-mailroutes en bijpassende LocalBusiness-gestructureerde data.
Een uren- en contactblok beantwoordt een praktische vraag voordat een bezoek of vraag mislukt: wanneer kan ik dit specifieke bedrijf bereiken en welke route moet ik gebruiken? Het brengt het weekschema, datumspecifieke uitzonderingen, telefoon en e-mail samen in één zichtbare en machineleesbare eenheid.
Riverside Repair — uren en contact
Open donderdag 09:00–17:30
- Reguliere tijden
- Maandag–vrijdag, 09:00–17:30; zaterdag, 09:00–13:00; zondag, gesloten
- Feestdagenuitzondering
- Gesloten op 25 december 2026
- Reparaties en reserveringen
- +1 212 555 0146
- service@example.com — reacties tijdens openingstijden
Lokale tijd: America/New_York. Geverifieerd op 27 augustus 2026.
Waarom dit element ertoe doet
Uren- en contactgegevens liggen dicht bij een praktische toezegging. Een lezer beslist misschien of hij gaat reizen, belt tijdens een korte pauze, een dringende reparatie regelt of vraagt naar een toegankelijkheidsbehoefte. Onduidelijke tijden verleggen de kosten van onzekerheid naar die persoon. Een compleet blok noemt de vestiging, tijdzone, reguliere schema, relevante uitzondering en route die geschikt is voor de taak.
De psychologie draait om vertrouwen en herstel. ‘Nu geopend’ helpt alleen als de sluitingstijd ook zichtbaar is. Een telefoonnummer helpt alleen als het het juiste team bereikt of een ander antwoordschema uitlegt. Datumspecifieke uitzonderingen stellen lezers gerust dat de datum waar zij om geven is overwogen; een alternatieve route voorkomt een doodlopende weg.
Zoekmachines, kaartproducten, spraakassistenten, AI-agenten en overzichtfeeds moeten elke tijd en route aan de juiste locatie koppelen. Een footer met het ene nummer, een kaartkaart met een ander en JSON-LD met verouderde uren creëert meerdere plausibele antwoorden. Getypeerde velden behouden de relaties tussen locatie, dag, tijden, tijdzone, uitzonderingen, contactdoel en verificatiemoment.
Het zichtbare blok blijft de voor de lezer bedoelde waarheidsbron. Gestructureerde data mogen geen langere openingstijden, een ander telefoonnummer of een verborgen uitzondering introduceren. Genereer beide uitgangen waar mogelijk uit dezelfde operationele registratie.
Wanneer gebruiken
Gebruik dit element waar openingstijden of direct contact bepalen of iemand de beoogde handeling kan voltooien. Het is standaard voor bemande winkels, klinieken, kantoren, restaurants, servicepunten, attracties en vestigingen. Het past ook op een servicepagina met een specifieke vraagroute of bedieningsvenster, en op een bedrijfs- of vestigingsprofiel met operationele contactgegevens.
Gebruik één blok per zelfstandig geëxploiteerde locatie. Identieke schema’s hebben nog steeds aparte identiteiten nodig omdat uitzonderingen, tijdzones en telefoonrouting kunnen verschillen. Een overzicht mag compacte blokken tonen, maar elk schema moet aan één locatie blijven gekoppeld.
Veelvoorkomende bijna-goed-situaties hebben een ander model nodig:
- Een boekingskalender beschrijft beschikbare afspraken, niet de uren waarop het bedrijf algemeen geopend is. Het bedrijf kan open zijn terwijl er geen afspraak meer vrij is.
- Klantenondersteuningsdekking is niet automatisch hetzelfde als openingstijden van een vestiging. Label het als ondersteuningsbeschikbaarheid en koppel het aan die contactroute.
- Productbeschikbaarheid geeft aan of een artikel verkrijgbaar is. ‘Nu geopend’ bewijst niet dat het geselecteerde artikel op voorraad is.
- Een leveringsvenster geeft aan wanneer een bestelling kan aankomen, niet wanneer een klant het magazijn kan bellen.
- Een eenmalig evenementenschema hoort bij het evenement. Overschrijf het permanente locatieschema er niet mee.
- Een onbemand servicegebied, postbus, statutaire zetel of virtuele locatie mag niet worden gepresenteerd als een plaats die lezers kunnen bezoeken.
De schrijfregels voor elementen hebben voorrang: kies dit element omdat het doel van de passage is om operationele uren en contactroutes te vermelden, niet omdat het huidige ontwerp toevallig op een kaart, tabel of footer lijkt.
Waar plaatsen
Plaats op een locatie- of vestigingspagina het volledige blok na de locatie-identiteit en het adres, en vóór routebeschrijvingen, parkeren, boeken of bezoekplanningsdetails. Lezers mogen niet langs recensies of promoties gaan voordat ze weten of de locatie open is. Een compacte hero-status moet naar het volledige schema linken en uit dezelfde gegevens worden afgeleid.
Plaats op een servicepagina het blok naast de vraagactie alleen wanneer de route en uren voor die service gelden. Voor meerdere locaties is een locatieselectie vereist voordat een schema wordt getoond. Een footer mag een merkroute herhalen, maar kan het paginaspecifieke blok niet vervangen.
Het blok mag naast een adres, kaart, routebeschrijving of boekingsactie voor dezelfde locatie staan. Het mag niet naast een tegenstrijdige status, een ander vestigingsnummer, een kalender die dezelfde uren lijkt te delen, of een niet-gerelateerde vervaldatum staan. Houd kwalificaties zoals ‘alleen voor noodgevallen’ bij hun route.
Behoud op mobiel de volgorde: locatienaam, huidige status met sluitingstijd, weekschema, datumspecifieke uitzonderingen, taakgelabelde contactroutes, dan acties. Vaste bel- of routeacties moeten dezelfde locatieregistratie gebruiken en mogen routeringsbeperkingen niet verbergen.
Anatomie
- Locatie-identiteit: benoemt de vestiging of het servicepunt en draagt een stabiele interne identificatie.
- Huidige status: vermeldt ‘Geopend’, ‘Gesloten’, ‘24 uur geopend’ of ‘Op afspraak’, gevolgd door de eerstvolgende materiële wijziging wanneer deze betrouwbaar kan worden berekend.
- Regulier weekschema: registreert elke dag, inclusief expliciet gesloten dagen, in lokale kloktijd.
- Tijdzone: identificeert de IANA-tijdzone die wordt gebruikt om het schema en zomer-/wintertijdwijzigingen te interpreteren.
- Uitzonderingen: geeft absolute data voor sluitingen, verkorte dagen, verlengde uren of seizoensperioden.
- Contactroutes: biedt genormaliseerde telefoon- en e-mailwaarden met leesbare labels.
- Doel en beschikbaarheid: legt uit welke taak elke route afhandelt en wanneer die route wordt gemonitord als dit afwijkt van de openingstijden.
- Acties: biedt toegankelijke bel-, e-mail-, boekings- of routeacties zonder de zichtbare waarden te vervangen.
- Verificatie: registreert wanneer de operationele bron de gegevens voor het laatst heeft bevestigd.
Ontwerpvoorbeelden
Elke variant heeft een locatienaam, tekstuele statussen in plaats van alleen kleur, en hetzelfde gegevenscontract.
Volledig weekschema. De standaardweergave voor locatiepagina’s toont alle zeven dagen en combineert aangrenzende dagen alleen wanneer hun uren overeenkomen en de groepering scanbaar blijft.
Compacte huidige-dag-samenvatting. In een hero, overzichtsrij of mobiel paneel, neem de huidige status, volgende overgang, dichtstbijzijnde uitzondering en een knop die de volledige week onthult.
Feestdagen- en eenmalige uitzonderingen. Toon datumspecifieke overschrijvingen naast het reguliere schema zolang ze relevant zijn. Zeg ‘Gesloten’ in plaats van een leeg tijdsbereik weer te geven.
Seizoensuren. Noem het seizoen en de begin- en einddata. Toon wanneer het volgende schema ingaat in plaats van stilletjes tabellen te wisselen.
Meerdere contactroutes. Label het doel van elke boekings-, service-, toegankelijkheids- of noodroute; vermijd onverklaarde nummers.
Op afspraak of gesplitste service. Houd receptie-uren, afspraakbeschikbaarheid en nooddekking apart omdat ze verschillende toezeggingen vertegenwoordigen.
Parameters
‘Bron’ beschrijft waar de component het veld vandaan haalt, niet het operationele systeem dat het feit beheert.
| Naam | Type | Vereist | Min/max | Standaard | Bron |
|---|---|---|---|---|---|
| title | Platte tekst | Nee | 2–8 woorden | Uren en contact | Eerste kop in body |
| location-id | Stabiele identificatie | Ja | 1–64 tekens | Geen | Attribuut |
| timezone | IANA-tijdzonenaam | Ja | Precies 1 | Geen | Attribuut |
| verified | ISO 8601-datum | Ja | Precies 1 | Geen | Attribuut |
| variant | Gecontroleerde enum | Nee | Precies 1 | full | Attribuut |
| type | Item-enum | Ja per item | Precies 1 | Geen | Item-attribuut |
| days | Dag of geordend dagbereik | Voor reguliere-uren-item | 1–7 dagen | Geen | Item-attribuut |
| date | ISO 8601-datum of -bereik | Voor uitzonderingsitem | 1 start; optioneel einde | Geen | Item-attribuut |
| opens | Lokale 24-uurstijd | Voor een open periode | 00:00–23:59 | Geen | Item-attribuut |
| closes | Lokale 24-uurstijd | Voor een open periode | 00:00–23:59 | Geen | Item-attribuut |
| status | open, closed, open-24-hours of by-appointment | Ja voor uren-item | Precies 1 | open | Item-attribuut |
| value | E.164-telefoon of geldig e-mailadres | Voor contactitem | 1 route | Geen | Item-attribuut |
| purpose | Gecontroleerd contactlabel | Voor contactitem | 1–4 woorden | Algemene vragen | Item-attribuut |
| content | Platte tekst en ondersteunde links | Nee | 0–40 woorden per item | Afwezig | Item-body |
Gebruik variant=full, compact of contact-first. Een nachtperiode zoals 22:00–02:00 begint op de genoemde dag en sluit op de volgende kalenderdag. Meerdere perioden op één dag zijn afzonderlijke reguliere-uren-items, wat een lunchsluiting behoudt zonder een doorlopende openingsperiode te verzinnen.
Syntax en codevoorbeelden
Alle drie de vormen coderen dezelfde locatie, tijdzone, schema, uitzondering en gelabelde routes. Het publicatieplatform moet de adapter registreren vóór productiegebruik.
Draagbare Markdown-richtlijn
:::hours-contact{location-id="riverside-repair" timezone="America/New_York" verified="2026-08-27" variant=full}
## Riverside Repair — uren en contact
::item{type=hours days="Monday-Friday" status=open opens="09:00" closes="17:30"}
Reguliere werkplaats- en receptie-uren.
::
::item{type=hours days=Saturday status=open opens="09:00" closes="13:00"}
::
::item{type=hours days=Sunday status=closed}
::
::item{type=exception date="2026-12-25" status=closed}
Kerstmis gesloten.
::
::item{type=phone value="+12125550146" purpose="Reparaties en reserveringen"}
Oproepen worden beantwoord tijdens reguliere uren.
::
::item{type=email value="service@example.com" purpose="Servicevragen"}
Reacties worden verzorgd tijdens reguliere uren.
::
:::
Hugo shortcode
{{< hours_contact location_id="riverside-repair" timezone="America/New_York" verified="2026-08-27" variant="full" >}}
{{< hours_item type="hours" days="Monday-Friday" status="open" opens="09:00" closes="17:30" >}}Reguliere werkplaats- en receptie-uren.{{< /hours_item >}}
{{< hours_item type="hours" days="Saturday" status="open" opens="09:00" closes="13:00" >}}{{< /hours_item >}}
{{< hours_item type="hours" days="Sunday" status="closed" >}}{{< /hours_item >}}
{{< hours_item type="exception" date="2026-12-25" status="closed" >}}Kerstmis gesloten.{{< /hours_item >}}
{{< contact_item type="phone" value="+12125550146" purpose="Reparaties en reserveringen" >}}Oproepen worden beantwoord tijdens reguliere uren.{{< /contact_item >}}
{{< contact_item type="email" value="service@example.com" purpose="Servicevragen" >}}Reacties worden verzorgd tijdens reguliere uren.{{< /contact_item >}}
{{< /hours_contact >}}
Elke parameter is benoemd; positionele en benoemde shortcodeparameters worden nooit gemengd.
WordPress
<!-- wp:amicited/hours-contact {"locationId":"riverside-repair","timezone":"America/New_York","verified":"2026-08-27","variant":"full"} -->
<!-- wp:amicited/hours-item {"days":["Monday","Tuesday","Wednesday","Thursday","Friday"],"status":"open","opens":"09:00","closes":"17:30"} /-->
<!-- wp:amicited/hours-item {"days":["Saturday"],"status":"open","opens":"09:00","closes":"13:00"} /-->
<!-- wp:amicited/hours-item {"days":["Sunday"],"status":"closed"} /-->
<!-- wp:amicited/hours-exception {"date":"2026-12-25","status":"closed","label":"Kerstmis gesloten"} /-->
<!-- wp:amicited/contact-route {"type":"phone","value":"+12125550146","purpose":"Reparaties en reserveringen","note":"Oproepen worden beantwoord tijdens reguliere uren."} /-->
<!-- wp:amicited/contact-route {"type":"email","value":"service@example.com","purpose":"Servicevragen","note":"Reacties worden verzorgd tijdens reguliere uren."} /-->
<!-- /wp:amicited/hours-contact -->
Een native WordPress-blok moet schema’s en routes als getypeerde onderliggende records bewaren, niet als één rich-tekstveld. Het zichtbare blok en de JSON-LD moeten uit die records lezen.
Goede en slechte voorbeelden
Goed
Riverside Repair — donderdaguren: Open 09:00–17:30. Zaterdag 09:00–13:00; zondag gesloten. Gesloten op 25 december 2026. Voor reparaties en reserveringen belt u +1 212 555 0146 tijdens openingstijden, of e-mailt u service@example.com . Tijden zijn lokaal voor America/New_York. Geverifieerd op 27 augustus 2026.
Dit werkt omdat de vestiging, datuminterpretatie, schema, uitzondering, routedoel, beschikbaarheid en actualiteit expliciet zijn. Lezers kunnen handelen terwijl machines elke relatie behouden.
Slecht
We zijn laat open! Bel ons: 555-0146. Feestdagentijden kunnen afwijken. Stuur het team een bericht, altijd bereikbaar.
Dit faalt omdat ’laat’ geen tijdstip is, het nummer een landcode en doel mist, geen locatie of tijdzone is geïdentificeerd en de feestdagenwaarschuwing geen data geeft. ‘Altijd bereikbaar’ is een vage belofte; gestructureerde data zou moeten gissen.
Schema-opmaak en toegankelijkheid
Voor een echt fysiek bedrijf kan het blok het meest specifieke toepasselijke LocalBusiness-subtype voeden. Reguliere perioden worden toegewezen aan openingHoursSpecification, met dayOfWeek, opens en closes; datumspecifieke of seizoensgebonden overschrijvingen worden toegewezen aan specialOpeningHoursSpecification, waarbij validFrom en validThrough worden gebruikt zoals het bereik vereist. De zichtbare locatie en gestructureerde entiteit moeten één stabiele @id delen, zodat de uren niet aan een andere vestiging worden gekoppeld.
Telefoon en e-mail kunnen de bedrijfsentiteit vullen wanneer zij de primaire openbare routes zijn. Doelspecifieke routes kunnen contactPoint vullen met contactType, telephone of email, areaServed, availableLanguage en hoursAvailable wanneer bekend en zichtbaar. Sluit interne afdelingen, persoonlijke doorkiesnummers, trackingnummers en ongemonitorde mailboxen uit.
Uitzonderingen overschrijven het reguliere schema alleen voor hun geldige data. Een sluiting heeft een expliciete inhoudsstatus nodig en een adaptermapping die de gedocumenteerde representatie van de gekozen consument volgt. Lege strings of weggelaten data lijken op ontbrekende gegevens. Test nachtperioden, gesplitste diensten, seizoensschema’s en zomer-/wintertijdovergangen.
Schema is een projectie, geen onafhankelijke bron. Het blok, JSON-LD, kaartvermelding, bedrijfsprofiel en actielinks moeten overeenkomen. Als synchronisatie faalt, onderdruk dan onzekere afgeleide statussen zoals ‘Nu geopend’ en toon het gekwalificeerde laatst geverifieerde schema.
Toegankelijkheid begint met semantische tekst. Gebruik een kop, een lijst of beschrijvingslijst voor routes, en alleen een tabel wanneer dag-tot-tijd-relaties profiteren van kolommen. Omvang tabelkoppen, label vandaag in tekst, houd uitzonderingen beschikbaar zonder hover en stel de met toetsenbord bedienbare uitgeklapte status beschikbaar.
Telefoonlinks gebruiken genormaliseerde tel:-waarden met leesbare weergavenummers; e-maillinks gebruiken geldige mailto:-adressen. Toegankelijke namen beschrijven de actie, zoals ‘Bel Riverside Repair reserveringen.’ Activeer nooit automatisch gesprekken of e-mails, steel geen focus en kondig geen repetitieve statusupdates aan.
Schrijfregels
Begin met de locatienaam en huidige status. Voeg bij een live-status de volgende overgang toe: ‘Open — sluit om 17:30’ is bruikbaar; ‘Nu geopend’ alleen is onvolledig. Gebruik lokale tijd en vermeld de tijdzone wanneer lezers, medewerkers of locaties verspreid zijn over meerdere zones.
Toon alle zeven dagen in de volledige variant. Combineer opeenvolgende dagen alleen wanneer elke periode overeenkomt. Schrijf Gesloten, 24 uur geopend of Op afspraak in plaats van lege velden achter te laten. Toon zowel gesplitste dienstperioden als de begindag voor nachtelijke uren.
Publiceer uitzonderingen als absolute data en vermeld altijd de consequentie. Toon ze voordat ze lezers beïnvloeden; verwijder verlopen items na bewaring in het auditlogboek. Seizoensschema’s hebben begin- en einddata nodig.
Houd het volledige blok beperkt tot één huidige-statusregel, zeven dagelijkse rijen of minder gegroepeerde rijen, nul tot zes relevante aankomende uitzonderingen en één tot vier contactroutes. Elk routelabel moet één tot vier woorden zijn; elke kwalificatie mag niet meer dan 40 woorden bevatten. Gebruik kalme operationele taal in plaats van verkoopteksten.
Vermeld nooit vage ’tijden kunnen afwijken’-teksten zonder de daadwerkelijke bekende uitzonderingen, commerciële claims, niet-gerelateerde prijzen, personeelsbiografieën, productvoorraad, afspraakinventarisatie of een algemeen contactformulier zonder doel of verwachting van respons. Publiceer nooit een persoonlijk mobiel nummer of medewerker-e-mail zonder expliciete operationele goedkeuring. Zeg niet dat een route 24/7 wordt gemonitord, tenzij personeelsbezetting en escalatieprocedures die belofte waarmaken.
Behandel het locatiebeheersysteem als operationele waarheid. Sla E.164-telefoonnummers op, behoud leesbare weergaveformaten, valideer mailboxen en registreer verificatie. Evalueer vóór feestdagen, seizoenswijzigingen, verhuizingen, sluitingen en routeringswijzigingen; geautomatiseerde vergelijkingen moeten afwijkingen signaleren in plaats van oplossen.
Posttypes die het gebruiken
Het postTypes-veld in de frontmatter stuurt deze implementatiematrix aan.
| Posttype | Vereiste | Plaatsing | Vereiste aanpassing |
|---|---|---|---|
| Locatiepagina | Vereist voor een bemande locatie | Na identiteit en adres, vóór bezoekplanning | Koppel uren, uitzonderingen, contacten, tijdzone en schema aan één locatie-ID |
| Servicepagina | Voorwaardelijk | Naast de vraagactie | Toon alleen uren en routes die specifiek zijn voor de service; bepaal eerst een locatie indien nodig |
| Vestigingsprofiel | Vereist wanneer de vestiging bezoeken of directe vragen accepteert | In het primaire operationele-feiten-gedeelte | Onderscheid vestigingsroutes van hoofdkantoor- en groepsbrede contacten |
| Bedrijfsprofiel | Voorwaardelijk | In geverifieerde bedrijfsfeiten | Gebruik routes op organisatieniveau; voeg niet meerdere vestigingsschema's samen in één |
QA-checklist
- Het blok noemt één echte locatie of identificeert duidelijk een route op organisatieniveau.
- Een stabiele locatie-ID verbindt het zichtbare blok, operationele registratie en gestructureerde entiteit.
- Elke dag heeft één expliciete status, en gesplitste of nachtelijke perioden behouden hun grenzen.
- Tijden gebruiken de IANA-tijdzone van de locatie en gedragen zich correct bij zomer-/wintertijdovergangen.
- Aankomende feestdagen-, nood- en seizoensuitzonderingen hebben absolute data en overschrijven alleen hun vermelde bereik.
- Statussen ‘Gesloten’, ‘24 uur geopend’ en ‘Op afspraak’ worden expliciet opgeslagen in plaats van afgeleid uit lege tijden.
- Elke telefoon- en e-mailroute heeft een doellabel en een eerlijke beschikbaarheids- of reactienota wanneer nodig.
- Opgeslagen telefoonnummers gebruiken E.164, weergegeven nummers zijn leesbaar en elk
tel:- enmailto:-doel werkt. - Geen persoonlijke of ongemonitorde contactroute wordt blootgesteld zonder goedkeuring.
- Het zichtbare blok, JSON-LD, bedrijfsvermeldingen, kaartgegevens en contactacties komen overeen.
-
openingHoursSpecification,specialOpeningHoursSpecificationencontactPointworden alleen uitgevoerd op basis van geverifieerde zichtbare feiten. - ‘Nu geopend’ bevat de volgende overgang en werkt veilig terug wanneer de huidige-statusberekening onzeker is.
- Kleur, pictogrammen, hover, uitklappen en JavaScript zijn niet vereist om essentiële uren of uitzonderingen te begrijpen.
- De verificatiedatum voldoet aan het actualiteitsbeleid van de organisatie en bronafwijkingen komen in een eigen beoordelingswachtrij terecht.
- Markdown-, Hugo- en WordPress-voorbeelden behouden hetzelfde getypeerde schema, uitzonderingen en routes.
FAQ
Moeten feestdagen openingstijden de reguliere openingstijden vervangen?
Nee. Houd het normale weekschema aan en publiceer elke datumspecifieke uitzondering apart. De uitzondering overschrijft het reguliere schema alleen voor de vermelde datum of periode en vervalt daarna zonder dat een redacteur de normale tijden moet herstellen.
Hoe moet een bedrijf tonen dat het 24 uur per dag open is?
Label de betreffende dagen als ‘24 uur geopend’ en sla die status expliciet op. Codeer het niet als 00:00–00:00 in geschreven content, omdat dat paar door sommige gestructureerde-data-consumenten ook wordt gebruikt om gesloten dagen aan te geven en gemakkelijk verkeerd wordt gelezen.
Kan één uren- en contactblok meerdere locaties dekken?
Niet als één ongedifferentieerd schema. Geef elke locatie zijn eigen gelabelde blok, stabiele locatie-identificatie, tijdzone, uren, uitzonderingen en contactroutes. Een overzicht kan meerdere vestigingen samenvatten, maar elke rij moet toewijsbaar blijven aan één vestiging.
Heeft elk contactblok zowel een telefoonnummer als een e-mailadres nodig?
Nee. Het heeft minstens één werkende route nodig die geschikt is voor de taak. Publiceer alleen routes die de organisatie monitort, label hun doel, vermeld materiële respons- of beschikbaarheidsbeperkingen en bied een toegankelijk alternatief wanneer een route sommige gebruikers uitsluit.
Hoe vaak moeten openingstijden worden geverifieerd?
Controleer ze telkens wanneer een operationele bron verandert en voor elke bekende feestdag of seizoensovergang. Voer ook een geplande vergelijking uit tussen de website, gestructureerde data, het locatiesysteem en grote bedrijfsvermeldingen; het acceptabele interval hangt af van hoe vaak de organisatie de tijden wijzigt.
Meer tutorials in deze sectie
Klaar om het in de praktijk te brengen?
Gratis check · 7 dagen proefperiode · geen creditcard nodig