System Design Concepts

Problem: Design a Reservation and Payment System for A Parking Garage

  1. Is this something that is accessible through an App or is it a physical booth where customers input their card and reservation info

  2. How many spaces are there in the garage? Will the system need to handle concurrent users?

    1. I.e two customers are trying to reserve the same spot -high consistency
  3. Do the customers pay when they reserve a spot or when the reservation time period is active?

  4. Different types of parking spaces?

    1. compact
    2. large
    3. regular
  5. What are the pricing model- price rate based on time

Functional Requirements

  1. The user needs to be able to reserve and pay for a parking spot
    1. receive some sort of confirmation with their reservation info

Propose the High Level Design and Get the buy in

  1. since we want high consistency, we should use a relational db because it adheres to CRUD rules,
  2. If we have two users trying to write to the same db use some kind of priority mechanism to ensure that we dont issue two reservations of a single spot