Hotel Booking Sites System Design Explained | Airbnb | Agoda | Make My Trip |

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 ก.ย. 2024
  • In this video about Hotel Booking System Design, we will look at the complexities behind user-friendly interfaces and sophisticated backend operations that power renowned platforms like Airbnb, Agoda, and Make My Trip.
    Check out FREE MASTERCLASSES by Industry-Leading Experts: www.scaler.com...
    Discover the technology driving these systems, explore the design principles enhancing user experiences, and gain valuable insights into the behind-the-scenes mechanisms that make these platforms go-to choices for travelers worldwide.
    What is system design?
    System design is the process of defining and developing the architecture, components, modules, interfaces, and data for a system to meet specified requirements. It involves analysing user needs and constraints to create a plan for the construction, deployment, and maintenance of the system.
    What is high-level design?
    High-level design refers to the architectural and conceptual overview of a system or software solution. It focuses on identifying major components, their interactions, and the overall structure of the system, providing a top-level understanding of how the solution will be implemented to meet the desired requirements.
    What is low-level design?
    Low-level design refers to the detailed design and implementation of individual components or modules within a system or software solution. It involves specifying the data structures, algorithms, interfaces, and code-level details necessary to realise the high-level design and achieve the desired functionality.
    #systemdesign #softwareengineering #scaler
    ______________________________________________________________________________
    About SCALER:
    A transformative tech school, creating talent with impeccable skills. Upskill and Create Impact.
    Learn more about Scaler: bit.ly/41jAQkp
    📌 Follow us on Social and be a part of an amazing tech community📌
    👉 Meet like-minded coder folks on Discord - / discord
    👉 Tweets you cannot afford to miss out on - / scaler_official
    👉 Check out student success stories, expert opinions, and live classes on Linkedin - / scalerofficial
    👉 Explore value-packed reels, carousels and get access to exclusive updates on Instagram - / scaler_official
    📢 Be a part of our one of a kind telegram community: t.me/Scalercom...
    🔔 Hit that bell icon to get notified of all our new videos 🔔
    If you liked this video, please don't forget to like and comment. Never miss out on our exclusive videos to help boost your coding career! Subscribe to Scaler now!
    www.youtube.co...

