CrossFit Box Class Schedule Management SOP
CrossFit box class schedule management is one of the most operationally visible tasks a VA can own. Every member interacts with the schedule. A mistake (wrong coach listed, wrong time, a class that disappeared without notice) erodes trust fast. A VA who runs this process cleanly makes the box look professional and prevents the small chaos that drives member frustration.
This SOP covers building and updating the weekly schedule, assigning coaches, managing capacity and waitlists, handling holiday changes, communicating with members, and tracking utilization.
Build and Update the Weekly Schedule in Wodify or PushPress
Your schedule management starts in whatever platform the box uses. Most CrossFit boxes run Wodify or PushPress. The core tasks are the same in both, with minor differences in navigation.
Establish a master schedule template. Work with the owner and head coach to document the base weekly schedule: which classes run on which days, at what times, with what capacity limits. Store this as a reference document in your shared folder. The template is your source of truth when you are setting up new weeks or recovering from an accidental deletion.
Build schedule windows in advance. Most platforms let you create recurring class templates. Build at least 4 weeks ahead. This gives coaches visibility into their upcoming schedule and gives members time to book in advance. Verify at the start of each week that the upcoming 7 days are fully published and accurate.
Edit individual classes when needed. Single-class edits (capacity change, coach swap, time adjustment) should go through the class-level edit, not the template. Editing the template changes all future instances, which can cause unintended ripple effects. Always check whether you are editing a single instance or the recurring template before saving.
Log every schedule change. Keep a change log in your shared folder: date of change, what was changed, who approved it, and whether members were notified. This is your paper trail when a member claims they weren't told about a change.
Assign Coaches and Manage Coach Availability
Coach assignment starts with knowing each coach's availability. Maintain a coach availability document that each coach updates monthly, at minimum. It should include their regular days and times, any known unavailability in the coming month, and their preferred classes if they have them.
When assigning coaches to the schedule, check availability first. Do not assume a coach's regular Tuesday slot carries into a week where they've flagged a conflict. Cross-check against the availability document before publishing.
Substitution workflow. When a coach calls out sick or cancels last-minute, you need a sub list. Build one with your owner: an ordered list of coaches or qualified members willing to cover. When a coverage need arises, work down the list until you fill the slot. Log who covered what. This information matters for payroll and for tracking which coaches carry the most coverage burden.
Set a standard: all schedule changes involving coach swaps must be updated in the platform and communicated to members no later than 2 hours before class when possible. For same-day changes, use SMS. For changes made more than 24 hours out, email is sufficient.
Tag each class in the platform with the assigned coach's name, not a generic "staff" placeholder. Members book specific classes partly because of who is coaching. Accuracy here matters.
Manage Capacity and Waitlist Handling
Set class capacity limits in the platform based on your owner's guidance. Capacity is typically based on floor space, equipment count, and coach-to-member ratio for safe instruction.
Daily capacity check. Every morning, review the classes scheduled for that day. Note which classes are at 80% capacity or above. Alert the front desk or the coaching staff so they are prepared for a full room.
Waitlist activation. When a class hits capacity, the platform waitlist activates automatically in both Wodify and PushPress. Your role is monitoring, not just relying on automation. Check waitlists daily. If a cancellation opens a spot, confirm the platform notified the first person on the waitlist. If automatic notifications are off or unreliable in your platform setup, send the notification manually via email or SMS.
Late cancellation handling. Define the box's cancellation policy with the owner: how many hours before class a member can cancel without penalty, and what happens to their spot when they cancel late. In most boxes, a spot vacated less than 1 hour before class does not get automatically released to the waitlist because there is not enough time for the waitlisted member to get there. Know your policy and apply it consistently.
Coordinate with your staff scheduling workflow so coaches, rigs, and bookings stay aligned.
Handle Holiday and Special Event Schedule Changes
Holiday schedules are predictable disruptions. Build a holiday schedule calendar at the start of each year. Identify every major holiday and note which class times the owner wants to run. Typically reduced hours for major holidays, full schedule for minor ones.
Four-week rule. Publish holiday schedule changes at least 4 weeks in advance when possible. This gives members time to plan and reduces the number of "are classes running on [holiday]?" messages you have to answer individually.
Special events. When the box hosts a competition, a specialty workshop, or a box anniversary event, those events may displace normal class times. Get the event details confirmed by the owner before you publish any schedule changes. Cancelling a class for an event that then gets cancelled is a member trust problem.
In-platform updates. For holiday schedule changes, do not just modify the recurring template. Cancel the specific instances you want to remove and add any special-time classes as individual events. This prevents confusion between "the class exists on the template" and "the class is actually running that day."
Send member communication for every holiday change. The format: what is changing, which dates are affected, what the alternate schedule is (if any), and where members can check the updated schedule online.
Communicate Schedule Changes to Members
Communication is where most schedule management failures happen. The schedule gets changed in the platform, but no one tells the members who are already booked.
Rule: any change to a class that already has bookings requires direct notification to those members. Pull the attendee list for the affected class before making the change. After the change is made, send an email or SMS to every booked member. Do not rely on the platform's automated notifications alone. Test them first to confirm they are working.
Channel selection by urgency. Changes made more than 48 hours in advance: email. Changes made 24-48 hours in advance: email plus a push notification or app message if the platform supports it. Changes made within 24 hours: SMS plus email.
Website and social media. If your box posts its schedule on a website or a Google Business Profile, update those within 24 hours of any change. Members who check the website before booking should not see a different schedule than what is in the platform.
Build a simple communication template for schedule changes: "[Class name] on [date] at [time] has been [cancelled/rescheduled/changed]. [Brief reason if appropriate.] [What members should do next.] Questions? [Contact info]." Customize it per situation, but keep it short.
Track Class Utilization Rates
Utilization data tells you which classes are worth keeping and which ones are draining coach hours for low attendance. Pull a utilization report monthly from your platform.
Calculate utilization rate for each time slot: average bookings divided by class capacity, expressed as a percentage. Classes consistently below 30% utilization are candidates for removal or time shift. Classes consistently at 80%+ are candidates for capacity increase or a second offering.
Report utilization monthly to the owner in a one-page summary. Show trends: is a Tuesday 6am class declining over three months, or is it consistently strong? This data makes schedule decisions easier and gives the owner a factual basis for changes rather than relying on gut feel.
Combine this with waitlist management to capture rebookings when popular classes fill up. WHO notes regular activity reduces premature death risk by 20-30%.
Frequently Asked Questions
Q: What do I do when a coach is assigned to a class but hasn't confirmed they're coaching it?
Do not assume confirmation. If a coach is assigned in the platform but you have not received explicit confirmation for the upcoming week, send a direct message on Monday asking for a yes or no. Build this into a weekly confirmation workflow: a simple "Please confirm your classes for the week" message to all coaches on Monday morning, with replies due by noon. If a coach doesn't confirm, escalate to the head coach immediately.
Q: How far in advance should I build the schedule?
Four weeks minimum. Six weeks is better for boxes with complex coach schedules. Building further ahead gives coaches time to flag conflicts early and gives members time to book popular class times. The more advance notice you give, the fewer last-minute scrambles you handle.
Q: What if the platform's waitlist notifications aren't working reliably?
Test the notification flow yourself: add yourself to a waitlist, manually trigger a cancellation, and verify whether you receive the notification and how long it takes. If the system is unreliable, build a manual backup: check waitlists daily and send waitlist notifications manually until the platform issue is resolved. Flag the technical issue to your platform's support and document the ticket number.
Q: How should I handle members who repeatedly book and cancel at the last minute?
Track late cancellation patterns in your CRM or a simple spreadsheet. If a member has three or more late cancellations in a month, flag it for the owner. Most boxes have a late cancellation policy (a fee, a hold, or a warning). Your job is to surface the pattern; the owner decides how to handle it with the member directly.