Get DineKit — Free
Opening hours

The restaurant opening hours plugin for WordPress — with an “open now” widget and Google-ready schema

Set your hours once and DineKit shows a live “Open now / Closed” status on your site, tells Google and AI assistants exactly when you trade, and stops orders and bookings landing when your doors are shut. Free, open source, and it all lives on your own website.

Get DineKit — Free See the live demo

DineKit opening hours editor
Opening hours drive the menu, booking availability and ordering windows — set them once. Scroll the image sideways to see the full screen.

Wrong opening hours cost you customers you never even see

A diner checks their phone, sees you look open, drives over — and finds a dark, locked door. That person almost never comes back, and they’ll happily tell everyone why. It’s one of the most damaging things a restaurant can get wrong, and it usually isn’t anyone’s fault: the hours were typed into a page months ago and simply drifted out of date.

The classic setups all leak the same way. Hours buried in a PDF menu can’t be read by search engines at all. Hours written as plain text on an “About” page have no structured data behind them, so Google shows nothing — or worse, guesses — and the new wave of AI assistants can’t answer “are they open now?” for you either. Bank holidays, Christmas closures and one-off private events almost never make it onto the site, because updating them means editing raw page content every time.

Then there’s the quiet killer: your website keeps taking online orders and table bookings for slots when the kitchen is actually closed. Now you’re phoning customers to cancel, refunding deposits, and looking disorganised — all because the ordering system had no idea what your real trading hours were.

One place to set your hours — and everything else obeys them

DineKit gives you a single opening-hours editor inside WordPress. You set your times per day — including split service like separate lunch and dinner windows — mark the days you’re closed, and add overrides for holidays and special dates. From that one source, DineKit drives a live open/closed indicator on your public site, publishes proper LocalBusiness openingHours schema so Google and AI can read your times, and — as of v1.2.2 — makes those hours the single source of truth that your online ordering and table bookings respect automatically.

No custom code, no separate widget subscription, no phoning anyone. Your hours are seeded the moment you install and self-heal if anything’s missing, so you’re never left with a blank or broken schedule. And because DineKit is free and open source, you keep 100% of every order and own all of your data outright.

🕐

Per-day opening hours

Set the times you trade for each day of the week, with support for split service — a separate lunch and dinner window, or all-day opening — so your real schedule is captured accurately.

🟢

Live “Open now” widget

Your site shows a real-time “Open now / Closed” indicator worked out from your hours, so visitors get an instant, honest answer instead of doing the maths themselves.

🔎

Google-readable schema

DineKit outputs LocalBusiness openingHours structured data in schema.org format, so search engines and AI assistants can read your exact times and surface them correctly.

🎄

Holiday & special-day overrides

Add one-off overrides for bank holidays, Christmas, private events or early closes without touching your page content. Set it and the whole site updates.

🔒

Orders & bookings that obey your hours

Your trading window gates ordering and bookings server-side. When you’re closed, DineKit won’t take an order or a reservation for that time — no more cancelling on customers.

⏱️

Optional “last orders” cutoff

Set a last-orders cushion before closing so the kitchen isn’t hit with a fresh ticket at the final minute. Ordering stops at your cutoff, cleanly and automatically.

🛠️

Seeded & self-healing

Opening hours are created on install and captured in the setup wizard. If anything’s missing, DineKit self-heals so you never end up with a blank or broken schedule.

🏠

All on your own site

Hours, widget and schema live inside your WordPress install — not a third-party platform. Free forever, open source, and your data stays yours.

What you needDineKitThe usual way
CostFree & open sourceFree hack or a paid widget subscription
Live “open now / closed” statusBuilt in, updates automaticallyStatic text — always says the same thing
Google & AI-readable schemaLocalBusiness openingHours outputNone — a PDF or plain text can’t be read
Holiday & special-day overridesOne-off overrides, no codeManual page edit every single time
Drives ordering & bookingsSingle source of truth, enforcedSeparate — orders arrive when you’re shut
Last-orders cutoff before closingOptional, built inNot possible
Lives on your own siteYes — you own the dataOften a third-party platform

