allow users to pick parking spots with duration and dates
process payment user id or car id for reservation
car id based verification or qr code scanning based entry and exit
No double booking the same spots
ensure uptime
ensure capacity during peak hours
daily customers/4 changing as per the day
GET /lots/{lotId}/availability?startTime=...&endTime=... — tells the user if spots are free with their id using which a simple gui shows the location of spotPOST /reservations — temporarily locks a spot (say for 10 mins while the user pays)PUT /reservations/{id}/confirm — finalizes after paymentMobile and web app
api gateway
reservation functions
transaction function
database storing each reservation with car number and time with function to quickly return free spots or verify user, wipes out every transaction older than 7 days
qr generation function generates qr tickets fetching from database
payment provider allowing upi payments credit card debit card offline cash
Define the data model. Identify the main entities, their attributes, and relationships. Consider the choice of database type (SQL vs NoSQL) and justify your decision based on access patterns...
Deep dive into 2-3 key components. Explain how they work, how they scale, discuss tradeoffs, capacity, and any relevant algorithms or data structures.