Turning car-park camera reads into hour-by-hour occupancy

Number-plate camera reads, app parking sessions and pay-machine takings from dozens of car parks, cleaned and joined into one record of every visit and every hour.

Since 2024

  • ~70cameras mapped to their sites
  • Every houroccupancy for every car park

The client

A company that manages car parks in the UK.

The challenge

The information was all there, but in three different places and formats: number-plate camera reads, parking sessions paid through a phone app, and takings from pay machines. Paired cameras recorded the same car twice, files contained junk rows, and cameras were moved between sites. Simple questions had no quick answer: how full is each car park through the day, how long do people stay, and does that match what's being paid?

What we built

An automatic service that collects, cleans and joins the data:

  • Daily collection of camera files, app sessions and pay-machine transactions
  • Duplicate and junk records removed before anything is saved
  • Each car's entry and exit reads paired into a single visit, with its length of stay
  • Occupancy for every car park, hour by hour, split by length of stay so long stays can be included or left out
  • One list of which camera belongs to which site; when a camera moves, the history is rebuilt for the right site
  • Cameras that appear without a site are reported, not lost
Technical details

A .NET 8 worker service with EF Core 9 on SQL Server. Imports compressed Excel and CSV drops (Syncfusion XlsIO) and calls the pay-machine supplier's SOAP service through a generated WCF client.

The visit builder is a pure, deterministic function per vehicle and car park, so visits and hourly occupancy can be rebuilt from scratch when late or back-filled reads arrive. The camera-to-site mapping is an idempotent script that triggers a full rebuild. Telemetry goes to Application Insights.

  • C#
  • .NET 8
  • Entity Framework Core
  • SQL Server
  • Azure Application Insights

Other case studies

Retail & e-commerce Since 2013

Running the back office of a UK online retailer

The system a multichannel retailer runs on, from buying and the warehouse to pricing, returns and the true profit on every sale.

6 more case studies on this client

Property & energy Since 2023

Prepayment energy for rented properties

Tenants top up their electricity online, the system sends the credit to their smart meter, and landlords see everything in one place.

Tell us what's slowing your business down.

We'll tell you honestly whether bespoke software is the answer.

Get in touch