hotel management system

84
0 Hotel Database MSystem Minor Project Chrichtian A. Neal May 15, 2013

Upload: chrichtian-a-neal

Post on 09-Feb-2016

649 views

Category:

Documents


1 download

DESCRIPTION

Amity Mini project

TRANSCRIPT

Page 1: Hotel Management System

0

Hotel Database Management System

Minor Project

Chrichtian A. Neal May 15, 2013

Page 2: Hotel Management System

Chrichtian A. Neal

CERTIFICATE

This is to certify that this a bona fide record to the project work done

satifactorily at Uttar Pradesh by Chrichtian A. Neal (BSc IT01542010-

2013027) of the BSCIT10 program.

This report or the similar report on this topic has not been submitted for

any other examination and does not form part of any othe course

undergone by the candidate.

Date: May 15, 2013

Signature of Project Guide:________________________________

Satish Singh

Nishant K Rai

Page 3: Hotel Management System

Chrichtian A. Neal

ABSTRACT

With the rapid changing of today’s worlds in technological advancements and

information ‘over charge’ (surplus), it is yet to draw a definite conclusion that there are

no opposing forces to the inevitable change. Information and Communication

Technology (interchangeably used as IT) with a referenced grip on MIS has bridge the

gap between people and information, but it is more interesting how information is derived

at to making decisions affecting every aspect of our individual lives.

An investigative survey was done amongst some urban hotels with in the city to

captivate, to an extent, the acceptance of the change afforded by Information Technology

in a day-to-day handling of resource raw data by which decisions are made and

businesses thrive. For the setting, it was noticed that as much as information (as a result

of organized data) plays a leading role in the businesses’ lives, just but a few would

consider the finds. On a larger scale, hotels were not managing data well or not at all, and

proposing a more efficient way of data management (considering the cost to the high

advantage) was such a constraint to hotel managers.

At a reasonable timing a hotel was able to see the need for such a change, allow a case

study to improve it already partially manual booking and cancellation process and semi-

electronic billing system. This project proves a basis to elaborate that the more concise,

centralize, and organized data becomes, so will the output (information) be. It was

discovered in analyzing the developed system to the former that efficiency, timing,

redundancy elimination, productivity, feasibility, and cost reduction were prime in its

objectives.

Based on this project, a closer look at the perception and the resource factor to improving

the overall goal to drive people and entities toward managing data which plays a critical

role in the decision they make, which improves or impedes productivity but focusing on

deriving an inexpressive module for the sole purpose of managing small and medium

(income generating) hotels facilities.

Page 4: Hotel Management System

Chrichtian A. Neal

ACKNOLEWDGEMENT

I would like to extend special thanks and gratitude to the Human Resource Manager of

The Cape Hotel, Mr. Victor J. Whitfield, for his valuable time afforded me in preparing

the outcome of this project.

Another big ‘thank you’ to my office (and entire staff) for allowing be the peace I needed

on Earth to complete this project. Had it not been for their understand and less unlimited

job requests, I wouldn’t have been able to come to a reasonable finish.

Page 5: Hotel Management System

Chrichtian A. Neal

TABLE OF CONTENT 1. Introduction .......................................................................................................................................... 1

1.1 Background ................................................................................................................................... 1 1.2 Objectives...................................................................................................................................... 1 1.3 Purpose, Scope, and Applicability ................................................................................................. 2

1.3.1 Purpose ................................................................................................................................. 2 1.3.2 Scope ..................................................................................................................................... 2 1.3.3 Applicability ........................................................................................................................... 2

1.4 Achievements ................................................................................................................................ 2 1.5 Organization of Report.................................................................................................................. 3

2. Survey of Technologies ......................................................................................................................... 4 3. Requirements and Analysis ................................................................................................................... 8

3.1 Problem Definition: ....................................................................................................................... 8 3.2 System Analysis: ............................................................................................................................ 8

3.2.1 Cape Hotel system at the moment runs as follows: ........................................................... 10 3.2.2 Problems faced with system at Cape Hotel ........................................................................ 10

3.3 Planning and Scheduling ............................................................................................................. 11 3.4 Software and Hardware Requirements:.................................................................................... 12

3.4.1 Computer ............................................................................................................................ 12 3.4.2 Printer ................................................................................................................................. 12 3.4.3 Software Requirement: ....................................................................................................... 12

3.5 Preliminary Product Description ................................................................................................. 13 3.5.1 End users requirement ........................................................................................................ 13 3.5.2 Hotel information ................................................................................................................ 13

3.6 Conceptual Models: .................................................................................................................... 15 3.6.1 System flowchart: ............................................................................................................... 16

4. System Design ..................................................................................................................................... 17 4.1 Data Design ................................................................................................................................. 17

4.1.1 Integrity and Constraints .................................................................................................... 17 4.1.2 Normalization of entities .................................................................................................... 18 4.1.3 Entity Relationship Diagram (ER Diagram) .......................................................................... 21 4.1.4 Functional Dependencies .................................................................................................... 22

4.2 Basic Modules: ............................................................................................................................ 23 4.2.1 Form prototype .......................................................................................................................... 23

4.3 User Interface Design: ................................................................................................................. 31 4.3.1 Main menu .......................................................................................................................... 32 4.3.2 Entity Relationship Diagram (ERD) ...................................................................................... 38

4.4 Security Issues: ............................................................................................................................ 43 4.4.1 User Identification............................................................................................................... 43 4.4.2 Network Access ................................................................................................................... 43 4.4.3 Recovery .............................................................................................................................. 43 4.4.4 Malware and Intrusion ........................................................................................................ 43

5. Implementation and Testing ............................................................................................................... 44 5.1 Coding: ........................................................................................................................................ 44

5.1.1 Forms: ................................................................................................................................. 44 5.1.2 Form_CreditCard ................................................................................................................. 47

Page 6: Hotel Management System

Chrichtian A. Neal

5.1.3 Form_Customer .................................................................................................................. 48 5.1.4 Form_Menu ........................................................................................................................ 48 5.1.5 Form_Report ....................................................................................................................... 50 5.1.6 Form_Room Available ......................................................................................................... 52 5.1.7 Queries: ............................................................................................................................... 52

5.2 Switchboard: ............................................................................................................................... 54 5.2.1 Switchboard codes: ............................................................................................................. 55

5.3 Testing Approach ........................................................................................................................ 59 5.4 Modifications and Improvements: .............................................................................................. 61

6. Results and Discussion ........................................................................................................................ 62 6.1 Test Reports: ............................................................................................................................... 62 6.2 User Documentation: .................................................................................................................. 63

7. Conclusion ........................................................................................................................................... 73 7.1 Limitations of the System: .......................................................................................................... 73 7.2 Future Scope of the Project ........................................................................................................ 74 REFERENCES ............................................................................................................................................ 75

APPENDIX .................................................................................................................................................... 76

Page 7: Hotel Management System

i

GLOSSARY

Term Definition

Data handling the process of ensuring that research data is stored, archived or disposed

in a safe and secure manner during and after the conclusion of a research

project. This includes the development of policies and procedures to

manage data handled electronically as well as through non-electronic

means

Front desk (receptionist) an employee that performs the duties of receiving guests

(booking), visitors, and answer phone calls.

QuickBooks is a line of business accounting software developed and marketed by

Intuit.

Penthouse is the apartment or room located at the top floor of a building usually

expensive for very high executive.

Switchboard is tool kit used by programmers which allows program with the help of

MS Office-embedded Visual Basic (VB) tools to create a Graphical User

Interface (GUI) to include command buttons to drive the SAS session.

ABBREVIATIONS The following project-specific and general technical abbreviations are used:

AIX Advanced Interactive eXecutive

CUI Character User Interface

FD Functional Dependency

GUI Graphical User Interface

HACMP High Availability Cluster Multiprocessing

Page 8: Hotel Management System

Chrichtian A. Neal

HR Human Resource

IBM International Business Machine Corporation

IEC International Electrotechnical Commission

ICT Information and Communication Technology

ISO International Organization for Standards

MS Microsoft

MSXML Microsoft eXtensible Markup Language

ODBS Open Database Connectivity

OLTP On-Line Transaction Processing

OS Operating System

PC Personal Computer

RAC Real Application Clusters

RDMS (RDBMS) Rational Database Management System

SAS Statistical Analysis System

SDLC Software Development Life Circle

SOE Standard Operating Environment

SP3 Service Pack (version 3)

SQL Structural Query Language

TPC-C Transaction Processing Performance Council

T-SQL Transact- Structural Query Language

VBA (VB)Visual Basic Application

VSC Vision Control System

XP eXPerience

Page 9: Hotel Management System

1

1. Introduction

This project provided a stimulus recipe of an investigative summary researching the

productivity afforded by employing the use of technology in helping make the most out

of our day to day situations.

I goes further to dissect the SDLC in putting a solution to the problem found with the

intended to alleviating the fear relating to cost that incur trying to take this worthy

venture.

The rest of the chapters will elaborate more details findings and methods taken to resolve

the problem found.

1.1 Background

This project document was done for The Cape Hotel after a feasibility done amongst 6

hotels with the urge to use ICT a productivity tool. A number of these hotel shares,

interesting, similar fate for the fear of welcoming a system to improve the accuracy of

decision made as a result of proper data storage and date manipulation. One would

deduce the fear being budgetary constraints, human resource drawback, amongst other.

In view of these facts, a turn-about phase after noticing some of the mentioned negative

perception on what ICT has to offer these hotels, a system that incorporates very low and

medium income generators (hotels) was focused upon.

1.2 Objectives

This guide seeks to create a database management system which will ease the burden on

the management of The Cape Hotel in making hotel reservations, maintaining guests’

records, check rooms availability per dates, and bill customers as per afforded services in

