Automated Parking Management with OCR-Enabled Vehicle Tracking and Automated Payment Processing

About the project

PparKing, a Swiss parking lot operator, deploys automated systems to detect vehicle occupancy and calculate parking duration i.e. the timeframe between premises entry and exit. The platform enables parking lot operators to manage and bill parking sessions with minimal manual intervention. Customers can then access the service through 2 payment channels:

- Advance booking via the company's website using Twint, Switzerland's mobile payment solution

- Pay-as-you-go parking without prior reservation. CCTV cameras monitor vehicle entry and exit points, tracking registration plates and dwell times whilst the system automatically generates invoices based on usage duration.

At the point of engagement, PparKing operated an existing Laravel application that processed CCTV imagery via File Transfer Protocol (FTP) drive, performing image analysis to identify matching licence plate pairs, correlating entries and exits for individual vehicles before calculating parking duration and generating invoices accordingly.

B2B Client:
PparKing SA
Development & Deployment:
2 years
Technologies:
Laravel Laravel
Filament Filament
Client's Pain-Point

PparKing required a Laravel expert capable of maintaining and extending their existing application under a monthly retainer-based contract, to ensure continuous development, bug fixes, and new feature development.

The legacy system suffered from significant performance bottlenecks. Its architecture relied on direct file system operations for image processing which was an inherently inefficient approach that created substantial processing delays.

As the retainer contract progressed, we identified critical limitations within Laravel Nova - the admin panel framework initially employed. These constraints prompted a migration to FilamentPHP, our preferred Admin Panel Builder. Consequently, we rebuilt the application using the existing database infrastructure, which delivered 3 key improvements: 

  • Enhanced operational flexibility

  • Measurably faster processing speeds

  • The capability to develop more tailored views, screens, and interfaces to ease operations

This architectural shift from Laravel Nova to FilamentPHP ultimately enabled direct client portal access and expanded self-service functionality for end users.

Important!

Our Codebase Assessment Process

When engaging with existing codebases, we adhere to a rigorous evaluation protocol. Initially, we require full access to the project source code and are prepared to execute non-disclosure agreements to ensure confidentiality.

However, if preliminary access is unavailable, we stipulate contractual provisions permitting immediate project termination, as certain codebases prove unmaintainable due to substandard code quality or inherent security vulnerabilities that pose operational risks

Our assessment evaluates whether the codebase architecture supports continued development and whether successful knowledge transfer is achievable.

This involves reconstructing the original developer's design rationale, determining code intelligibility, assessing architectural coherence, and verifying that the existing structure can accommodate the required feature extensions and modifications.

Our engagement model prioritizes client autonomy.  We deliberately avoid creating vendor lock-in through proprietary dependencies or opaque implementations. The two-year retainer arrangement delivered continuous feature development whilst maintaining transparent, extensible code that PparKing could independently maintain or transition to alternative providers.

HOW DOES THE SOLUTION WORK?

CCTV cameras mounted at parking lot entry points capture images when vehicles drive in. When a camera takes a picture, the system registers it as an entrance event. Each entrance event then generates a timestamped picture with an automated licence plate recognition, creating a data point comprising time, registration number, and the direction i.e. a vehicle entered at this time with this plate number. 

That is entry point picture scenario #1.

Exit points employ the same procedure. When a vehicle departs, the system captures the corresponding timestamp and licence plate, thereby establishing a matched pair. The application subsequently reads the file system, identifies matching image pairs, and attaches them to billing records. The system then calculates parking duration through timestamp differential. For instance, 40 minutes of parking - before generating invoices based on the applicable tariff structure and billing parameters.  

And, that is it for exit point picture scenario #2.

Entry_Exit Points


Multiple automations occur in the process.

For example, in Switzerland, vehicle ownership data is accessible via town hall APIs. We developed an integration that automatically queries these municipal databases for registered owner details when retrospective billing is required.

With this platform, there is no need for parking barrier gates because the system captures a picture the moment vehicles enter the lot. Instead, prominent signage at entry points establishes the contractual terms of service. Camera surveillance begins at the threshold as vehicles drive into the facility:

  • They are photographed,

  • registration data is captured and,

  • Billing authority is consequently established.


Bookings Data Retreival Dashboard
HOW WAS THE CUSTOM SOLUTION BUILT ?

