CrossFit Box Staff Scheduling: A VA's SOP
CrossFit box staff scheduling is one of the most operationally dense tasks an owner deals with each week. Done poorly, it creates coach burnout, missed classes, and angry members. A trained VA can own this process end-to-end, building rosters, fielding sub requests, tracking hours, and communicating changes without the owner touching a single shift.
This SOP covers exactly how to run it.
Build the Weekly Coach Schedule
Start with a master availability sheet. Every coach fills this out once per quarter, covering preferred days, max classes per week, and blackout dates. Keep it in a shared Google Sheet with locked headers. Coaches update their own rows; you lock the sheet after the Thursday deadline each week.
Pull the class schedule template from your scheduling tool. When I Work and Homebase are the two most common at CrossFit boxes. If the box runs 5 AM, 6 AM, 9 AM, noon, 4:30 PM, 5:30 PM, and 6:30 PM classes, you have roughly 49 class slots per week to fill before open gym and specialty classes.
Build the draft schedule by Tuesday for the following week. Follow these rules in order:
- Assign lead coaches to their preferred slots first.
- Fill remaining slots from the availability sheet.
- Flag any slot with no confirmed coach in red.
- Never schedule a coach for more than five classes in a single day without owner approval.
- Build in at least one backup coach per time block for high-volume days (Monday, Wednesday, Friday).
Send the draft to the head coach for approval by Wednesday noon. Get sign-off before publishing. Publish to the scheduling platform by Thursday 5 PM so staff have at least 72 hours notice.
Handle Sub Requests and Time-Off
Sub requests break schedules. Your job is to resolve them fast and cleanly.
Set up a sub request form. A simple Google Form works. Coaches submit: date, class time, reason (optional), and whether they've already arranged a sub. Route form responses to a dedicated Slack channel or email alias the head coach monitors.
Your sub resolution workflow:
- Coach submits request.
- You check the master availability sheet for coaches who are free at that time.
- Message the top two candidates directly with the request. First to confirm gets the slot.
- Update the schedule in the platform immediately.
- Notify the requesting coach with the confirmed sub's name.
- Log the swap in a Sub Tracker tab: date, original coach, sub coach, class time, reason.
Time-off requests follow a separate path. Coaches submit through the scheduling platform or a separate Time-Off Request form at least two weeks out for planned absences, 48 hours for sick leave. You log every request in a Time-Off Log with status (Pending / Approved / Denied) and update it when the head coach responds.
Never approve or deny time-off yourself unless the owner has explicitly delegated that authority to you in writing.
Track Coaching Hours for Payroll
Accurate hour tracking prevents payroll disputes. Most scheduling platforms log clock-in and clock-out automatically. If the box uses When I Work, export the weekly timesheets every Sunday night or Monday morning.
Build a Payroll Hours Sheet in Google Sheets with these columns:
- Coach name
- Pay period (start and end date)
- Regular class hours
- PT/private session hours (tracked separately, as these have a different pay rate)
- Open gym supervision hours
- Total hours
- Notes (e.g., "subbed Monday 6 AM")
Cross-reference the scheduling platform export against the Sub Tracker to make sure swapped classes are credited to the right coach. A coach who picked up a sub should be paid for it; the coach who dropped it should not.
Flag any discrepancies before sending the payroll summary to the owner. Coordinate this with equipment maintenance tracking so rig prep aligns with each shift.
Monitor Fill Rate and Communicate Schedule Changes
Fill rate is the percentage of scheduled class slots with a confirmed coach assigned. Track it weekly. A box with 49 weekly slots and 45 filled has an 91.8% fill rate. Anything below 95% for more than two consecutive weeks is a staffing signal worth escalating.
Log fill rate in a simple weekly dashboard tab: week ending date, total slots, confirmed slots, unfilled slots, fill rate percentage.
When a schedule change happens after publishing (a coach gets sick, an emergency sub falls through), communicate it fast and through the right channels:
- Staff: Direct message via the scheduling platform or Slack. Do not rely on email alone.
- Members: Post in the box's member app or Facebook group within 30 minutes of confirmation. Use a clear, factual message: "The 6 AM class on Thursday has a new coach. [Name] will lead the session."
Never leave a class unannounced. Even if coverage is confirmed, members deserve to know who is teaching.
Set up a recurring Monday morning check: review the full week's schedule, confirm all slots are green in the platform, verify no coach has exceeded their max class count, and flag anything that needs resolution before Tuesday.
Tools to Use
When I Work is purpose-built for shift-based businesses and handles scheduling, time tracking, and shift swaps cleanly. It has a mobile app coaches actually use.
Homebase is a strong alternative with a free tier and solid payroll integration. Works well for smaller boxes with 4-8 coaches.
Google Sheets handles your master availability tracker, Sub Tracker, and Payroll Hours Sheet. Keep everything in one Drive folder with clear naming: [BoxName] Scheduling 2026.
Slack or the box's team messaging app handles real-time sub requests and urgent communications. Create dedicated channels: #subs-available, #schedule-updates.
Roll outcomes into your weekly reporting cadence for clear owner visibility. BLS projects fitness instructor jobs to grow 14% through 2032.
Frequently Asked Questions
Q: How far in advance should a CrossFit box publish its staff schedule?
Publish at least seven days in advance. Ten to fourteen days is better for coaches managing personal commitments. Post the draft by Wednesday and finalize by Thursday so coaches have the weekend to plan.
Q: What happens if a class has no coach and no sub available?
Escalate immediately to the head coach or owner. Do not announce a cancellation without owner sign-off. The owner may choose to lead the class, merge it with another time slot, or cancel with a member notification. Your job is to surface the problem fast, not make the call.
Q: Should a VA approve time-off requests independently?
Only if the owner has explicitly delegated that authority in writing. In most boxes, the VA manages the process (logging requests, checking schedule impact, and surfacing conflicts) and the head coach or owner makes the final call.
Q: How do I handle a coach who consistently submits sub requests at the last minute?
Log every request with timestamps. After three or more short-notice requests in a pay period, surface the pattern to the head coach with the data from the Sub Tracker. Pattern documentation is your job; the management conversation is theirs.
Q: What's the best way to notify members about a substitute coach?
Use the box's primary member communication channel, typically a member app like Wodify or PushPress, or the members-only Facebook/WhatsApp group. Post within 30 minutes of confirming the sub. Keep the message factual and positive.