Scheduling Check-Ins

Wire a check-in template to a client on a daily / weekly / biweekly cadence.

trainer guide/clients/[id]
What this is for: Tell EvoFit to auto-generate a new check-in instance for this client every X days.

How scheduling works

A CheckInSchedule binds three things together:

  • A client (you, them)
  • A check-in template (the questions)
  • A cadence (daily / weekly / biweekly / monthly)
  • A start date

EvoFit auto-generates a CheckInInstance row each time the cadence elapses. Each instance has:

  • A dueAt timestamp
  • A status: pending / completed / missed
  • A response payload once the client answers

Step-by-step

  1. Open /clients/[clientId] → Forms tab.
  2. You see a list of existing schedules for this client. If empty, see "no schedules yet".
  3. Click Add Schedule (or use the API directly — see roadmap note below).
  4. Pick a template (from the templates you authored).
  5. Pick the cadence (weekly is most common).
  6. Pick the start date.
  7. Save. The first instance generates immediately on the start date; subsequent instances generate on the cadence.

What clients see

  • Mailgun email (if their email is verified) on the due date.
  • Push notification (if enabled).
  • A form on their app — but the client-side check-in submission UI is API-only today. See the client-side article on Check-Ins for full disclosure.

Cadence options

CadenceUsed for
DailyAdherence-heavy programs (e.g. cutting phase)
WeeklyDefault — works for most clients
BiweeklyMaintenance phase
MonthlyLong-term clients, low touch

Pausing or stopping

  • API: PATCH the schedule with isActive=false. Existing instances remain readable.
  • Deleting the schedule cascades to its instances (irreversible).

Common pitfalls

Where to find this

  • Page: /clients/[clientId] → Forms tab.
  • API: GET/POST /api/clients/[id]/check-in-schedules.
  • Auto-instance generator: server-side cron + on-create immediate seed.
Was this article helpful?