ACME Design Solutions - Group S3

Hotel Booking System Project

Overall Design Document

Major Data Abstractions and Modules

March 5, 1996


Major System Features and Functions


The system will automate many of the manual procedures that are being used by management, front desk, and room services at the Hotel Computer Science. After preliminary analysis of the requirement specifications a system with the following functions will best satisfy the needs of the hotel management and staff.

Hotel Management System Overview

The following level one data flow diagram characterizes the types of inputs and outputs and the interactions that the staff may expect from the hotel reservation system.

Level One Data Flow Diagram


Breakdown of the System Modules

A more detailed analysis of the modules that will be involved in creating a functional hotel management system reveals the need to break the larger system down into a series of submodules. Each of these submodules has a well defined interface and a series of precise input and output requirements. The following level two data flow diagram breaks down the system more precisely into its component modules.

Level Two Data Flow Diagram


The following textual description of the major system Features and functions further illustrates the information needs and the output of the various modules depicted in the level two dataflow diagram.

1) The ability to make inquiries and reservations

The system will be able to search for available rooms satisfying a given criteria (e.g. number of beds in room needed, smoking/non-smoking etc.). If rooms with the given criteria are found, the system will allow reservations for both, groups or individuals to be made.

If told to do so the system will print seperate reports for all customers checking in for the day and all customers checking out.

2) Automate the room service aspect of the hotel

This feature of the system will automate some of the present manually carried out room service procedures (dropping of the Bill at the front desk). The kitchen staff will have electronic read access to the breakfast, lunch, and dinner menus. Thus, if a customer calls for room service he/she can be informed what is on the menu. When the customer room number and name are entered the system will show a room service form and special requirements (e.g. allergies, vegetarian/non-vegetarian etc.) for the customer. This form has to be filled out by the staff member taking the phone calls. Once this form is filled and the customer is satisfied with his/her orders, the menu items chosen and the special requirements segment in the form will automatically appear in the kitchen. This system will also append all the orders to a list of orders for this customer and when checking out the customer bill will reflect these orders.

3) Ability to keep track of customer accounts, outstanding bills and sales

This feature will allow the staff to view and print reports for outstanding customer bills, list of room service orders for each customer, phone bills, and total sales.

4) Ability to keep track of characteristics of rooms in the hotel

The system will keep track of each room's characteristics i.e. the rate, whether it is a single, double, triple, handicapped, honeymoon, or a presidential suite. Whether it is for smokers/non-smokers. Is it reserved? If so then from what date? Is it occupied? or is it available?

5) Ability to store messages for customers

Upon check in, a customer electronic mail box will be created for the room. If there are any messages left for the customer during his/her absence, the front desk has to enter the messages in the customer room mail box. Once the message is in the system, the message indicator in the customer's room will be triggered. The customer can then call the front desk and get a printout of the message.

6) Management functions

The system will give the management access to the following: Edit, create, delete room characteristics, staff accounts and assign access levels, registration, customer bills. Edit menu and food prices. Take and post messages for customers. Print privileged reports e.g. total sales

7) Security

The system will have security access levels. The management will have access to basically everything. The front desk will have access to create, delete, edit current bills, and registration forms of customers. Also take and post messages for customers. The kitchen staff will have access to edit room service order forms, special requirements and will be able to have read access to menus.


Data Structures & Algorithms


Our decision to implement the Hotel Management system using standard PC technology and a commercial database product has narrowed our choices of implementation algorithms and data structures. We have chosen to implement this system with a PC database program (Access) that uses a relational data model. Basically what this means is that related data is grouped together in what can be logically viewed as a columnar table of records. Each record within a particular table is composed of a number of fields that hold the relevant information. Each record can be uniquely described by on or more fields in the record. These fields are refered to as the records primary key. Information is retrieved from the table by specifying the records primary key. The entire system is made up on a number of tables, each of which can be thought of as describing one logical entity. For example a custmomer is represented by a table that has field entries corresponding to the customers name, address and so on. Information about each customer is retrieved by specifying the customers name which is the primary key for the customer table.

With this basic inforamton in mind we have specified the required tables, their primary keys and related field information below. Each table is laid out as a heading, followed by a list of the fields that make up the table. The tables' primary keys are indicated with green field names.


Table: Hotel Rooms

