
One site.
Four working parts.
Forms, bookings, a shop and visitor numbers. Not add-ons and not embeds from somewhere else. Four modules with their own settings, their own records and their own widget on the page.
The site is the front of house.
Most website builders stop at the brochure and sell you the rest twice. Here the counter, the calendar and the till are the same system as the page they sit on.

A question arrives,
already checked.
Build the fields on the page as part of the design. Every rule you set is checked in the browser while somebody types, and again on the server when it lands.
A table, a room,
or an hour with you.
Three modes, because they are not the same problem. A restaurant allocates a table from a party size, a rental counts nights, an appointment needs a named person to be free.


The seat count is fetched
when somebody asks.
Never baked into the cached page, so nothing on a published site ever claims a seat is free when it is not.

Three kinds of product,
one cart.
Something you post, something you download, and something that renews. One catalogue, and card details never touch your site.
Numbers without
a cookie banner.
A visitor is recognised for the day by hashing the request against a secret that rotates. Then that ability is simply gone. Nothing is stored on the visitor and nothing is sent to anybody else, so there is nothing to ask consent for.
Three modules.
One place to look.
Enquiries, bookings and orders arrive in the same list, newest first. Every row still opens the real record.
Merged per site
Three kinds of record in one feed, filtered and searchable.Read, then archived
Read state is tracked separately, so marking something read does not make it vanish.Straight to the source
A booking row opens the booking. An order row opens the order, with its items and its payment.A design system,
not a pile of overrides.
Colour, space, type and radius are named tokens. Change the brand and every block that referenced a token follows.
Three colours in, a whole scale out
Heading, body, muted, borders, the inverse band and a readable version of your accent, all derived to meet contrast rather than set to a value that happens to pass.Font slots bound to roles
Two weights of one family cost one request, which is how you get a real bold instead of a faked one.Three widths, each one styled
Every element carries its own desktop, tablet and mobile styling. This site was composed at 390px, not collapsed into it.Hover and focus, separately
A control that answers a mouse and ignores a keyboard is half a control.Put a form on a page and send yourself a test.
It takes about five minutes and it is the fastest way to see the whole chain work.