a timely fashion, and gradually wipe-out a manual excel spreadsheet ‘insert, merge and

highlight’ reservation system.

The project will also work out the modality regarding the cost efficiency factor to drive

more hotel management see the need and the greater advantages there are in welcoming

technology play a key part in handling all of their today’s information from scratch to

finish.

Page 10: Hotel Management System

Chrichtian A. Neal

2

1.3 Purpose, Scope, and Applicability

1.3.1 Purpose

This paper serves to provide a model for the developing and implementation a user-

friendly (GUI) and easy to use, without much provision of support, RDMS system for a

small and medium hotel managements to meet its overall hotel management needs.

1.3.2 Scope

This paper might find itself useful by following the sequence of procedures which are

applicable in the modeling of other similar RDBMS systems (to suite users’ need) for the

purpose of data handling. It ceases functionality when considering enormous work circle

of integrated heterogeneous hotel systems.

1.3.3 Applicability

This paper implementation, that which is the outcome, would be used at the front-desk,

other serves terminals and for administrative use at Cape Hotel, and is also applicable to

other similar small and medium size hotel facilities. Further development of this project

is opened to more research for improvements for scalable entities.

1.4 Achievements

A significant achievement has been gained as a result of a fully on-hands participation

and implementation of this project. More notable the importance of the SDLC played a

strategic role in road mapping difficulties to a more manageable piece of achievability.

The strain and stressed faced by programmers and the limitation of time factor which

impedes high efficiency of application was understood, and the question to why

technological ‘problems’ would not cease to exists was answered by the need for further

improvement (updates and patches).

Page 11: Hotel Management System

Chrichtian A. Neal

3

The project in itself is a hallmark which encourages deterred low income hotel system

would embrace a more meaningful data system tool for collation, analysis, and decision

based productivity. The financial constraint factor has been eradicated to a far and better

more agreeable level of a success story.

1.5 Organization of Report

This project provided a stimulus recipe of an investigative summary researching the

productivity afforded by employing the use of technology in helping make the most out

of our day to day situations.

I goes further to dissect the SDLC in putting a solution to the problem found with the

intended to alleviating the fear relating to cost that incur trying to take this worthy

venture.

The rest of the chapters will elaborate more details findings and methods taken to resolve

the problem found.

Page 12: Hotel Management System

Chrichtian A. Neal

4

2. Survey of Technologies

It is increasingly vertiginous to database application developers when it comes to

developing and implementing database applications as there are numbers of platforms,

languages, frameworks and other technicalities (as may be specified by user) to choose

from. Many database developers might find it tedious making a selection as per their own

needs or needs of client when putting many factors into play. Here are some database

platforms and their developers:

MS Access Microsoft Corporation

MS SQL ISO/IME

Oracle Oracle Corporation

Informix IBM

Sybase Berkeley, California

TeraData

DB2 IBM

MySQL MySQL AB (subsidiary of Oracle Corporation)

PostGreSQL PostgreSQL Global Development Group

Basically, the choice of database developers should be prone to questions like: who is the

user, what is the size of data (or organization) to be stored and, what kind of business

activities in line with available requirements, reliability, stability, maintenance issues,

which OS platform would the application be running on, how much is budgeted by the

user for such initiative, whether the need for an increase in the scope of the system will

emerge soon, and many others.

When only looking at inputting of data for information purpose, reference information, or

an alternative backup for data storage instead of saving such information in a file format,

then a selection of any of the above mention RDBMS platform (with distributive system

support) would do just good if considerations are not given to issues that concerns

latency, slowness of I/O, locking/blocking, and so on.

However, when the need arises for a database to play a more critical role (OLTP) in a

business-critical system, and the need to incorporate features such as no-down-time, high

availability, clustering, reliability, point-in-time recovery, scalability (for both

performance and data volume), replication for disaster recovery and reporting purposes,

Page 13: Hotel Management System

Chrichtian A. Neal

5

with extreme high speed and low latency (HPC), then such case will probably need an

RDBMS with enterprise solution features, which will incur high cost.

Table 1: Database platform comparison

HA Clustering Features

High performance/low latency/In memory DB

Scalability/ Performance

Replication

MS SQL Cluster provides HA failover but no load balancing

since it only supports Active/Passive mode (instance wise), there is no scalability at the instance level. There has to replacement of the whole cluster (or pair by pair), if the existing hardware has been throttled

has log shipping and database mirroring for warm/standby DB solutions (active/passive, r/w and read-only), and it supports transactional replication with the granularity at the article/object level (per table)

Oracle RAC is the best for HA clustering and load balancing and scalability

provides TimesTen in-memory database

if the existing hardware cannot keep up with the performance requirement, A simple adding of a beefier box to the cluster and gradually replace all other nodes, which protect our existing investment better.

One of the best ways for database cloning and one of the best DR solutions (using RMAN)

Informix

Sybase ASE 15 Cluster achieves the same thing as Oracle RAC

provides ASE in memory database

Sybase has the best replication solution, which out performs Oracle's Data guard

TeraData is a networked/distributed DB platform since birth

DB2 works very well with IBM’s pSeries/Power server running AIX HACMP(High Availability Cluster Multiprocessing), and Veritas VCS/Sun Cluster

MS Access (see table 2)

MySQL Cluster claimed higher TPC-C performance benchmarks than Oracle RAC

cluster uses an in-memory storage engine

cluster also supports adding nodes to the cluster with all nodes being active, but it is a share nothing cluster. More nodes mean more copies of databases, more storage and more network traffic for data replication among all nodes in the cluster.

provides shared nothing cluster, which basically is synchronous replication among all active nodes. And its asynchronous replication also supports at the transaction and object level

PostGreSQL

SQLite or eXtremeDB

Page 14: Hotel Management System

Chrichtian A. Neal

6

Table 2: Microsoft Access analysis

Access Advantage Disadvantage

Concurrent Users

Access was designed to operate on a network. Microsoft says that the latest version will support 255 concurrent users, however in practice it is recommended a comfortable limit of 15 to 20 simultaneous users.

it is a more practical choice to select Access when the database will be used by only 15 to 20 simultaneous users. If more than 20 users try to gain access to the database, performance and response time may begin to suffer

Multiple Windows Operating Systems

Whenever various Windows operating systems like Windows 98, Windows ME, Windows 2000, Windows XP, or Windows Vista are used to access the same database, the database may experience corruption issues. It is recommended that all Access users are operating with the identical operating system.

Novice User – Design and Development

One can use Microsoft Access for Rapid Application Development thus keeping costs down. Its object oriented model means it can build attractive, functional and easy to use applications in double-quick time.

A new user to software development may find that they are a bit overwhelmed when using MS Access. In order to maximize the potential of Access, a thorough understanding of relational database design along with VBA coding is highly recommended. As with any software development tool, the ease of screen use, database performance, automation of data input, and report quality relies on the skill level and experience of the developer

Sensitive Data Needs/Security

If sensitive data needs are required like storing health and medical records, financial information, academic records or employment data, for example, it will require more extensive database security than Access can offer

Internet

Access (2000 and later version) has close web links so online data access is made easier. With a shift towards e-commerce, Access’s web integration could prove very useful, if not now, then sometime in the near future.

Microsoft Access does have a few limitations. Access was not designed to be used with applications that are web based since its forms and reports are only functional in a Windows environment and are not compatible with an internet browser like Internet Explorer. The Access Jet database that is used by Microsoft Access is a file based system and does not contain the server features that are available in SQL Server, Oracle or other ODBC compliant databases. Access databases are more suited for web based solutions when the number of users is small or when the users are just viewing data rather than editing or deleting

OS Access Database has that familiar Windows ‘look and feel’. MS Access is one of the best-selling desktop databases of all time. As such the future support is ensured, and with Microsoft’s backing it should be around for some time.

Unfortunately, Microsoft Access is not designed to operate on Apple Macintosh computers. Since Access is commonly used in many businesses that use PC’s, Microsoft does not have any future plans to expand the database to be functional on a Mac

Cost The key advantage of Access Database is it comes packaged with Microsoft Office Professional - already be part of the SOE.

Benefits Flexibility is the key with Access. Knowing that not everyone is skilled at making databases, Microsoft created basic templates that a user can go and use immediately. However, a database can be built from scratch or the templates can be tweaked as needed to fit needs. Rather than inputting each record every time a project is started, Access holds thousands of records for revisit whenever needed, making it a time-saver, too. This is great because not only is the information there, but it can be used alongside other Microsoft programs such as Word. Simply create a mail merge with thousands of letters and join it together with the Access database. All contacts will be pulled from Access and dumped into each letter separately. Interaction between MS Outlook is possible too: Import contacts from MS Outlook contact book into Access or export contact information in Access and save it as a contact in Outlook.

Scalability Access has an upgrade path. So, if performance starts to suffer from an ever increasing number of users or records, it can be upsized to SQL Server.

Page 15: Hotel Management System

Chrichtian A. Neal

7

Based on the survey conducted and the options provided by available platforms to

undertake this project, the first pick was a backend SQL database running multiple T-

SQL statements with a user-friendly frontend VB, but with constraint of time and

compelling handiness as much as possible with not much disfavor to those necessary

inputs as provided by the need of the client (The Cape Hotel), MS Access was deemed

suitable for the implementation of the project.

Page 16: Hotel Management System

Chrichtian A. Neal

8

3. Requirements and Analysis

3.1 Problem Definition:

The Cape hotel has two systems for storing and gathering information upon reservation

and other requests. Due to ambiguity and cumbersomeness of their systems in use, they

desire a more robust system to alleviate the complexity of working with a manual and

half electronic automated system for the production of desirable results. The system will

store details about guest, make booking of available rooms, price calculation and make

billing report.

3.2 System Analysis:

