Skip to main content
Mobile Applications Β· Smart City

Smart Parking App with ANPR Entry

A cross-platform parking app that lets drivers find a space, reserve it, pay in the app and drive straight in β€” the barrier opens on number-plate recognition.

Smart Parking App with ANPR Entry cover

Project overview

We built a smart parking app for an operator running several car parks. Drivers use it to see live availability, reserve a bay ahead of time, pay without a ticket machine and enter through an automatic number-plate recognition (ANPR) camera that recognises their booking.

The engagement covered discovery, UX design, the Flutter mobile apps, a Node.js back end, payment integration and the operator console, followed by a phased roll-out site by site. It sits alongside our wider mobile app development work for mobility and on-demand businesses.

The client and the challenge

Before the project, each car park worked in isolation. Drivers could not tell whether a site had space until they arrived, payment meant queueing at a machine, and the operator reconciled ticket, card and permit income by hand across locations.

The client wanted one app for every site, pre-booking at busy times, ticketless entry and exit, and a single view of occupancy and revenue β€” without replacing the barrier hardware and cameras already installed.

Solution architecture & delivery

We chose Flutter so one codebase would ship to iOS and Android with the same booking flow, maps and payment screens. The Node.js API is split into availability, booking, payments and access-control services, so a spike in searches on a busy evening does not slow down the gate.

Availability combines bay sensors and ANPR entry/exit events into a live count per car park. When a driver reserves, the booking service holds the bay for a short window while payment completes, then confirms it and publishes the number plate to the site's access list. At the gate, the camera read is matched against active bookings and the barrier opens without a ticket; unmatched vehicles fall back to pay-on-exit.

Payments run through Stripe with tokenised cards, Apple Pay and Google Pay, so card data never touches our servers. Overstays are calculated from the exit event and charged automatically against the saved payment method, with a receipt pushed to the app.

The operator console shows occupancy, bookings and revenue per site, lets staff set tariffs and blackout periods, and handles refunds and disputed reads. Release automation and staged environments follow the practices in our CI/CD pipeline.

Key features we built

  • Map and list search with live space availability per car park
  • Advance reservations with a short payment hold on the bay
  • Ticketless entry and exit via ANPR plate matching
  • Stripe payments with Apple Pay, Google Pay and saved cards
  • Automatic overstay charging with in-app receipts
  • Multiple vehicles and number plates per account
  • Push notifications for booking reminders and expiry warnings
  • Operator console for tariffs, occupancy, refunds and disputed plate reads

How we delivered it

  1. Discovery. Site visits and workshops with operations staff to map entry, payment and exit flows, plus a review of the existing barrier and camera integration options.
  2. UX and prototype. Clickable prototypes of search, booking and payment tested with drivers before any code was written.
  3. Build. Two-week sprints delivering the API, mobile apps and console in parallel, with the ANPR integration proven on one pilot site first.
  4. Pilot and roll-out. Launch at a single car park, tuning plate-matching rules and fallbacks, then onboarding the remaining sites one at a time.
  5. Support. Ongoing maintenance, OS updates and tariff changes under a support agreement.

Technology choices

  • Flutter β€” one codebase for iOS and Android with smooth map and booking screens and shared business logic.
  • Node.js β€” lightweight services for availability, bookings and gate events, suited to many small real-time requests.
  • Stripe β€” PCI-compliant tokenised payments, wallets and off-session charges for overstays without storing card data.

Outcomes

  • Drivers can check availability, reserve and pay before arriving instead of queueing at a machine
  • Ticketless ANPR entry and exit using the operator's existing barrier hardware
  • One app and one console across every site in place of separate systems per car park
  • Automated overstay charging and receipts replaced manual reconciliation of tickets and permits
  • Live occupancy and revenue reporting per site for the operations team

FAQ

How does ANPR entry work with pre-booked parking?

When a booking is confirmed, the vehicle's number plate is added to that site's access list. The entry camera reads the plate, the system matches it to an active booking and the barrier opens; vehicles without a booking fall back to standard pay-on-exit.

Why was Flutter used for the parking app?

Flutter let us ship identical iOS and Android apps from one codebase, which kept the booking, map and payment experience consistent and reduced the cost of later changes. Our Flutter vs React Native comparison explains how we choose.

Can the app work with existing barrier and camera hardware?

Yes. We integrated with the operator's installed ANPR cameras and barrier controllers through their existing interfaces rather than replacing hardware.

How much does a smart parking app like this cost?

It depends on the number of sites, hardware integrations and payment features. Use our app development cost calculator for an indicative range, or contact us for a fixed-price quote.

Smart Parking App with ANPR Entry screens

Build your next logistics & mobility product with Next Olive

Share your requirements β€” we will propose scope, timeline and stack within one business day.