Why the schema matters more than the page itself

When someone searches “restaurant open near me” or asks an assistant “is it open right now?”, the answer doesn’t come from reading your web page like a human would. It comes from structured data — machine-readable markup that states, in a format search engines understand, exactly when you open and close. Without it, Google is left to scrape and guess, and the newer AI answer engines simply can’t represent you at all.

DineKit publishes your opening times as proper LocalBusiness openingHours schema.org output, generated straight from the hours you’ve entered. You don’t write a single line of it. That means the times shown in search, in map listings and by AI assistants stay tied to the same source your website uses — so they can’t quietly drift apart. Get this right and you win the customer at the exact moment they’re deciding where to eat; get it wrong and you’re invisible in the searches that matter most.

Hours that actually run your service

Plenty of plugins will display your hours. What sets DineKit apart is that those hours do real work. Because DineKit also handles your menu, online ordering and table bookings, it treats one opening-hours schedule as the single source of truth for all of them.

That has practical consequences. If a day has no trading period set, DineKit treats it as closed rather than falling back to some hidden default — so you can never accidentally take business when you’re shut. Online orders are checked against your live trading window on the server before they’re accepted, and you can add an optional last-orders cutoff so the kitchen gets a breather before closing. Table availability is worked out from the same service periods, meaning the booking widget only ever offers times you can genuinely honour. Change your hours once, and your storefront, your ordering, your bookings and your Google listing all move together.

Common questions about opening hours in DineKit

Is the opening hours feature really free?
Yes. DineKit is a free, open-source WordPress plugin, and opening hours — the per-day editor, the live “open now” widget, holiday overrides and the schema output — are all part of the free core. There’s no licence check and no paid tier gating it. You keep 100% of your orders and own all your data.
How does the “open now / closed” widget work?
DineKit compares the current time against the opening hours you’ve set and shows a live status on your site. If you’re within a trading period it reads as open; outside one, or on a day you’ve marked closed or overridden, it reads as closed. You set the hours once and the indicator keeps itself up to date.
Will Google and AI assistants be able to read my hours?
Yes. DineKit outputs your opening times as LocalBusiness openingHours structured data in schema.org format, generated automatically from the hours you enter. That’s the machine-readable markup search engines and AI answer tools rely on, so your times can be surfaced correctly instead of guessed at or left blank.
Can I set different hours for bank holidays and special days?
Yes. As well as your normal weekly schedule, you can add holiday and special-day overrides for one-off dates — bank holidays, Christmas, an early close for a private event. You don’t have to edit your page content; the override updates the widget, the schema and your booking and ordering availability together.
Can I set separate lunch and dinner times on the same day?
Yes. Opening hours support split service, so you can set a separate lunch window and dinner window on a single day, or trade all day. Your booking slots and ordering availability are worked out from those service periods, so they always match the times you actually trade.
Do my hours stop orders and bookings when I’m closed?
Yes — this is one of DineKit’s biggest advantages. Since v1.2.2 your opening hours are the single source of truth for online ordering and table bookings. Orders are checked against your trading window on the server before being accepted, and a day with no hours set is treated as closed. You can also add an optional last-orders cutoff so ordering stops a set time before you close.
What if I forget to set my hours — will something break?
No. Opening hours are seeded when you install DineKit and captured in the setup wizard, and the plugin self-heals if anything is missing, so you won’t end up with a blank or broken schedule. And because a day with no trading period is treated as closed, the safe default is never to take business you can’t fulfil.
Does this work on my existing WordPress site?
Yes. DineKit is a standard WordPress plugin that runs on ordinary shared hosting upwards — no custom database tables, no external service required, everything on your own site. Install it, set your hours, and add the menu, ordering and booking pieces whenever you’re ready. They all read from the same opening-hours schedule.

Opening hours are the backbone of a working restaurant site — they feed your menu builder, gate your online ordering, and shape the slots in your table booking widget. Set them once with DineKit and everything downstream stays honest, on your own site, for free.

Ready to give it a go?

DineKit is free, self-contained and live in minutes. Own your menus, your bookings and your data.

Get DineKit — Free