PparKing deployed industry-standard CCTV cameras equipped with integrated optical character recognition (OCR) capabilities, which operate as a closed hardware ecosystem.

Hence, our main touch point for improvements was the image storage layer where processed data is deposited. The legacy system's fundamental flaw was its reliance on direct file system operations for image pair matching - an inherently slow process that required significant optimization. 

Consequently, we redesigned the workflow.

Rather than manipulating individual image files, the system retrieved directory file lists and parsed filenames to extract licence plate data, timestamps, and metadata so that we have a date and time connection. Working with database records improved deliverability in substantial performance gains, and enhanced operational flexibility. 

Once file metadata is catalogued in the local database, the system eliminates further dependency on FTP storage access. Whenever there is a new file on disk, the  file system notifications trigger automated checks: 

  1. Does a matching image for the file exist?

  2. Does a matching licence plate exist? 

  3. Does it correspond to an active parking session? 

This is how we optimized the performance and reliability of our matching algorithm whilst reducing the human operation factor, manual control images, and the timeframe significantly. By doing so, we slashed the time needed by human operators by at least 30 percent.

We built a custom validation interface that consolidates all session data into a unified view. It presents images, records, and all other information per parking session. Consider this scenario: a customer books 1 hour but parks for 90 minutes.

The validation screen then presents entry/exit imagery, booking details, and parking lot metadata, including facility-specific grace periods (typically 5 - 10 minutes post-payment), depending on the size of the parking lot.  With all these details listed out, operators can approve overstay charges, adjust billing, or apply discretionary discounts. 

In addition, this interface streamlines case review through data aggregation and colour-coded visual cues: when a parking session is fully paid, it indicates green; when there is overtime, it indicates red. This dramatically reduces the time spent checking all this data manually.

If there is a misreading on the license plate from the OCR, the system surfaces similar registration images, enabling operators to connect fragmented data points and assign correct imagery to cases. This customized Filament interface substantially accelerated the validation workflow for parking sessions.

THE CHALLENGE

The primary challenge lay in the legacy system's poor performance and error susceptibility. The CCTV processing pipeline suffered from significant latency and reliability issues, which necessitated a complete architectural redesign.

Compensation for missed licence plate detections and OCR misreadings proved particularly demanding in extracting meaningful data from corrupted or incomplete inputs, requiring continuous algorithmic refinement. Human oversight remains essential for addressing edge cases that cannot be resolved programmatically.


CCTV Processing Pipeline

 

Secondary challenges centred on interface usability. We prioritized user-centric design: streamlining workflows, reducing cognitive load, and eliminating superfluous interface elements. Extensive user testing ensured the platform remained accessible to first-time operators.

The most project-specific technical challenge was managing highly variable data quality; smudged plates, oblique camera angles, and adverse lighting conditions degrade OCR accuracy.

The system must process incomplete datasets, reconcile duplicate entries, and maintain data integrity despite inconsistent inputs - a persistent engineering constraint in computer vision applications.

WHY WE DO CODEBASE ASSESSMENT ?

Laramate GmbH insists on comprehensive codebase assessments before any engagement as a non-negotiable business imperative and part of its professional responsibility.

Our codebase audit is paid, non-refundable, and required. A thorough code audit takes hours for small projects and days for enterprise systems. We examine security vulnerabilities, evaluate architectural integrity, identify technical debt, assess scalability constraints, and audit third-party dependencies. This work demands senior-level expertise and delivers immediate business value.

The assessment has standalone value, regardless of whether you proceed with us.

You receive a comprehensive diagnostic report detailing critical issues, security risks, outdated packages requiring updates, architectural weaknesses limiting growth, and a prioritized remediation roadmap.

This intelligence is yours to keep and serves as your technical due diligence whether you engage us, approach another development firm, or brief your internal team.

For comparison: Would you purchase commercial real estate without a building inspection? Would you acquire a company without due diligence? Yet businesses routinely commit tens or hundreds of thousands to software development without understanding their foundations. As a business, you cannot afford to build on broken foundations.

The internet turned 30 years old, and your legacy software is showing its age. That said, if your platform experiences unexplained bugs, struggles to integrate modern features, runs on frameworks several versions behind, or makes developers hesitate when asked about maintenance, you are operating on borrowed time. These are not technical inconveniences but existential business risks with mounting technical debt.

