A driving school app has to know where the last pupil was dropped off.
A driving school app is a diary, a syllabus and a cancellation policy in one place, and the diary is the part that breaks first. Lessons start where the pupil is, not where the instructor is, so two bookings that look back to back in a calendar can be fifteen minutes apart on the road. That one fact separates this from ordinary class schedule apps, where everyone turns up at the same building.
This page goes through the four things the app is actually judged on: a diary that allows for the drive between pupils, a lesson record a pupil can read, a cancellation rule the software applies, and taking money for a lesson without breaking an App Store rule.
See how travel time eats the dayThe short version
The scheduling is the hard part, and the money follows the scheduling.
Almost everything a driving school worries about traces back to one hour of one instructor's day. A lesson that moves, a pupil who cancels at nine the night before, a twenty five minute drive to a house with nobody in it. Those look like billing problems and they are diary problems, and they show up in the bank account a month later.
So the useful order to build in is: get the diary right, attach the lesson record to it, then make the cancellation rule something the app applies rather than something the instructor has to argue about at the kerb.
A driving instructor's diary is a route, not a calendar
A calendar app books 10:00 to 11:30, then 11:30 to 13:00, and is pleased with itself. An instructor cannot do that, because the second pupil lives three miles from where the first one was dropped off. Every booking in a driving instructor app carries two addresses rather than one, and the gap between them is real time that nobody pays for.
That makes the booking record wider than a calendar event. Pickup address, drop off address, lesson length, which vehicle, which instructor, and whether this pupil is being collected from home, from school or from work, because it is often a different address on a Tuesday. Recurring lessons should be a rule rather than copied rows, since a pupil who takes 15:00 on Wednesdays will move that slot four or five times before the test, and each move is a different pickup.
Reminders belong in this section rather than in a marketing one, for a plain financial reason. A pupil who forgets costs the instructor the hour and the fuel, and most forgetting is fixed by a message the night before rather than by a stricter policy. It is the same machinery as any appointment reminder app, it is well understood, and it is worth building first rather than treating it as a nice to have.
Try it
How many lessons the day really holds
A diary that books lessons end to end ignores the drive between pupils. Put your own numbers in.
4 lessons, not 5
360 minutes taught, 45 minutes driving between pupils, and nobody pays for the second number. A diary that books back to back is promising an hour that is not there.
What the lesson record has to hold
The other half of the app is the record of what was actually taught. DVSA publishes a driver's record for exactly this job. It tracks the level a pupil has reached against 27 driving skills, split across 8 groups, using five named levels: introduced, helped, prompted, independent and reflection. It is a good model to copy even outside Great Britain, because it describes progress the way an instructor already thinks about it.
Two design points fall straight out of that. A level is not a percentage and it is not a tick, and a pupil can drop back a level on a wet Friday, so a record that only moves upwards will quietly lie. And you want a row per skill per lesson rather than one current level per skill, because the question that matters in month four is not where the pupil is, it is how long they have been stuck there.
That record is also the whole case for a learner driver app on the pupil's own phone. Once the pupil can see the same groups the instructor is marking, the argument about whether they are ready for the test stops being an opinion against an opinion. Private practice hours logged with a parent or a friend fit in the same place, though the required amount differs by country and by state, so store it as a rule per jurisdiction rather than as a constant in the code.
A school with more than one instructor has a second reason to keep this tidy. Pupils get moved when somebody is ill or leaves, and the record has to move with them rather than living in a notebook in a footwell. If your instructors are employed rather than self employed, the hours behind the wheel are also payroll, which is a separate job with the same shape as an employee time clock app.
Cancellations, prepaid blocks and how the payment is allowed to work
Most schools sell lessons in blocks, which means the app holds a balance rather than a payment history. That balance has to survive the things people actually do: pause for four months, switch instructor, pass the test with three hours left, or ask for the money back after two. Decide what happens in each case before you build, because a credit with no expiry rule and no owner turns into an argument later.
The cancellation window is the other rule worth putting in software. If the policy is 48 hours, store the moment the notice arrived against the booking and let the app decide which side of the line it falls on. That is not about being strict. It is about the instructor not being the person who adjudicates it, pupil by pupil, in a message thread at ten at night.
Then there is where the money moves, and here the platform has an opinion. A driving lesson is a real world service consumed in a car, not inside the app, and Apple's App Review Guidelines cover that in 3.1.3(e), Goods and Services Outside of the App: if your app enables people to purchase physical goods or services that will be consumed outside of the app, you must use purchase methods other than in-app purchase to collect those payments, such as Apple Pay or traditional credit card entry. The neighbouring 3.1.3(d) points the same way for real time person to person services between two individuals. So lesson fees must not go through in-app purchase, and Apple takes no commission on them. The reverse holds for anything consumed inside the app, a theory test practice subscription for instance, which falls under 3.1.1 and does need in-app purchase.
Which card provider you use, how the blocks are priced and whether any of it becomes a subscription is a wider question than this page. The wider question of charging for lessons has its own trade offs, and none of them are settled by the software.
Apple App Review Guidelines, 3.1.3(e) Goods and Services Outside of the App
What you can realistically build this with
Driving school software exists, and for plenty of schools buying it is the right answer. People go looking anyway because of a rule the product does not have: a block of lessons shared between two siblings, a pupil who can only be collected from work on alternate weeks, a test day that has to block three hours including the drive to the test centre and back.
If you are weighing up the AI app builders, check what each one actually produces before you commit, because the output differs and the front page does not always say. Firebase Studio is the example worth knowing about. Its App Prototyping agent builds web apps with Next.js, not a React Native or Expo project, so what comes out is a site rather than something a pupil installs. It is also on the way out: Google's own documentation says new workspace creation and user signup were disabled on 22 June 2026, and that Firebase Studio sunsets on 22 March 2027, with existing projects to be migrated before that date.
The distinction that matters most in this category is whether the result ends up on a home screen. An instructor works from a phone propped on the dashboard in the two minutes between lessons, often one handed and sometimes with no signal worth the name. A page that has to be loaded each time is a worse tool for that than an icon, whatever is running behind it.
The smallest useful version is smaller than people expect. One instructor, a booking with two addresses, a list of skills with a level against each, and a balance per pupil. That is a fortnight of evenings, and it removes most of the paperwork before anything clever gets added.
What each option gives a driving school
| Option | Allows the drive between pupils | Progress record the pupil can see | Applies your cancellation rule | Changes when your rules change |
|---|---|---|---|---|
| Paper diary and messages | in the instructor's head | No | case by case | Yes |
| A shared spreadsheet | No | if someone updates it | No | Yes |
| A generic online booking tool | No | No | fixed options only | No |
| Driving school software | Yes | Yes | Yes | the vendor decides |
| An app you build yourself | Yes | Yes | Yes | Yes |
Building it around the school you actually run
Newly is an AI app builder. You describe the app in plain English, including the diary rules your school really runs on, and it writes a real React Native and Expo project you own, runs it on a cloud iPhone or Android simulator while it builds, and ships it out. Plans start at $25 a month and there is no free plan. iOS goes through TestFlight and App Store Connect using your own Apple Developer account. Android goes to Google Play internal testing from the Deploy tab, and it will also build a standalone APK with the JavaScript bundled.
One thing to plan for: Newly does not include built in payments. Given the App Store rule above you were going to wire up a card provider yourself in any case, so it is less of a detour here than in other categories, but it is work rather than a switch. The same goes for where the bookings are stored. That is a choice you make, not something that arrives with the project.
Start with the diary. If the first version does nothing but book a lesson with two addresses, leave room for the drive between pupils and send a reminder the night before, it has already paid for itself in hours that would otherwise have gone missing.
Questions people ask about driving school apps
Three things, in this order. Hold a diary where every booking has a pickup address, a drop off address and room for the drive between pupils. Keep a record of what was taught, skill by skill, that the pupil can also see. Track a balance of prepaid lessons and apply the cancellation rule on its own. Everything else is an addition to those three.
Describe the week your instructors actually work
Write the diary rules down first: where each pupil is collected, how long the drive between them takes, and what counts as enough notice. Build around those rather than around a generic calendar.
Start building