ความคิดเห็น • 32

  • @SCALER
    @SCALER  9 หลายเดือนก่อน +2

    Learn more about Scaler: bit.ly/41jAQkp

  • @gokukakarot6323
    @gokukakarot6323 หลายเดือนก่อน

    One of the important things in hotel booking and room booking is reviews. Although it’s not that complicated . Shard, replicate and cache. But overall thanks for showing how to present, that’s very helpful

  • @sanjubaba1339
    @sanjubaba1339 9 หลายเดือนก่อน +4

    Hey Aanshul, thanks for this great system design explanation.
    Could you please create system design for below topics as well.
    1. Text streaming - A person is coding and others can watch him code in real-time.
    2. Delivery through drones system (with 1 million drones available for delivery).
    3. Bicycle renting system.
    4. Log aggregation platform.
    5. Video streaming.
    Thanks!

    • @SCALER
      @SCALER  9 หลายเดือนก่อน

      Hi Sanjay, we have duly made a note of your suggestion and it will be passed on to our relevant teams. Thank you! 😊

  • @rabindrapatra7151
    @rabindrapatra7151 2 หลายเดือนก่อน +2

    Search is a major functionality. we should add more details into it.

  • @CaioLouro
    @CaioLouro หลายเดือนก่อน +1

    Great video, lots of in-depth content!
    I think the search use case is incomplete as filtering by rate is a pretty basic requirement. Besides that, I miss more details on the sharding implementation and strategies, that's complex and usually not well covered

  • @peterr765
    @peterr765 6 หลายเดือนก่อน +1

    This is amazing. Over an hours worth of concise and cohesive information with no fluff. This may be one of the best video systems designs I have seen.

  • @aman8244
    @aman8244 3 หลายเดือนก่อน

    Amazing video, covered all necessary info

  • @joshuaokoro9447
    @joshuaokoro9447 8 วันที่ผ่านมา

    Correct me if I'm wrong, but it seems like when the inventory is decremented and gets to zero, it will block out bookings for rooms on booked and unbooked dates.
    Example
    room_type_id = 1
    total_rooms = 2
    available_rooms = 2
    User 1 creates a booking for
    check_in_date = 2024-december-15
    check_out_date = 202-december-18
    This decrements available_rooms = 1
    User 2 creates a booking for
    check_in_date = 2024-december-20
    check_out_date = 202-december-25
    available_rooms = 0
    User 3 tries to create a booking for
    check_in_date = 2024-december-26
    check_out_date = 202-december-29
    Following the design, this will return a message to user 3 that there are no rooms for the provided date since the available rooms have been decremented to zero.
    Is decrementing the inventory the way to go, or am I missing something from the explanation that should prevent that?

  • @amitrastogi1405
    @amitrastogi1405 7 หลายเดือนก่อน

    Excellent video on booking system design...Thanks!

    • @SCALER
      @SCALER  7 หลายเดือนก่อน

      Happy to hear that! 🙌🏼

  • @eprohoda
    @eprohoda 9 หลายเดือนก่อน

    Scaler,Woohoo. like it- breathtaking trip~ 🌟

  • @Atvkaur1111
    @Atvkaur1111 9 หลายเดือนก่อน +5

    Sir we want this too please😌Full Stack Airbnb Clone with Next.js 13 App Router: React, Tailwind, Prisma, MongoDB, NextAuth 2023

  • @KishoreKumar-fg6vf
    @KishoreKumar-fg6vf 3 หลายเดือนก่อน

    Hotel Inventory data is owned by a different service. Could you clarify how Booking service can access the Inventory data? Does the booking service directly query Inventory Database?

  • @Paradise-kv7fn
    @Paradise-kv7fn 4 หลายเดือนก่อน

    for 1:30:00, I think there might be an issue here. Lets say a hotel has 10 rooms and a user A is trying to book 2 rooms. User B also is trying to book 2 rooms for the same checkin/checkout date. Here, if we put a lock on the entire rows for the checkin-checkout-hotelId-roomId combination, it would unnecessarily lock block either A or B(depending on who gets the lock first) because A and B don't need to wait for the status of each other as the number of rooms available > the number of rooms needed by both A and B(i.e 4).
    A better way would be to actually decrement the number of rooms available as soon as the book button is clicked irrespective of whether the payment would succeed or not.
    If the payment succeeded, we don't need to do anything but if it fails, then we can increment the counter again.

    • @rabindrapatra7151
      @rabindrapatra7151 2 หลายเดือนก่อน

      what if user A trying to book. H1-R1 and user B also trying to book same H1-R1 on same date.

    • @Paradise-kv7fn
      @Paradise-kv7fn 2 หลายเดือนก่อน

      @@rabindrapatra7151 there still wouldn’t be any issues.

  • @InvincibleMan99
    @InvincibleMan99 2 หลายเดือนก่อน

    You have not covered the part where a user has to check availability of rooms in future date.
    Select count(bookings) as bookings_count from bookings where room_type_id=1 and hotel_id=1 and status='Reserved'
    Available Rooms = Total Rooms - bookings_count

  • @InvincibleMan99
    @InvincibleMan99 2 หลายเดือนก่อน

    Why Rate consumer svc has to be separate svc? we can create consumer in rate service itself?

  • @kavitachawla3323
    @kavitachawla3323 9 หลายเดือนก่อน +1

    Users can filter search based on rates too. Why can't the rates be stored in ELK?

    • @Paradise-kv7fn
      @Paradise-kv7fn 4 หลายเดือนก่อน

      1 - ELK is set of technologies for logging, searching and visualization. Here, we on'y need ElasticSearch to perform searches.
      2 - Yes you are correct about the filtering part. We will need to store all the necessary attributes in each document in ES on the which the user can filter on.

  • @theseriousguy2136
    @theseriousguy2136 5 หลายเดือนก่อน +1

    Can anyone help me in clarifying my doubt?
    Suppose admin updated the rate of a room by using the Hotel Service, and this is updated in the SQL cluster 1 ( used by the hotel Service). And this hotel service creates an event in the Kafka Queue, and the rate consumer listens to it and updates in the Rate Table maintained in the SQL Cluster2 ( used by inventory service). This updating is an asynchronous task , so might be the case that the hotel price might not have been updated in the rate table of 2nd cluster, and the user is able to book at the older price?

    • @amanrawat5164
      @amanrawat5164 2 หลายเดือนก่อน

      same doubt. @SCALER

  • @hypein2297
    @hypein2297 7 หลายเดือนก่อน +1

    1:35:40

  • @ShivangiSingh-wc3gk
    @ShivangiSingh-wc3gk หลายเดือนก่อน

    A system design interview will be 45 min max, what are the basics that we need to cover for that interview ?

    • @DmitryKrasnikov
      @DmitryKrasnikov 9 วันที่ผ่านมา

      look at c4 model notation and try to build c2 scheme at interview. That will be enough for almost all cases.

  • @SopneshGandhi
    @SopneshGandhi 6 หลายเดือนก่อน

    1:23

  • @rabindrapatra7151
    @rabindrapatra7151 2 หลายเดือนก่อน

    Estimation does not include storage. It looks like purely scripted rather than experience.

  • @prakharjain-r6t
    @prakharjain-r6t 23 วันที่ผ่านมา

    Super great explanation. super bad drawing.

  • @iswariakandarpa
    @iswariakandarpa 4 หลายเดือนก่อน +4

    You have overly complicated the system design

    • @rabindrapatra7151
      @rabindrapatra7151 2 หลายเดือนก่อน

      It must be finished in 30 minutes - 45 minutes

  • @iswariakandarpa
    @iswariakandarpa 4 หลายเดือนก่อน

    you have overly complicated system design