SquareOS Docs
Integrations

Schedule

Schedule manages appointments, PT sessions, class sessions, check-ins, blockouts, maintenance, waitlists, attendance, and trainer calendars.

What this page is for

Schedule manages appointments, PT sessions, class sessions, check-ins, blockouts, maintenance, waitlists, attendance, and trainer calendars.

Who should use it

Front desk, trainers, class instructors, manager

Where to find it

/schedule

Before you start

  • Schedule flow completion gate: finish Schedule documentation by proving Fitness Calendar, appointment booking/detail, class creation/detail, class bookings, waitlist, check-in, blockout/maintenance events, and class group messaging are explained from current staff-app and API source.
  • Schedule workspace pulls appointments, class sessions, rooms, trainers, bookings, trial instances, check-ins, and provider accounts from the scheduling workspace payload.
  • The current Schedule workspace has two operating tabs: 1:1 Sessions and Group Classes. The active tab controls summary cards, table rows, status filters, and the primary Create button.
  • Refresh reloads categories, trainers, rooms, members, sessions, classes, message templates, sender accounts, and provider readiness without changing the current tab.
  • Schedule summary cards are prioritization counters. 1:1 Sessions shows scheduled sessions, completed, no-show, and canceled. Group Classes shows scheduled classes, completed, booked seats, and waitlist count.
  • Schedule filter bar includes From, To, Location, Session category or Class category based on the active tab, Trainer, Status, and Apply. Clear or widen filters before assuming a session or class is missing.
  • 1:1 Sessions table shows member/contact, category, trainer, location/room, start, end, status, and View. Group Classes table shows class, physical/virtual delivery, trainer, location/room, start, reservation count, waitlist count, status, and View.
  • Fitness Calendar filters by From, To, appointment category, class category, and trainer.
  • Fitness Calendar view modes are Day, Week, Work Week, Month, Agenda, Trainer View, and Studio View.
  • Clicking a calendar item opens class detail, appointment detail, or blockout / maintenance event editing based on item kind.
  • Book appointment requires a member or prospect and an appointment type before the API request is sent.
  • Create Session requires location, selected member, session category, trainer when needed, delivery type, room for physical sessions or virtual link for online sessions, start/end date and time, optional notes, optional repeat rule, and conflict override only when approved.
  • Create Session repeat supports daily, weekly, or monthly frequency, interval, and stop by count or until date. Repeat count and interval must be positive whole numbers.
  • Force book the trainer on a session records an intentional conflict override. Use it only when manager/trainer approval exists.
  • Physical appointments send a room only for physical delivery; virtual appointments send the virtual URL and omit stale room selections.
  • Appointment detail supports reschedule scope Single appointment or Whole recurring series.
  • Session Detail lets staff open the person profile, save a single occurrence time change with note, mark Completed/Attended, mark No Show, Cancel, or Cancel and Refund Session.
  • Cancel and Refund Session is the explicit entitlement-restoring path for an eligible PT/session-pack cancellation. Regular Cancel follows backend cutoff/status policy and may become late-canceled if inside cutoff.
  • Appointment detail outcome buttons cover check-in, attended, no-show, canceled, and late-canceled states.
  • Create class requires class category plus a valid local start date and start time.
  • Create Class requires location, class category, optional class level, trainer, optional preselected members, delivery type, room or virtual link, start/end date and time, notes, reservation limit, waitlist capacity, optional repeat rule, and optional force-trainer-conflict approval.
  • Members selected inside Create Class are reserved into every generated class session after the class schedule is created. Use this only when the gym has confirmed those members should be pre-booked.
  • Limit reservations controls booked capacity. Enable waitlist controls waitlisted capacity. Zero or disabled capacity means no limit for reservations or no waitlist for that class, depending on backend policy.
  • Class end time must be after the class start time before SquareOS sends the schedule request.
  • Weekly class repeat sends selected local weekdays or falls back to the weekday of the start date.
  • Class repeat count must be positive and repeat until-date must be a valid local date.
  • Class create, edit, and duplicate payloads normalize reservation limit and waitlist capacity as whole numbers.
  • Class Detail lets staff edit location, trainer, start/end, delivery type, room/virtual link, reservation limit, waitlist capacity, notes, and force-trainer-conflict before saving the class.
  • Class Detail class actions are Save Class, Complete, Cancel, and Duplicate Class. Complete closes the class after attendance is settled; Cancel cancels the class and refunds eligible sessions; Duplicate opens Create Class with copied fields that must be reviewed.
  • Class Detail Clients section lets staff add a member, record booking notes, mark a booking Attended, No Show, Cancel, or Cancel and Refund Session.
  • Class booking fills booked capacity first, then waitlist capacity, and rejects booking when both are full.
  • Trial-linked class booking requires class trial support, active or scheduled trial status, valid trial window, and remaining allowance.
  • Class booking status transitions allow booked clients to become checked-in, attended, no-show, canceled, or late-canceled, and waitlisted clients to become booked or canceled.
  • Cancel and Refund Session on a class booking is the explicit eligible session-restoration action. Plain Cancel records the booking outcome according to backend policy.
  • Regular class or appointment cancel inside the configured cancellation cutoff is saved as late canceled.
  • Check-in search accepts member name, ID, phone, email, or client ID and records an immediate STAFF_WEB visit.
  • Check-in can link only booked appointments or booked class reservations; non-booked linked records are rejected.
  • Auto check-in can link today booked class or appointment when the branch auto check-in setting is enabled.
  • Blockout and maintenance events require title, location or room scope, start, end, optional timezone, all-day, and repeat controls.
  • Class group messages require provider readiness and at least one recipient status: Booked, Checked-in, or Waitlist.
  • Class group message channels are WhatsApp, SMS, and Email. Template options are filtered by channel; WhatsApp templates must be active and approved before use.
  • Class group messages can target Booked, Checked-in / attended, and Waitlisted recipients. The backend rejects sending when no recipient status is selected or when the body is blank.
  • Email group messages need a subject. SMS and WhatsApp should use concise text and approved templates where provider policy requires templates.
  • Use Appointment for one-to-one bookings such as PT, consultation, tour, assessment, or trial slot.
  • For virtual appointments, use the virtual link and leave room blank; SquareOS ignores stale room selections and physical room-mandatory rules when booking or rescheduling a virtual appointment.
  • Use Class for group sessions with capacity, room, waitlist, recurrence, and attendance.
  • Weekly recurring classes follow the gym/location timezone, so early-morning India classes stay on the selected local weekday.
  • Appointment, appointment reschedule, class, and blockout start/end times must be valid schedule times; the end time must always be after the start time.
  • Class date fields use the gym operator local calendar date. Do not compensate by entering the previous UTC date.
  • If class repeat is set to a count, enter a positive number of classes. If repeat is set to until-date, enter the actual last local date for the schedule.
  • Reservation limit and waitlist capacity are whole-number class controls. Blank values are treated as unset/default, not as text.
  • Cancellation cutoff minutes is enforced by the backend: if staff clicks regular Cancel inside the cutoff window, the booking is saved as Late canceled.
  • Class category levels and appointment subtypes are optional. Leave unused rows blank; blank level/subtype rows are ignored before saving.
  • Class level must belong to the selected class category. If you change the class category, choose the level again only from that category.
  • Create class, edit class, and duplicate class drawers all expose Class level. Choose No level when the gym does not use Beginner/Intermediate/Advanced style variants for that session.
  • When editing class details, the saved class level is checked again against the class category so pasted or stale levels from another category are rejected. Choosing No level clears the existing class level.
  • If Room mandatory is enabled on a physical class category, select an active room before creating the class session. Use Virtual only when a real online class link exists.
  • Class detail group messages follow provider readiness: WhatsApp, SMS, and Email stay disabled until a connected provider account and sender exist for that channel.
  • Before sending class group messages, choose at least one recipient status: Booked, Checked-in, or Waitlist. SquareOS will reject an empty status selection so staff do not accidentally message the wrong audience.
  • Use Check In Client for actual gym arrival/access events.
  • Use cancellation/no-show/attendance actions so entitlements, utilization, and reports remain correct.

