Hotel Booking App — Design
<p>Hotel booking applications allow customers to book hotel online. People can get good discounts because of high competition in the market. Some apps provide the feature of booking the hotel with no cost and pay during check-out while some charge cancellation fee depending on the time of cancellation.</p>
<p>Some of the available products for hotel booking are <a href="https://www.airbnb.co.in/" rel="noopener ugc nofollow" target="_blank">Airbnb</a>, <a href="https://www.agoda.com/en-in/" rel="noopener ugc nofollow" target="_blank">Agoda</a>, <a href="https://www.makemytrip.com/" rel="noopener ugc nofollow" target="_blank">MakeMyTrip</a>.</p>
<p>Let’s see the requirements for the basic app and the services that can be built (considering the micro service architecture) for this app.</p>
<h1><strong>Requirements</strong></h1>
<p>A hotel booking system requires the interaction of the hotels and customers with the admin.</p>
<ol>
<li>Hotel can register themselves.</li>
<li>User can create, update, delete, get their profiles.</li>
<li>User can search for the hotel using hotel name, city name.</li>
<li>Hotel can add room details and room inventory details.</li>
<li>Hotel can update the different rates of room types for different dates.</li>
<li>User can see the types of rooms available for the searched hotel.</li>
<li>User can make the hotel reservation. User can get all the reservations made by them.</li>
<li>User can get the detailed bill containing tax details.</li>
<li>User can make a payment using different modes of payment — credit card, wallet, etc.</li>
</ol>
<h1>High Level Design</h1>
<p>Services, APIs and Data model are added in details below. <strong>CDN</strong> (Content Delivery Network) is used to store the static images (for eg- hotels images, rooms images, etc). Database can be <strong>RDBS</strong> given request count is not that high and can be easily handled by SQL. <strong>Redis</strong> <strong>cache</strong> can be used for reecnt hotel and room searches. <strong>Kafka</strong> is used to send the notifications to customers.</p>
<p><a href="https://medium.com/@mayankbansal933/hotel-booking-app-design-82e3b0273fe2">Visit Now :-</a></p>