Add a member to a program roster
Add an existing member to an active program roster. The member appears once on the program roster with the selected status.
- Status
- Draft, not yet re-verified
- Who can do this
- Organization owners, Managers, Staff
- Required access
members.change- Where in PositiveForm
/programs/:slug/members
"Copy for AI" puts the full Markdown of this page on your clipboard. Paste it into ChatGPT, Claude, or any assistant and ask it to walk you through the steps.
Who this is for
This guide is for desk staff, managers, and owners putting somebody into a class.
Two things the page tells you that are worth taking at face value:
- Members can be planned into inactive programs. You can build next term's roster before the program opens.
- No capacity rule blocks this roster. PositiveForm will not stop you at a number. If a class is full, the waitlist is how you say so.
Enrolling somebody does not charge them. Money is a household subscription; see Manage member lifecycle and subscriptions.
You need the members.change permission.
Before you begin
- The person needs a member record; see Create a member.
- Decide whether they are joining the roster now or waiting for a spot.
Steps
- Open the program and click the Enrollment tab. The card there reads Current program enrollment and roster status.
- Click Enroll member to open Enroll in {program}. Or take a shortcut: the sidebar's Eligible for enrollment card lists members who match this program's enabled training groups and are not already on the roster, and its Enroll starts the same dialog with that person already picked.
- Search in Find a member (name, email, phone, or ID). People already on the roster are hidden from the results. Nothing is enrolled until you finish, and a name typed in the box on its own does nothing: pick the person from the results.
- Choose the Roster status they join with. It defaults to Active; Waitlist and Inactive stay roster-only with no billing.
- If they already have a current program, choose Add this program (keep all current enrollments) or Change programs (add this one and stop one current one). Change programs asks for the Current program to stop.
- Read Before you confirm. It answers whether this replaces another enrollment, adds to another, changes billing, or enrolls anyone else in the household. The summary below it restates the program, member, status, and what happens to billing.
- Finish with Review price & enroll when billing should start, or Enroll without billing instead / Enroll member for roster-only.
You can also start this from the program header's Enroll button on any tab, or from Action items on Overview while the roster is empty.
Expected outcome
PositiveForm confirms with Member enrolled, Member waitlisted if they are waiting for a spot, or Member moved to their new program when you chose Change programs. They appear once on the roster.
The roster shows them under Current enrollments with their Status, the date Enrolled, any Scheduled end, and an Actions menu. Past enrollments sit in a separate Enrollment history table. The program header's active member count updates to match.
After a roster-only enroll, a green card confirms {name} is enrolled in {program} and that no subscription or charge was created. From it you can Keep it operational for now, jump to Check in / view attendance, or Open household billing (optional).
Roster-only enroll does not charge. If you continue to price review, that is the household subscription; the two stay separate until you confirm there.
To change their status later, use the Actions menu on their roster row; see Manage the enrollment queue.
Screenshots

Recovery
If the finish button stays disabled, you have typed a name but not picked anybody, or you chose Change programs without saying which one to stop. The dialog says so: a search is not a selection.
If the person is not in the results, they are already on this roster, or they have no member record at this location yet; see Create a member. The results also cap: PositiveForm says Showing the first N of M matches. Refine the search to find others.
If PositiveForm asks Outside training groups, this person matches no training group enabled for this program. It is a warning only, and does not change who is in a training group. Enroll anyway continues.
If PositiveForm asks Add to an ended program, the program has already ended, and enrolling records an end-date override on their enrollment. Enroll anyway continues.
If somebody is on the roster twice, they were added under two enrollments rather than one changing status. Take one off with the row's Actions menu rather than leaving both.
If you added them to the wrong program, change their status to withdrawn on the wrong one and add them to the right one. Withdrawing records that they left, which is more honest than deleting the trace.
If a member was added but their prior program could not be stopped, PositiveForm says so and tells you to update it in Programs. The new enrollment stands; only the stop is missing.
If a family says they were charged for a class they are not in, or not charged for one they are, that is the household subscription rather than this roster; see Manage member lifecycle and subscriptions.
Related guides
- Manage the enrollment queue — change roster status, across every program at once.
- Manage member lifecycle and subscriptions — the billing side, which this does not touch.