Showing gym class timetables on screen
· 6 min read
The easiest way to show a class timetable on screen is to keep the classes in a simple table and put that table on a layout. In Casty the table is called a dataset. When a class fills up or a coach calls in sick, someone at the front desk edits one row, and every screen showing the timetable changes without anyone opening the design. That last part is what keeps it accurate at 6am on a Tuesday.
Why the printed timetable lets you down
A printed timetable is right on the day it's printed. Then a coach swaps shifts, the Wednesday spin class moves studios, the 18:15 HIIT fills up by lunchtime, and members find out when they get to the studio door. A screen fixes that, but only if updating it is quicker than not bothering. If changing the timetable means redrawing a graphic in a design app, it won't happen during the evening rush, and you're back to a wrong timetable that happens to be lit up.
Keeping the timetable as data (rows and columns) gets around this. The design stays put and only the rows change.
Set up the table
Think about what a member wants to know when they look at the screen: when, what, where, who's taking it, and whether there's room. In the Casty demo, Fitzroy Gym in Leeds uses exactly those as its columns: Time, Class, Studio, Coach and Places. Places holds a number, or the word Full. On the demo's layout a number shows as "3 left" and Full shows as a coloured label, so members can spot a full class from across reception.
You can type the rows in by hand, or if your booking system exports the timetable as a spreadsheet, save it as a CSV file and import it. Importing can either add to what's there or overwrite it, which is handy if you refresh the whole day each morning. One quirk to know: column headings can't contain spaces or hyphens, so use StartTime or just Time. The datasets guide covers columns, rows and imports.
Put it on a layout
On the layout, add the DataSet widget, pick a table style, choose your dataset, and drag the columns you want into the order you want them. Set a font size people can read from where they'll be standing, which at reception is usually a few metres back. Add a heading such as "Classes today" with a text element, and a digital clock in a corner. A clock sounds like a small thing, but "18:15 Spin" means more when you can see it's 18:05 now.
The widget can sort the rows by a column (time, obviously) and filter them so only some rows show. It can also limit how many rows appear. The demo's timetable shows eight classes under its heading. Twenty wouldn't fit at any size anyone could read from reception.
Portrait screens suit timetables well, because a list is taller than it is wide. If your screen is already up on a wall the other way round, don't panic: a wide table with fewer rows works fine, it just shows less of the day at once.
Fitzroy's tutorial walks through the whole thing, from scheduling the timetable to marking a class as full.
How much of the timetable to show
A full week on one screen is unreadable, so decide what the screen is for. There are a few sensible ways to slice it.
The simplest is today only. Keep a dataset of today's classes and refresh it each morning, by hand or with a CSV import that overwrites yesterday's rows. That's what the Fitzroy demo shows.
You can also split the day into a morning layout and an evening layout, each filtered to its own classes (a Session column holding AM or PM makes the filter easy), and schedule them with dayparts so the screen switches over at lunchtime. Members coming in at 5pm don't need to know about the 7am class.
If you'd sooner set the week up once, keep one dataset with a Day column, make a layout for each day filtered to that day, and schedule each one to repeat weekly on its own day. It's more work up front, but then the week looks after itself and you only touch rows when something changes.
Keep it right during the day
When a class fills, the front desk opens the dataset, clicks edit on the class's row, changes Places to Full and saves. Same for a coach swap or a studio change. If a class is cancelled, put Cancelled in Places so it's clear (deleting the row can leave people wondering where it went).
How quickly the screen shows the change depends on the widget's update interval, set in minutes on its Configure tab. For a timetable, keep it short.
Your front desk team can do this from their own logins. We set those up for you and can limit each login to the parts of the CMS that person needs.
If your booking system can publish the timetable at a web address as JSON or CSV, a dataset can fetch it on a timer and nobody needs to update rows at all. That depends on what your booking provider offers, so email us with their details and we'll look at it with you.
Where the timetable screens go
Reception is the obvious one, as it's the first place members look. A screen on the studio door is the other good spot, where it can show what's next in that studio and how many places are left. The demo gym has both, scheduled through one display group that holds the two screens, from 06:00 to 22:00 every day.
Sharing the screen with offers
A timetable screen is also the screen every member looks at, so it's tempting to fill it with promotions. Go gently. If two events overlap on a screen in Casty they play in turn, so a membership offer scheduled alongside the timetable takes turns with it. That suits a studio door (the Fitzroy demo runs a "no joining fee" offer there until the end of October). At reception you might want the timetable up most of the time, and an interrupt layout gives the offer a set number of seconds each hour instead of taking turns. What to show on gym reception screens has more ideas for the rest of the loop, and live data on screens goes further into datasets.
Questions people ask
Can the timetable update itself from our booking system?
Sometimes. A dataset can fetch JSON or CSV from a web address on a timer, so if your booking system can provide the timetable that way, the screen keeps itself up to date. It needs details from your booking provider, so get in touch and we'll check.
Can staff mark a class as full from a phone?
Yes. The CMS runs in a web browser, including on a phone or tablet, so the front desk can edit a row from wherever they are. The screens pick up the change at the widget's next update.
How many classes fit on one screen?
It depends on the screen size and how far away people stand. The Fitzroy demo shows eight classes under a heading. Put your layout on the real screen, walk back to where members stand, and cut rows until it's easy to read.