Daily workflow

  • Morning: filter today by trainer/class/room, check for blockouts, and confirm next booked sessions.
  • For PT/session-pack appointments: booking reserves and consumes one session immediately; regular cancel restores it, while late cancel, attendance, and no-show keep it consumed.
  • If the appointment category cancellation cutoff has already started, a staff regular cancel is treated as late cancel and the consumed session is not restored.
  • For a one-to-one session: search/select member, choose category, search/select trainer, pick physical/virtual, set room or virtual link, set start/end, add notes, choose repeat only when needed, and force trainer only with approval.
  • When serving a session row: open View, check member/category/trainer/status, use Open Profile for member context, Save Time for a corrected slot, Completed for attended service, No Show for missed service, Cancel for normal cancellation, and Cancel and Refund Session when the entitlement should be restored.
  • For class: choose location, category, class level when used, trainer, delivery type, room/virtual link, start/end time, repeat rule, repeat stop value, reservation limit, and waitlist capacity; then add bookings, mark attendance/no-show, and complete class.
  • When creating a class for a pre-booked batch, add only confirmed members in Members optional. After save, open class detail to verify every generated class has the right bookings and waitlist state.
  • When editing a class: confirm copied/stale delivery type, trainer, room, virtual link, reservation limit, waitlist capacity, and notes before Save Class.
  • When closing a class: mark each client attended/no-show/canceled/refunded first, then Complete the class so utilization and attendance reports match reality.
  • For class reminders or schedule changes, filter group-message recipients by status before sending; for example, send capacity updates to Booked clients and waitlist movement only to Waitlist clients.
  • For group messages: choose channel, apply a channel-matched template if appropriate, write subject for Email, write body, choose recipient statuses, then send only when provider readiness allows.
  • When creating a new class category, fill code, name, duration, eligibility, room/trainer rules, booking windows, session limits, and only the real levels such as Beginner or Advanced.
  • When duplicating a class, confirm the copied level, delivery type, room or virtual link, new time, trainer, capacity, trial acceptance, and conflict override.

Watch out

  • Do not use class attendance to consume PT session packs unless the class category is configured for that entitlement.
  • Room and trainer conflicts are real constraints. Move appointment instead of creating duplicate conflicting booking.
  • Do not use Force book the trainer as a convenience toggle. It should represent an approved conflict override and be explainable later.
  • Do not Complete a class before settling member attendance. Completion should be the final class-level close action.
  • Do not send one group message to all statuses when only waitlisted or booked members need the update.
  • Use the left menu to open related pages in Integrations.
  • Use Ask Docs for questions that are already covered in this public documentation.

On this page