Scheduling Appointments

One-on-one sessions, group classes and online sessions on one calendar.

trainer guide/schedule
What this is for: Run your in-person and virtual session schedule from inside EvoFit.

What this is

/schedule is your master calendar. Two views:

  • Calendar — month grid (default).
  • Timed Grid — week or day timeline with time slots.
  1. Open Schedule to see your calendar.
  2. Click New Appointment in the header.
  3. Give the session a Title.
  4. Choose the Client, then check the date and time.
  5. Click Create Appointment and it lands on your calendar.
  6. Open Timed Grid to see the new session in its time slot.

Each appointment block is color-coded by status: scheduled / confirmed / completed / cancelled / no_show.

Creating a one-on-one appointment

  1. Open /schedule.
  2. Click New Appointment in the header.
  3. The CreateAppointmentModal opens. Fill in:
  • Title (e.g. "Lower body session — Sarah")
  • Client — pick from your active roster.
  • Type — 1-on-1 / Group Class / Assessment / Consultation / Online Session.
  • Date, Start time, End time.
  • Location (optional — gym name, address).
  • Online session checkbox + Meeting Link (Zoom, Google Meet) if virtual.
  • Notes (visible to client).
  1. Click Create Appointment. The block appears on the calendar.

The client sees this on their own /schedule view immediately.

Group classes and repeating sessions

Set Type = Group Class to label a session as a class. The form has no class-size or self-booking fields yet, and there is no repeat option: create each session separately (the same title keeps them easy to spot on the calendar).

Status changes

Click an appointment block to open the detail modal. Status buttons:

  • Confirm — flips status from scheduled → confirmed.
  • Complete — marks as completed (you ran the session).
  • No Show — client missed.
  • Cancel Appointment — cancels with optional reason.

Reschedule via the RescheduleButton — opens a small dialog to pick a new start/end without losing the appointment metadata.

Setting your weekly availability

If clients self-book, they need to know when you're available.

  1. Click Availability Settings in the header.
  2. Land at /schedule/availability.
  3. For each day Mon-Sun, add time slots (start, end, optional location). Or use the quick toggle bar at the top — click a day button to add a default 9-5 slot or remove all slots.
  4. Save Changes.

Common pitfalls

Where to find this

  • Page: /schedule and /schedule/availability.
  • Components: CreateAppointmentModal, RescheduleButton, GroupClassForm, RecurrenceConfig, CalendarView.
  • API: POST /api/schedule/appointments, PUT /api/schedule/appointments/[id], POST /api/schedule/availability.
Was this article helpful?