Sell training packages, track sessions, and share progress with owners.

app.chartling.io C Chartling GETTING STARTED Quick start PATIENTS & CLIENTS Patients Clients CLINICAL Visits & SOAP AI scribe Medications & Rx Controlled subs. Lab orders Discharge & comms AI FEATURES Clinic Copilot Clinical support SCHEDULING Appointments BILLING Invoicing & pmts SERVICE MODULES Boarding Daycare Grooming Training TEAM & SETTINGS Team & permissions Clinic settings SMS & reminders Audit log Docs › Chartling › Training Training Active enrollment · Luna Rodriguez + New session Puppy Basics · 6 sessions Trainer: Jamie T. · Level: Beginner · Weekly Progress: 4 of 6 sessions completed 1 2 3 4 5 6 Session 5 · Scheduled Jun 28, 2026 · 10:00 AM · Sit, stay, recall Session 6 · Not yet scheduled book from calendar

Training programs

Training is organized around programs: a named curriculum (e.g. "Puppy Basics") with a session count, a duration per session, a level (beginner, intermediate, advanced, reactive, or agility), and a flat price for the whole program. A patient is enrolled in a program, and sessions are then scheduled and completed against that enrollment.

Setting up a program

  1. Create the program

    From the Training module, create a program with training.manage: a name, session count, duration, price, and level. Your clinic's defaults (session count, price, duration, level, and whether sessions repeat weekly or biweekly) prefill from Settings → Training, and can be overridden per program.

  2. Enroll the patient

    Enroll a patient in the program (training.enroll). Chartling auto-schedules the program's sessions on your clinic's weekly/biweekly cadence, so you don't have to book each one by hand. You can still adjust individual sessions afterward.

  3. Sign the training agreement

    A signed training agreement is required before the first session can be completed. It is the same release-agreement pattern used by grooming. Collect it from the enrollment before class starts.

Recording session progress

  1. Run the session

    Open the scheduled session from the patient's profile or the Training module.

  2. Complete it with notes

    Completing a session records session notes and homework notes for the owner in one step. There's no separate "start" and "record progress" click.

  3. Enrollment goals

    Trainers can update the enrollment's goals directly, independent of any single session, which tracks what the whole program is working toward not just one class.

What owners see

Training sessions and enrollments appear in the owner portal. A no-show is tracked distinctly from a cancellation, so your records reflect what actually happened at class time.

Report cards

Like Boarding, Daycare, and Grooming, Training sessions support report cards as a lighter-weight alternative to full session notes: a note, demeanor tags, and photos. Publish to portal shares it with no notification; Send to owner publishes and notifies by email, SMS, or both.

FieldNotes
Program nameShown to owners in the portal and on invoices
Session countTotal sessions in the program
LevelBeginner, intermediate, advanced, reactive, or agility
CadenceWeekly or biweekly: drives auto-scheduling of the program's sessions
Program priceA single flat price for the whole program
Session notes / homework notesRecorded together when a session is completed

FAQ

Can a patient be enrolled in more than one program?

Yes. A patient can have separate active enrollments in different programs. Enrolling in the same program twice while an active enrollment already exists just returns the existing one rather than creating a duplicate.

Can a program's sessions be spread across different trainers?

Yes. A program isn't tied to one trainer. Individual sessions can be assigned to whichever trainer is available when they're scheduled.

What if a client misses a session?

Mark it as a no-show rather than cancelling it, so your records distinguish "never showed up" from "cancelled ahead of time."

Do I need a signed agreement for every session?

No. One signed training agreement per enrollment is what gates completing that enrollment's sessions, not a fresh signature every class.

Something missing? We're always improving these docs.

Contact support Open app