Parking control system

A parking management system with plate number recognition software, payments, SMS integration, financial reports and comprehensive back end management panel for parking operators.

portfolio project

Team: 5 engineers
Sep, 2014 - Present



The idea was to build a software for parking business processes automation. With hundreds of parking attendants and thousands of cars using parking zones every day it is very hard to manage such traffic, track and manage payments and fines, calculate costs and income. The goal was to make life easier for everybody involved in the process. Help drivers (car owners) to pay easily with SMS and be informed when the paid time slot is about to be over, help attendants to check and validate car plate numbers, monitor car stats and information and accept cash payments, help parking operators (admins) to monitor all processes happened on the parking and be able to act adequately, finally help CFO to get immediate and correct financial information for better business control.


The database model was designed from scratch and improved during four sprints. Since this software is an enterprise level SaaS we had to make it multi-company. Every company is a client who has its internal and local specific settings. The company will have hundreds of users which are either operators or attendants.

Company operator configures parking zones and assigns attendants to one or more zones. A car is parked and validated in the certain zone so we always know all information sliced by either zone, car or attendant.

We designed a storage for tons of incoming validation requests, payments (SMS, cash) and transactions which are attached to tickets - the main parking document.

Each company could configure its own set of fine rates and rise fines according to them. Fine and transaction statuses allow us to organise the needed workflow.

Plate recognition

Without revealing all technical secrets and getting into weeds, we use openCV and Tesseract libraries... and lots of complex maths.

Locating a plate

Using a combination of filters, histogram and contour analysis we find a vertical position of a plate. License plate is not the only text we can find ;-)

Fine crop and noise removal

We fine crop plate numbers very accurately to remove all unneeded objects and make the final result cleaner. Using various filters we remove other noise around characters preparing it for recognition.

Rotation handling

We support the rotation up to 30 degrees in both directions. Skew is detected and plate is deskewed for a more accurate histogram analysis.

Tesseract teaching

To make it recognize accurately we had to gather a big database of different plates, built vocabulary of all possible characters and digits written in all fonts used in countries of our clients.

Mobile Application

Choosing a parking zone

A mobile application was developed for parking attendants to simplify and speed up plate validation and car control. After logging in an attendant chooses a zone he is currently in from the list of assigned ones and is redirected to the video camera screen.

Video stream, plate capturing and recognition

Video camera is used to capture a plate number. Our software locates and recognizes license number on the video frame which can be corrected then if needed. After validating the car attendant receives all car related information from the server such as balance, paid time left, notes, etc. and can either accept a cash payment or go to the next car.

Fines and payments

If paid time is over and car owner didn't pay attendant can rise a fine for this car which is printed on the mobile Bluetooth printer and immediately visible in the parking administrative panel.

Operator back-end

Using Bao, our own back-end development package based on Symfony 2, AngularJS, Bootstrap and jQuery frameworks, we have built a Google-style administrative back-end for parking operators as well as system administrator who can control all companies.

Fast and informative data grids show all information needed for operators to monitor everything happened in parking zones. Bulk operations such as deletions, status changes save a lot of time. Filters and sorts are all fast and work without page reload making all management to be a pleasure.

We are in progress with adding reports and charts...

Like the case? Got some ideas in this industry?

We are ready to implement them for you!
Fill out the form below and we will contact you: