The screenshot problem
Every week, someone designs the timetable in Canva, exports it, posts it to Instagram and pins it. It looks good. Then Thursday's 6pm moves to 6:30, a cover teaches Saturday, a class is cancelled, and the pinned image is wrong. Members DM to ask. New people cannot book from a picture, so they DM too. The screenshot is doing the job of a timetable without any of a timetable's properties: it is not live, not filterable, not bookable, not searchable.
The platform you already pay for has a live schedule. The website's job is to show it, and Instagram's job is to point at it.
The live timetable page
A dedicated page on your domain, /timetable, holding your platform's schedule widget: Mindbody, Glofox, Momence, TeamUp, WellnessLiving and Bsport all provide one. It shows the real schedule from the platform, updated the moment you change a class, with spaces remaining, and a Book button on every class that opens the platform's booking flow with the class pre-selected.
Configure the widget to show a week at a time on phones, default to today, and include filters for class type, instructor and, for multi-room or multi-site studios, location. Style it to match your site where the platform allows.
Filtered views from class-type pages
The timetable page shows everything. Each class-type page (Reformer Pilates, Hot Yoga, HIIT) links to the timetable filtered to that class, using the widget's URL parameters. A visitor reading about reformer taps "See reformer times" and sees only reformer classes. Each instructor profile links to the timetable filtered to their classes.
This is the difference between a schedule and a menu.
Keeping the page fast
The schedule widget is a script from the platform. It belongs on the timetable page only, never on the home page or every page. Reserve the widget's height in CSS so the page does not shift as it loads. Preconnect to the platform's domain. Put nothing else heavy on the page: a heading, a one-line reassurance ("Book any class below; first time? Start with the intro offer"), the widget, the intro button, the phone number.
On the home page, show the next few classes as a small static list if the platform's API allows, or simply a large "See timetable" button. Not the full widget.
Making Instagram point at it
- The bio link goes to
/timetableor to a landing page whose first two buttons are "Intro offer" and "Timetable", tagged with UTM parameters. - The pinned post becomes "Live timetable and booking: link in bio", with a screenshot if you like, but the caption sends people to the live version.
- Stories about a class carry a link sticker to the timetable filtered to that class, or straight to the class's booking link.
- Schedule change posts ("Thursday 6pm now 6:30") still go out, and they end with "book via the link in bio".
- Instagram's Book button, connected to your platform where supported.
The weekly Canva export becomes optional. Some studios keep posting a designed weekly image because members like it; the caption always points to the live page, and the image is never the only source.
Class-type and instructor pages as the entry points
Search sends people to "[class] [town]" pages, not to timetables. Each class-type page describes the class, shows who teaches it, links to the filtered timetable and offers the intro. Each instructor page does the same for their classes. The timetable is where those pages send people to pick a time, not where people land cold.
Structured data
Mark up the schedule with Event or Schedule structured data where your platform exposes the data or you can generate it, so search can show class times. Mark up the business as a HealthClub, ExerciseGym or SportsActivityLocation with hours and location. Search results that show your next reformer class are a small edge most studios do not have.
Testing
Open the timetable page on a phone inside Instagram's in-app browser, filter to a class, book it with a test account. Check the booking appears in the platform. Then from a class-type page's filtered link, and from an instructor's. Monthly, because platforms update their widgets.
What changes
Studios that move from a screenshot to an embedded live timetable report that "is the 6pm still on" DMs stop, that bookings arrive from the website through the day rather than only when someone posts, and that class-type pages start ranking because they have a live schedule attached. The weekly design task disappears or becomes optional.
Where this sits
The embedded, filtered, live timetable on a dedicated page, with class-type and instructor pages feeding it and Instagram pointing at it, is part of every studio website we build. The platform already has the schedule; the website's job is to make it the one place everyone looks.
