Browse all sections
Tuition plans
/dashboard/plansTuition plans define the packages you bill against — the price, how often it bills (monthly, quarterly, every 6 months, or yearly), an optional practice hourly rate, and a registration fee. A plan's price is always the full amount for its period, like $450 per quarter. Each plan corresponds to one of your studio's dance levels (which you define on the Branding tab) and is kept in sync with a Stripe product and price so recurring billing 'just works'. You set your plans up here, and students land on them from the student record — by their dance level, or by picking an exact plan when a level has more than one; a family's tuition is the sum of its active students' plans.


Creating a plan
- 1Open Tuition plans and choose to create a new plan.
- 2Name the plan, choose the dance level it covers, and pick its billing interval — monthly, quarterly, every 6 months, or yearly. Then set the price (the full amount for the period, like $450 per quarter), the practice booking rate per hour, and the registration fee.
- 3Save. Ida OS creates the matching Stripe product and price automatically.
Note. A plan is tied to a level: assigning a student to that level puts them on the level's plan, and the student form's Tuition plan field can put a dancer on an exact plan when a level has more than one (their level then follows the plan). You do not assign plans to families directly — the family total is the sum of its students' plans.
Practice rate and registration fee
The practice booking rate is the per-hour price charged when a family books or suggests a Practice-type slot on the calendar — it is multiplied by the slot length, and because it lives on each level's plan, the amount can differ per student level. Private lesson and studio rental suggestion rates are set separately under Settings → Bookings.
The studio's registration fee is managed elsewhere: enable it and set the amount under Settings → Payments & Bookings, then collect it per family from the roster or let families pay it themselves through the registration form (see the Registration page of this guide). The registration fee field on a plan is only a legacy reference amount and is not billed.
Letting families claim class seats
A plan can let families put a dancer into a class themselves, straight from the calendar — no booking request or studio approval. When creating or editing a plan, turn on 'Allow families to claim class seats', tick which of your class levels the plan may claim — they don't have to match the plan's own billing level, so a flex plan can claim classes across several levels — and choose the drop-in billing: a weekly free allowance, or paid per class with a drop-in price beside each claimable level. Each selected level needs its own price, and they can differ — so that flex plan can charge one rate for Level 3 classes and another for Level 4. Families on the plan then see an 'Attend this class' option on eligible upcoming classes, on the web and in the iPhone app; paid claims send them to pay before the seat is confirmed.
Allowance claims take a seat for one session and count against that dancer's weekly budget; cancelling before the class starts returns it. Paid claims charge the drop-in price for the class level being booked, up front (no weekly budget): the seat is held while the family pays and confirmed when the payment settles, an abandoned payment releases the hold on its own, and once paid the family can no longer cancel it themselves — refunding the charge from Payments is what takes the dancer back off that session's roster. A dancer's regular classes are separate from all this — series roster seats never use up claims, and a dancer already on a class's roster has nothing to claim there. Claimed dancers appear on the class roster and attendance checklist with a Drop-in badge, capacity is always respected (a full class can't be claimed), and neither can a class that has already started or that a family can't see.
Note. The weekly allowance follows your studio's calendar week — the 'Week starts on' day in Settings. Paid drop-ins need your Stripe account connected — until then families see a notice instead of a pay button. Workshop and camp dates are never claimable; families register for those in Workshops.
Seasonal (per-month) pricing
Tuition does not have to be the same every month. Alongside the flat monthly price, a plan can carry seasonal exceptions — pick a month and set what it should cost instead. You only add the months that differ; every other month falls back to the flat amount, so a summer at a lower rate or a dark December is a couple of entries rather than a whole separate plan. A seasonal month can even be $0 — a full summer break — and autopay takes it in stride: those months simply collect nothing, and a family who starts autopay during a free month saves their card now and is first charged on the next month that bills. Seasonal pricing belongs to monthly plans: quarterly, 6-month, and yearly plans bill one flat amount per period, and switching a plan off monthly clears its seasonal months.
Seasonal pricing also works per family: a family can carry its own month-by-month schedule when they need something different from their plan. Ida OS keeps each family's live Stripe subscription in step with their seasonal schedule automatically — when an upcoming month is priced differently, the change is scheduled for that family's next billing date, with no mid-cycle charge or proration.
Note. A family's own tuition override is self-contained: setting a family's flat amount or seasonal months replaces the plan's pricing for them rather than layering on top of it. Manual-billing families are display-only and are never re-billed automatically.
Changing prices safely
Editing a plan's price creates a new Stripe price for future subscribers. Families already subscribed stay on the price they signed up at, so a price change never silently re-bills existing families.
The same care applies to the billing interval: changing how a plan bills never rewrites a live autopay subscription — existing families keep billing on the interval they signed up on, and Ida points out the mismatch when you next save that family's billing so you can decide how to move them over.
Heads up. Archiving or deleting a plan archives its Stripe product and price rather than destroying them. Existing subscriptions keep billing; only future enrolment is affected. You will be warned how many active students would be unlinked.
On the iPhone app
iPhone appTuition plans (under More) shows each plan as a card with its level and price shown with its billing period, any seasonal months (the current month highlighted), how many active students are on the plan, and its practice rate. Tap a plan to edit it — including its billing interval and its class-claim settings: the same 'Allow families to claim class seats' switch, claimable levels, and weekly allowance or paid billing as the web, with paid billing asking for a drop-in price beside each selected level — or New plan to add one; the same Stripe syncing applies, so a change made from your phone behaves exactly like one made on the web. Deleting a plan that still has students on it offers to archive it instead, retiring the plan without disturbing those families' tuition.