Total CMS extension

Relay Queue extension

Class, event and accommodation bookings for Total CMS, with capacity, a waitlist, approvals and automatic emails, all inside your own admin. Free to use, with Pro for Stripe payments and more.

What it does

Bookings for classes, events and accommodation

Take bookings straight from your Total CMS website, keep an eye on capacity, and let Relay Queue handle the emails.

Relay Queue works two ways. For classes and events, you create a session with a fixed number of spots and visitors book one or more of them. For accommodation and anything else booked by date range, you set how many identical units you have (rooms, cabins, equipment) and visitors pick their own check-in and check-out dates.

Every booking is held as pending until you approve it. When a session is full, new bookings go to a waitlist instead of being turned away. Customers get an email when they book, when you confirm them, and a reminder before the day. If a booking can't be accepted, for example because bookings have closed, they're told why. Put the booking form on any page: a ready-made booking page, a Site Builder block, or a shortcode in your content.

With Pro, take payment by Stripe when people book (full price or a deposit), give customers their own page to add the booking to their calendar or cancel it, and let the waitlist move up on its own.

Everything lives in your own Total CMS admin. There are no outside booking services and no monthly fees.

See it in action

Every booking at a glance.

Sessions, spots left, pending requests and waitlists in one place. Confirm a booking and the customer is emailed automatically.

The Relay Queue overview: upcoming sessions with capacity bars and the bookings waiting to be confirmed.
The Relay Queue overview: upcoming sessions with capacity bars and the bookings waiting to be confirmed.
Free

Everything a small booking system needs

Classes & events

Capacity, handled

Set the spots per session and the most one booking can take. Pending and confirmed bookings count against it, and the booking page shows how many spots are left.

Accommodation

Date-range bookings

N identical units, checked night by night across the dates a guest picks. Minimum and maximum stays are supported.

Control

You approve every booking

New bookings wait as pending. Change a booking's status right on the Relay Queue page and the customer is emailed automatically.

Fairness

Waitlist & first come, first served

Full sessions take waitlist bookings. When several bookings arrive together, the earliest gets the spot.

Notifications

Emails through your own Mailer

Booking received, confirmed, cancelled, couldn't accept, and a reminder before the session. Setup creates the templates in your business name and colours.

Site Builder

The form on any page

A ready-made booking page, a Page Block, a Twig function, or a [booking-form] shortcode in any content area. One-click setup and one-click updates.

Free & Pro

Start free, go Pro

Pay once, use it on every site you build, for every 1.x release. No subscription. Prices in Australian dollars.

Relay Queue

Free
  • Classes, events and accommodation
  • Capacity, approvals and a waitlist
  • Customer emails and reminders
  • The booking form on any page
  • One-click setup and updates
Download free

Pro Bundle

$69.00
  • Pro for Pixel Plan, Byte Checkup and Relay Queue
  • One key unlocks all three
  • Save $21.85 on buying them separately
  • Unlimited sites, every 1.x release
  • One-off payment, AUD
Buy the bundle
Pro licences

How Pro works

Every extension is free to download and use. A Pro licence switches on the extra features. You pay once, there's no subscription.

How many sites can I use it on?
As many as you like. One licence covers every site you build or look after, with no per-site fee.
How long does a licence last?
A licence covers every release of the major version you buy: a 1.x licence covers 1.0 right through to 1.99, and it never expires. A future 2.0 would be a new licence, and your 1.x sites keep their Pro features either way.
How do I get my licence key?
After you pay, we email your licence key within one business day. Paste it into the extension's settings in Total CMS (Settings → Extensions → the extension → Licence key) and Pro switches on straight away.
Does it send anything from my site?
No. The key is checked on your own site against our signature, so nothing about your site is sent anywhere and Pro keeps working offline. The only outside request is the optional update check, which sends no site data.
What's in the Pro Bundle?
Pro for all three extensions, Pixel Plan, Byte Checkup and Relay Queue, with one key that unlocks them all, for less than buying them separately.
Can I get a refund?
Every extension has a free version, so please try it before you buy. We don't offer refunds if you change your mind or buy the wrong licence. This doesn't affect your rights under Australian Consumer Law: if Pro doesn't work as described, contact us and we'll put it right.
Requirements

What you'll need

Relay Queue needs Total CMS's automations cron job running (php bin/tcms automations:process), since that's what sends the emails and reminders. Its Setup page creates the collections and email templates for you and checks the cron job. Stripe payments (Pro) need your own Stripe account; Setup walks you through connecting it.

3.5+
Total CMS
8.2+
PHP
Cron
Automations

For emails and reminders

Mailer
Email templates

Created for you by Setup

Release notes

Latest releases

v1.0.1

3 October 2026 · patch · Requires Total CMS 3.5.0+

Relay Queue now tells you when a session should take payment but can't, and the Setup page walks you through connecting Stripe.

Added

  • A warning on the Relay Queue page when a session is set to take payment but payments are off. It names the sessions and the reason: no Pro licence, no Stripe secret key, the wrong kind of key (a publishable pk_ key, or the whsec_ webhook secret in the secret key field), or Public routes switched off
  • Stripe step by step on the Setup page: sandbox (test mode), secret key, webhook destination and its two events, signing secret, Public routes, test cards and going live. The webhook address shows straight away, before any key is entered

Changed

  • The Setup page's Payments row always shows. Without Pro it says payments are a Pro feature, and a key that isn't a secret key gets a plain reason
  • SETUP.md's Stripe section follows Stripe's current dashboard (Sandboxes, Add destination)

Fixed

  • Sessions set to take payment were quietly booked without payment when Stripe wasn't set up correctly, with nothing to say why
Download v1.0.1 (.zip, 143 KB) →

v1.0.0

3 October 2026 · major · Requires Total CMS 3.5.0+

Relay Queue is the new name for Class & Event Bookings: the same bookings, waitlist and Stripe payments, as a new extension.

Added

  • Everything from Bookings 1.11.4: class/event sessions and accommodation, the waitlist, emails and reminders, the booking form on any page (function, shortcode, block), and with Pro: repeating sessions, attendee lists, CSV export, waitlist auto-promotion, manage-booking and calendar links, and Stripe payments

Changed

  • New name and id: Relay Queue (speedyweb/relay-queue), so it can't clash with another vendor's "bookings" folder. Admin pages are under ext/speedyweb/relay-queue/ and public routes under /api/ext/speedyweb/relay-queue/ (update your Stripe webhook URL). Twig functions are now relay_queue_form(), relay_queue_embed() and so on. The template namespace is @speedyweb-relay-queue. Schemas are relay-queue-session and relay-queue-booking. Collection ids and the [booking-form] shortcode are unchanged
Upgrade notes

Moving from Bookings: remove Bookings and its two collections, delete the booking-admin-notice email template, install Relay Queue, re-enter the settings, run Setup, point the Stripe webhook at the new address and update your templates to the new function names. Pro keys issued for Bookings or the bundle keep working.

Download v1.0.0 (.zip, 140 KB) →

Let's get your business moving.

Tell us about your business and what your current site isn't doing for you. First consultation's free.

Get a free consultation