Very well design of car rental system. I want to add one point to correct as In the carrentalsystem class the attribute should be Hashmap map. Correct me if I am wrong. Thanks
best LLD Video I can find in internet. One request can you please create a video explaining how can we handle booking for a date range in above system Like right now this system can handle booking for a particular date but it should allow user to reserve for a date range( future booking can also be done) and how a car can be found as available for a particular date range as we are allowing future date bookings also.
Nice design Want to add more points which are. You can add one more attribute which is typeofGear(Automatic or Gear) + Class Cancel { carID, UserID, Carlocation, transactionID, refundParameters. ....} So also you can have the options like delivery type, insurance safety additional payment and many more Thanks for the information
Good design but you have not included booking date in your design. Status can't be put inside Car because a Car might be booked for date1 but available on date2.
what if we want to add another kind of search? In this case we would need to modify CarReservationSystem which is violate open-close principle. I think it would be better to add a class CarCatalog and pass this object to a all kind of SearcBy... class
you have added the status inside the Car class. This will only be good if we have only one car of each type. But we know assuming that would be wrong. We have many quantities of the same car. If you mark the car status as occupied or reserved for a specific car, then this will be the status of all the other quantities of that specific car. Do I make sense?
Why haven't you included the pickup date and drop off date for a car? The status on vehicle does signify when the car was booked. It just says it's booked. Car might be booked next Monday, but it's still available for use today(Thursday) to Sunday.
yes, what u can do for that requirement, is create another entity called as Schedule as put that entry in car class. Refer: Flight booking Low Level Design
I have a query which list out all available cars from 1st to 8th August for city Mumbai and vehicle type is Sedan , How can we write a query can u please write based on your class diagram
the fact that you didnt overcomplicated this is amazing thanks for this effort.
Very well design of car rental system. I want to add one point to correct as In the carrentalsystem class the attribute should be Hashmap map. Correct me if I am wrong. Thanks
Yes you can do it. Obviously, we need a map to locate the list of cars
i think this is a pretty good design. One could comfortably clear the interviews with such a design
Glad it was helpful! Please share the video in your network, if you have found it useful
best LLD Video I can find in internet.
One request can you please create a video explaining how can we handle booking for a date range in above system
Like right now this system can handle booking for a particular date but it should allow user to reserve for a date range( future booking can also be done) and how a car can be found as available for a particular date range as we are allowing future date bookings also.
Okay sure
Nice design
Want to add more points which are.
You can add one more attribute which is typeofGear(Automatic or Gear)
+
Class Cancel { carID, UserID, Carlocation, transactionID, refundParameters. ....}
So also you can have the options like delivery type, insurance safety additional payment and many more
Thanks for the information
Good design but you have not included booking date in your design. Status can't be put inside Car because a Car might be booked for date1 but available on date2.
Hey, Hashmap can have list of cars as values which could be better approach. Anyways good explaination
Nice Design. Can you please add a video the low level design of payment service or point me to a good resource for same
Car should be booked against a date and time right, we didnt consider that?
what if we want to add another kind of search? In this case we would need to modify CarReservationSystem which is violate open-close principle. I think it would be better to add a class CarCatalog and pass this object to a all kind of SearcBy... class
you have added the status inside the Car class. This will only be good if we have only one car of each type. But we know assuming that would be wrong. We have many quantities of the same car. If you mark the car status as occupied or reserved for a specific car, then this will be the status of all the other quantities of that specific car. Do I make sense?
No, that is an instance of car, each car will have their own type and status
Could you please mention which software or platform you are using to draw and write at same time.
Invision: www.invisionapp.com/
If one car is booked for particular date, user can book car for another date,how u will manage this?
Where are you working now a days and what is your tech stack? Is it still spring boot and react?
Walmart. Same but now more incline towards backend. But still spring boot
@@InterviewWithBunny springboot vs node.js which has better scope in future? can you tell in what all frameworks do people do backend at walmart?
“Smart enough” is common
very helpful video
Why haven't you included the pickup date and drop off date for a car? The status on vehicle does signify when the car was booked. It just says it's booked. Car might be booked next Monday, but it's still available for use today(Thursday) to Sunday.
yes, what u can do for that requirement, is create another entity called as Schedule as put that entry in car class. Refer: Flight booking Low Level Design
@@InterviewWithBunny Without the "Schedule" or "Calendar" class, this design does not make sense.
I have a query which list out all available cars from 1st to 8th August for city Mumbai and vehicle type is Sedan , How can we write a query can u please write based on your class diagram
Select car_name from table_name where (available_date between (1august, 8august) ) and (city = "mumbai" and vehicle_type = "sedan")
if I don't want to show the vehicles that are already booked for particular dates, how will you handle this scenario?
In the Car class, there you already having an attribute as Status. based on that, you can easily filter out your list.
which app are you using ?
Invision
This design only works for very small scale.
exactly this is OOPS design..
Can you please share code ?
this is a design interview, you dont need a code
Miller Kevin Moore Timothy Hernandez Carol
Thats bullshit. In an interview you need to write the code. Drawing UML diagrams is easy and no one asks for it.
It depends on the round. In designing round, you mostly don't have to code.
Can you please share code ?
this is a design interview, you dont need a code