Day to day
Prepay packages
A package is a bucket of prepaid minutes a parent has bought in advance. As you teach, lessons draw down the bucket — no invoice per lesson, no chasing. When the bucket empties, the parent tops up.
When to use packages#
Packages are right when you want predictable cashflow and the parent prefers paying in chunks rather than weekly. They're also a clean way to handle:
- Intensive exam-prep blocks (“20 hours over Easter”).
- Gift purchases — grandparents buying lessons as a present.
- Parents who hate getting an email after every lesson.
Creating a package#
From Packages → New package, pick the parent and the specific student the hours are for, then enter:
- Total hours — the size of the bucket (10h, 20h, etc.).
- Hourly rate — used to compute the up-front price. We pre-fill the usual rate but you can offer a bulk discount.
- (Optional) Expiry — protects you against year-old packages drifting around.
A package starts in Draft. Send the parent the payment link and it switches to Active once Stripe confirms the payment. From then on, confirmed lessons for that student draw minutes from the bucket instead of generating a per-lesson invoice.
How drawdown works#
When a lesson is confirmed for a parent in package mode, TutorStudio subtracts the lesson's minutes from their active packages — no per-lesson invoice goes out. The order it draws in:
- The package created for that specific student (preferred).
- Then the oldest of the parent's other active packages, working forwards.
This means a long lesson can drain across two packages if the first one runs out mid-lesson — clean, no half-invoices.
Refunding a package#
Plans change. A student moves, a course ends early, a parent buys 20 hours and only uses 6. The refund flow lives entirely in TutorStudio — you never need to log into Stripe.
Tutor requests refund
In-app, no Stripe dashboard
We pick the channel
Stripe-native if paid online, manual otherwise
Balance corrected
Package minutes & invoice both update
On the package page, click Refund. You can refund:
- The remaining balance — most common, untaught hours only.
- A custom amount — goodwill discount, partial credit.
- The full package — wipes the slate.
What the parent sees#
When a package is in Draft, the parent sees it in their portal under “Lesson packages awaiting payment”, with a Pay button that takes them to Stripe Checkout. After paying, the package activates and starts covering their child's lessons.
Active package balances aren't exposed in the parent portal today — if a parent asks how many hours they have left, you can tell them from the package's page in your tutor view. To top up when a package empties, create a fresh package for the same student and send the parent the new payment link.