Track Unused Lesson Credits Without Confusing Them With Booked Lessons

Separate remaining, scheduled and available driving lesson credits with a worked six-lesson reconciliation and exception checks for office staff.

Unused driving lesson credits include every purchased lesson unit that has not been completed. Some of those units may already be attached to future bookings, so they are unused but not available to book again. Keep two balances: remaining unused and available to schedule. If staff use one number for both, they can promise the same lesson twice.

The clean operating model is:

remaining unused = purchased or issued units + approved adjustments − completed units − removed units

available to schedule = remaining unused − units reserved by active future bookings

This is a management reconciliation, not an accounting rule. Your accountant decides financial classification, and your written school terms decide when a credit may be removed, restored, extended, transferred, or refunded.

A booked lesson is still unused, but it is no longer free to book

Suppose a student bought six one-hour lessons. Two have been completed and two are booked for future dates. The school still owes four lessons, but only two can be scheduled:

Bucket Units What it answers
Purchased or issued 6 How many units entered the entitlement?
Completed 2 How many units were delivered?
Scheduled 2 How many unused units are reserved by active future bookings?
Available to schedule 2 How many more units can receive a booking now?

The check is 6 purchased = 2 completed + 2 scheduled + 2 available. “Four unused” is correct because the scheduled lessons have not happened. “Two available” is also correct because the other two unused units already have appointments.

This distinction should appear anywhere staff answer a balance question. A student-facing label can say “4 lessons remaining: 2 scheduled, 2 available to book.” That is harder to misunderstand than “4 credits left.”

Move units between buckets when the event changes

Each event should change the smallest number of fields necessary. Using the same six-lesson example:

Event Completed Scheduled Available Unused
Starting position 2 2 2 4
One future booking is cancelled and the school’s policy restores its unit 2 1 3 4
One scheduled lesson is completed 3 1 2 3

Cancellation releases a reservation, so available increases while unused stays the same. Completion consumes a unit that was already reserved, so completed increases and unused decreases while available does not change. Those two transitions look similar on a calendar but have different effects on the balance.

If a late cancellation consumes the credit under the school’s disclosed policy, do not pretend a lesson was completed. Record the booking outcome and a separate removal or adjustment reason. The operational balance can then explain what happened without corrupting delivered-lesson reporting.

Define the unit before counting it

A unit needs a service identity, duration, quantity, student, source order or approved adjustment, and any restrictions that affect where it can be used. Six “credits” are ambiguous if three represent 60-minute lessons and three represent 90-minute lessons.

The same definition should appear on the package page, checkout, receipt, student balance, and booking screen. The RouteOS guide to building driving-lesson packages customers can compare shows the package fields that should survive from sale through scheduling.

Keep the payment record connected, but do not turn payment status into the lesson count. Stripe’s PaymentIntent documentation says the object tracks a payment through its lifecycle and contains the amount and currency; it also recommends attaching an order identifier for reconciliation. See Stripe’s Payment Intents documentation. The order item or entitlement still needs to say what was purchased.

A refund is another separate event. Stripe allows a full or partial refund after a payment succeeds, and multiple refunds cannot total more than the original charge. See Stripe’s refund documentation. A dollar amount alone does not identify which lesson units should be removed. Staff need an approved link between the refund, the affected order item, the unit change, and the reason.

Keep an event trail instead of editing the answer in place

A balance should be reproducible from records, not maintained as a lone editable number. For every change, retain:

  • the student and exact entitlement;
  • the event type: purchase, booking, cancellation, completion, refund-linked removal, expiry, transfer, or correction;
  • the quantity before and after;
  • the related order, payment, refund, appointment, or adjustment record;
  • the person or system that made the change and the time;
  • the reason and approval when policy requires one.

Do not delete a mistaken balance and type the expected answer. Add a correcting event that points to the mistake. The next staff member can then tell whether a unit was delivered, merely reserved, restored after cancellation, or deliberately removed.

Review exceptions, not every normal student

A daily or weekly report should surface accounts where the buckets do not reconcile. Review any student for whom:

  • available units are negative;
  • scheduled units exceed remaining unused units;
  • a future booking has no matching entitlement when one is required;
  • a cancelled booking still reserves a unit that policy says should be restored;
  • a completed booking did not consume the expected unit;
  • a refund or manual adjustment changed money but not the linked lesson quantity, or changed the quantity without a supporting record;
  • the service, duration, student, branch, or restriction on the booking does not match the entitlement.

For cancellation recovery, the balance shown when an offer is sent is not enough. The credit and opening may change before acceptance. The separate RouteOS guide on filling a cancellation without overselling lesson credits explains the final locked recheck.

The balance should answer three questions in one screen

Staff should be able to answer: What did this student acquire? What has the school delivered? What can the student book now? The audit trail should explain every difference among those answers.

RouteOS sells software for driving schools, so it has a commercial interest in this operating model. Use the reconciliation with any system you evaluate. Enter a demonstration package, book and cancel one lesson, complete another, and make one approved adjustment. If the purchased, completed, scheduled, available, and removed figures do not remain explainable after every step, the system is showing a balance without preserving its meaning.

Research and product evidence reviewed September 13, 2026. The figures above are an invented operating example, not customer data or accounting guidance.

Put the idea to work in your school.

See how RouteOS connects lesson scheduling with the rules, resources and routes behind your day.

See RouteOS in action