Start enrollment from the package

A visitor who clicks “enroll” from a package page has already given the system useful context. The package tells the software how many lessons are included, whether a permit is required, whether a waiver is required, whether guardian information is needed, and whether the student can book immediately.

That is far better than a blank contact form. A generic message gives staff another task. A structured enrollment flow creates a student record, attaches the package, records payment state, and guides the family through the correct next step.

Package-specific intake Configurable required fields Program-specific instructions

Minor students need a different path

Teen driver education often involves a parent or guardian. The enrollment flow should ask for guardian name, relationship, phone, and email when the student is a minor or when a package requires guardian consent. It should also make clear what the guardian is agreeing to.

This does not mean the product should claim universal state compliance. The safer approach is to let the school configure forms, lesson records, waivers, and document workflows for its own requirements, then have the school review its legal language with an attorney.

Guardian information Consent checkbox linked to terms Configurable waiver language

Documents should land in the dashboard

Permits, licenses, parent IDs, medical forms, and custom documents should not disappear into email threads. They should attach to the student and enrollment record with review states such as pending review, approved, or rejected.

Staff should be able to open the dashboard, see what is missing, review a file, leave notes, and decide whether the student can schedule. That gives the school a cleaner workflow and gives the family a clearer explanation of what still needs attention.

Permit upload Document review states Staff notes and student record history

Payment state should be understandable

Driving schools may collect full payment, a deposit, a remaining balance, or allow pay-later options. The enrollment record should show whether the student is unpaid, deposit paid, partially paid, paid, refunded, or failed. That state should be visible to staff without mixing it with the platform subscription billing.

When Stripe Connect is enabled for the school, online payments can connect to the student payment record. When it is not enabled, the public flow should explain that online payments are not available and use the school’s configured offline payment instructions.

The confirmation screen and email should also be specific. A family should know whether enrollment is complete, whether the permit is waiting for review, whether a waiver still needs attention, and whether lesson booking is available now or after staff approval.

Deposit or full payment Pay-later option when enabled Receipts tied to the enrollment

Launch path

See how this works in the product

Choose a driving-school template, add packages and booking rules, preview the public site, and publish only when the school content is ready.