In all, without an assessment, we cannot provide accurate project scoping, realistic cost estimates, or credible timelines. Any agency offering immediate quotes without examining your codebase is guessing or setting your business up for scope creep and budget overruns.

KEY FEATURES

CCTV Image Processing

  • We re-engineered the image processing pipeline to address performance bottlenecks in the legacy system. The refactored architecture replaced file system operations with database-driven queries, substantially improving throughput and reducing latency. 


Colour-Coded Interface

  • We build a customized  validation interface that consolidate parking session data into a unified operator view. Colour-coded visual indicators (green for compliant payments, red for overstays) enable rapid case assessment. The dashboard aggregates entry/exit imagery, booking records, and facility-specific metadata for streamlined case resolution. 

Municipal API Integration

  • We implemented automated API integration with Swiss town hall databases to enable real-time retrieval of registered keeper information. When retrospective billing is required, the system programmatically queries municipal records and retrieves ownership details without manual intervention. 

DDEV (Local Development Environment)

DDEV's Docker containerization replicated the production multi-subdomain structure locally - clientA.ddev.site, clientB.ddev.site, clientC.ddev.site provided local-production parity essential for debugging tenant-switching edge cases and validating isolation before deployment.

Admin Panel Migration: Laravel Nova to FilamentPHP

We rebuilt the application, user interface, and migrated the administrative interface from Laravel Nova to Laravel Filament, a more extensible framework that offers superior customisation capabilities, improved performance, and enhanced user interface flexibility for complex data management workflows. 

Advanced Database Filtering and Query Optimization

The enhanced query functionality enabled operators to filter parking sessions across multiple parameters simultaneously, hence, improving data retrieval efficiency for power users managing large transaction volumes. 

Self-Service Booking Portal

  • We offered a self-service customer-facing web form to enable advance parking reservations. Users input their registration number to reserve hourly parking slots, reducing administrative overhead and enabling unattended facility access. 

Kiosk Interface

  • We built a kiosk solution, a simplified tablet interface deployed in adjacent restaurants to provide complimentary 1 hour parking for dining patrons. The streamlined UX required only licence plate entry, making the system accessible to non-technical users. 


Customer Complaints Management System

  • We built an integrated ticketing system that presents email exchanges as conversational chat threads (similar to WhatsApp's interface paradigm). Each invoice includes a system-generated authentication passcode. Customers access their case history via a secure portal using their registration number and passcode, where they can review photographic evidence, zoom imagery, and billing discrepancies. Asynchronous messaging allows round-the-clock customer submissions, with operator responses dispatched during business hours. Passcodes employed cryptographic random generation for security.

We built a kiosk solution, a simplified tablet interface deployed in adjacent restaurants to provide complimentary 1 hour parking for dining patrons. The streamlined UX required only licence plate entry, making the system accessible to non-technical users. 

Self-Check-In Feature to be used as a Kiosk

Tech stack synergy comprised of:

  1. PHP and Laravel Framework

  2. Laravel Nova to Filament PHP Migration

  3. Image Processing Infrastructure: CCTV hardware deployed industry-standard cameras with integrated optical character recognition (OCR) capability. Processed images are deposited to FTP (File Transfer Protocol) storage, where the Laravel application accesses them for matching algorithms and billing operations. 

Why Choose Us as Laravel Experts

When clients reach out to us, they often do so specifically because we have the answers to their pain-points.

We have mastered the Laravel framework intimately, and we know how to use it.

We understand how to structure Laravel applications for complex projects, bi-directional system integration, maintainability, performance optimization, proper security implementation measures, website accessibility, and how to integrate Laravel with other and older systems.

For our future clients considering custom software development, Laravel represents an excellent choice, and partnering with us, Laravel experts, ensures that choice pays dividends.

Are you interested?

With us, you have a reliable partner at your side who offers secure, high-quality and plannable software solutions.

Schedule a Meeting Free Consultation
Cookie Settings

Some cookies are essential for the functioning of this site and cannot be deactivated. We also use cookies to analyse the performance and use of our website and to promote our marketing activities. You can find more information in our Privacy Policy. You can change your settings by clicking on "Customise".