Skip to content

Deshun99/HotelReservationSystem

Repository files navigation

IS2103 Enterprise Systems Server-Side Design and Development

This pair project is one of NUS School of Computing (Information Systems [IS] major) core IS modules.

About

Merlion Hotel is a new hotel located in the central business district of Singapore that is currently under construction. It is scheduled to commence business operation in the first quarter of 2022. As part of its preparation to commence business operation, Merlion Hotel has engaged Kent Ridge Technology (KRT), a global technology consulting and solution development company headquartered in Singapore, to develop a new Hotel Reservation System (HoRS) to support its core business processes. More specifically, the new HoRS will be used by Merlion Hotel to manage its room inventory, price rates, room reservations and guests.

In addition to its own internal use, the HoRS will also be exposed to external partners such as price comparison websites, online travel websites and travel agencies. This will allow Merlion Hotel to sell its room inventory to a wider audience. At this juncture, Merlion Hotel has already inked an agreement with Holiday.com. This would allow users of Holiday.com’s Holiday Reservation System to search for and reserve rooms in Merlion Hotel as part of their holiday packages.

General Business Rules

  1. Every entity class has a unique key identifier.
  2. Not all entities must perform CRUD (Create, Remove, Update & Delete) operations, only RoomType, Room, RoomRate requires CRUD operation .
  3. When a new reservation request is received, the system does not need to allocate a hotel room before confirming the reservation. The system only needs to ensure that the hotel has sufficient room inventory to fulfil the new reservation.
  4. In the event of overbooking for a particular room type, the guests can be upgraded to the next higher available room type at no additional cost.
  5. Allocation of hotel rooms to guest reservations is performed daily at 2 am.
  6. Check-out time occurs at 12 noon on the departure date and the Check-in time occurs at 2 pm on the arrival date.

General Rationales

  1. By having a unique key identifier, which is a primary key, data objects can be retrieved easily and directly with its own ID via invoking the find method in EntityManager.
  2. The use of multiple session beans is to streamline performance and avoid unnecessary performance overhead
  3. Once the guest is checked in, the room will not change throughout the duration of their stay.
  4. All price calculations are done with a BigDecimal object as it would help maintain accuracy.

Assumption for Logical Data Model

  1. We assume that each room is numbered using a combination of a two-digit floor number and a two-digit sequence number for that floor in ascending order.
  2. We assume that there can be a maximum of 9999 rooms with the two digit floor number and two digit sequence number combination.
  3. We assume that the Hotel Reservation System will also be exposed to external partners such as price comparison websites, online travel websites and travel agencies besides Holiday.com.
  4. We assumed that there is a fixed 2hr cleaning period from 12 pm to 2pm whenever the guest checks-out.

High-level architecture of Hotel Reservation System [FRS]

This project also known as HoRS, consists of 3 parts:

  1. HoRS Management Client
  2. HoRS Reservation Client
  3. Holiday Reservation System

alt text

UML Diagram

alt text

Singleton Session Bean

Data Initialisation [HoRS System]

  • Loading of Test Data

System Helper

  • Allocate Rooms Daily
  • Get Available Room
  • Get All Reservation

Stateful Session Bean

Room Reservation Controller

  • Guest Login
  • Retrieve All Reservation
  • Check In Room
  • Get Reservation List By Email
  • Checkout Room
  • Assign Walk in Room

Stateless Session Bean

Employee Entity Session Bean

  • Employee Login
  • Employee Logout
  • Create New System Admin
  • Create New Operation Manager
  • Create New Sales Manager
  • Create New Guest Relation Officer

Guest Entity Session Bean

  • Register New Guest
  • Login Guest

Partner Entity Session Bean

  • View Reservation Detail
  • Retrieve All Partner Reservations
  • Retrieve Partner By Id
  • Partner Login
  • Retrieve All Partners
  • Create New Partner

Reservation Entity Session Bean

  • Retrieve Reservation Detail
  • Search Room
  • Guest Reserve Room
  • Front Office Reserve Room
  • Partner Reserve Room
  • Set Assign Room

Room Entity Session Bean

  • Create New Room Type
  • Return New Room Type Entity
  • View Room Type Details
  • Update Room Type
  • Delete Room Type
  • Get Room Types By Ranking
  • Create New Room
  • Update Room
  • Delete Room
  • Create New Published Rate
  • Create New Normal Rate
  • Create New Peak Rate
  • Create New Promotion Rate
  • Retrieve Room By Room Number
  • Retrieve All Rooms
  • View Room Details
  • Get List Of Exception Reports By Date
  • Retrieve All Room Rates
  • Delete Room Rate
  • Update Room Rate

Holiday Reservation System (External Party - Web Services)

  • Partner Login
  • Partner Search Room
  • Partner Reserve Room
  • View Partner Room Reservations
  • View Partner Room Reservation Details
  • Partner Logout

About

IS2103 Pair Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages