Setting up your class catalog
Creating and configuring classes
Classes live under Admin → Class Catalog. Each class belongs to a term, so make sure you have at least one term set up before adding classes.
To create a class
Class statuses
Draft— visible only to admins and teachers. Use this while you're still setting things up.
Published— visible in the family catalog. Families can see it but can't enroll until a registration window is open.
Closed — visible but no new enrollments. Use this after enrollment closes for the term.
Cancelled— hidden from families entirely, same as Draft, but for a class that was published and then called off rather than one you haven't finished setting up. Existing enrollments stay on the books so you keep a record of who had signed up.
Setting fees and seat capacity
Capacity sets how many students can enroll before the class fills and starts a waitlist. Set it to a number that reflects the physical space and your teacher's comfort level.
The class feefield is the per-student charge for the class itself. It's a single amount. There's no separate materials-fee field on the class. If you want to charge families for supplies separately from the class fee, use a manual materials fee charge from Admin → Billing instead.
Payment collection: Stripe vs. flexible
For classes with a fee, you can choose how that fee is collected. The default applies to all classes, and individual classes can override it.
Stripe payment at enrollment (default)
When a family clicks Enroll on a paid class, they're taken directly to Stripe Checkout. Their student's seat is confirmed only after the card payment succeeds. This is the safest option for co-ops that want to guarantee payment before a seat is held.
Flexible / bill the family's account
In flexible mode the student is enrolled immediately and a pending charge is added to the family's account. The co-op collects whenever and however works for them — cash at the door, check, bank transfer, or by directing the family to pay online from their Payments page. This is useful for co-ops that run a tab for the term and settle up at the end, or for families that don't have a card handy at enrollment time.
Setting the default for your co-op
Overriding for a specific class
Open the class detail page, scroll to Enrollment settings, and select a payment mode. Choosing the co-op default means the class inherits whatever you've set globally, which keeps things consistent without repeated configuration.
Co-ops without a connected Stripe payout account always use flexible mode — there's no Stripe account to charge on, so the system bills the family's ledger and you collect directly.
Staff fee exemptions
Two types of members can enroll their students at no charge, with no workaround required.
Owner and admin exemption
When enabled (the default), owners and admins pay nothing to enroll their students in any class. No Stripe redirect, no pending charge — the seat is allocated at $0 and the roster shows a "Fee waived" badge next to the student's name so you have an audit trail.
Turn this on or off under Admin → Settings → General → Class enrollment. The toggle applies to all classes; individual classes can override it for their teacher exemption independently.
Teacher exemption
Teachers are exempt only for classes they are assigned to teach — not for every class in the co-op. This keeps the exemption honest: a teacher gets a free seat in their own class because they're providing the service, not a blanket pass to enroll for free everywhere.
The teacher exemption is on by default for every class. Turn it off for a specific class (for example, an expensive field trip where you want everyone to pay) under the class's Enrollment settings.
Sibling discount
Co-ops that want to make it cheaper for families with several students to enroll can turn on a sibling discount for class fees. It's off by default, so no co-op's pricing changes unless an admin opts in.
When it's on, the first student a family enrolls in a paid class each term pays full price. Every other student in that family then gets the discount on their own class and materials fees, for any paid class they enroll in that term — not just the same class as their sibling. Which student counts as “first” is whoever the family happens to enroll first that term; there's nothing to configure beyond turning the discount on.
Registration windows
Families can only enroll during an open registration window. Windows belong to a term and can have an optional invite link that restricts who can enroll during that window.
You can have multiple windows open at the same time — for example, a member-only early window and a public window that opens a week later. Check Invite link only on the early window and share the secret link it generates with the families who should get early access; everyone else waits for the public window.
For a full walkthrough of opening registration, see the Opening Class Registration guide.
Waitlists and promoting students
When a class fills, additional enrollments land on a waitlist. Waitlisted students don't pay — they're queued by position and promoted one at a time when a seat opens.
Promoting a student from the waitlist
Tracking pending balances
Any class fee created by flexible-mode enrollment or waitlist promotion shows up as a pending charge in the family's ledger. You can see all families with outstanding balances from Admin → Billing.
Recording an offline payment
Families paying online
Families with a pending balance see a notice on their dashboard. From their Payments page they can click Pay balance to go through Stripe Checkout for the outstanding amount. Once paid, the charge is marked settled automatically.
Still have a question? Head back to the Help & Support page or reach out to your co-op admin directly from the dashboard.