A private tutor can sell a prepaid lesson pack with one hosted payment link, but the payment receipt is not the lesson balance. Activate the pack only after confirmed payment, then deduct each delivered or policy-chargeable lesson from a student-specific entitlement ledger.
This workflow is for independent tutors offering a fixed block such as six one-hour lessons. Its original asset is a six-state pack ledger covering payment, booking, attendance, cancellation, refund and renewal without requiring a full tutoring marketplace.
Define the Pack in Lessons or Minutes
Choose one unit and use it everywhere. Minutes work better when sessions can be 30, 45 or 60 minutes; lesson credits are simpler when every appointment has the same duration.
| Field | Example | Why it matters |
|---|---|---|
| Student | Maya R. | Payer and learner may differ |
| Pack | Six 60-minute maths lessons | Defines the entitlement |
| Price | €270 | Authoritative checkout amount |
| Validity | 12 weeks from activation | Prevents forgotten open balances |
| Cancellation | Credit retained with 24 hours' notice | Controls deductions |
| Pack ID | MATH-1042 | Connects payment, bookings and balance |
State whether materials, marking, travel and tax are included. Put expiry, rescheduling, late-cancellation and refund terms before checkout and adapt them to applicable consumer rules.
Use a Six-State Entitlement Ledger
Create one row for every pack event:
- Created: offer exists, but no lesson credit is available.
- Paid: provider confirms payment; activate the purchased minutes or credits.
- Booked: reserve a slot without deducting it twice.
- Delivered: record duration and reduce the available balance.
- Cancelled: retain or restore credit according to the disclosed rule.
- Adjusted: log a refund, goodwill credit, correction or expiry with a reason.
Store the balance after every event, not just the total bought. A spreadsheet works at small scale when edits are dated and one person owns reconciliation. A calendar alone cannot explain whether a cancelled lesson consumed credit.
Worked Example: Six Lessons for €270
A parent pays €270 for six 60-minute lessons. The provider confirms the payment, so the ledger opens with 360 minutes. Two completed lessons reduce it to 240. A third booking cancelled 30 hours ahead retains its 60 minutes under the example 24-hour rule. A fourth cancelled three hours ahead consumes 60 only if the terms shown before payment allow that outcome.
The remaining balance is calculated from ledger events: it is not inferred from chat messages, calendar colors or the parent's bank screenshot.
Share One Link Without Losing Student Identity
Use a fixed-price product page for the pack and collect enough information to match the payer to the student. If siblings or several subjects use different balances, assign separate pack IDs. Do not place private academic notes in a public checkout description.
Send the hosted link by email or messenger, or show its QR code in person. Test it on a phone that is not logged into the seller account. Verify price, currency, pack description, customer receipt and seller-side confirmed order before credit activation.
Current specialist tutoring tools also model packages as prepaid time that activates after payment and draws down as lessons are confirmed. The gap for a solo tutor is keeping that state model even when using a simpler hosted checkout.
Handle Refunds and Renewals Without Rewriting History
Do not delete used lessons when refunding an unused balance. Add an adjustment row that states unused minutes, calculation, provider transaction and remaining balance. Fees, refund eligibility and consumer rights vary by provider and jurisdiction, so show the calculation and get appropriate local advice.
For renewal, create a new pack ID or a clearly separate top-up event. Never silently extend an expired pack merely to make the current total look correct.
Create a tutoring package and share its hosted checkout through payment links. Start with one six-lesson offer, run a test payment and rehearse every ledger state before sending it to families.
