Skip to content

Parking Lot — Notes#

Functional#

  • Issue tickets on entry.
  • Find free slot per vehicle type / EV.
  • Compute fee, accept payment, allow exit.
  • Display free-count per level.

Non-functional#

  • 99.9% uptime; offline-safe (gates can fail closed safely).
  • Concurrent entries handled.
  • Audit log of every entry/exit.

API (services)#

  • Ticket park(Vehicle)
  • Receipt unpark(ticketId)
  • int freeSlots(level, type)

Patterns#

  • Strategy: AllocationStrategy, PricingPolicy.
  • Repository: tickets, slots.
  • Observer: DisplayBoard.
  • Factory: VehicleFactory by regNo / declared type.
  • State: SlotState (FREE / OCCUPIED / RESERVED / OUT_OF_SERVICE).

Trade-offs#

  • Flat hourly simplest; dynamic pricing harder to explain to users.
  • Pre-reserved slots for monthly passes vs first-come first-serve.

Refs#

  • Common LLD interview templates (Grokking the Object Oriented Design Interview).
  • Refactoring guru patterns.