Back to case studies Business Analysis · Case Study

Hotel Booking System

A regional hotel relies on phone and walk-in bookings, causing double-bookings and lost revenue. This case study frames the business problem, maps the as-is and to-be processes, and documents the requirements needed to launch an online booking platform.

Requirements BPMN / Process User Stories Use Cases KPIs

01Business Problem & Objectives

The hotel currently takes bookings by phone, email, and walk-in, recorded manually in a shared spreadsheet. This creates double-bookings during peak season, delays confirming availability to guests, and gives management no reliable view of occupancy or revenue.

  • Objective 1: Let guests check real-time availability and book a room directly online.
  • Objective 2: Eliminate double-bookings by centralising room inventory in one system.
  • Objective 3: Reduce dependency on phone/email bookings and increase direct-booking revenue share.
  • Objective 4: Give management a live view of occupancy, revenue, and booking sources.

02As-Is vs To-Be Process

As-Is: Guest calls or emails → front-desk staff manually checks a spreadsheet → staff confirms verbally or by email → booking recorded after the fact, with no availability lock — the root cause of double-bookings.

To-Be: Guest searches dates online → system checks live inventory → guest selects a room and pays a deposit → system locks the room and sends an automated confirmation → front desk sees the booking instantly, with no manual re-entry.

03Functional Requirements

  • FR1: Guests can search room availability by date range, room type, and guest count.
  • FR2: System prevents two guests from booking the same room for overlapping dates.
  • FR3: Guests can complete a booking and pay a deposit online via a secure payment gateway.
  • FR4: System sends an automated email confirmation with a booking reference.
  • FR5: Admins can view, modify, or cancel any booking from a management dashboard.
  • FR6: Admins can block out rooms for maintenance so they aren't shown as available.

04Non-Functional Requirements

CategoryRequirement
PerformanceAvailability search results return in under 2 seconds.
SecurityPayment data handled via a PCI-compliant gateway; no card data stored locally.
AvailabilityBooking platform available 99.5% of the time, including outside office hours.
UsabilityBooking flow completable on mobile in 4 steps or fewer.
ScalabilitySupports peak-season traffic (3× average daily bookings) without degradation.

05User Story & Acceptance Criteria

As a guest, I want to book a room online and receive instant confirmation, so that I don't have to call the hotel and risk the room being unavailable.

  • Given a guest selects valid check-in/check-out dates and an available room, when they submit payment, then the booking is confirmed and the room is locked for those dates.
  • Given a room is already booked for the selected dates, when a guest tries to book it, then the system shows it as unavailable before payment.
  • Given a booking is confirmed, when the transaction completes, then the guest receives an email with a booking reference within 1 minute.

06Use Case: Book a Room

ActorGuest
PreconditionGuest has selected check-in/check-out dates and a room type.
Main flow1. Guest searches availability. 2. System returns available rooms. 3. Guest selects a room. 4. Guest enters details and pays deposit. 5. System locks room and confirms booking.
Alternate flowIf the room becomes unavailable before payment completes, system re-prompts the guest to choose another room.
PostconditionRoom is reserved, inventory updated, and confirmation email sent.

Want to see more BA work?

Explore the other case studies and projects on the main portfolio.

Back to case studies