Everything you need
to take bookings. Nothing you don't.
Each feature below exists because running a real business demanded it — not because a product manager thought it might look good in a pricing table.
A booking flow that respects their time.
Three screens. No account signup. Mobile-first. Branded with your logo, your colours, your language.
Live session availability
Every session slot shows current capacity. Nobody sees "probably available" — they see "4 of 12 spaces left." No double-bookings, no embarrassing "sorry, we're actually full" phone calls.
Multi-person booking
One parent books for three children. One stylist books three consecutive slots for a wedding party. The system handles party bookings without needing a separate checkout flow.
Waiver detection while typing
As a returning customer types a child's name and date of birth, the system checks for an existing valid waiver and applies it automatically. No reprinting, no signing again.
Stripe Checkout, your account
Customers pay via Stripe — the same platform they already trust. Money goes directly to your Stripe account. You see the payment land the same day.
Branded confirmation emails
Every email goes out from your domain, under your branding. No "powered by" small print. Templates adapt — if the waiver is already on file, the email doesn't ask them to sign one.
Manage their own bookings
Customers can view their upcoming bookings, see waiver status, and find the waiver link again if they lost the email. One link, no password.
An admin panel that actually gets used.
Designed for staff with ten things already going wrong on a Saturday morning. Fast, legible, built for phones as well as laptops.
Dashboard at a glance
Today's bookings, upcoming week, revenue this month. The number of children arriving in the next hour. Nothing buried three menus deep.
Day view for check-in
Each session shows every child expected — by name, with waiver status, ready to check in. The "sign on door" button surfaces immediately for unsigned waivers.
Cancel with or without refund
Because real cancellations aren't always refundable. Choose whether to trigger a Stripe refund. Choose whether to email the customer. Log the reason.
Reschedule in place
Move a booking to a different slot without cancelling + rebooking. Capacity is checked. Existing waivers carry over. The customer gets an update email.
Flexible closures
Close the whole of Christmas. Close Tuesday afternoon for a private hire. Close 10:15 AM to 12:00 PM for maintenance. All from one place, all respected by the booking form.
Calendar view
Month at a glance — booking density by colour, closures marked, quick jump into any day. Visual enough for business decisions, detailed enough for operational ones.
Staff accounts
Multiple logins. Staff can check customers in without seeing revenue. Owners see everything. Audit trail shows who did what, when.
Reports when you need them
Revenue by week, children by session, cancellation rate, refund totals. CSV export for your accountant.
Unglamorous stuff we've already solved.
The features nobody shows off in a demo — the ones you only miss when they're missing.
GDPR in the DNA
UK-hosted data. Retention policies per data category. Right-to-be-forgotten tooling. No tracking cookies, no third-party fingerprinting, no dark patterns.
Built-in SMTP
Emails sent directly from your mail server or ours — no SendGrid or Mailgun dependency. Branded, deliverable, and your logs are your logs.
Daily backups
Off-site, encrypted, retained for 30 days. The thing you hope never to need, and won't be found missing when you do.
CSRF & brute-force protection
Proper CSRF tokens on every form. Rate-limiting on admin login. Session cookies with secure, httponly, samesite flags. All the things the auditor asks about.
Mobile-first, actually
Not a desktop design shrunk down. Designed on a 375px screen first, scaled up. Staff can check in from a phone at the door without pinch-zooming.
Activity log
Every cancellation, reschedule, refund, waiver signing, config change — logged with timestamp and user. For compliance and for "what happened to this booking?"
Accessible by design
Keyboard navigation, WCAG AA contrast, ARIA labels, focus-visible outlines. Works with screen readers. Works with low vision. Your customers are everyone.
No framework churn
Vanilla PHP, vanilla JavaScript, vanilla SQL. No React rewrite planned next year. No npm dependencies to patch monthly. Boring on purpose.
Custom extensions
Need SMS reminders? Loyalty cards? Integrations with your CRM or Xero? We build to spec. Quoted separately, based on your actual needs.
Let's see if it fits your business.
Bring us your edge cases. Every business has them. We've seen most, and if yours is new, we'll say so.
Book a 20-minute call →