Professional Documents
Culture Documents
Hotel Reserv
Hotel Reserv
1. Definition of problem
The Bridge hotel wishes to set up an automated booking system. The system will
store details on customers, rooms available, prices and bookings. The system is to
produce reports on bookings, room availability and customer invoices.
2. Analysis
B) Current System
Bookings are made by phoning the desk and the details are entered by hand.
Cancellations are made in the same way by simply crossing out the entry.
Issuing instructions for the rooms to be made ready that day are written by hand
with the information gained from the diary.
Present problems
Easy to use
Produce invoices.
D) Information:
Each room has a number. There are three types of rooms, family, double and single.
The hotel charges the customer by per person per night. They can be on any of
three floors and some have satellite tv.
1.
The ground floor comprises an equal number of single and family rooms family rooms may accommodate up to 4 people with
1 double bed and 2 single, rollaway beds and a cot may also be provided for a baby (4+1).
The first floor comprises an equal number of single and double rooms.
The second floor consists of an equal number of double and twin rooms twin rooms contain 2 single beds as opposed to double
rooms, which contain 1 double bed.
All double, single and twin rooms include satellite TV with a pay per night option and a mini bar the family rooms do not, but
do include a TV with video/dvd and the option to hire a games console and games over night.
Single and twin rooms offer internet access for business guests at a small nightly rate.
There are 2 fully equipped conference rooms and 1 larger function room (with bar and service to kitchen).
Tariff
All prices shown are per night:
Rooms
Single Room
35
Double Room
55
Twin Room
55
75
85 (includes cot)
10
30
Other Options
Satellite TV (pay per night)
10
10
Internet Access
40
80
10
Contents
Analysis
Page 2
User Requirements
Page 2
Analysis Notes
Page 3
Technical Documentation
Page 4
Page 32
User Guide
Page 36
Page 46
Additions / Appendix
Page 47
Example Invoice
Additional Designs
Bridge Hotel Logo
Appendix A
Appendix B
Appendix C
Alex Cooper
Database Design: Analysis
Analysis
Problem:
The bridge hotel wishes to set up an automated bookings system. The
system will store details on customers, rooms available, prices and
bookings. The system is to produce reports on bookings, room availability
and customer invoices.
Current System
Paper based
Bookings made by phone details entered by hand into the diary
Cancellations done by crossing out the entry
Instructions for room preparation written by hand, which is
extracted from the diary
Customer invoices are calculated and written by hand
User Requirements
Has to be easy to use
Booking has to be faster
Keep customer records
Produce Invoices for the customers
Produce reports showing what rooms are to be made ready or
cleaned for a specific day.
No Double-bookings permitted in the system
Cancellations can be done easily
decrease paperwork
Alex Cooper
Database Design: Analysis
Analysis Notes: Information about the hotel
Hotel:
All Double, Single & Twin rooms include Satellite TV (pay per night option)
& minibar (except the family room which just has the TV and option to
hire games console/games)
Internet access available to Twin and Single Rooms at nightly rate
Prices
Rooms
Single Room 35
Double Room 55
Twin Room 55
Family Room (up to 4) 75
Family Room (4+1) 85 (includes cot)
Optional Meals Included
Breakfast (pppn) 10
All Meals Set Menu 30
(pppn)
Other Options
Satellite TV (pay per 10
night)
Games Console and 10
Game Hire
Internet Access 5
Technical Documentation
Alex Cooper
Contents
DATA DICTIONARY
CUSTOMER
BOOKING
CREDIT CARD
ROOMS
8
8
8
9
VALIDATION
12
FORM DESIGN
13
STRUCTURE OF DATABASE
INITIAL START UP SCREEN (MAIN SCREEN)
CHECK ROOM AVAILABILITY FORM
CREDIT CARD ENTRY FORM
CUSTOMER DETAILS FORM
BOOKING FORM
13
14
14
15
16
17
18
18
INVOICE DESIGN
19
HI-FI DESIGNS
21
21
22
23
23
24
Alex Cooper
BOOKING FORM
25
REPORTS FORM
26
27
Data Dictionary
Field Name
Customer
Name
Address
Post Code
Telephone
Number
Booking
Number
Arrival
Checkout
RoomNum
PricePerNight
Room Type
Cot
Satellite TV
Games Console
Internet Access
Breakfast
All Meals
Credit Card
Number
Credit card
Expiry Date
Data types
Text
Text
Text
Text
AutoNumber
Date/Time
Date/Time
Number
Currency
Drop Down
Menu
Yes/No
Yes/No
Yes/No
Yes/No
Yes/No
Yes/No
Text
Date/Time
Alex Cooper
Field Name
Customer
Name
Address
Post Code
Telephone
Number
Booking
Number
Arrival
Checkout
Room Type
Cot
Satellite TV
Games Console
Internet Access
Breakfast
All Meals
Credit Card
Number
Credit card
Expiry Date
Room Number
Room Type
Price Per Night
Data types
Text
Text
Text
Text
AutoNumber
Date/Time
Date/Time
Drop Down
Menu
Yes/No
Yes/No
Yes/No
Yes/No
Yes/No
Yes/No
Text
Date/Time
Number
Text
Currency
The table is colour coded to represent the different entities (four entities).
Alex Cooper
From the table above I have included I have included additional
attributes to make the entities atomic attributes , which means that
the attributes can not be broken down any further, for example the
address attribute is broken down in address line 1, address line 2,
Town.
Customer
Field Name
CustomerID
FirstName
LastName
AddressLine1
AddressLine2
Town\City
PostCode
Data Type
Auto Number
Text
Text
Text
Text
Text
Text
Telephone
Text
CreditCardNumber
Number
Booking
Field Name
BookingID
Arrival
Checkout
CustomerID
RoomNumber
Nights Cot required
Nights Satellite TV
required
Nights Games
Console Required
Nights Internet
Access required
Nights Breakfast
required
Nights All Meals
required
Hours Required
Staff Required
Data Type
Auto Number
Date\Time (Short
date)
Date\Time (Short
date)
Number
Number
Number
Number
Field Size\Key
Primary Key
N/A
Foreign key
Foreign key
N/A
N/A
Number
N/A
Number
N/A
Number
N/A
Number
N/A
Number
Number
N/A
N/A
Credit Card
Alex Cooper
Field Name
CreditCardNumber
ExpiryDate
CardHolderName
Data Type
Text
Text
text
Field Size\Key
20 (Primary Key)
(short date)
30
Rooms
Field Name
Data
Type
RoomNumber
Number
RoomType
Text
(Combo
Box)
PricePerNight
Currency
CotAvalable
Yes/No
SataliteTVAvailable Yes/No
GamesAvailalable
Yes/No
InternetAvaliable
Yes/No
Field Size\Key
(Primary Key)
(Single/Double/Twin/Family/Confrence/Function)`
n/a
Validation
Table
Booking
Field Name
ArrivalDate
Validation Rule
Validation
Text
Not Between
"Hotel is
#22/12/05# And closed on
#07/01/06#
this day please try
another
date"
Field Name
Input Mask
Customer
PostCode
>LL00\ 0LL;;_
Customer
Telephone
\(9999")
"00090009;;_
Place Holder
used
_
_
Query
Criteria
Description
Rooms
PARAMETERS [Please enter
Reserved
arrival date] DateTime,
[Please enter checkout
date] DateTime;
SELECT Booking.Room,
Booking.Arrival,
Booking.Checkout
FROM Booking
WHERE (((Booking.Arrival)
Between [Please enter
arrival date] And [Please
enter checkout date]-1))
Or ((([Checkout]-1)
Between [Please enter
arrival date] And [Please
enter checkout date])) Or
(((Booking.Arrival)<[Please
enter arrival date]) And
(([Checkout]-1)>[Please
enter checkout date]-1));
Checks
SELECT Rooms.RoomNum
room
FROM Rooms LEFT JOIN
availability
[Rooms Reserved] ON
(uses
Rooms.RoomNum=[Rooms
Rooms
Reserved].Room
Reserved
WHERE ((([Rooms
Query
Reserved].Room) Is Null));
Rooms
None (combines Rooms
Available
Available query and Rooms
and Room
table
type
invoice
of Staff, Breakfast, Set
details for a Meals, Arrival, Checkout
report
Which
rooms need
cleaning or
preparing
for new
guest
Which
Arrival=Date()
Checkout = Date()
Reports
Produced
No
No
No
Booking
Rooms Credit Card Number, First
Name, Surname, Address line 1,
Address line 2, Town, Postcode,
Telephone Number, Booking ID,
Customer Number, Room Num,
PricePerNight, Cot, Satellite TV,
Games console and game hire,
Internet Access, , Number of hours
needed, Number
Bookings Rooms Room type,
Arrival, RoomNum
Yes
Bookings, Rooms
Yes
10
Yes
Alex Cooper
rooms need
cleaning for
guest
departure
Daily Room
Clean
Rooms
Query
(shows the
features
available in
the room
11
Alex Cooper
CustomerID
FirstName
LastName
AddressLine1
AddressLine2
Town\City
PostCode
Telephone
CreditCardNumber*
Credit Card
CreditCardNumber
ExpiryDate
CardHolderName
Booking
One
Many
One
BookingID
Arrival
Checkout
Many
CustomerID*
RoomNumber*
Many
Nights Cot required
Nights Satellite TV required
Nights Games Console required
Nights Internet Access
required
Nights Breakfast Required
Nights All Meals Required
Hours Required
Staff Required
One
Rooms
RoomNumber
RoomType
PricePerNight
CotAvalable
SataliteTVAvailable
GamesAvailalable
InternetAvaliable
Key
Text in italics = primary key
* = foreign key
From the Entity Relationship diagram we can see that this is in third normal form because I have made sure there is no repeating attributes, I
have created a separate entity for each group of related data each with their own primary key these are necessary to make it into first normal
form. To then to make it into second normal form I have created relationships between tables using foreign keys. Finally to make it into third
normal form I have ensured that all attributes that are not dependent upon the primary key have been removed.
12
Alex Cooper
Form Design
Structure of database
Reports
Form
(Contains
cleaners
daily report
etc)
Enter New
Customer
Form
Main Menu
Logo
Check
Room
Availability
Form
Quit button
Credit Card
Details
Form
Booking
13
Alex Cooper
Command
Buttons
Label
Credit Card
Details
Reports
Quit
Form caption
14
Alex Cooper
Credit Card Entry Form
Onscreen instructions
Navigation
command
buttons
15
Alex Cooper
Customer Details form
Last Name
Address Line 1
Address Line 2
Town / City
Postcode
Telephone
Create a new
Booking (add record)
Delete current
customer (record)
Navigation Buttons
16
Alex Cooper
Booking Form
Booking Form
Arrival
Check Availability
Checkout
Customer ID
Room Number
Nights Cot
Required
Hours Required
No. of
Breakfasts (per
nights)
Staff Required
No of Set Meals
(per night)
To Create a new Booking, click on the 'New
Booking' Button below. To Delete the current
Booking, click the rubbish bin button. To
navigate the bookings, click the arrows to cycle
through the bookings
Internet (Per
night)
Satellite TV
(Per night)
Games
Console (Per
night)
Add Record
Create a new
Booking (add record)
Delete current
booking (record)
On Screen instructions
(Label)
Navigation Buttons
17
Alex Cooper
Booking form Design notes:
1. Drop down combo box (Lookup wizard) showing the Customer
ID, First Name, Last Name and Postcode (from the Customer
table). This enables the user to easily see which customer
they are using. (the other details are hidden once the
Customer number is selected)
2. Drop down combo box (Lookup wizard) showing the Credit
Card number, expiry date and card holders name (from the
credit card table) This enables easy viewing of the Credit card
details, so the bookings are more accurate because the user
can see the full card details (the other details are hidden once
the card number is selected)
3. Drop down combo box (Lookup wizard) showing the Room
Number, Room type and Price Per Night (from the Rooms
table).
Additional Notes (for all Forms)
Most of the data entries fields have help text, so that when the user
moves the mouse pointer over the field, then a brief description is
displayed in the status bar.
18
Alex Cooper
Invoice Design
Query to get the Report
Query
Criteria
Description
Invoice
RoomNum
ber =
[Enter
Room
Number]
Checkout
= date()
Reports
Produced
Yes
19
Alex Cooper
Customer Invoice
Arrival:
Checkout:
Room
Room No.
Room Type
Price per Night
Number of Nights stayed:
Accommodation Cost:
Extras
Satalite TV
Games Console
Internet
Cot
Full Meals
Breakfast
20
Alex Cooper
Reports for Queries
Query
Daily
Room
Clean
Rooms
to Clean
when
guest
leaves
Rooms
to
prepare
for guest
arriving
Layout
Columnar (sorted ascended by room date)
Columnar (sorted ascended by room date)
Hi-fi designs
Main Screen (menu)
21
Alex Cooper
Room Availability Form
22
Alex Cooper
Customer Details Form
Onscreen
instructions
Command button
deletes the current
record
Command buttons to
move forward or
backwards through the
records
23
Alex Cooper
Onscreen Instructions
Deletes current
record
24
Alex Cooper
Booking Form
On screen
instructions
25
Alex Cooper
Reports Form
26
Alex Cooper
ERD Produced in Access
27
Alex Cooper
Sample Invoice
28
Alex Cooper
Sample Report: Daily Room Cleaning (14th December 05)
Room type
Guest arrival
date
29
Alex Cooper
Sample Report: Guests Arriving Today (14th December 2005)
Room Type
Room Number
30
Alex Cooper
Sample Report: Rooms to Prepare for Guests leaving (15th December 2005)
Room
number
Room Type
31
Alex Cooper
Test Plan / Test Results
My test procedure to test this database is to verify each component
of the database. This is done by checking to see if the actual
outcome of the test is the same as the expected, for instance, when
testing command buttons, that the expected operation, such as
loading a form, is executed. I will be recording the tests in the table
below, with space for any comments.
Test
Num
1
Test Description
Test Data
N/A
Booking Form
Check that hotel can
not be booked during
22nd December to
January 7th
Booking Form
Check that rooms can
not be booked during
22nd December to
January 7th
Booking Form
Check that rooms can
not be booked during
22nd December to
January 7th
Booking Form
Check that the rooms
can be booked any
other date apart from
the specified closing
date
Rooms Available
Query
22/12/05
Error Message
saying Hotel
Closed on this
day
Actual
Result
Database
loaded and
menu
displayed
Message
saying Hotel
Closed on
this day
31/12/05
Error Message
saying Hotel
Closed on this
day
Message
saying Hotel
Closed on
this day
07/01/06
Error Message
saying Hotel
Closed on this
day
Message
saying Hotel
Closed on
this day
11/04/05
No messages
None
to be displayed Displayed
12/12/05
Main menu
Test if the check room
availability command
button works correctly
Main menu
Test if the quit
command button exits
the database
N/A
N/A
Expected
Result
Database to
load and show
menu
Database Exits
Comments
Database
exited
32
Alex Cooper
9
Main menu
Test if the View / Add
Customer command
button works correctly
Main Menu
Test if the View / Add
Credit Card
Command button
works correctly
Main Menu
Test if the View / Add
Booking Command
button works correctly
Main Menu
Test if the Reports
commands button
works correctly
Check Room
Availability (when
command button
clicked on main menu)
Check Room
Availability
N/A
14
Check room
availability
15/12/05
15
10
11
12
13
13
16
17
18
19
N/A
Customer
Customer
Details form to details
be displayed
formed
displayed
Credit Card
Credit Card
Details form to Details form
be displayed
displayed
N/A
N/A
Reports form
Reports form
to be displayed displayed
N/A
Input box to be
displayed
requesting
arrival date
Input box
requesting
checkout date
to be displayed
All rooms
apart from
room 110 and
108 to be
available
Input box
displayed
N/A
Current
Record to be
deleted
Current
Record
Deleted
N/A
A new record
to be created
New Record
Created
N/A
The next
Record to be
shown
Next Record
Shown
N/A
The previous
record to be
shown
Previous
Record
Shown
N/A
Current
Record to be
deleted
Current
Record
Deleted
12/12/05
Input box
displayed
All rooms
apart from
room 110 and
108 available
This is based on 7
bookings (Room 110
booked from 12/12/05
to 15/12/05 and Room
108 booked from
14/12/05 to 17/12/05)
33
Alex Cooper
20
21
22
23
24
25
26
27
28
29
30
record command
button works
Credit Card Details
Form
Test if the add new
record command
button works
Credit Card Details
Form
Test if the forward
command button
works
Credit Card Details
Form
Test if the previous
command button
works
Booking Form
Test if the delete
record command
button works
Booking Form
Test if the add new
record command
button works
Booking Form
Test if the forward
command button
works
Booking Form
Test if the previous
command button
works
Booking Form
Test if the Check
Availability command
button works
Booking Form
Test if the Features
available in rooms
command button
works
Reports Form
Test if the Daily
Room Cleaning
command button
works
Reports Form
Test if the Rooms to
Prepare for guests
N/A
A new record
to be created
New Record
Created
N/A
The next
Record to be
shown
Next Record
Shown
N/A
The previous
record to be
shown
Previous
Record
Shown
N/A
Current
Record to be
deleted
Current
Record
Deleted
N/A
A new record
to be created
New Record
Created
N/A
The next
Record to be
shown
Next Record
Shown
N/A
The previous
record to be
shown
Previous
Record
Shown
N/A
Input box to be
displayed
requesting
arrival date
Input box to be
displayed
requesting
Room Number
Input box
displayed
Report for
daily room
cleaning (in
print preview)
to be shown
Report for
Rooms to
Prepare for
Report for
daily room
cleaning in
print preview
shown
Report for
Rooms to
Prepare for
N/A
N/A
N/A
Input box
displayed
34
Alex Cooper
arriving command
button works
31
Reports Form
Test if the Rooms to
clean for guests
leaving command
button works
N/A
32
Reports Form
Test if the Invoice
command button
works
Reports Form
Test if the Invoice
command button
works
N/A
33
110 (room
number)
guests arriving
(in print
preview) to be
shown
Report for
Rooms to
clean for
guests leaving
(in print
preview) to be
shown
Input box
requesting the
room number
guests
arriving in
Print preview
shown
Report for
Rooms to
clean for
guests
leaving in
Print preview
shown
Input box
requested
Report of the
Invoice (in
print preview)
to be shown
Report of the
Invoice in
Print preview
shown
35
Alex Cooper
36
Alex Cooper
CONTENTS
INTRODUCTION TO THE DATABASE
38
38
39
MAKING A BOOKING:
40
40
2.
41
3.CREATING A BOOKING
42
43
VIEW REPORTS
44
45
45
GLOSSARY OF TERMS
45
37
Alex Cooper
Data Type
Auto Number
Text
Text
Text
Text
Text
Text
Telephone
Text
Booking
Field Name
BookingID
ArrivalDate
DepartDate
CustomerID
RoomNumber
CreditCardNumber
Cot
Satellite TV
Games Console
Internet Access
Breakfast
All Meals
Hours Required
Data Type
Auto Number
Date\Time (Short
date)
Date\Time (Short
date)
Number
Number
Number
Yes/No
Yes/No
Yes/No
Yes/No
Yes/No
Yes/No
Number
Field Size\Key
Primary Key
N/A
N/A
Foreign key
Foreign key
Foreign key
N/A
N/A
N/A
N/A
N/A
N/A
N/A
38
Alex Cooper
Conference Room
Hours Required
Function Room
Staff Required
Credit Card
Field Name
CreditCardNumber
ExpiryDate
Number
N/A
Number
N/A
Data Type
Text
Text
Field Size\Key
20 (Primary Key)
(short date)
Room
Field Name
RoomNumber
RoomType
Data Type
Number
Text (Combo Box)
Field Size\Key
(Primary Key)
(Single/Double/Twin/Family)`
Alex Cooper
Making a Booking:
Note: Prior to making a Booking, the Customer Details and Card details
should be entered first (unless the customer is a returning customer)
Steps involved in making a booking:
1. Enter Customer Credit Card Details (not required if a returning
customer)
2. Enter Customer Details
3. Create a booking
Click the
command button to
enter a new credit
Card
Click to delete
the current
Record
Alex Cooper
Enter the card number in the card number box (this is in format that will
only allow up to 20 digits). Enter the Expiry date and card holders name
in the spaces provided.
2. Entering Customer Details
Click here to
delete the
current record
Enter the customer details in the boxes provided. Select the customers
previously entered credit card number from the drop down menu.
41
Alex Cooper
3.Creating a Booking
From the main menu, click View/ Add Booking
The following form will be displayed:
To check Room availability, click the Room availability Button. This brings
up a separate window with the available rooms. If you are unsure of the
features available in rooms, click on the features available in rooms
command button. This also brings up a separate window, showing what
features are available for that room number you entered.
As with the Customer Details/ Credit Card Details form, click new
booking command button to create a new booking. Click the rubbish bin
command button to delete the current record. And use the navigation
buttons to navigate through the booking records.
42
Alex Cooper
43
Alex Cooper
View Reports
On this database, you can view the Cleaners reports where it shows the
various cleaning tasks that the cleaners perform.
Click on the
command button to
view the report
44
Alex Cooper
on
Glossary of Terms
Query
A query is a question that you ask about the data in your table. Reports
from the queries can be produced.
Record
A record is all of the information collected about a specific event, thing,
product, or person, (such as a customer record).
Report
A report is used to show and print selected information from a table
45
Alex Cooper
Conclusion & Future Developments
Conclusion
In conclusion, this database met the user requirements as it was
much easier to use than a paper based system, customer records
can be kept, and achieved (the validation needs to be adjusted
according to the year). Also the possibility of making mistakes with
the invoice has been eliminated as, as query has been produced,
therefore calculations dont have to be done by hand. The likelihood
of a double booking has been eliminated as the database shows
only the vacant rooms on the given day (using the query).
Future Developments
There are several things that could be improved upon to make. This
is due to running out of the given time.
The improvements are:
46
Alex Cooper
Appendix B
Additional Designs (added after initial designs to improve usability)
Booking Form
Added Command button to run a query (Room Query) to show what
features are in a room (such as Satellite, Cot etc)
Room Query
Query
Description
As above
Criteria
Rooms
RoomNum, RoomType, Cot Available
Satellite Available, Internet Available, Price
Per Night, Games Console Available
32
Reports
Produced
No