Parking Lot System Design (Concurrency & Capacity Rules)

Design a parking lot management system that can handle multiple floors, different vehicle types (car, motorcycle, truck), and track available parking spots. The system should efficiently allocate spots and calculate parking fees.

Constraints

Functional

Vehicle entry/exit, spot allocation by vehicle type, availability by type, multi-floor, fee by duration, spot types (compact/regular/large)

Non-functional

Assign spot in < 1s, no double allocation, 1000+ spots, real-time availability

Scale

1000 spots, 5 floors; compact 400, regular 500, large 100; 2000 vehicles/day, ~3h avg, 80% peak occupancy; ~5 vehicles/min

Stages ahead

1Requirement Analysis
2API Design
3High-Level Design
4HLD Extensions
5Trade-offs
Parking Lot System Design (Concurrency & Capacity Rules)