Hours, access and directions

The week

Hours in the admin menu holds one row per key. Seven weekday rows are created for you the first time the plugin is activated, with your site's own weekday names.

The open status, and where it comes from

The sentence beside the dot, "Open until 17:00", is derived and never typed. Change the hours, not the sentence. It is printed in the header and again in the hero of a home.

It is read from today's hours row, the door's own opening and closing time. The services say what the kitchen serves when; they never decide whether the door is open, so a gap between two services inside an open day still reads as open. Before opening or after closing it reads "Closed · opens at 08:00" or "Closed · opens Tuesday 08:00". While an Hours slip is striking today's row it reads "See our hours", because a slip's sentence is not a pair of times.

A cached page cannot claim an hour. So the page itself carries the weekly sentence ("Open every day", or "Open Tuesday to Sunday" when the open days are one unbroken run, or the days named one by one when they are not), and the line then asks your own site for the current state, once a minute and whenever the tab comes back into view. That request never comes from a cache and goes nowhere but your site. The /404 page keeps the weekly sentence. A café shut on Thursdays never gets "Tuesday to Sunday", because that sends somebody to a closed door.

A row whose value is not a pair of times — a sentence, a season — gives "See our hours" rather than a guess.

Where else the hours print

Place What it shows From
The visit band on a home Today's hours, large, and which days the door opens The hours record
The same band, the five service tiles, the night band and strip Each service's days and hours Services › Days, Start, End
The footer The whole week The hours record
/visit/ The week as a card with today marked, and any slip striking a row The hours record and Slips

Two records, and they answer different questions. Hours is when the door is open. Services is what the kitchen serves when. A gap between two services inside an open day is still open.

Access and arrival

Settings › Site details › Arrival holds eight sentences: bus, metro, parking, bikes, door, washroom, room, terrace. Transit and Access hold the one-clause summary each.

These are measurements somebody took at a door. They are true of the invented café in the demo and of nothing else. Re-measure every one of them for your own room before you launch — especially the door width and the washroom. An access fact that is wrong is worse than an access fact that is missing, because somebody travelled on it.

The house rules — dogs, laptops, terrace, children, allergens — are their own group of fields, and the laptop answer is printed per service, because the true answer is usually "yes, except at lunch".

Directions, and why there is no map

No map is ever embedded. Not Google, not OpenStreetMap, not a static tile image.

An embedded map is a third-party script, a set of cookies, a consent obligation, a request on every page load and — for the one thing a visitor actually wants, which is a route from where they are standing — a worse answer than their own phone gives.

Instead:

Affordance What it does
Get directions The page's one filled action. Opens a routed link in the visitor's own map application, built from your coordinates — or, if you have given none, from the written address.
The geo: handoff A second link in the RFC 5870 geo: scheme, which a phone hands straight to whatever map app the owner actually uses.
The address block Selectable and copyable in one press, with a receipt that says selected when the browser has no clipboard, and copied when it does. With no script at all, the selectable box is the whole affordance.
The coordinates Printed behind a disclosure — the address that survives a dead battery.

Set Coordinates › Latitude and Longitude at Settings › Site details. Without them the directions link falls back to the written address, which is a worse route but never a broken link.

Structured data

With the companion plugin active the site prints a CafeOrCoffeeShop JSON-LD record in the page head, on the front page and on the pages whose slugs are menu and visit. Three depths:

Page What it carries
Front page Identity, the price band, whether reservations are taken, the week, the dated overrides, and the one-clause access summary.
/menu Identity plus the whole card.
/visit Identity, the week, the dated overrides and the three measured access facts.

Three deliberate omissions:

And one rule with a reason: the allergen mark never appears as a dietary recommendation in the structured data. N is a warning, and inverting a warning is the one error here that could put somebody in hospital.

This is structured data, not an SEO feature. We make no claim about what any search engine will do with it.