DVSA SI 2026/326 We monitor availability 24/7 and send you a direct link — you always book yourself on gov.uk. Fully compliant with the May 2026 DVSA rules. How we comply →

Simple, honest
pricing

Start free for 7 days. No card required. Upgrade only when you're convinced it works.

Free trial
£0/7 days
Try before you commit. No card needed.

  • Email alerts only
  • Up to 2 test centres
  • 24/7 availability checks
  • WhatsApp notifications
  • Priority checking
Basic
£1.99/mo
For learners who check their email regularly.

  • Email alerts
  • Up to 3 test centres
  • 24/7 availability checks
  • Preferred time of day
  • Cancel any time
  • WhatsApp notifications
  • Priority checking

All paid plans include a 7-day free trial. Full refund any time before your first alert is sent. Once your first alert reaches you, the service is fulfilled. Refund policy →

Why CancelCatch?

24/7 checks

We monitor DVSA availability 24/7 so you hear about slots before they're gone.

WhatsApp + email

WhatsApp messages land on your lock screen instantly. Email as a backup.

Smart matching

Set your date range and time preferences. We only alert when it's actually useful.

Cancel any time

No contracts, no hidden fees. One click to unsubscribe from your account page.

Common questions

Do I need to give card details for the free trial?
No. The free 7-day trial is completely card-free. You only enter payment details when you choose to upgrade to a paid plan.
How does WhatsApp notification work?
You'll receive a WhatsApp message from our business number when a slot matches your criteria. You need to send us a message first to opt in — we'll give you a simple link to do that during signup.
What happens when I find a slot?
Your alert includes a direct link to the DVSA booking page with the centre pre-selected. You still need a valid theory test pass and licence number to complete the booking.
Can I change my plan later?
Yes — upgrade or downgrade any time from your account settings. Changes take effect immediately and billing is prorated.
Checking 24/7 for cancellations

Catch your DVSA test cancellation
before anyone else

Choose your plan below, then fill in your preferences. We'll watch your centres and alert you the moment a slot appears.

👥
people signed up
slots found this week
Free
Trial
£0
7 days · email + save WA
Basic
£1.99/mo
Email · save WA number
Popular
Standard
£3.99/mo
Email + WhatsApp

Your details

🎁 7-day free trial — email alerts, up to 2 centres. No card needed.

WhatsApp alerts are available on Standard and above. Upgrade →

No centres added yet

No card required. Full refund before your first alert. Trial lasts 7 days.

You're all set!

How it works

01

Register

Tell us your preferred centres, dates, and time.

02

We watch

Our backend monitors DVSA availability 24/7, automatically.

03

Slot found

You get an instant WhatsApp or email the moment one appears.

04

You book

Click the link, log in to DVSA, and grab the slot.

Admin dashboard

Enter the admin password to view subscriber data.

Demo password: admin123

Backend integration guide

Wiring up Stripe subscriptions, the hourly DVSA checker, WhatsApp, and email.

Architecture

1

Database — Supabase Free tier

Table subscribers: id, name, email, whatsapp, centres[], date_from, date_to, time_pref, plan (trial/basic/standard/pro), stripe_customer_id, stripe_sub_id, trial_ends_at, active, alerts_sent, created_at.

2

Stripe subscriptions

Create products for Basic (£1.99), Standard (£3.99), Pro (£4.99). Use Stripe Checkout with trial_period_days: 7. Listen to customer.subscription.deleted webhook to mark users inactive. Store stripe_customer_id in your DB.

3

Cron job — Railway Free/$5

Schedule 0 * * * * (hourly). Pro subscribers also run at 30 * * * *. Fetch active subscribers, check DVSA, send notifications for matches.

4

Email — SendGrid 100/day free

Triggered when a slot matches a subscriber with email enabled (all plans).

5

WhatsApp — Twilio

Standard and Pro plans only. Requires WhatsApp Business opt-in from user. Use approved message template for outbound alerts.

Stripe plan setup (Node.js)

// Run once to create your Stripe products + prices
const stripe = require('stripe')(process.env.STRIPE_SECRET);

const plans = [
  { name: 'CancelCatch Basic',    amount: 99,  id: 'basic'    },
  { name: 'CancelCatch Standard', amount: 249, id: 'standard' },
  { name: 'CancelCatch Pro',      amount: 499, id: 'pro'      },
];

