Hotel Management Online booking System | Expertifie - sulabh84/SystemDesign GitHub Wiki

Requirements

  • System should allow user to book rooms of different categories:
    • Delux
    • Standard
    • Suite
  • Search the room availability
    • Date
    • Type
  • System should be able to see the booking details, details of the person who has booked the room
  • Cancellation of booking should be allowed and refund should be initiated by the system if the booking is cancelled before 24 hours
  • Send notifications
    • Booking Confirmation
    • Check in Notification
    • Check out Notification
  • Customer should be able to make prepayment as well as they should be able to make payments post checkout of some of the services used in the hotel
  • Customer should be able to add different services
    • Food
    • Beverages
    • Room service
  • Book Amenities - Provided as booking
    • Gym
    • Spa
    • Pool
  • Housekeeping logs maintenance for the hotel

Step1: Figure out all the actors

  • Customer / Guest
  • Receptionist
  • HouseKeeper
  • HotelManager
  • System

Step2: Figure out all the use cases

  • Add/Remove/Update room availability
  • Book/Cancel room, amenities and services
  • Search Capabilities
  • Fetch Booking Details
  • Notifications
  • Payments
  • Housekeeping logs

Step3: Classes / Entities