Requirements
Functional Requirements:
- Allow reservation of a parking spot.
- Process payment for the reservation.
- Enable parking of a car in the reserved spot.
- Support early departure before reservation time expires.
- Gate check-in/out.
- Handle no show.
Non-Functional Requirements:
- List the key non-functional requirements (eg low latency, scalability, reliability, etc.)...
API Design
POST parking/checkin
GET parking/availableSlots
POST parking/checkout
GET parking/payment
Detailed Component Design
SQL DB - Lock for update to be used
Tables involved are
Vehicle
Slots
Bills