Two clocks are always running
An occupational therapy appointment sits on two clocks at once. The first is the session: 45 minutes on a Tuesday at 4:00 pm, repeated for as long as the plan runs. The second is the goal: a six-week block, a reassessment at week eight, a progress review before school reopens. Scheduling systems that only see the first clock produce a calendar that looks tidy and a caseload that never gets reviewed.
That is the core of occupational therapy scheduling — recurring slots with an expiry date, held by a therapist whose capacity is finite, for a child or adult who may not always be able to attend. Everything else (reminders, waitlists, cancellation rules) is downstream of modelling those two clocks together. The customer-facing flow is at swiq.services; the rest of this post is about the state model behind it.
What occupational therapy scheduling actually allocates
Three resources share the slot: the therapist, the room or therapy corner, and the caregiver's transport. Miss any one and the session does not happen, even though the calendar says it does.
Model a session as planned → confirmed → attended → documented, with cancelled, rescheduled and missed as separate terminals. The distinction matters more than it looks: a cancellation with notice frees a slot you can refill, a reschedule carries the same session to a new time with its history intact, and a miss consumes the slot with no outcome recorded. Collapsing them into one "not held" bucket is how a clinic loses track of whether a child has actually had six sessions or six calendar entries.
Confirm the room and the caregiver at the same transition — session state should never be confirmed while one of the three is still planned.
Caseload as a state machine, not a spreadsheet
Each child occupies a small set of states: assessment_due, active_block, review_due, on_hold, discharged. Slots are released from blocks, not granted ad hoc, so a therapist's week has a shape you can reason about.
Caseload shape is the part of occupational therapy scheduling nobody ever sees on a calendar, and it is the part that decides whether a block finishes on time. The useful rule is that transitions need a trigger with a deadline. active_block reaches review_due after the block length you set, and stays there until someone books the review — if nobody does, the state should nag rather than expire silently. Keep one slot per session type reserved for reviews and assessments, otherwise the urgent-but-not-emergency work is permanently crowded out by routine sessions that renew themselves every week.
Waitlist as a first-class object
Late cancellations are the standing tax on occupational therapy scheduling — a child falls sick, a school event moves, a parent's shift changes. Every unfilled slot is capacity you already paid a therapist for.
Store waitlist entries with a locality, a window and a session type, and match on those rather than on an exact time. When a Tuesday 4:00 opens, offer it to everyone who can genuinely take Tuesday 4:00; if nobody accepts inside your reply window, return the slot to open inventory instead of holding it against a promise. Two-way matching prevents the classic bug where a family on the waitlist is offered a slot they could never attend, stops replying, and quietly blocks everyone behind them. The clinic-side mechanics are laid out in our waitlist management for clinics post.
Reminders and the no-show budget
Set a no-show budget first: how many missed sessions per therapist per month you can absorb before a child falls behind the block plan. Then work backwards.
The ladder exists because occupational therapy scheduling fails at confirmation far more often than at attendance. A practical sequence on WhatsApp: confirmation at booking, a reminder 24 hours before, and a short confirm-or-move message on the morning of the session. Each message should offer exactly one action — reply 1 to confirm, reply 2 to request a move — because a message that sends someone to a portal converts worse than one they can answer where they are reading it. Anything unconfirmed by the evening before becomes a candidate for backfill from the waitlist, with the family keeping priority if they reply later. The wider argument for this shape of ladder is in our piece on cutting appointment no-shows.
Copy-ready: cancellation and reschedule policy
Paste this into your intake pack or front-desk runbook — the copy-ready version of an occupational therapy scheduling rule set:
OT cancellation & reschedule policy
- Cancel or reschedule at least 24 hours ahead: no charge, slot returns to the waitlist
- Same-day cancellation with notice: session moves once, then counts against the block
- Missed without notice: session counts as used; two misses trigger a plan review
- Reschedules keep the original session ID, history and progress notes attached
- Up to 2 reschedules per 6-week block; beyond that, re-book the block
- Unconfirmed sessions 24 hours ahead are offered to the waitlist; original family keeps priority until the reply window closes
- Cancellations and misses are logged separately — never as one "not held" status
- Reassessment slots are held back and cannot be consumed by routine sessions
Review cadence, reminder timing and the family's side of the flow are covered in the appointment no-show management write-up linked earlier in this post.
About SWIQ
SWIQ is built in Jodhpur, India, for clinics and studios running recurring sessions alongside walk-ins. It gives you an online booking page, service and staff calendars, tokens for waiting families, WhatsApp confirmations and reminders, a waitlist for backfilling cancellations, UPI payment links where you take fees, displays for the waiting area, and basic analytics. Plans start at ₹777 per month, with ₹1,777 and ₹2,499 tiers; the first 300 bookings are free, setup takes 2 minutes with no card, and there is a 14-day free trial. More at swiq.services and the product landing page, or WhatsApp +91 79002 60076.


Top comments (0)