What the DVSA actually does behind the scenes, why we built two strategies to get ahead of it, and how the job gets done, from finishing a booking to looking after a customer. No code required.
Someone who already has a test booked uses a short "change" flow. Someone with no booking uses a long "make from scratch" flow. They look nothing alike.
DVSA caps each licence at 50 checks an hour, so a licence searching only for itself stalls in 20 minutes. We pool many licences into one shared search instead: each check reveals slots for the whole roster, and they take turns so the watching never stops.
Three words come up constantly. Here is what each means and how they fit together: one customer is a user, who has one licence, which carries one alert.
The account, a person we deal with: a name and a phone number. Usually a customer, but staff (like you) are users too. Most customer accounts are created by staff during onboarding.
The learner's DVSA driving licence, one per user. It holds their credentials (licence number, theory cert, booking ref) and what DVSA tells us: is the licence valid, and do they have a test booked.
What we watch for, attached to the licence: which test centres, which days and times, and the date range. The alert is what each slot gets checked against.
When you create a licence, a bot is sent off automatically to confirm it with DVSA. Only once that comes back does the licence enter the system and scanning begin. A brand-new licence sits in "checking" for a minute or so first.
What the check finds decides the customer's flow: a valid licence with a booking goes to the change flow, a valid licence with no booking goes to the make flow, and an invalid licence is flagged for you to sort out with the customer. The two things DVSA tells us, "is the licence valid" and "is there a booking", are separate, so a brand-new licence showing no booking yet is perfectly normal.
This is what a real person clicks through on the DVSA website, start to finish. The bot does exactly these steps for us, but it helps to know them by hand. Notice how much shorter "change" is: that is the whole game.
Why the difference matters: "change" is short because DVSA already holds the customer's details and money, so we only move the slot. "Make" builds the whole thing, card and all. That is why grabbing a cancellation for an already-booked customer is fast, and booking from scratch is slower and costs a deposit.
It comes down to one question: do they already have a test booked? That is the whole decision.
No booking is not a dead end. We can book a no-booking customer a fresh test from just their licence number (plus the deposit). A theory certificate is not needed to book. We still like to collect one, because it is our durable key to keep scanning for them later. More on that in the cheat-sheet below.
When a slot is found, the bot does the racing and then leaves a calm 15-minute window to finish off. Blue steps happen automatically. Amber steps are done by hand.
What taking over actually feels like: a notification says a slot is held; open it and the DVSA page is live in the browser, already filled in and waiting on the final screen. Click through to confirm. No login, no searching, no panic: the slot is reserved for those 15 minutes. Do nothing and the hold simply expires, and the scanner carries on.
Getting a new customer into the system. The heavy lifting is the AI Onboard tool: paste a screenshot of the WhatsApp chat and it fills the form for you. After that, the system takes over and starts watching.
Where it goes next: once a customer is "watched", they feed straight into the life-of-a-slot pipeline above. Validation tells you which flow they land in: licence valid with a booking means the change flow (a scanner watches it), licence valid with no booking means the make flow (a camper books them fresh), and an invalid licence means a quick WhatsApp back to fix it.
Three pieces of customer info do all the work. Knowing what each one unlocks tells you instantly what we can do for someone, and what to ask them for.
Field 5 is the licence number. It even starts with the surname: MORGA… for Morgan (field 1). The theory cert and booking ref are separate numbers, not printed on the card.
Identifies the learner, and on its own it is enough to book a fresh test: the make flow needs nothing more. What it cannot do alone is log in to the change flow to scan.
Not needed to book, but the one we always want anyway. It logs us into the change flow to scan without a booking reference, and it keeps working through cancellations and rebookings. So we can keep hunting a better slot whatever the customer does on DVSA.
Also logs in to the change flow. But it is tied to one specific booking, so it dies the moment that booking is cancelled, changed away, or used.
| What the customer has | Enough to book a fresh test | Logs in to scan (change flow) | Still works after a cancellation |
|---|---|---|---|
| Licence number only | yes | no (needs a second factor) | — |
| Licence + theory cert | yes | yes | yes |
| Licence + booking ref | yes | yes | no |
The takeaway: booking a fresh test never needs more than the licence. We chase the theory certificate for a different reason: it is the only credential that keeps our scanner logged in for a customer no matter what happens to their booking. Always nudge for it, gently.
For now we run payment on delivery: we front the DVSA fee ourselves and collect from the customer once their test is booked. Fronting the fee is part of the concierge service, and it keeps sign-up friction low.
We pay the DVSA fee up front and take our money once the booking lands. We would rather absorb the odd fee, or the rare bad actor, than add friction and miss customers. Trust first, payment second.
The plan is a Stripe link that holds a customer's payment without taking it, then charges only on delivery, which protects us from scammers. But pre-auth asks for trust up front, and most people do not give that to a young brand, so we will build a bit more credibility first.
This is the heart of Desto, and the answer to "why do licences help each other?" The job splits in two: scanners do the looking, campers do the grabbing. Keeping those separate is what lets one customer's licence find a slot that a different customer's camper snaps up.
The scanner is a concierge checking a wall of room keys: every room they try tells every guest on the list whether it is free. A camper is a guest waiting by the desk, ready to snatch a room the instant the concierge calls one out. The concierge finds; the guests grab.
Scanners search the change flow for cancellations. DVSA allows about 50 checks an hour per licence, gone in roughly 20 minutes, so a single licence searching alone would stall fast. We pool many licences and stagger them: while one rests, the next looks. Line up three and something is always watching, and every find is shared with the whole roster.
This is why many licences help. More licences means broader reach and, because they take turns, the watching never stops. And every check reveals 4 centres at once, helping every customer watching them, not just the licence doing the looking. That sharing, of rate limits and of findings, is the whole reason the scanner exists.
Every DVSA search hands back the 4 nearest test centres and whether each has anything free. So a single check by one licence quietly updates the picture for everyone watching any of those four.
A scanner is logged in as one of our customers. If it spots a slot that fits that same customer's own wishlist, it books it on the spot in about 2 seconds, rather than handing off to a slower fresh attempt. Specialised, but it shaves precious seconds off the catch.
A camper does no searching at all. It sits idle, logged in and parked on the booking page for one no-booking customer, waiting. The instant a scanner finds a matching slot, the camper pounces and books it in about 2 seconds, because it is already warmed up and in position. A cold start from scratch takes about 11 seconds and usually loses the race. We run one camper per no-booking customer, as many at once as we have phone connections free.
Here is the trick that makes it all pay off: the licence that finds a slot is usually not the one that grabs it. A scanner on any licence in the pool spots a cancellation, and whichever idle camper is waiting for a customer who wants that centre grabs it. Every search by every licence works for everyone. That is licences helping each other, made real.
One shortcut: when the slot a scanner finds happens to suit that scanner's own customer, it grabs it itself on the spot instead of handing off, the "scanner grab" from above. Same idea, one step shorter.
Two recent DVSA tweaks that change what we can promise a customer. Handy on a sales call, and at the booking itself.
An already-booked learner can now only move to their original centre plus the 3 nearest to their current booking. The old "search any postcode" is gone.
Setting up their alert: only offer those 4 centres. Anywhere else, the bot would find a slot but DVSA would refuse the move. Their only route to a far-off centre is to cancel and rebook from scratch.
For scanning: each booked licence is pinned to its own 4 centres, so it covers less ground than before. One more reason the licence pool matters.
Since March 2026, DVSA lets a booking be changed just 2 times (it used to be 6). After that the booking locks: the only way to move again is to cancel and rebook from scratch, which resets the counter but forfeits the slot and the deposit.
So a customer's two changes are precious, and each move we make for them spends one. Worth knowing before promising to chase a better slot indefinitely.
It also killed an old trick: you used to book a throwaway slot on any licence and shuffle it around later, buying time and shopping a licence around. With only 2 changes and centres locked nearby, that is gone, we book for the actual customer straight away.
A small one, on cost: moving a test is free, but doing it within 2 weeks of the test date means paying the test fee again, £62 on weekdays and £75 evenings and weekends. Nothing new, but worth a heads-up before a customer takes a last-minute slot.