The booking widget now handles teams. You can add staff members with their own calendars and email addresses, attach them to any widget, and have the system route bookings either round-robin or by visitor choice. There’s also a batch of widget polish and a privacy-friendly analytics overhaul.

Team Scheduling

Add team members to your account, each with their own calendar and email address, then attach one or more of them to any booking widget. There are two booking modes per widget:

Any available. The visitor picks a time and the system auto-assigns a free team member, balanced across the team (salon or clinic style).

Let visitor choose. The visitor picks the specific person they want.

You can also combine both: a chooser that includes a “No preference” option.

Each team member connects their own external calendars (Google, Apple, Outlook, or any ICS feed), so their existing commitments block availability automatically. Double-booking isn’t possible: it’s enforced at the database level.

Team scheduling is free to enable while it’s in early release. There’s a self-serve toggle in the dashboard.

Meeting Location

Every booking widget can now carry a meeting location. It’s a free-text field, so it works for “Zoom”, “Google Meet”, or a street address. Two things happen with that field:

  1. You can show it inside the widget next to the meeting duration.
  2. It’s added to the calendar invite automatically, so it appears as the event location in Google, Apple, or Outlook calendars.

That removes the back-and-forth of telling each visitor where the meeting is.

Hide the Title

The built-in widget heading is now optional. If you embed the widget under your own heading, toggle it off and the widget starts at the calendar.

Smarter Calendar

The calendar no longer pages into months you can’t book in. If your widget only accepts bookings up to two months ahead, the “next month” arrow stops there instead of scrolling into empty months.

There’s also a fix for visitors in UK and European time zones: the calendar used to occasionally book the day before the one they clicked. That’s resolved.

Brand Colour Matching

The widget reads your site’s accent colour automatically and applies it to both the inline and floating-button versions. If you’d rather pick a specific shade, there’s a manual colour picker in the dashboard.

Live Preview in the Dashboard

The widget configuration page now shows a live preview of your actual widget, in both inline and floating-button modes, as you change settings. You can see the result without having to deploy and refresh.

Analytics That Count Humans

Your analytics dashboard now shows real, verified human visitors by default. Automated bot and AI-crawler traffic no longer inflates the page-view and visitor counts.

Bot traffic isn’t discarded. It lives in two separate tabs:

AI Crawls. Visits from large language model crawlers (GPTBot, ClaudeBot, and similar).

True Reach. Every visit including bots, useful when you want to see total request volume.

Default views show humans. Bot views are one click away.

Event tracking is also new. The widget can record link clicks, outbound links, and custom events using umami-compatible data-* attributes. Event names are recorded; no personal data, no cookies.

Primary-Domain Redirects

For sites with multiple domains, secondary domains now correctly issue 301 redirects to your chosen primary, and apex to www (or vice versa) works the same way. The previous behaviour sometimes left both versions reachable, which is bad for SEO because Google splits ranking signal between duplicate URLs.

If you have several domains pointing at the same site, set one as primary in the dashboard. The rest will redirect.

Try It

All of these are live for every site, no flag to flip. Questions or feedback: .

Ready to Deploy?

Join developers across the UK hosting their static sites with privacy and performance built in. All features are free during our beta — no credit card needed.