A customer stands at the door, the sign says closed, the website says open. Another one calls and reaches a recorded message that stopped being true last summer. Both are small incidents, and both end a first contact before it has begun. Opening hours and availability are among the most-read details on a business website and, at the same time, among the least maintained. This guide shows where hours are actually stored across a business, how to keep them in step with a reasonable amount of effort, how to announce public holidays, company closures and special hours, which contact channels a small business can realistically staff, and which short checklist before a holiday or a refurbishment keeps inquiries from disappearing into the void.
Why one wrong number costs the first contact
Opening hours are not decoration, they are a basis for decisions. Anyone looking for a workshop, a practice, a restaurant or a trade business decides within seconds based on three things: is the business nearby, does it do the right kind of work, and is it open now or soon. Expecting to find exactly that information online, and current, has become the normal case. In a survey of 1,180 internet users (Bitkom) aged 16 and over, 73 percent (Bitkom) wanted online access to current information about what local retailers have in stock; 74 percent (Bitkom) would like to reserve goods in advance, and 50 percent (Bitkom) would welcome opening hours beyond 8 pm. The most telling figure for hours maintenance comes from the same survey: 40 percent (Bitkom) would shop in local stores more often if the opening hours allowed it. The survey was conducted in calendar weeks 40 to 43 of 2024 (Bitkom). Opening hours are therefore not a side note on a website but a factor that helps decide whether a visit happens at all.
The damage does not come from the wrong number alone, but from the disappointment behind it. Someone standing at a locked door has invested time, often a drive and sometimes half a day off. Someone calling into silence had to work up to calling in the first place. Neither experience is filed away as a detail; both are read as a statement about the business. How common such experiences are is shown by a 2022 survey: one in five respondents (Verbraucherzentrale) reported negative experiences with company customer service. The reasons named include contact forms that do not work, overloaded phone lines and companies that do not respond at all (Verbraucherzentrale). Legally, Section 5 of the German Digital Services Act requires a postal address in the imprint plus details that enable fast electronic contact and direct communication, expressly including an email address (Verbraucherzentrale). The obligation does not end with listing the detail, though: a channel that is named but not staffed does not serve its purpose.
The most expensive line on the website
The inventory: where hours are stored
Before hours can be kept in step, it has to be clear where they exist at all. In most businesses that list is longer than expected, because details have migrated over the years to places nobody keeps track of. The first step is therefore not technical but an inventory: walk through the premises once, click through your own website once, call your own number once, and write down every place a time appears. In practice this typically produces between six and twelve locations (project experience). Only once that list is complete can you decide which places stay and which disappear for good. Fewer locations mean less maintenance and fewer contradictions. Anyone clarifying in parallel which pages a business website actually needs can concentrate the hours in the right place from the start instead of scattering them across many subpages.
Home page and footer
The footer appears on every page and therefore has the widest reach. It should carry a short version that links to the full hours, not the complete weekly table.
Contact page
This is where the full hours, the callback window, the phone number and a realistic note on response times for written inquiries belong. This page is the source everything else refers to.
Business profile and map entries
Profile entries show hours directly in search results, often before anyone clicks through to the website. For many people they are the first and only contact with the stated hours.
Answering machine and recorded message
The recorded message states hours in spoken form and is routinely forgotten when something changes. It is also the place where a wrong detail has the most immediate effect.
Door sign, notice, shop window
The sign on the door is the last authority on site. It should state the same hours as the website and, for special hours, carry a dated notice that comes down again afterwards.
Signature and out-of-office reply
Email signatures often carry hours unchanged for years. The automatic reply during a closure additionally names the return date and who is covering.
Besides these six main locations there are further places that are checked less often but circulate just as widely. They are the most common reason why customers end up knowing two different sets of hours and trusting the outdated one, simply because they saw it first.
- Quote and invoice templates whose footer carries hours and a direct dial number.
- Vehicle and shop window lettering that leaves a stated time permanently on the street.
- Printed flyers, business cards and price lists still being handed out.
- Entries in trade, guild and association directories created years ago.
- Confirmation emails from the contact form that state a response time.
- Notices on the letterbox, yard gate or side entrance left over from a past special opening.
That this upkeep is neglected precisely where it matters most is not carelessness but a question of capacity. For 2023, official statistics counted around 3.2 million (Destatis) small and medium-sized enterprises in Germany, which is 99.3 percent (Destatis) of all enterprises, employing 53 percent (Destatis) of all people in work. Micro-enterprises are defined there as businesses with up to 9 employees (Destatis) and no more than 2 million euros (Destatis) in annual turnover. In structures like these there is no role that looks after channels, only people who have to remember between two appointments. That is exactly why the maintenance path has to be short: one place to change, everything else follows on its own.
One source, many outputs
The most effective lever against contradictory hours is organisational, not technical: there is exactly one place where hours are maintained, and every other location reproduces that place. In practice this is the contact page of the website, fed from a central record. The footer pulls a short version from it, the structured data of the page pulls its machine-readable version from it, and the business profile in map search is updated from the same template after every change. Compared with websites that simply grew, the difference in effort is small but the difference in effect is large: maintaining hours by hand in five places tends to produce at least one contradiction by the third change (project experience). Maintaining them in one place produces five identical statements. The overview below shows which form of upkeep holds up per location and where the risk sits.
| Location | Upkeep that holds | Typical risk |
|---|---|---|
| Contact page | Full weekly hours from the central record, with callback window and date of the last check | A hand-maintained table that gets overlooked when something changes |
| Footer | Short version from the same source, linked to the contact page | Its own hours baked into the layout, drifting away from the contact page |
| Structured data | Generated automatically from the record, identical to the visible text | A schema fragment pasted in by hand that goes stale after a change |
| Business profile | Updated after every change, special hours stored with dates | Created once and left untouched afterwards |
| Answering machine | Neutral message without weekly hours, pointing to the website | Spoken hours that would need re-recording on every change |
| Door sign | Printed sign with regular hours, special hours as a dated notice beside it | A handwritten note without a date that stays up for months |
Public holidays, company closures and special hours
Regular hours are the easier part. The exceptions are the hard part, because they occur rarely and therefore rarely turn into routine. It does not help that public holidays in Germany are largely decided at state level: Corpus Christi, All Saints, Assumption Day or Reformation Day apply differently depending on the federal state, in some cases only in individual municipalities. Anyone serving customers across state borders cannot rely on a holiday being obvious to everyone involved. The more reliable approach is a plan drawn up once a year that lists all exceptions for the coming year and is worked through step by step, rather than one that has to be improvised shortly beforehand.
- Draw up an annual plan in January: all public holidays in your own federal state, planned company closures, stocktaking days, training days and foreseeable refurbishment phases.
- Set a lead time per exception. What works well: company closures around six weeks ahead, public holidays and bridge days four weeks ahead, short-notice closures as soon as they are certain.
- Write the announcement once, with reason, exact period and return date. Every other version derives from this wording.
- Push the announcement into the channels: note on the contact page, special hours in the business profile, dated notice on the door, adjusted out-of-office reply.
- Name cover arrangements and an emergency route where they exist. Where they do not, say so plainly instead of leaving it open.
- Clean up afterwards: take down the notice, remove the note from the contact page, switch off the out-of-office reply, reset the special hours in the profile.
The January appointment
The wording matters as much as the timing. An announcement that only says the business is closed generates questions; one that names reason, period, return date and alternative answers them in advance. So instead of company holiday in August, better: the business is closed from 3 to 21 August. From 24 August we are available again during the usual hours; inquiries sent through the contact form are collected and answered from 24 August in the order received. If wording like this feels awkward, our article on writing website copy customers actually read offers the patterns: concrete instead of general, dates instead of vague periods, one statement per sentence.
Storing hours in machine-readable form
Besides the visible text there is a second layer on which opening hours are read: structured data in the page source. It addresses search systems and assistants that turn it into answers such as open until 5 pm. The Google Search Central documentation lists the openingHoursSpecification property for local businesses as a recommended detail (Google Search Central). The times in opens and closes are expected in hh:mm:ss format (Google Search Central). For a day the business is closed all day, set both opens and closes to 00:00 (Google Search Central); for a business open around the clock, opens is 00:00 and closes is 23:59 (Google Search Central). Temporary deviations such as company closures or seasonal hours can be expressed with validFrom and validThrough in YYYY-MM-DD format (Google Search Central). How structured data works in general and what it can do in search results is a topic of its own; in the context of opening hours what counts is that the machine-readable version and the visible text say the same thing.
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Example Business",
"telephone": "+49 5123 9579000",
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday"],
"opens": "08:00:00",
"closes": "17:00:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Friday",
"opens": "08:00:00",
"closes": "14:00:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday",
"opens": "09:00:00",
"closes": "12:00:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Sunday",
"opens": "00:00",
"closes": "00:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
"opens": "00:00",
"closes": "00:00",
"validFrom": "2026-12-22",
"validThrough": "2027-01-02"
}
]
}- The machine-readable entry matches the visible text on the contact page.
- Times use hh:mm:ss format, dates use YYYY-MM-DD format.
- Closed days are expressed with opens and closes both set to 00:00 rather than omitted.
- Company closures are stored as a separate entry with validFrom and validThrough.
- Expired special hours are removed so that no contradictory entries remain.
- The entries are generated from the central record rather than typed in by hand.
Availability: callback windows instead of standby
Opening hours describe when the door is open. Availability describes something else: when a person answers. In many businesses the two diverge, because during opening hours people are working rather than answering the phone. Saying so openly costs nothing and buys calm on both sides. A callback window such as daily between 4 and 5 pm is more useful to callers than a number that goes unanswered for half the week. The same applies to written inquiries: a statement such as usually within one working day, on Mondays often a little later is more honest than promising an instant reply. Such statements should be phrased as experience rather than as a firm commitment, because their job is to manage expectations, not to create an obligation; they also gain from being written in short, plain sentences. It also matters that the stated time is realistically undercut: quoting 24 hours and replying after 6 looks dependable; quoting 2 hours and replying after 8 looks overwhelmed.
Callback window
A fixed daily window in which calls are reliably answered or returned. It appears on the contact page, in the recorded message and in the signature, and it replaces the expectation of constant availability.
Response time as experience
A range rather than a promise, phrased as usually within. It sits below the contact form and is repeated in the confirmation email so that nobody has to ask.
Cover and emergency route
For absences, a named person with their own availability or, where there is none, a clear statement to that effect. For emergency services, define what counts as an emergency and what waits until the return.
Availability is not a question of length but of predictability. One hour in which someone reliably answers the phone is worth more than a whole day on which it might work out.
Which contact channels a small business can staff
Every channel on offer creates an expectation. Listing a phone number creates the expectation that someone picks up; offering a form creates the expectation of a reply; linking a messaging profile creates the expectation that messages are read there. The question is therefore not how many channels are possible, but how many are genuinely staffed. Legally, Section 5 of the German Digital Services Act requires a postal address and details enabling fast electronic contact, expressly including an email address (Verbraucherzentrale); what a domain and a business email address contribute here is a topic of its own. A phone number is not strictly required: the Court of Justice of the European Union ruled in case C-649/17 that online platforms do not have to provide telephone access (Verbraucherzentrale). For a place-based business the phone usually remains the most important channel, because customers plan at short notice. Offering customer service exclusively through expensive premium-rate numbers, incidentally, is not permitted (Verbraucherzentrale).
| Contact channel | Works when | Better left out when |
|---|---|---|
| Phone with callback window | A fixed window is stated and kept | Nobody picks up and no message explains when calls are returned |
| Email address on your own domain | The mailbox is read on working days | It only appears in the imprint and nobody actually looks inside |
| Contact form | Inquiries reach a monitored address and are confirmed | Entries land in a mailbox that is not assigned to anyone |
| Callback request via form | The stated window for returning calls is kept | Callbacks happen irregularly and appointments fall through as a result |
| Messaging profile | Someone checks incoming messages at set times | Messages sit there unanswered for days |
| Appointment request via form | Appointments are confirmed bindingly from it | Requests arrive but the confirmation stays unclear |
The staffing test
The checklist before holidays, refurbishment and closures
The real work on opening hours does not happen on the day of the change but in the ten minutes before it. A short, reusable checklist saves you from working out each time which place is still missing. It should live in the same spot as the annual plan and be extended after every run with the locations that were overlooked this time. After two or three runs it is complete and barely needs attention afterwards.
- Contact page: special hours added with dates, return date named, check date updated.
- Footer: the short version matches the contact page.
- Structured data: the special period stored as its own entry, expired entries removed.
- Business profile: special hours entered for the affected days, not only the regular schedule.
- Answering machine: the message names the period, the return date and, where applicable, who is covering.
- Out-of-office reply activated in the mailbox, with return date and a note on the order of processing.
- Contact form: note added above the form, confirmation text adjusted to the period.
- Door sign and notice: dated note put up, the old sheet taken down.
- Appointments within the period reviewed and affected people informed actively instead of waiting for questions.
- Follow-up scheduled: a calendar entry on the return day that removes all notes again.
Across the year this checklist belongs in a fixed maintenance routine. What such a routine realistically looks like for a small business, which tasks come up monthly and which are fine quarterly, is described in our article on a website maintenance routine for small firms. For the hours themselves a simple rhythm works well: a short visual check each month, a thorough check each quarter and a full inventory once a year, together with the annual plan. If you also maintain your profile in map search, the relevant steps are in our guide to the business profile in search, which covers special hours, categories and alignment with the website. For businesses with walk-in customers it is also worth looking at local visibility for local businesses, because stated hours act directly in the results list there.
Maintaining hours and contact details centrally with XICflow
XICflow is an AI website builder: from a briefing it produces a complete business website with structure, copy and images, maintained as a configuration and delivered statically. Opening hours and contact details are not stored as text inside a single page but as master data of the business. When an hour changes, it changes on the contact page, in the footer of every page and in the structured data of the page at the same time. Special hours for public holidays and company closures are stored with dates and expire on their own after the period, so no outdated notes are left behind. How this route differs from a classic build is set out in the comparison of approaches. If you would like to see how that looks in the make-up of a page, the product features of XICflow show the building blocks, and the example websites show finished contact pages with hours, callback window and directions.
Master data instead of text spots
Hours, phone number, address and callback window exist as a record of the business. Every page draws its presentation from it instead of keeping its own copy.
Special hours with an expiry date
Public holidays, company closures and refurbishment phases are entered with a period. After the last day the note disappears without anyone having to remember it.
Structured data included
The machine-readable version with openingHoursSpecification is generated from the same record, so visible text and page source give the same answer.
Getting started needs no great preparation. Open your own website on a phone and look for the opening hours the way a stranger would; how well that works depends heavily on mobile usability. Then call your own number and listen to the recorded message all the way through. Finally, check which hours appear in your map search profile. If those three sources say the same thing, the foundation is sound; if not, the first task has found you. How such a setup comes together in a few steps is shown in the overview of how website creation works, and which services are included at which scope is set out in the plan overview. For an assessment of your own starting point, a short message through the contact form is enough, or take a look at our overview of which pages belong on a business website.
Sources and studies