A meeting with the HR manager (Victor Whitfield) of the Cape Hotel to find out the

inner working of his system was scheduled. To get more information about his current

systems and procedures, questions asked where:

Question: What system do you use for managing your hotel regarding room reservation

and billing and the related?

Victor: We have an Excel spreadsheet with all the booking. We print it and manually

shade with a highlighter to book room/dates and monitor.

Question: So, there isn’t an automated system for doing what you’ve just explained?

Victor: We do have the Omega system but we don’t use it for that purpose. We use it for

acquiring bills from the other terminals for grand totaling.

Question: Why are you not using a system you’ve purchased to do the work in a more

simplified manner?

Victor: I meet the system here, and no one actually said anything about how efficiently

the system must be handled. I was told that only the billing aspect of the software was in

use before my incumbency.

Question: How are booking done?

Victor: We most times get booking by emails, and at times phone calls. As per the date in

question for booking, the booking chart printed from the Excel spread sheet is checked,

Page 17: Hotel Management System

Chrichtian A. Neal

9

and based on the information available we inform guests on available types of rooms,

pricing, and if not, then the future available dates of vacant rooms.

Question: How are booking cancellation done?

Victor: The merged Excel cells are unmerged upon cancellation, and the already printed

sheets are remerged with white-off.

Question: It seems a bit of a headache but considering what you’ve just explained, have

you ever experienced a time where complications or humanly errors with booking or

cancelation occured?

Victor: Very often. At times if cancellation is done on the spreadsheet by the receptionist

and not followed up to be changed in the excel sheet. We do over-book or misinform

guest with no vacant rooms. The most difficult task is tracing dates of all future available

rooms.

Question: How do you create invoices or bills for guests?

Victor: We tabulate all bills from other service points, sum from excel spreadsheet total

days, and use our QuickBooks system to print out invoices.

Question: As the HR manager, what is your own level of proficiency with computers and

peripherals and that of other staff at front-desk and terminals?

Victor: I am an advanced computer user, and the rest of the front-desk staff are all

computer basics for the minimal.

Question: What are the computer devices and accessories you have here?

Victor: As you can see, this office has two desktop PCs (HR and Finance Managers) and

these HP printers are inter-networked between my computer and the finance manager.

The front-desk has a desktop PC and a printer. And the restaurant has a desktop PC for

entering data via the Omega.

Question: What operating systems are you using on your computer?

Victor: We have Windows XP on our computers.

Question: What do you have in your budget for the new system to be implemented, if I

should want to know?

Victor: I can’t say much but I can assure you that we run under a $5,000.00USD budget

for sort of improvement until we can move in new building in June.

Page 18: Hotel Management System

Chrichtian A. Neal

10

Question: So, you’ll be moving in a new building by June. How long will the process of

moving out take?

Victor: Two weeks definite.

3.2.1 Cape Hotel system at the moment runs as follows:

- Reservations are done via email or phone call to the front-desk and the details are

entered either into a manual chart and later updated into the excel spreadsheet.

- Cancellations are made by whiting out the colored-merged cell and unmerging

merged cell in the spreadsheet.

- Room preparation instructions for the room to be made ready daily are hand

written with the information gained from the chart.

- Customer bills are calculated from multiple sources.

3.2.2 Problems faced with system at Cape Hotel

- Searching for available rooms can be time consuming.

- Rooms could be booked twice.

- Issuing of the days instruction is prone to mistake (eg: room cleaning).

- Changes are hand correct and follow up to be updated which is also prone to

mistake by forgetfulness.

- Calculating costs is also prone to error.

Page 19: Hotel Management System

Chrichtian A. Neal

11

3.3 Planning and Scheduling

Table 3: Simulated Gnatt chart

ID Task Procedures Duration wk1 wk2 wk3 wk4 wk5 Wk6 Wk7 Wk8 Wk9 Wk10

1 Begin project

2 Survey 1 - 6 3days

3 Phase1 –Forms dev. 2days

4 Phase2 –Table creation 4days

5 Phase3 –Coding/link entities 8days

6 Phase4 –Creating validation 2days

7 Phase5 –integrating forms 1day

8 Phase6 –Testing validation 6days

9 Phase7 –Debugging errors 14days

10 Phase8 –Creating queries 3days

11 Phase9- Testing validation 6days

12 Phase10-Modifying queries 2days

13 Phase11-Debug SQL statements 5days

14 Phase12-Creating Report design 1day

15 Phase13-coding (SQL & VB) 8days

16 Phase14-overall integration 5days

17 Phase15-overall debugging 4days

18 Phase16-modification (CUI/GUI) 1day

19 Phase17 Integrated Testing 5days

20 Phase18: Modification to suite spec 4days

21 Phase19: Testing and debugging 5days

22 Finish: implementation

Page 20: Hotel Management System

Chrichtian A. Neal

12

3.4 Software and Hardware Requirements:

Hardware Requirement: (minimum)

3.4.1 Computer

500 MHz processor or more

512 MB RAM

Drive CD-ROM or DVD drive

300 MB of available hard-disk space.

Display 1024x576 or higher resolution monitor

Graphics hardware acceleration requires a DirectX 9.0c graphics card with

64 MB or more video memory.

3.4.2 Printer

Any Deskjet or LaserJet printer would do (the HP LJ1008 already in place

would work perfectly)

3.4.3 Software Requirement:

Microsoft Windows XP SP3 (32bits)

Microsoft Access 2003/2007/2010

Microsoft .NET Framework 3.5

MSXML 6.0

Antivirus software

Page 21: Hotel Management System

Chrichtian A. Neal

13

3.5 Preliminary Product Description

The new hotel reservation system should be able to meet the following requirements:

keep the records of the guests and the room booked to them

the system should be able to ease the cancellation of bookings made earlier

guest should be able to know the availability of the rooms on a particular date.

the record of food and services availed to the customer should be kept.

the system should be able to generate the bill for a customer who wants to

checkout.

3.5.1 End users requirement

reduction in paperwork and other resources needed

production of reports and lists

easy to use

faster means of booking and cancellation

store records on all customer orderly for easy access

produce accurate bills

single clicking in system rather than double clicking

This MS Access hotel database management system would require user with a minimum

knowledge of computer basic in Microsoft Office Suite. Front-desk, restaurant, and

business (accounts) offices are the three (3) interactive users of the system.

User will decrypt database upon program startup and then be able to make data entry,

information inquiry or report printing. The entire system is menu driven and provides

easy-to-use functionality.

3.5.2 Hotel information

Guests are billed by per person on pay-per night basis (24 hours)

There are 5 types of rooms available and 2 conference rooms.

The hotel has two sections with 3 floors including penthouse suites.

All rooms have a safe box for valuables, phone line, TV, but Internet access,

satellite TV, game console, and Crib (available in family suites only) has to been

requested due to additional cost.

75 rooms in total :

Page 22: Hotel Management System

Chrichtian A. Neal

14