for (const p of plans) {
  const product = await stripe.products.create({ name: p.name, metadata: { plan_id: p.id } });
  const price   = await stripe.prices.create({
    product: product.id,
    unit_amount: p.amount,
    currency: 'gbp',
    recurring: { interval: 'month', trial_period_days: 7 }
  });
  console.log(`${p.id}: ${price.id}`); // save these price IDs to your .env
}

Signup API endpoint

// POST /api/subscribe — called when form is submitted
app.post('/api/subscribe', async (req, res) => {
  const { name, email, whatsapp, centres, plan, ...prefs } = req.body;

  if (plan === 'trial') {
    // No Stripe — just save to DB
    await supabase.from('subscribers').insert({
      name, email, whatsapp, centres, plan: 'trial',
      trial_ends_at: new Date(Date.now() + 7*86400000),
      active: true, ...prefs
    });
    return res.json({ ok: true });
  }

  // Paid plan — create Stripe Checkout session
  const priceIds = {
    basic: process.env.STRIPE_PRICE_BASIC,
    standard: process.env.STRIPE_PRICE_STANDARD,
    pro: process.env.STRIPE_PRICE_PRO,
  };
  const session = await stripe.checkout.sessions.create({
    mode: 'subscription',
    payment_method_types: ['card'],
    customer_email: email,
    line_items: [{ price: priceIds[plan], quantity: 1 }],
    subscription_data: { trial_period_days: 7 },
    success_url: `${BASE_URL}/?success=1`,
    cancel_url:  `${BASE_URL}/`,
    metadata: { name, whatsapp, centres: JSON.stringify(centres), plan, ...prefs }
  });
  res.json({ checkoutUrl: session.url });
});

Hourly cron (with plan-based routing)

// cron.js — 0 * * * * (hourly) and 30 * * * * (Pro top-up)
async function run(proOnly = false) {
  let query = supabase.from('subscribers').select('*').eq('active', true);
  if (proOnly) query = query.eq('plan', 'pro');
  const { data: subs } = await query;

  for (const sub of subs) {
    // expire trials
    if (sub.plan === 'trial' && new Date(sub.trial_ends_at) < new Date()) {
      await supabase.from('subscribers').update({ active: false }).eq('id', sub.id);
      continue;
    }
    for (const centre of sub.centres) {
      const slots = await checkDVSA(centre, sub.date_from, sub.date_to, sub.time_pref);
      if (slots.length) await notify(sub, centre, slots[0]);
    }
  }
}

// Schedule: runs continuously 24/7
cron.schedule('0 * * * *',  () => run(false));
cron.schedule('30 * * * *', () => run(true));

Recommended services

Supabase Free

Postgres DB + REST + auth. Free tier handles up to ~50k subscribers.

Stripe

Subscriptions, trials, and webhooks. No monthly fee.

Railway Free/$5

Host your Node.js cron job with native cron scheduling.

SendGrid Free

100 emails/day free. 50k/mo for $15.

Twilio WA

WhatsApp Business API. Requires template approval.

Vercel Free

Host the frontend. Auto-deploys from GitHub.

Environment variables

SUPABASE_URL=https://xxxx.supabase.co
SUPABASE_KEY=your_service_role_key
STRIPE_SECRET=sk_live_xxxx
STRIPE_WEBHOOK_SECRET=whsec_xxxx
STRIPE_PRICE_BASIC=price_xxxx
STRIPE_PRICE_STANDARD=price_xxxx
STRIPE_PRICE_PRO=price_xxxx
TWILIO_SID=ACxxxxxxxx
TWILIO_TOKEN=your_auth_token
TWILIO_WA_NUMBER=whatsapp:+14155238886
SENDGRID_KEY=SG.xxxxxxxxxxxx
ADMIN_PASSWORD=your_admin_password
BASE_URL=https://cancelcatch.co.uk

How we comply with DVSA SI 2026/326

Effective 12 May 2026 · Updated 28 May 2026

The new DVSA rules — what changed

From 12 May 2026, new DVSA regulations (SI 2026/326) mean that only the candidate themselves can book, change, cancel, or swap a driving test. It is now against the law for any third party to perform those actions on a learner's behalf.

Three specific changes came into force:

DateRule
31 March 2026Learners can change their booking a maximum of 2 times before losing their fee.
12 May 2026Only the candidate can book, change, cancel, or swap a driving test. Third-party booking is now illegal.
9 June 2026Test relocations are limited to one of the 3 nearest test centres to your current booking.

What CancelCatch does — and does not do

What we doWhat we never do
Monitor publicly visible DVSA cancellation availability 24/7 across every centre on your listBook a driving test on your behalf
Detect matching slots in real time — far faster than any manual refreshLog in to your DVSA account
Send you an instant WhatsApp + email with the slot details and a direct link to gov.ukChange, cancel, or swap your booking
Filter alerts to only slots matching your preferences (centre, date, time)Hold, reserve, or set aside any test slot
You open the link, sign in with your own DVSA credentials, and book the slot yourselfResell or transfer test slots — this is illegal and we will never facilitate it

The 4 steps — who does what

Step 1 · Us
We monitor 24/7
Our system watches publicly visible DVSA availability across every centre on your list, every minute of every day.
Step 2 · Us
We detect a match
The instant a slot matching your preferences appears, our system detects it — far faster than any manual refresh.
Step 3 · Us
We send you the link
We send you a WhatsApp + email with the slot details and a direct link to that slot's page on gov.uk. No searching needed.
Step 4 · You
You book it yourself
Open the link. Sign in to gov.uk with your own DVSA credentials. Confirm the slot. Book it. The test is in your name, made by you — fully within the new rules.

3 nearest test centres checker

From 9 June 2026, if you want to move your driving test you can only move it to one of your 3 nearest test centres. Use this tool to check which centres you can move to before choosing your preferences.

Where is your driving test currently booked? Start typing to search.

Data source: gov.uk — published 17 March 2026. The 3 nearest centres for your booking may change; from 9 June 2026 the official DVSA service will show your live options. Check on gov.uk →

Questions?

If you have any questions about how our service complies with the new DVSA rules, contact us at hello@cancelcatch.co.uk.

Privacy Policy

Last updated: 28 May 2026 · Registered with ICO

1. Who we are

CancelCatch ("we", "us", "our") operates the CancelCatch DVSA test slot notification service available at cancelcatch.co.uk. We are registered with the UK Information Commissioner's Office (ICO). For any privacy queries contact us at privacy@cancelcatch.co.uk.

2. What personal data we collect

DataWhy we collect itHow long we keep it
First and last nameTo personalise your alertsUntil you delete your account
Email addressTo send you slot availability alerts and account notificationsUntil you delete your account
WhatsApp numberTo send you WhatsApp alerts (only if you opt in)Until you delete your account or remove consent
Test centre preferencesTo match you with relevant available slotsUntil you delete your account
Date and time preferencesTo filter alerts to slots you actually wantUntil you delete your account
Subscription plan and billing infoTo manage your subscription (processed by Stripe — we never see your card details)7 years (legal requirement)

3. Lawful basis for processing

We process your personal data under the following lawful bases:

4. Who we share your data with

We only share your data with the third-party services required to operate CancelCatch:

We do not sell, rent, or trade your personal data with any third party.

5. Your rights

Under UK GDPR you have the following rights:

6. Data security

All personal data is stored encrypted at rest in our Supabase database. Access is restricted to authorised personnel only. In the event of a data breach we will notify affected users and the ICO within 72 hours as required by UK GDPR.

7. Cookies

We use only a single session cookie to keep you logged in to your account. We do not use tracking cookies or advertising cookies.

8. Changes to this policy

We may update this policy from time to time. We will notify you by email of any significant changes. Continued use of the service after notification constitutes acceptance of the updated policy.

9. Refund & Cancellation Policy

We want you to feel confident subscribing to CancelCatch. Here is our policy:

ScenarioOutcome
You cancel before your 7-day free trial endsYou are never charged. Full stop.
You are charged but have not yet received your first alertFull refund — no questions asked. Contact us any time before your first alert is sent.
You received your first alert (service fulfilled)No refund — the service was delivered. You can cancel to stop future billing.
A technical failure on our side prevented the service from workingFull refund for the affected billing period, issued within 5 working days.
You forgot to cancel and were charged for a new monthWe will refund the most recent charge if you contact us within 48 hours and have not received any alerts in that period.

To request a refund, email billing@cancelcatch.co.uk with your registered email address and reason. We aim to respond within 2 working days.

Cooling off period: Under the UK Consumer Rights Act 2015, you normally have 14 days to cancel a digital service. By starting your free trial and using the CancelCatch service, you agree that the service begins immediately and acknowledge that your right to a 14-day cooling off period is waived once your paid subscription commences and alerts have been delivered to you.

10. Contact

For privacy-related queries: privacy@cancelcatch.co.uk
For billing and refund queries: billing@cancelcatch.co.uk
For general enquiries: hello@cancelcatch.co.uk