PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/System Design/Lead

Design a hotel reservation system

Last updated: Jun 13, 2026

Quick Overview

This question evaluates skills in designing distributed reservation systems, covering availability search, concurrency control, data modeling, API design, and integration with an asynchronous third-party payment provider with a focus on timeout handling and consistency guarantees.

  • medium
  • Lead
  • System Design
  • Software Engineer

Design a hotel reservation system

Company: Lead

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Onsite

Design an online hotel reservation system. The system should allow customers to search for hotels, view available room types, create a reservation, and complete checkout through a third-party asynchronous payment provider. Focus especially on these deep dives: 1. **Availability search:** Given a hotel, check-in date, check-out date, party size, and quantity of rooms, return only room types that are available for every night in the requested date range. 2. **Checkout and payment timeouts:** During checkout, distinguish between these two cases and handle each correctly: - The user never actually paid, and the checkout session timed out. - The user did pay, but the third-party payment provider's asynchronous response arrived later than the timeout configured by your system. Discuss functional requirements, APIs, data models, consistency guarantees, concurrency control, timeout handling, and scalability.

Quick Answer: This question evaluates skills in designing distributed reservation systems, covering availability search, concurrency control, data modeling, API design, and integration with an asynchronous third-party payment provider with a focus on timeout handling and consistency guarantees.

Lead logo
Lead
May 26, 2026, 12:00 AM
Software Engineer
Onsite
System Design
0
0

Design an online hotel reservation system.

The system should allow customers to search for hotels, view available room types, create a reservation, and complete checkout through a third-party asynchronous payment provider.

Focus especially on these deep dives:

  1. Availability search: Given a hotel, check-in date, check-out date, party size, and quantity of rooms, return only room types that are available for every night in the requested date range.
  2. Checkout and payment timeouts: During checkout, distinguish between these two cases and handle each correctly:
    • The user never actually paid, and the checkout session timed out.
    • The user did pay, but the third-party payment provider's asynchronous response arrived later than the timeout configured by your system.

Discuss functional requirements, APIs, data models, consistency guarantees, concurrency control, timeout handling, and scalability.

Solution

Show

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Lead•More Software Engineer•Lead Software Engineer•Lead System Design•Software Engineer System Design
PracHub

Master your tech interviews with 8,000+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.