1 penthouse suite (room #200)

7 junior suites (room #191 - #197)

10 double suites (room #170 - #180)

15 family suite (room #151 - #165)

42 single suites (room #101 - #142)

2 conference rooms (room #11 & #22)

Table 4: Pricing chart:

Room

s Single $150.00 Meal options

Family $350.00 Breakfast $15.00

Double $300.00 Full meal $30.00

Junior $275.00

Penthouse $700.00 Other options

Satellite TV $10.00/night

Conference Executive $50.00/hr Gaming console $7.00/night

Junior $30.00/hr Internet $5.00/night

Crib $10.00/night

Service staff $10.00/hr

NOTE: The currency is restricted to the United States Dollars (as used in Liberia for business transactions)

Page 23: Hotel Management System

Chrichtian A. Neal

15

3.6 Conceptual Models:

The system with act a mediatory role between guest request and front-desk (receptionist)

in the process of providing rational information based on stored data.

Guests will be afforded provision to make booking(s) and based on availability of

request they will also be able to make booking, and on a later date due to reasons best

known to guest also be able to request cancellation of booking make.

The front-desk is left with the rest of the task, to query for information to make wise

decision based on the request of guest. Booking will be done if provisions are met.

Cancellation will be made if guest finds it unnecessary to buy the services, and checking-

in of new guest and checking-out of guest after expiration of stay will be done by the

front-desk.

The internal process provides booking, check-in, and check-out information to front-desk

based on guests’ request or inquiry.

Page 24: Hotel Management System

Chrichtian A. Neal

16

3.6.1 System flowchart:

Figure 1: ER diagrams

Page 25: Hotel Management System

Chrichtian A. Neal

17

4. System Design

4.1 Data Design

4.1.1 Integrity and Constraints

The system is going to be menu driven will backend data into a database inform of

tables. See table below:

Table 5: Data Dictionary

Field Name Data type

CustomerName Text Address Text PostCode Text TelephoneNo Text BookingID AutoNumber Arrival Date/Time Checkout Date/Time RoomNo Number PricePerNight Currency RoomType Drop Down menu Crib Yes/No SatelliteTV Yes/No GamesConsole Yes/No InternetAccess Yes/No Breakfast Yes/No FullMeals Yes/No PaymentMethod Drop Down menu CreditcardNo Test CreditCardExpdate Date/Time

These are attributes identified for the implementation of the system table structure, but

first we will have to normalize this structure for efficiency and redundant alleviation; yet

setting a defined relationship with normalized entities.

Field Name Data type

CustomerName Text Address Text PostCode Text TelephoneNo Text

Customer Table

Page 26: Hotel Management System

Chrichtian A. Neal

18

BookingID AutoNumber Arrival Date/Time Checkout Date/Time RoomType Drop Down

menu CribRequired Yes/No SatelliteTV Yes/No GamesConsole Yes/No InternetAccess Yes/No Breakfast Yes/No FullMeals Yes/No

PaymentMethodID AutoNumber PaymentMethod Drop Down

menu

CreditcardNo Test CreditCardExpdate Date/Time

RoomNumber Number RoomType Text PricePerNight Currency

4.1.2 Normalization of entities

Additional attributes were derived to make the tables more meaningful which includes

the smallest of its attributes, for example the address attribute is broken down in address

line 1, address line 2, and Town.

Table 6: Customer

Field Name Data Type Field Size/Key

CustomerID Auto Number Primary Key

FirstName Text 50

Lastname Text 50

AddressLine1 Text 50

AddressLine2 Text 50

Town Text 50

PostCode Text [input mask] (10)

Telephone Text [input mask] (10)

CreditCardNumber Number Foreign Key

PaymentMethod Text 50

Booking Table

Payment Method Table

CreditCard Table

Room Table

Page 27: Hotel Management System

Chrichtian A. Neal

19

Table 7: Booking

Field Name Data Type Field Size/Key

BookingID Auto Number Primary Key

Arrival Date/Time (short date) NA

Checkout Date/Time (short date) NA

CustomerID Number Foreign Key

RoomNumber Number Foreign Key

CribRequired(nights) Number NA

SatelliteTVRequired (nights) Number NA

GamesConsoleRequired(nights) Number NA

InternetRequired(nights) Number NA

HoursRequire Number NA

StaffRequired Number NA

BreakfastRequired Number NA

FullMealsRequired Number NA

PaymentMethod Text Foreign Key

Table 8: Credit card

Field Name Data Type Field Size/Key

CreditCardNumber Text Primary Key (25)

ExpiryDate Text Short date (6)

CardHolderName Text 50

Table 9: Rooms

Field Name Data Type Field Size/Key

RoomNumber Number Primary Key

RoomType Text [combo box] ["Single";"Double";"Junior";"Family";"Pen

thouse";"Conference"

PricePerNight Currency NA

CribAvailible Yes/No [check box] NA

SatelliteAvailible Yes/No [check box] NA

GamesConsoleAvailible Yes/No [check box] NA

InternetAvailible Yes/No [check box] NA

Table 10: Payment Method

Field Name Data Type Field Size/Key

PaymentMethodID Auto Number Primary Key (25)

PaymentMethod Text [List box] NA

Page 28: Hotel Management System

Chrichtian A. Neal

20

Table 11: Validation

Table Field Name Validation rule Validation text

Booking Arrival Not Between #01/06/12#

And #15/06/12# *

“Hotel is close until relocation is

over”

* The HR manager did talk about the hotel closure for relocation the first 2 weeks in June 2012

Table 12: Input (using input masks)

Table Field Name Validation rule Place holder

Customer PostCode >LL00\ 0LL;;_ _

Customer Telephone \(9999)”999999;;_ _

Table 13: Queries

Table Criteria Fields & table to include Reports

produced

Rooms Reserved PARAMETERS [Please enter 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));

Booking No

Checks room

availability

(uses Rooms

Reserved Query

SELECT Rooms.RoomNum

FROM Rooms LEFT JOIN

[Rooms Reserved] ON

Rooms.RoomNum=[Rooms

Reserved].Room WHERE

((([Rooms Reserved].Room) Is

Null));

Rooms table & Rooms

Reserved query

No

Rooms Available

and Room type

None (combines Rooms

Available query and Rooms table

Rooms table and Rooms

Available

No

Invoice details for a

report

of Staff, Breakfast, Set

Meals, Arrival, Checkout

Booking, Rooms

Credit Card Number,

FirstName, Surname,

Address line 1,

Address line 2, Town,

Postcode, Telephone

Number, Booking ID,

Yes

Page 29: Hotel Management System

Chrichtian A. Neal

21

Customer Number, Room

Num, PricePerNight, Crib,

Satellite TV, Games console

and game hire, Internet

Access, , Number of hours

needed, Number

Which rooms need

cleaning or

preparing

for new guest

Arrival=Date()

Bookings, Rooms

Room type, Arrival,

RoomNum

Yes

Which rooms need

cleaning for guest

departure

Checkout=Date() Bookings, Rooms, Room

type, checkout, Room Num

Yes

Daily Room Clean Bookings, Rooms RoomNum, Room Type,

Arrival, Checkout

Yes

Rooms Query

(shows the features

available in the

room

RoomNum [Enter Room

Number]

Rooms RoomNum,Type,Intenret,Cot,

meals,

Breakfasts, games console,

satalite

4.1.3 Entity Relationship Diagram (ER Diagram)

Rooms

RoomNumber RoomType PricePerNight CribAvailable SataliteTVAvailable GamesAvailalable InternetAvaliable

Booking

BookingID Arrival Checkout CustomerID RoomNumber CribRequired SatelliteRequired GamesRequired InternetRequired HoursRequired ServiceStaffRequired FullMeals Breakfast PaymentMethod

Customer

CustomerID FirstName SurName AddressLine1 AddressLine2 Town PostCode Telephone CreditCardNumber PaymentMethodID

CreditCard

CreditCardNumber Expiry Date CardHolderName

PaymentMethod

PaymentMethodID PaymentMethod

Legend

Primary Key Foreign Key

Page 30: Hotel Management System

Chrichtian A. Neal

22

4.1.4 Functional Dependencies

The Entity Relationship diagram above depicts the following:

1. that In all tables attribute values are atomic, each with their own primary key

necessarily making it into first normal form(1NF)

2. all tables have no partial dependency and in that a relationship was created

between tables employing foreign keys to put them in the second normal form

(2NF), yet with a transitive dependency amongst the Customer, Booking, and

Payment Method tables.

3. There is a transitive dependency between PaymentMethod and booking

tabled , so they are NOT in 3NF.

4. All tables are also in BCNF because all FDs contain only primary key (which is of

course superkey) corresponding to their respective relation.

Page 31: Hotel Management System

Chrichtian A. Neal

23

4.2 Basic Modules:

4.2.1 Form prototype

Database structure

main menu

Hotel Logo

Check room availability

Add new customer record

Exit button

Add credit card information

Booking/ reservation

Reports: -daily cleaning -rooms for cleaning -invoices, etc

Booking Form

Page 32: Hotel Management System

Chrichtian A. Neal

24

4.2.1.1 Startup main menu

Hotel Logo

Reports Exit

Check Room Availability Command buttons

View/ Add Customer Records

View/ Add Credit Card Records

View/ Add Booking

Labels

Page 33: Hotel Management System

Chrichtian A. Neal

25

4.2.1.2 Check Room Availability Form

Room Availability

List box (From the rooms and room type query – displays the rooms and types/ according to date entered in query)

For caption/ title bar

System scrollbar

Page 34: Hotel Management System

Chrichtian A. Neal

26

4.2.1.3 View/ Add Customer Record Form

Customer Details

First Name

Last Name

Address Line 1

Address Line 2

Town/City

Postcode

Telephone

Payment Method

Credit Card Type

Add Customer Go to Booking

ID:

To Add a new customer, click 'Add Customer' Button. To delete a customer, press the button with the rubbish bin on. To Navigate the Customer Records, use the arrows to cycle through.

Instructions (label) – visible on screen

Navigation buttons (to flip between records)

Delete button (Deletes current customer record)

Creates new Booking (add new record)

Combo box (shows credit card numbers)using lookup wizard

Combo box (shows payment method : “Cash” or “Credit card”). It also enables the credit card combo button if payment method = “creditcard”

Page 35: Hotel Management System

Chrichtian A. Neal

27

4.2.1.4 View/ Add Credit Card Record Form

4.2.1.5 View/ Add Booking Form

Delete current record

Credit Card Entry Form

To Add a new Credit Card, click 'Add Credit Card' Button. To delete a Credit Card, press the button with the rubbish bin on. To Navigate the Credit Cards, use the arrows to cycle through.

Card Number

Expiry Date

Card Holders Name

Add Credit card

Navigation bottom

Onscreen instructions

Add new credit card record button

Instructions (label) – visible on screen

Booking Form

Arrival

Checkout

Room

Customer ID

No. of NightsCrib Required

No. of Satellite Required No. of Game Required

mm/dd/yyyy

mm/dd/yyyy

101

24

0

Room Availability

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

0

0

Features Available in Rooms

Command button to run Room availability form

Page 36: Hotel Management System

Chrichtian A. Neal

28

Notes on Booking form:

1. Room: Drop down combo box (Lookup wizard) showing the Room Number,

Room type and Price Per Night (from the Rooms table).

2. Customer ID: Drop down or 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).

3. Payment Method: Drop down combo box (Lookup wizard) allows the payment

type “Cash” or “CreditCard” to be entered in the payment method table.

Additional notes (for the rest of the forms):

Page 37: Hotel Management System

Chrichtian A. Neal

29

Most of the data entries fields have help text (controlTip Text), so that when the

user hovers the pointer over an icon/button, a brief description is displayed as tip.

4.2.1.6 Invoice Design

Table 14: Query to get the Report

Query

Description

Criteria Fields & table to include Reports

produced

Invoice RoomNumber = [Enter Room Number] Checkout = date()

SELECT Booking.Arrival, Booking.Checkout,

Rooms.RoomNum, Rooms.RoomType,

Rooms.PricePerNight, Booking!Checkout-

Booking!Arrival AS NoOfNights,

[NoOfNights]*Rooms!PricePerNight AS

AccomodationCost,Booking![SataliteRequired(ni

ghts)]*10 AS SatelliteTV,

Booking![GamesRequired(nights)]*7 AS

GamesConsole,

Booking![InternetRequired(nights)]*5 AS

Internet,

Booking![CribRequired(nights)]*10 AS Crib,

Booking!FullMeals*30 AS FullMeal,

Booking!Breakfast*15 AS Breakfast,

[AccomodationCost]+[SatelliteTV]+[GamesConsol

e]+[Internet]+[Crib]+[FullMeal]+[Breakfast]*0

.07 AS TotalVAT FROM Rooms INNER JOIN Booking

ON Rooms.RoomNum = Booking.Room

WHERE (((Booking.Checkout)=Date()) AND

((Rooms.RoomNum)=[Enter Room Number]));

Yes

4.2.1.7 Design of the report form

Customer Invoice

Hotel Logo

Arrival: mm/dd/yyyy Checkout: mm/dd/yyyy Room:

Room No : xx Room Type: xxxx Room Price /night : xx No. of nights stayed : xx Accommodation cost: xx Services upon request: Satellite TV : xxxx GameConsole: xxxx Internet : xxxx

Page 38: Hotel Management System

Chrichtian A. Neal

30

4.2.1.8 Queries Reports

Query Layout

Daily Room Cleaning Columnar (sorted ascended by room date)

Rooms to Prepare for Guests arriving

Columnar (sorted ascended by room date)

Rooms to Prepare for Guests leaving

Columnar (sorted ascended by room date)

Page 39: Hotel Management System

Chrichtian A. Neal

31

4.3 User Interface Design:

The design provides use a group of buttons driven by event handlers to ease transactions

within the system. The database is mapped to the desktop of the user(s) computer. It

requires a user’s name and password (as provided by the database administrator – which

can be created in the ‘Users and permission’ tab of MS Access) to decrypt the database

for interaction.

When user name and password is authenticated, and second screen requesting database

password with prompt user:

Upon authentication with then the main menu is displayed. See on next page:

User name and password authentication window

Page 40: Hotel Management System

Chrichtian A. Neal

32

4.3.1 Main menu

Page 41: Hotel Management System

Chrichtian A. Neal

33

4.3.1.1 Room availability form

The criteria set for the provision of this form would require the arrival and checkout dates

of guest to determine consistency in avoiding over-booking.

Parameter prompt input boxes:

Arrival date checkout date

Certifying the input criteria above would render the available rooms as shown below:

Command buttons: linking different forms

Quit button: Exit with saving

Page 42: Hotel Management System

Chrichtian A. Neal

34

The rooms displayed is based on the dates Input as in this case 12/03/12 and 13/04/12)

Page 43: Hotel Management System

Chrichtian A. Neal

35

4.3.1.2 Customer form

4.3.1.3 CreditCard form

Booking form

Customer ID number

Onscreen instructions

Shortcut button back to Booking form

Navigate between records buttons

Add new record button

Delete existing record button

Onscreen instructions

Navigate button to view existing details

Add new credit card detail button

Deleted credit card button

Command button to check availability of rooms (see Room availability form)

Page 44: Hotel Management System

Chrichtian A. Neal

36

4.3.1.4 Features available in room table

User is prompted to input room in question to proving a list of available features. Feature

could also be added from same table upon request.

Combo box to select payment method: ‘Cash’ or ‘Creditcard’

Command button resets displayed details to allow new input data. It store new input when clicked

Command button to delete already stored data in database relating to booking. Let’s call it cancelation

Room 170 available features:

Room 170 was validated for query

Page 45: Hotel Management System

Chrichtian A. Neal

37

4.3.1.5 Report forms

Command button for various forms

Page 46: Hotel Management System

Chrichtian A. Neal

38

4.3.2 Entity Relationship Diagram (ERD)

Live samples:

Page 47: Hotel Management System

Chrichtian A. Neal

39

Total cost for nights stayed

Breakdown cost for other services

Total (accommodation + services)

Grand total

7% GST total

Page 48: Hotel Management System

Chrichtian A. Neal

40

Room type and number

Guest check out date

Guest check in date

Page 49: Hotel Management System

Chrichtian A. Neal

41

Date of arrival

Room type

Room number

Page 50: Hotel Management System

Chrichtian A. Neal

42

Page 51: Hotel Management System

Chrichtian A. Neal

43

4.4 Security Issues:

4.4.1 User Identification

This project runs very minimal on high-level security provision based on the scope of

operation of the client and its operational size.

The database is password encrypted and decryption is done when a valid password is

entered.

4.4.2 Network Access

Same password policy applies to network used except the source database is shared with

the attribute ‘$’ making it invincible to network user. The database source is subsequently

mapped to specific users’ desktops.

4.4.3 Recovery

An automatic backup will be schedule for a daily differential backup to an external hard

disk or network disk.

4.4.4 Malware and Intrusion

A recommendation for a robust antivirus and spyware application will be deployed.

Example Kaspresky 2011, and or Microsoft Security Essential.

Page 52: Hotel Management System

Chrichtian A. Neal

44

5. Implementation and Testing

Due to the highly unstructured nature of the project, it was indeed difficult to run

smoothly with the implementation phase. The debugging and test of codes which

practically took most of the time estimated ran ‘top-down’.

5.1 Coding:

Here included are queries (SQL statement) and coding (VB) implementing workability in

the database:

5.1.1 Forms:

Form_Booking

Option Compare Database

Private Sub Command22_Click()

On Error GoTo Err_Command22_Click

'declaring modular variables

Dim stDocName As String

Dim stLinkCriteria As String

'wizard decleared: button that opens a Rooms Available form

stDocName = "Rooms Available"

DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Command22_Click:

Exit Sub

Err_Command22_Click:

MsgBox Err.Description

Resume Exit_Command22_Click

End Sub

Private Sub Command26_Click()

On Error GoTo Err_Command26_Click

Dim stDocName As String

Page 53: Hotel Management System

Chrichtian A. Neal

45

stDocName = "Rooms Query"

DoCmd.OpenQuery stDocName, acNormal, acEdit

Exit_Command26_Click:

Exit Sub

Err_Command26_Click:

MsgBox Err.Description

Resume Exit_Command26_Click

End Sub

Private Sub Delete_Record_Click()

On Error GoTo Err_Delete_Record_Click

DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70

DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70

Exit_Delete_Record_Click:

Exit Sub

Err_Delete_Record_Click:

MsgBox Err.Description

Resume Exit_Delete_Record_Click

End Sub

Private Sub Command32_Click()

On Error GoTo Err_Command32_Click

DoCmd.GoToRecord , , acNewRec

Exit_Command32_Click:

Exit Sub

Err_Command32_Click:

MsgBox Err.Description

Resume Exit_Command32_Click

End Sub

Private Sub Command33_Click()

On Error GoTo Err_Command33_Click

DoCmd.GoToRecord , , acNext

Exit_Command33_Click:

Exit Sub

Err_Command33_Click:

MsgBox Err.Description

Resume Exit_Command33_Click

End Sub

Private Sub Command34_Click()

On Error GoTo Err_Command34_Click

Page 54: Hotel Management System

Chrichtian A. Neal

46

DoCmd.GoToRecord , , acPrevious

Exit_Command34_Click:

Exit Sub

Err_Command34_Click:

MsgBox Err.Description

Resume Exit_Command34_Click

End Sub

Private Sub Command45_Click()

On Error GoTo Err_Command45_Click

Dim stDocName As String

Dim stLinkCriteria As String

stDocName = "Menu"

DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Command45_Click:

Exit Sub

Err_Command45_Click:

MsgBox Err.Description

Resume Exit_Command45_Click

End Sub

Private Sub Command52_Click()

On Error GoTo Err_Command52_Click

'to reset all inputs on the form

Dim ctlC As Control

For Each ctlC In Me.Controls

If ctlC.ControlType = acTextBox _

Or ctlC.ControlType = acComboBox Then ctlC = Null

Next ctlC

DoCmd.RunCommand acCmdRefresh

Exit_Command52_Click:

Exit Sub

Err_Command52_Click:

MsgBox Err.Description

Resume Exit_Command52_Click

End Sub

Page 55: Hotel Management System

Chrichtian A. Neal

47

5.1.2 Form_CreditCard

Private Sub Command7_Click()

On Error GoTo Err_Command7_Click

DoCmd.GoToRecord , , acNewRec

Exit_Command7_Click:

Exit Sub

Err_Command7_Click:

MsgBox Err.Description

Resume Exit_Command7_Click

End Sub

Private Sub Command8_Click()

On Error GoTo Err_Command8_Click

DoCmd.GoToRecord , , acNewRec

Exit_Command8_Click:

Exit Sub

Err_Command8_Click:

MsgBox Err.Description

Resume Exit_Command8_Click

End Sub

Private Sub Command9_Click()

On Error GoTo Err_Command9_Click

DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70

DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70

Exit_Command9_Click:

Exit Sub

Err_Command9_Click:

MsgBox Err.Description

Resume Exit_Command9_Click

End Sub

Private Sub Command10_Click()

On Error GoTo Err_Command10_Click

DoCmd.GoToRecord , , acPrevious

Exit_Command10_Click:

Exit Sub

Err_Command10_Click:

MsgBox Err.Description

Page 56: Hotel Management System

Chrichtian A. Neal

48

Resume Exit_Command10_Click

End Sub

Private Sub Command11_Click()

On Error GoTo Err_Command11_Click

DoCmd.GoToRecord , , acNext

Exit_Command11_Click:

Exit Sub

Err_Command11_Click:

MsgBox Err.Description

Resume Exit_Command11_Click

End Sub

5.1.3 Form_Customer

Private Sub AddressLine2_BeforeUpdate(Cancel As Integer)

End Sub

Private Sub Combo29_BeforeUpdate(Cancel As Integer)

'to enable and disable payment method combo method

If Combo29.Value = "Cash" Then

Combo24.Enabled = False

Else: Combo24.Enabled = True

End If

End Sub

5.1.4 Form_Menu

Private Sub Command1_Click()

On Error GoTo Err_Command1_Click

Dim stDocName As String

Dim stLinkCriteria As String

stDocName = "Rooms Availabe"

DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Command1_Click:

Page 57: Hotel Management System

Chrichtian A. Neal

49

Exit Sub

Err_Command1_Click:

MsgBox Err.Description

Resume Exit_Command1_Click

End Sub

Private Sub Command5_Click()

On Error GoTo Err_Command5_Click

Dim stDocName As String

Dim stLinkCriteria As String

stDocName = "Customer"

DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Command5_Click:

Exit Sub

Err_Command5_Click:

MsgBox Err.Description

Resume Exit_Command5_Click

End Sub

Private Sub Command7_Click()

On Error GoTo Err_Command7_Click

Dim stDocName As String

Dim stLinkCriteria As String

stDocName = "CreditCard"

DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Command7_Click:

Exit Sub

Err_Command7_Click:

MsgBox Err.Description

Resume Exit_Command7_Click

End Sub

Private Sub Command11_Click()

On Error GoTo Err_Command11_Click

DoCmd.Quit

Exit_Command11_Click:

Exit Sub

Err_Command11_Click:

MsgBox Err.Description

Resume Exit_Command11_Click

End Sub

Private Sub Command13_Click()

On Error GoTo Err_Command13_Click

Page 58: Hotel Management System

Chrichtian A. Neal

50

Dim stDocName As String

Dim stLinkCriteria As String

stDocName = "Reports"

DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Command13_Click:

Exit Sub

Err_Command13_Click:

MsgBox Err.Description

Resume Exit_Command13_Click

End Sub

Private Sub Command14_Click()

On Error GoTo Err_Command14_Click

Dim stDocName As String

Dim stLinkCriteria As String

stDocName = "Booking"

DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Command14_Click:

Exit Sub

Err_Command14_Click:

MsgBox Err.Description

Resume Exit_Command14_Click

End Sub

5.1.5 Form_Report

Private Sub Command0_Click()

On Error GoTo Err_Command0_Click

Dim stDocName As String

stDocName = "Daily Room Cleaning"

DoCmd.OpenReport stDocName, acPreview

Exit_Command0_Click:

Exit Sub

Err_Command0_Click:

MsgBox Err.Description

Resume Exit_Command0_Click

End Sub

Private Sub Command2_Click()

Page 59: Hotel Management System

Chrichtian A. Neal

51

On Error GoTo Err_Command2_Click

Dim stDocName As String

stDocName = "Rooms to Prepear for guests arriving"

DoCmd.OpenReport stDocName, acPreview

Exit_Command2_Click:

Exit Sub

Err_Command2_Click:

MsgBox Err.Description

Resume Exit_Command2_Click

End Sub

Private Sub Command4_Click()

On Error GoTo Err_Command4_Click

Dim stDocName As String

stDocName = "Rooms to Prepear for guests leaving"

DoCmd.OpenReport stDocName, acPreview

Exit_Command4_Click:

Exit Sub

Err_Command4_Click:

MsgBox Err.Description

Resume Exit_Command4_Click

End Sub

Private Sub Command6_Click()

On Error GoTo Err_Command6_Click

Dim stDocName As String

Dim stLinkCriteria As String

stDocName = "Menu"

DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Command6_Click:

Exit Sub

Err_Command6_Click:

MsgBox Err.Description

Resume Exit_Command6_Click

End Sub

Private Sub Command6_Exit(Cancel As Integer)

End Sub

Private Sub Command9_Click()

On Error GoTo Err_Command9_Click

Dim stDocName As String

Page 60: Hotel Management System

Chrichtian A. Neal

52

stDocName = "Invoice"

DoCmd.OpenReport stDocName, acPreview

Exit_Command9_Click:

Exit Sub

Err_Command9_Click:

MsgBox Err.Description

Resume Exit_Command9_Click

End Sub

5.1.6 Form_Room Available

Private Sub Command3_Click()

On Error GoTo Err_Command3_Click

DoCmd.Close

Exit_Command3_Click:

Exit Sub

Err_Command3_Click:

MsgBox Err.Description

Resume Exit_Command3_Click

End Sub

5.1.7 Queries:

Query Creteria SQL Code Booking SELECT Booking.[Booking ID], Booking.Arrival,

Booking.Checkout, Booking.RoomNum,

Booking.CustomerID,

Booking.[CribRequired(nights)],

Booking.[SataliteRequired(nights)],

Booking.[GamesRequired(nights)],

Booking.[InternetRequired(nights)],

Booking.HoursRequired,

Booking.ServiceStaffRequired

FROM Booking;

Daily room cleaning

Date() SELECT Booking.Arrival, Booking.Checkout,

Booking.RoomNum, Rooms.RoomType

FROM Rooms INNER JOIN Booking ON Rooms.RoomNum =

Booking.[RoomNum]

WHERE (((Booking.Arrival)=Date()));

Page 61: Hotel Management System

Chrichtian A. Neal

53

Rooms to clean when guest leaves

Date() SELECT Rooms.RoomNum, Rooms.RoomType,

Booking.Checkout

FROM Rooms INNER JOIN Booking ON Rooms.RoomNum =

Booking.[RoomNum]

WHERE (((Booking.Checkout)=Date()));

Rooms to clean upon guest arrival

Date() SELECT Booking.Arrival, Booking.RoomNum,

Rooms.RoomType

FROM Rooms INNER JOIN Booking ON Rooms.RoomNum =

Booking.[RoomNum]

WHERE (((Booking.Arrival)=Date()));

Invoice Date(),[Enter the Room

number]

SELECT Booking.Arrival, Booking.Checkout,

Rooms.RoomNum, Rooms.RoomType,

Rooms.PricePerNight, Booking!Checkout-

Booking!Arrival AS NoOfNights,

[NoOfNights]*Rooms!PricePerNight AS

AccomodationCost,

Booking![SataliteRequired(nights)]*10 AS

SatelliteTV, [Booking]![GamesRequired(nights)]*7

AS GamesConsole,

Booking![InternetRequired(nights)]*5 AS

Internet, [Booking]![CribRequired(nights)]*10 AS

Crib, Booking!FullMeals*30 AS FullMeal,

[Booking]![Breakfast]*15 AS Breakfast,

[AccomodationCost]+[SatelliteTV]+[GamesConsole]+

[Internet]+[Crib]+[FullMeal]+[Breakfast]*0.07 AS

TotalVAT

FROM Rooms INNER JOIN Booking ON Rooms.RoomNum =

Booking.[RoomNum]

WHERE (((Booking.Checkout)=Date()) AND

((Rooms.RoomNum)=[Enter the Room number]));

Room

available

Is Null SELECT Rooms.RoomNum

FROM Rooms LEFT JOIN [Rooms Reserved] ON

Rooms.RoomNum = [Rooms Reserved].[RoomNum]

WHERE ((([Rooms Reserved].RoomNum) Is Null));

Room

available and

room type

SELECT [Rooms Available].RoomNum, Rooms.RoomType

FROM [Rooms Available] INNER JOIN Rooms ON

[Rooms Available].RoomNum=Rooms.RoomNum;

Room Query [Enter the Room

number]

SELECT Rooms.RoomNum, Rooms.RoomType,

Rooms.PricePerNight, Rooms.CribAvailable,

Rooms.SataliteTVAvailable,

Rooms.GamesConsoleAvailable,

Rooms.InternetAvailable

FROM Rooms

WHERE (((Rooms.RoomNum)=[Enter Room Number]));

Rooms

reserved

Between [Please enter

arrival date] And

[Please enter checkout

date]-1, Between

[Please enter arrival

date] And [Please

enter checkout date],

<[Please enter arrival

date], >[Please enter

checkout date]-1

PARAMETERS [Please enter arrival date] DateTime,

[Please enter checkout date] DateTime;

SELECT Booking.[RoomNum], 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));

Page 62: Hotel Management System

Chrichtian A. Neal

54

5.2 Switchboard:

This programmer user kit which allows program with the help of MS Office-embedded

Visual Basic (VB) tools to create a Graphical User Interface (GUI) to include command

buttons to drive the SAS session, connect to project directories, documents, forms, on-

line help, etc. It, in short, reduces work and saves time by allowing flow of information

within projects.

A basic advantage of using a switchboard in your project is that it groups similar tasks,

which will give users a more organized and user-friendly interface. Depending on how

much information is needed to present on the switchboard, there are several ways to

group the tasks.

A switchboard not only provides programmers with handy-tools, and henceforth greatly

improving efficiency, reducing workload of employees; but it also provides the project-

related team with an information delivery kit, thus efficiently monitoring and delivering

information amongst the team.

For this purpose, a switchboard was implemented in this project:

Page 63: Hotel Management System

Chrichtian A. Neal

55

5.2.1 Switchboard codes:

Private Sub Form_Open(Cancel As Integer)

' Minimize the database window and initialize the form.

' Move to the switchboard page that is marked as the default.

Me.Filter = "[ItemNumber] = 0 AND [Argument] = 'Default' "

Me.FilterOn = True

End Sub

Private Sub Form_Current()

' Update the caption and fill in the list of options.

Me.Caption = Nz(Me![ItemText], "")

FillOptions

End Sub

Private Sub FillOptions()

' Fill in the options for this switchboard page.

' The number of buttons on the form. Const conNumButtons = 8

Dim con As Object

Dim rs As Object

Dim stSql As String

Dim intOption As Integer

' Set the focus to the first button on the form,

' and then hide all of the buttons on the form

' but the first. You can't hide the field with the focus. Me![Option1].SetFocus

For intOption = 2 To conNumButtons

Me("Option" & intOption).Visible = False

Me("OptionLabel" & intOption).Visible = False

Next intOption

' Open the table of Switchboard Items, and find

' the first item for this Switchboard Page. Set con = Application.CurrentProject.Connection

stSql = "SELECT * FROM [Switchboard Items]"

stSql = stSql & " WHERE [ItemNumber] > 0 AND [SwitchboardID]=" &

Me![SwitchboardID]

stSql = stSql & " ORDER BY [ItemNumber];"

Set rs = CreateObject("ADODB.Recordset")

rs.Open stSql, con, 1 ' 1 = adOpenKeyset

' If there are no options for this Switchboard Page,

' display a message. Otherwise, fill the page with the items. If (rs.EOF) Then

Me![OptionLabel1].Caption = "There are no items for this

switchboard page"

Else

Page 64: Hotel Management System

Chrichtian A. Neal

56

While (Not (rs.EOF))

Me("Option" & rs![ItemNumber]).Visible = True

Me("OptionLabel" & rs![ItemNumber]).Visible = True

Me("OptionLabel" & rs![ItemNumber]).Caption = rs![ItemText]

rs.MoveNext

Wend

End If

' Close the recordset and the database. rs.Close

Set rs = Nothing

Set con = Nothing

End Sub

Private Function HandleButtonClick(intBtn As Integer)

' This function is called when a button is clicked.

' intBtn indicates which button was clicked.

' Constants for the commands that can be executed. Const conCmdGotoSwitchboard = 1

Const conCmdOpenFormAdd = 2

Const conCmdOpenFormBrowse = 3

Const conCmdOpenReport = 4

Const conCmdCustomizeSwitchboard = 5

Const conCmdExitApplication = 6

Const conCmdRunMacro = 7

Const conCmdRunCode = 8

Const conCmdOpenPage = 9

' An error that is special cased. Const conErrDoCmdCancelled = 2501

Dim con As Object

Dim rs As Object

Dim stSql As String

On Error GoTo HandleButtonClick_Err

' Find the item in the Switchboard Items table

' that corresponds to the button that was clicked. Set con = Application.CurrentProject.Connection

Set rs = CreateObject("ADODB.Recordset")

stSql = "SELECT * FROM [Switchboard Items] "

stSql = stSql & "WHERE [SwitchboardID]=" & Me![SwitchboardID] & "

AND [ItemNumber]=" & intBtn

rs.Open stSql, con, 1 ' 1 = adOpenKeyset

' If no item matches, report the error and exit the function. If (rs.EOF) Then

MsgBox "There was an error reading the Switchboard Items

table."

rs.Close

Set rs = Nothing

Set con = Nothing

Exit Function

End If

Page 65: Hotel Management System

Chrichtian A. Neal

57

Select Case rs![Command]

' Go to another switchboard. Case conCmdGotoSwitchboard

Me.Filter = "[ItemNumber] = 0 AND [SwitchboardID]=" &

rs![Argument]

' Open a form in Add mode. Case conCmdOpenFormAdd

DoCmd.OpenForm rs![Argument], , , , acAdd

' Open a form. Case conCmdOpenFormBrowse

DoCmd.OpenForm rs![Argument]

' Open a report. Case conCmdOpenReport

DoCmd.OpenReport rs![Argument], acPreview

' Customize the Switchboard. Case conCmdCustomizeSwitchboard

' Handle the case where the Switchboard Manager

' is not installed (e.g. Minimal Install). On Error Resume Next

Application.Run "ACWZMAIN.sbm_Entry"

If (Err <> 0) Then MsgBox "Command not available."

On Error GoTo 0

' Update the form.

Me.Filter = "[ItemNumber] = 0 AND [Argument] = 'Default' "

Me.Caption = Nz(Me![ItemText], "")

FillOptions

' Exit the application. Case conCmdExitApplication

CloseCurrentDatabase

' Run a macro. Case conCmdRunMacro

DoCmd.RunMacro rs![Argument]

' Run code. Case conCmdRunCode

Application.Run rs![Argument]

' Open a Data Access Page Case conCmdOpenPage

DoCmd.OpenDataAccessPage rs![Argument]

' Any other command is unrecognized. Case Else

MsgBox "Unknown option."

End Select

' Close the recordset and the database. rs.Close

Page 66: Hotel Management System

Chrichtian A. Neal

58

HandleButtonClick_Exit:

On Error Resume Next

Set rs = Nothing

Set con = Nothing

Exit Function

HandleButtonClick_Err:

' If the action was cancelled by the user for

' some reason, don't display an error message.

' Instead, resume on the next line. If (Err = conErrDoCmdCancelled) Then

Resume Next

Else

MsgBox "There was an error executing the command.", vbCritical

Resume HandleButtonClick_Exit

End If

End Function

Page 67: Hotel Management System

Chrichtian A. Neal

59

5.3 Testing Approach

The testing procedure is to verify each component’s functionality of the database. By

checking (eg: combo, command button, etc) to see if the actual outcome of the test is the

same as the expected.

The below table provides comments and feedback as a result of such testing.

Table 15: Testing result

Test

#

Test description Test data Expected result Actual result Comments

1 User validation S/authentication Prompt for user name and password

Prompts for user name and password

2 Validation of database Load database and display main menu

Database main menu is displayed

3 Booking Form Check that hotel can not be booked between June 1 and June 15, 2012

June 4, 2012 “Hotel is close until relocation is over”

“Hotel is close until relocation is over”

4 Booking Form Check that hotel can not be booked between June 1 and June 15, 2012

June 4, 2013 (validate record) (validated record) Validation for the year 2012 only

5 Rooms Available Query

Feb 12, 2012 (only non-booked rooms are to display)

(only non-booked rooms displayed)

6 Main menu Test if the check room availability command button works correctly

Input box requesting to enter the arrival date

Input box requesting to enter the arrival ate

7 Main menu Test if the exit command button exits the database

Exits the database Exits and close entire the database

8 Main menu Test if the report command button shows various report buttons

Report form of various reports

Displays report form of various reports

9 Main menu Test if the ‘View / Add Customer Record’ command button works correctly

Display Customer details form

Customer details form are displayed

10 Main menu Test if the ‘View / Add Credit Card Record command button works correctly

Display Credit Card details form

Credit Card details form are displayed

11 Main menu Test if the ‘View / Add Booking’ command button works correctly

Display Booking details form

Booking details form are displayed

12 Check Room availability menu Test if the click on command button works correctly

Input box to be displayed requesting arrival date

Displays input box requesting arrival date

b If ‘true’ then Input box requesting checkout date to be displayed

Displays input box requesting checkout date

13 Rooms Available Query

Feb 12, 2012 (only non-booked rooms are to be displayed)

(only non-booked rooms displayed)

14 Customer Details Form Test if the payment method combo box enables Creditcard number when set to ‘creditcard’

‘Creditcard’ Enable creditcard number combo box

creditcard number combo box enables

Page 68: Hotel Management System

Chrichtian A. Neal

60

15 Customer Details Form Test if the ‘payment method’ combo box disables Creditcard number when set to ‘cash’

‘Cash’ Disable creditcard number combo box

creditcard number combo box doesn’t get disabled

This function needs working on to enable desired result

16 Customer Details Form Test ‘add new customer’ command button functionality

Add new record New record added First click clears displayed data for new entry

17 Customer Details Form Test delete record’ command button functionality

Delete existing focused record

Focused record deleted

Accept ‘yes’ to confirm deletion of focused data

18 Customer Details Form Test ‘previous record’ command button functionality

Go to previous existing record

Previous record is displayed

19 Customer Details Form Test ‘next record’ command button functionality

Go to next existing record

Next record is displayed

20 Customer Details Form Test ‘go to booking’ shortcut command button functionality

Display Booking form

Booking form displayed

21 Credit Card Details Form Test ‘Add Credit Card’ command button functionality

Add/create new credit card record

New credit card record added/created

22 Credit Card Details Form Test ‘Delete Credit Card’ command button functionality

Delete current credit card record

Current/focused credit card record deleted

23 Credit Card Details Form Test ‘previous record’ command button functionality

Go to previous existing record

Previous record is displayed

24 Credit Card Details Form Test ‘next record’ command button functionality

Go to next existing record

Next record is displayed

25 Booking Details Form Test ‘next record’ command button functionality

Go to previous existing record

Previous record is displayed

26 Booking Details Form Test ‘previous record’ command button functionality

Go to next existing record

Next record is displayed

27 Booking Details Form Test ‘Delete’ command button functionality

Delete current credit card record

Current/focused credit card record deleted

28 Booking Details Form Test ‘New Booking’ command box functionality

Add new record New record added First click clears displayed data for new entry

29 Booking Details Form Test ‘Payment Method’ combo box functionality

Drop down a list to select ‘cash’ or ‘creditcard’ from

List drop for selection: ‘cash’ or ‘creditcard’

30 Booking Details Form Test ‘Feature Available in Room ’ command button functionality

Prompt for user input on room number in question

Room number prompted for

b Booking Details Form Test ‘Feature Available in Room ’ command button functionality

Display table with services available

Available service as per room number displayed in table

The section might need to be worked on

31 Booking Details Form Test ‘Room Availability ’ command button functionality

Prompt for user input on room number in question

Room number prompted for

b Booking Details Form Test ‘Room Availability ’ command button functionality

Prompt for user input on room number in question

Non-booked rooms displayed (room no and type)

32 Report Form Test ‘Daily Room Cleaning ’ command button functionality

Display Report for Daily Room Cleaning in print preview

Report displayed in print preview

33 Report Form Test ‘Room to prepare for guest arrival today’ command button functionality

Display Report for Rooms to clean for guests arriving today in print preview

Report displayed in print preview

34 Report Form Test ‘Room to Clean guest leaving today ’ command button

Display Report for Rooms to clean for guests leaving in

Report displayed in print preview

Page 69: Hotel Management System

Chrichtian A. Neal

61

functionality print preview

35 Report Form Test ‘Customer Invoice’ command button functionality

Display Customer Invoice in print preview

Invoice displayed in Print preview

Section width is greater than page with. Needs to be reduced

36 Report Form Test ‘Customer Invoice’ command button functionality

Room 105 Display Customer Invoice in print preview

Invoice displayed in Print preview

See Print out (Appendix A) for actual invoice (not date specific - only prints out for that room)

5.4 Modifications and Improvements:

After days of debugging with much confusion, a few things were notice. Some of which

were corrected:

- The main menu form was too primitive and so a stylish design was given

- The buttons on main menu also had a change to a more classical touch

- The customer details form in it well manner intentions lacked the identification of

guest by their assigned Customer ID numbers. A field on the customer details was

inserted to display customer ID alongside other details.

- An additional table ‘Payment Method’ was added when it was discovered that not

all users were credit card holders, and perhaps not all credit cards are valid.

- Creditcard method combo box was inserted on customer form to depict paying

method either by ‘cash’ or ‘creditcard’, both of which are accessible to the system

- Since customer details inputting of date are before booking, it was then necessary

to include on the customer detail form a shortcut linking the booking form rather

than closing forms.

- A payment method combo box was also included on the booking form ascertain at

the point of entry by which means payment would be made.

Page 70: Hotel Management System

Chrichtian A. Neal

62

6. Results and Discussion

6.1 Test Reports:

Now it is clear that based on the outputted information The Cape Hotel can now be able

to make rational decisions taking time into consideration. The new system has proven its

eligibility to marginalize the two (2) systems employed by The Cape Hotel, that which is

a manual Excel spreadsheet for booking reservation and cancellation and other tasks

susceptible to human errors alongside a partially used application to manage other hotel

related needs.

The new Access database application strongly demonstrates with efficiency the ability to

take on the many tasks of The Cape Hotel in storing, managing, and enabling the

management make decision to increase production and bottom line - profit.

Booking is not a simple click, and more on cancellation is a single ‘delete record’ button.

The use of unnecessary stationery is alleviated with a one-time final print bill which

automatically summarizes all detailed financial interaction made between the guest and

the hotel with a single click.

Page 71: Hotel Management System

Chrichtian A. Neal

63

6.2 User Documentation:

The Cape Hotel MS Access Database User Guide

Table of contents Page

1. What is database …………………………………………………………………. 65

2. Database authentication (login and decryption) ………………… 65

3. Main Menu …………………………………………………………………………. 68

4. Data Manipulation ……………………………………………………………… 69

5. Booking Process …………………………………………………………………. 70

6. Reports ………………………………………………………………………………. 72

7. Customer Invoice ……………………………………………………………….. 73

8. Closing database ………………………………………………………………… 73

9. Glossary ………………………………………………………………………………. 73

Page 72: Hotel Management System

Chrichtian A. Neal

64

What is database A database is an organized collection of data for one or more purposes (for example, the availability of rooms in hotels), that would impact decision when processed into information.

In order for data to be properly organized and referenced easily they are stored in a table which is a cross section of rows and columns. (see figure below of a table)

Database authentication (login and decryption) Authentication is the process where in user must provide the right answer, key or password when requested by the software application. If you don’t have a user name and password, then please see your database administrator. User and password creation This section is strictly for administrator of the database. Only in admin mode will you be able to create user names and password. (see figure below)

Page 73: Hotel Management System

Chrichtian A. Neal

65

1. Go to the file menu of your application

2. Click ‘uses and permissions’ button, and select ‘Users and Group accounts’. Use the ‘Users’ tab to create new users.

3. Use the ‘Group’ table to create new groups. The Change Logon Password tab is to change database password. (see figures below)

Page 74: Hotel Management System

Chrichtian A. Neal

66

4. Back at the file menu of your application window. Click ‘Users and permissions’ this time select

‘user and groups permission’.

5. In here the admin is able to grant restricted or unrestricted access to users on specific data objects individually or in group.

Page 75: Hotel Management System

Chrichtian A. Neal

67

Main menu When you’ve entered your user name and password and database password, the first screen that welcomes you is the Main menu.

1. Enter Username and password

2. Enter database password

3. Welcome menus is displayed considering you’ve passed the authentication process:

Page 76: Hotel Management System

Chrichtian A. Neal

68

Data Manipulation

The Main menu consists of button when displays addition forms for purpose of: -data input/deletion -data display -data query -data report

Queries database for available rooms

Adds new data or deletes/views current data

Exits entire database

Displays queries in report form

Page 77: Hotel Management System

Chrichtian A. Neal

69

Booking Process It is important to note that before making a booking into the system, customer credit card details should first be entered into the system, followed by the customer details, expect in the case where the customers is returning (is an old customers with data already in system).

1. Enter ‘Customer Credit Card Details’ (if customer is new) as shown.

2. Next: Enter ‘Customer Details’

4

3. Next: Enter ‘Booking Details’

Click to delete current record displayed

Click to either go to next record or previous record

Click to a new credit card record

Click to go to Booking window

Click to either go to next record or previous record

Click to delete current record

Click to add new record

Page 78: Hotel Management System

Chrichtian A. Neal

70

Entering data with Booking Details window should be easy: -Before you make your booking, make sure to check if there is a room available for the date specified by the guest.

1. Click the Room Availability button. It will prompt you to enter check in date and checkout date; in format: mm/dd/yyyy. See figure below for result:

2. Guest arrival date and checkout date could be typed in format

‘mm/dd/yyyy, or by clicking in the text box of the field to display a system calendar.

Page 79: Hotel Management System

Chrichtian A. Neal

71

3. The Room Numbers and Customer ID are automatically stored in

system memory and are available through a drop down menu from which one can select desire result.

Reports Predefined queries are designed into report to project specific details for decision making. The Report Form has four (4) sub-reports button link separate forms as follows:

i. Daily Room Cleaning ii. Rooms to prepare for Guests Arriving Today iii. Rooms to Clean for Guest Leaving Today iv. Customer Invoice

Click button to display desired report

Page 80: Hotel Management System

Chrichtian A. Neal

72

Customer Invoice To create a customer invoice, you have to follow the following steps:

1. Click Customer Invoice button ( ) on Report Form

2. An input dialog box is displayed request Room Number needing invoice for.

3. The invoice for the Room Number inputted is displayed. The report or any other report can be printer by clicking the printer :

Closing database To close database, ensure that all other previously and current opened windows, menus or forms are closed to avoid data loss. Click the exit button to to terminate application. Glossary

Query – a report on a database is the answer to a query

Record – is a row of data in a database table consisting of a single value from each column of data in the table.

Report – presents information retrieved from a table or query in a preformatted, attractive manner.

Dialog box – is a little box that pops up when a button is clicked, to either get information from user or perform action based on provided options.

System memory – is the place where the computer holds current programs and data that are in use.

Field – is a data structure for a single piece of data.

Data Manipulation – is a family of syntax elements similar to a computer programming language used for inserting, deleting and updating data in a table.

Authentication – is any process by which you verify that someone is who they claim they are. This usually involves a username and a password.

Page 81: Hotel Management System

Chrichtian A. Neal

73

7. Conclusion

This database finally, in a tailored category, conforms to the specifics as was expected to.

Feasibility of this system as compared to a manual Excel spreadsheet along with a

partially functional software application which seems to be marginalized do to it

complexity has met user requirement. All customer records are store in a single location

(centralization) for fast and easier decision making purpose.

7.1 Limitations of the System:

Much yet needs to be done to improve the system functionality, give time, space,

resource, notably:

- Validation check on services requested does not exceed duration of stay.

- Input data from ‘payment method’ combo box on Customer Details did not

successful trigger into the Customer table, unlike the Booking Form

- On Customer Form, payment method combo was able to enable combo box credit

card number but not disable when ‘cash’ is selected.

- When all records are deleted in a table, instead of a default value being displayed,

a “#deleted” field is displayed.

- A reverse of entering data in creditcard details form then after, customer details

from needs to be modify in a way that only one form would inherit all data and

separately located allocation data to specified tables.

- A separate form for restaurant service needs to be incorporated for independent

data input.

- Conference room needs to be a separate entity to ease booking.

- The query to sum all financial transaction for each customer was unable to

materialize using the SQL statements. It was done in design view of the Customer

Invoice Form by means of Expression builder via ‘control source’.

- Customer Invoice Form needs a function to automatically insert unique invoice

number on each invoice created.

- A ‘goto’ button or search/find function is needed on Booking form to find specific

record quickly when the database has been highly populated.

Page 82: Hotel Management System

Chrichtian A. Neal

74

7.2 Future Scope of the Project

With this system, the possibility of new investigation into migration from an inherent MS Acces

database system is of the essence. Providing a VB interactive front-end and an SQL or

Oracle database backend would be intriguing.

Due to time limitation, the Restaurant Form and associate attributes was not developed.

Page 83: Hotel Management System

Chrichtian A. Neal

75

REFERENCES

http://www.dbms2.com/2007/12/14/data-warehouse-database-management

http://www.computerworld.com/s/article/9218729/Hadoop_growing_not_replacing_RDBMS_in_enterprises

http://www.databasejournal.com/sqletc/article.php/3869736/Choosing-a-Database-Platform.htm

http://www.sql-programmers.com/DisadvantagesofAccess.aspx

http://www.galleryimage.com.au/Why-Access-Database.htm

http://www.lexjansen.com/pharmasug/2005/posters/po36.pdf

http://en.wikipedia.org/

www.wiki.answers.com

http://databases.about.com/cs/administration/g/report.htm

http://www.alexecooper.co.uk/blog/2006/01/access-hotel-reservation-database/#comment-329

Page 84: Hotel Management System

Chrichtian A. Neal

76

APPENDIX

Appendix 1: