ACME Design Solutions - Group S3

Hotel Booking System Project

Functional Specification & Management Plan

January 25, 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 customer group 4.

The following are the major functions that will be performed by the system:

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.

8)On-line help

On-line help will be provided for users of the system.(This will be provided in addition to the minimal system requirements if time permits.)


Data Structures & Algorithms


At the current design level, we see the following data structures as being necessary for the implementation of the hotel reservation system. While there may be the need to create some more advanced algorithms for the scheduling, initally we will stick to simple sorting, and searching algorithms for our purposes. If these prove too inefficient, and there is remaining time to implement corrections, then an investigation into some more complex scheduling techniques will occur.


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.


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.


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.


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.


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:?????

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.


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.


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.


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.


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.


The Minimal System


At the end of February, we will have a first version of the system which can be used to help manage the hotel. We guarantee the system will include the folowing functions.


Front Desk:
  • Make Reservation
    - check room information (avilability) in any condition - book room
    - cancel booking
    - input customer information

  • Check-in
    - check room avilabilty (if the customer don't have reservation
    - Register customer (confirm customer information)
  • Check-out
    - print bill (the bill information can be modified)
    - charge customer
  • Take Message
    - search checked in guest list
    - record message
    - store message
  • Kitchen:
  • Take orders (with special instruction)
  • Pass orders to cook
  • Add to the guest bill
  • Call room service to deliver (when order is ready)
  • Management:
  • Create account for staff(front desk, kitchen)
  • Create/Modify database (room, food, cost, etc.)
  • Print sales information for any time period

  • The system will be user friendly and very easy to learn. And if everything goes well, we will enhance the interface and provide on line help for the system.

    Summary


    Our initial assessment of your informal requirements has lead us to believe that a satisfactory hotel reservation booking and management system must meet four basic requirements.

    1. The system must be efficient in order to let you serve your guests quickly and effectively.
    2. The system must be flexible to allow you to meet your guests changing needs.
    3. The system must be user friendly in order to allow staff at all levels to use the system effectively in meeting the needs of your guests.
    4. The system must be well integrated to allow various subsystems to communicate and exchange needed information without difficulty. (For example, the front desk and the kitchen need to exchange information about room service consumption for billing purposes and management and the kitchen need to exchange information about setting the room service menu.)

    We believe that all these things are possible from a reservation system. However, it is important to keep in mind that each of these aspects represents a point on a continuum. Travelling towards one point necessarily means moving away from some of the other desireable aspects of the system.

    To illustrate this point consider the following tradeoffs.

    1. A user friendly system requires a certain amount of overhead, like a windowing system or other graphical interface, that will slow down the efficiency of processing the information.
    2. A highly flexible system makes the integration of the various subsystems more difficult since there will be more links between the subsystems.
    We would like to highlight these points to confirm that we are aware of the qualities that you would like the system to have and also to confirm that you are aware of the tradeoffs that will arise in system development. The key to developing a system that you will ultimately be satisfied with lies in ensuring that we as developers and you as a customer are focused on the same critical success factors.

    Team Structure


    Finally, we would like to layout the structure of team that will be responsible for designing and implementing the Hotel Management System. The team structure that will be used to implement this project is a modified version of the classical team structure. Although the surgical team structure has many potential advantages, it is not well suited for our current situation. Our team members are reasonable similar in skill level and experience and have restrictions on their time which make it difficult to implement a surgical team structure. As a result our team structure is as follows:

    Coordinators

    Resposible for the coordination of the teams responsible for the various subsystems. Their responsibility includes the high level design of the system and the specification of the interface between the various subsystems. They are also responsible for the specification of the parts of the user manual and system testing that relate to the operation of the system as a whole.

    Subsystem Teams

    These teams are responsible for design and specification of the various subsystems. In this project the subsystems are Reservation System, Food Services System and Administrative system. As well as specification of the overall design and function design for their subsystem, this team is responsible for the specification of user manual information and testing design which relates to their subsystem.

    Editorial Team

    This team is responsible for the integration of the work from the subsystem teams and the coordinators as well as interfacing with the customer group.

    Group members will be assigned to various teams as follows:


    After the specification of the design document the group will reorganize. Those responsible for the user manual and and system testing will join together and work on the development of the user manual and system tests and those responsible for system design and function specification will work on system implementation. Note that the assignment of actual individuals to particular tasks will occur at a later date.

    Programming Team