Due to the fact that the customer group wishes it to be possible to change the current layout, and specifications of rooms it will be necessary to keep a file, which is editable, that contains the following information for each room.
Room Number:A 4 digit integer to represent the room.

Category: A option which can be set to Single, Double, or Triple.

Handicapped: An option which can be set to Yes, or No.

Smoking: An option of Yes or No, as to whether you can smoke in the room.

Price Per Night: The Cost per night of renting the room.

Special: Can be Presidential, Honeymoon, or None, these represent special suites that exist.


Table: Menu

Once again, due to the changing fancy of cooks, it is desirable to be able to change the menu whenever needed. Therefor there should be a file, which will contain the following data, for each item on the menu.
Food Item: A 32 Character space to enter the name of the menu item.

Description: A 256 character space to enter a description of what the menu item is.

Price: An entry place for the price of the current item.


Table: System User

This data structure simply stores information about the users of the reservation system.
Name: A 256 character position to enter the name of the user.

Employee Number: A unique employee number, which doubles as a swipcard id number.

Access Level: An option set to Front Desk, Kitchen, or Management.


Table: Message Record

The following data structure is used to take messages for customers of the hotel, at the front desk.
Message Recipient: A 256 character position to enter the name of the message recipient.

Recipient Room Number: The room number of the message recipient.

Message Sender: A 256 character position to enter the name of the message sender.

Time Stamp: The time and the date the message came in.

Message Body: 12,000 character buffer to store the information of the message.


Table: Customer

The information on a current customer can be represented in a record containing the following information.
Name: A 256 character position to enter the name of the customer.

Room Number: The Room Number at which the customer is(will) be staying.

Arrival Date: A Date when the customer arrived or is expected to arrive.

Departure Date: A Date when the customer is expected to leave.

Representing: Used to indicate group bookings

Street Address: A 256 character position to enter the street (or apartment) number, and street name of the customer.

City: A 64 character position to enter the name of the city or town where the customer lives.

Province: A 64 character position to enter the name of the province or state of the customer.

Country: A 64 character position to enter the name of the country of the customer.

Zip Code: A 9 character position to enter the zip, or postal code of the customer.

Bus. Phone: A 10 digit integer representing the business phone number of the customer.

Home Phone: A 10 digit integer representing the home phone number of the customer.

Number Of Occupants: The number of total occupants in the room.

Names Of Additional Occupants: A list that contains the names of additional Occupants.

Vehicle Make: A 64 character position to represent the make of the vehicle, belonging to the customer.

Vehicle Model: A 32 character position to represent the model ofthe vehicle.

License Plate: A 9 character position to enter the License Plate of the vehicle.

Special Instructions: A 12,000 character buffer to hold and specific instructions the guest wishes to leave.


Table: Room Service Request

The following information is used to store requests for room service.
Room Number: A valid room number in the hotel, for which the food is to go.

Time Stamp: The time and date of the request.

Delivery Time: The time and date they wish the food to be delivered.

List Of Food Entries: A list of menu items they wish to receive.

Special Cooking Instructions: A 4096 character field to maintain specific cooking instructions for each order.

Bill to: A valid room number in the hotel.


Table: Phone Calls

The following information will be used to track phone usages, for billing etc...
Room Number: The number of the room that placed the call.

Outgoing Phone Number: The number to which the phone call was placed.

Start Time: A time stamp, indicating the start time of the phone call.

Stop Time: A time stamp, indicating the end time of the phone call.

Cost : The Amount the phone call cost.


Table: Guest Bill

The following information will need to be stored to generate a guests bill when they depart.
Name: A 256 character position, to maintain the name of the guest.

Room Service: A List of room service requests.

Phone Service: A List of Phone Usages.

Arrival Date: The arrival date of the customer.

Departure Date: The day the customer departs.

Room Rate: The Room Rate at thier check in.

Room Number: The room number the customer was staying in.

Amount Paid: The amount the customer has actually paid.

Balance: The amount remaining for the customer to pay.

Method Of Payment: The Actual method of payment, cash, credit card, or check.

Credit Card Number: The credit card number if necessary.

Employee Number: The number of the employee who took payment.


Table: Calendar

A calendar structure will be needed, to be able to determine which rooms are available on which days, and to be able to determine bookings, etc...

Each day will simply contain a list of the rooms reserved for that day.


Programming Team