Smart Scheduling for Gyms & Trainers

From one-on-one personal training sessions to group classes with capacity tracking, TrainerReport handles every aspect of gym scheduling. Set your availability once, and let clients book, recurring appointments generate automatically, and reminders go out without you lifting a finger.

Today's Schedule
Wednesday, Apr 5
9:00 AMSarah M. — 1:1Confirmed
10:30 AMGroup HIIT (3/5)2 spots
12:00 PMJames K. — 1:1Confirmed
2:00 PMOpen SlotAvailable

Scheduling That Works for You

1:1 & Group Sessions

Book traditional one-on-one personal training sessions or configure slots for group classes with up to 20 concurrent clients. Each session tracks individual client attendance through a junction table, so trainers always know exactly who showed up and can mark sessions as completed or cancelled per client.

Standing Appointments

Create recurring session patterns for clients who train on a fixed schedule — pick the client, day of week, time range, and start date. A daily cron job automatically generates confirmed sessions four weeks in advance. Need to skip a week? Add an exception date without disrupting the rest of the schedule.

Automated Reminders

A daily cron job sends email reminders for today's and tomorrow's sessions automatically. Clients get a heads-up without trainers needing to remember to send messages. Reminders include session time, trainer name, and session type — reducing no-shows and keeping your schedule running smoothly.

Concurrent Booking & Capacity Tracking

Each availability slot has a configurable maximum client count (1 to 20). The booking system tracks remaining spots in real time — clients see "3/5 spots remaining" before booking. Double-booking is prevented by both client-side conflict checks and database-level unique constraints, so capacity is never exceeded.

Available Slots API

Trainers define their weekly availability windows (day, start time, end time, max clients). The available slots API calculates open times by subtracting existing bookings from the trainer's schedule. Both the web app and mobile app use the same API, so clients always see an accurate, up-to-date view of when they can book.

Gym Closed & Trainer Unavailable Controls

Gym owners can toggle a "Gym Closed" switch that instantly blocks all new bookings across the entire facility — perfect for holidays or maintenance days. Individual trainers have their own "Unavailable" toggle for sick days or vacations. Both controls show clear notices to clients attempting to book, and existing sessions remain on the calendar for reference.

Take control of your calendar

Stop juggling spreadsheets and text messages. Let TrainerReport handle scheduling so you can focus on training.