HOTEL RESERVATION MANAGEMENT
CHAPTER-1 INTRODUCTION
1
HOTEL RESERVATION MANAGEMENT
ABSTRACT Systematic management of records allow organization to know what records they have, and locate them easily, increase efficiency and effectiveness, make savings in administrations costs both in staff time and storage, support decision making, be accountable, achieve business objectives and targets, provide continuity in the event of a disaster, meet legislative and regulatory requirements, protect the interests of employees and clients. Records are valuable because of the information they contain and that information is only useable if it is correctly and legibly recorded in the first place, is then kept up to date, and is easily accessible when needed. Records in hotels are not commonly found in archives but when such records survive and find their way to an archives the information contained in the records are beneficial to a variety of researchers, including students, genealogists, and academics. Due to their manual recording system, the hotel is experiencing a little bit of delay in their transactions, much time also is wasted in preparing forms and retrieving files. Because of these difficulties mentioned a while ago, the proponent would like to have an Automated Hotel Room Reservation and Billing Billing System in replacement for the old system it’s currently employing.
STATEMENT OF THE PROBLEM
The purpose of this study is to assess the Hotel Pension House Booking System. It seeks the answers of the following questions: What are the difficulties encountered by the employees of the said Hotel Pension House in their present booking system? What is the performance of the Manual M anual Booking System of Hotel Pension House in terms of: Security; Accuracy; Speed; Record keeping? What is the extent of preference of Hotel Pension House to adopt an Automated Booking Record System?
OBJECTIVES General Objectives This study aims to provide the staffs, managers and especially the owner of Hotel an effective, fast, and convenient way of recording the (Check-in-Check-out) of their customers. This will lead to the improvement of the current system they are using and for the betterment of the establishment. It must have a better program for the keeping and retrieving of their records. It will contribute to the success of the business and to gain the trust of their customer.
2
HOTEL RESERVATION MANAGEMENT
SPECIFIC OBJECTIVES
This study aims the following:
To enable the staff and employees of the hotel to have a fast processing of their booking system; To have a convenient way of entering customers data without any delay; To save their time and effort in listing manually the needed data; To retrieve data anytime; To have a more secure and private records or files; To have accurate details of data needed.
MODULAR DESCRIPTION This study is made to give benefits to the owner, manager, staff, researchers, and customers of Hotel and Pension House in our proposed Hotel Room Reservation and Billing System Master
This module is designed to add, update and refresh the guest and room data entry and also view the guest and room rate entry. Transaction
This module is designed to book the rooms for the customers. Report
This module is designed to show the information about the hotel such as Rate card, Guest information, Room Status and also the Billing report. r eport. Help
This module is designed in order to help the user in all means at anytime if any problem occurs. Login
This module is designed for the security of this application.
3
HOTEL RESERVATION MANAGEMENT
SCOPE AND LIMITATION This study is intended only for the Hotel Room Reservation and Billing System. The proposed program focuses only to the check-in and check-out process and reservation of the customers. Room reservations are also included in this study. Activities involved are entry of data, accessing results and reports, retrieving of data, billing and printing. Persons involved for the implementation of this study are the manager, staff members and customers
SYSTEM REQUIREMENT
SOFTWARE REQUIREMENTS
Operating System
Windows XP
Front End Tool
Visual Basic 6.0 Enterprise Edition
Back End Tool
Oracle MySql
HARDWARE REQUIREMENTS
Processor
Pentium IV and above
Processor Speed
1.4 Hz
Ram Size
1 GB
Hard Disk Size
10 GB
Printerr Printe
All black and white and color printer
4
HOTEL RESERVATION MANAGEMENT
CHAPTER-2 LITERATURE SURVEY
5
HOTEL RESERVATION MANAGEMENT
The application of the Internet in the business world has become a major trend in practic e and generated a hot stream ofresearch in the recent r ecent literature. The Internet, as a collection of interconnected computer networks, provides free e xchanging of information. Over 400 millions of computers or more than 400,000 networks worldwide today arecommunicating with each other (Napier, Judd, Rivers, and Wagner, 2001). As such, the Internet has been becoming a powerful channel for business business marketing and communication (Palmer, 1999), 1999), and for new business opportunities - as it is often called as "e-business" or "e-commerce" today (Schneider & Perry, 2001). This new e-business or e-commercevirtual marketplace allows small companies competing with business giants by just having a better web presentation of their products/services. Under the same wave, online customers can enjoy a wider choi ce of products or services, more competitive prices, and being able to buy their favorite items/services from the sellers located thousands miles away. It provides communication between consumers and companies and throughelectronic data interchange (EDI), buyers buyers and sellers can exchange standard business transactions such as invoices or purchase orders with remarkable ease. The hotel industry is certainly full aware of this trend and fully willing to contribute its share in this effort. In fact, the industry has realized realiz ed that during those early forays into cyberspace, the industry didn’t view view e-booking strategically (many hotels simply considered online room bookings at the time as a way to pick pick up additional business by selling distressed inventory through those online travel agencies), and handed over too much control of inventory inventor y and pricing to those third party online online travel agencies.Now the industry is in the unenviable position of trying to take back the reins after early shopping patterns have been established. While the pressure to sell their inventory rooms online will be continuing, the industry has developed its new online strategy striving to get a better grip on this emer ging marketing channel.
Online system has evolved to be a cornerstone in support of computer software users of all kinds. It is an electronicinteractive system s ystem that delivers information to users via telephone lines to personal computers (PCs) or via cables to terminals. Such a service provides information, usually in text form, about news, education, business, entertainment, shopping, and more. Some also provide message services and graphic and audio information.
Online hotel reservations are becoming a very popular method for booking hotel rooms . Travelers can book rooms from home by using online security to protect their privacy and financial information and by using several online travel agents to compare prices and facilities at different hotels. People can book directly on an individual hotel’s website. An increasing number of hotels are building their own websites to allow them to market their hotels directl y to consumers. Non-franchise chain hotels hot els require a “booking engine” application to be attached to their website to permit people to book rooms in real time. One advantage of booking with
6
HOTEL RESERVATION MANAGEMENT
the hotel directly is the use of the hotel’s full cancellation policy as well as not needing a deposit in most situations.
Online Hotel Reservation Software (OHRS) is an easy to use arrangement that enables agents and guests to reserve rooms directly via the internet once they have confirmed availability of rooms in accordance with the itinerary. OHRS is an efficient and brilliant software, yet it i s easy and uncomplicated to use. OHRS grants complete authority and power on hotel or motel room booking over the internet. This entails that one can accumulate all guest payments; enter own room descriptions, facilities, rates and allocations into the Reservation System. OHRS also allows to confirm accommodation in real-time real-time at hotel’s web site and close the sale without more ado.
There are several benefits of OHRS. It makes the reservation process computerized and thus helps one to undertake a large amount of transactions at a low cost. It lets the hotel in charge of over margins and pricing strategy. It enables one to check available i nventory and complete an online booking form making the reservation process more efficient and less time consuming. The clients can settle the room rates and special offers at no extra cost. OHRS assists hotel’s guests and agents with different payment options such as credit/de bit cards. The system can track hotel’s performance on a regular basis as all information concerning payments is updated online and sent to the reservation manager by means of e-mail or mobile messages. Gatesix Hospitality offers online hotel reservation system development services for lodging industry including Inns, motels and resorts. Gatesix provides its hotel clients with the highest quality Internet presence as well as a seamless, embedded online reservation engine that allows for easy navigation for the consumer and greater flexibilit y for the hotelier. Their online hotel reservation system, "gRes" was crafted from strate gic knowledge of the hotel business and a passionate commitment to excellence in hospitality services. BugHotel Reservation System was designed to simplify si mplify the task of online booking. It provides p rovides users a unique, intuitive and easy to use interface that improves the way people use the web today. Through personalization and rich features, BugHotel Reservation System enhances the entire Web experience. BugHotel Reservation System offers an online web based reservation system for hotels, properties, motels and b&bs at affordable prices. Online hotel reservations are also helpful for making last minute travel arrangements. Hotels may drop the price of a room if some rooms are still st ill available. Large hotel chains typically have direct connections to the airline national distribution systems. These in turn provide hotel information directly to the hundreds of thousands of travel agents that align themselves with one of these systems. Individual hotels and small hotel chains often cannot afford the expense of these direct connections and turn to other companies to provide the connections.
7
HOTEL RESERVATION MANAGEMENT
Several large online travel sites are, in effect, travel agencies. These sites send the hotels' information and rates downstream to literally thousands of online travel sites, most of which act as travel agents. They can then receive receiv e commission payments from the hotels for any business booked on their their websites. Lastly, people can book directly on an individual hotel's website. An increasing number of hotels are building their own websites to allow them to market their hotels directly to consumers. Non-franchise chain hotels require a "booking engine" application to be attached to their website to permit people to book rooms in real time. One advantage of booking with the hotel directly is the use of the hotel's full cancellation policy as well as not needing a deposit in most situations. To improve the likelihood of filling rooms, hotels tend to use several of the above s ystems. The content on many hotel reservation systems is becoming increasingly similar as more hotels sign up to all the sites. Companies thus have to either rely on specially negotiated rates with the hotels and hotel chains or trust in the influence of sear ch engine rankings to draw in customers. The ultimate service provided by these companies to the hotels and the online consumer is that they provide a single database from which all reservation sources draw immediate room availability and rates. It is very important that hotels integrate with all the supply channels so that their guests are able to make accurate ac curate online bookings. There are many ways of making the online reservation, most of the online reservation systems use the centralized system for making the reservation res ervation with the hotel directly. The online hotel reservation through the centralized system is just the tentative reservation, means that a client do not need to pay at the time of reservation and instead pa y at the time of check in or check out. Stuart (1995) in a study entitled “International Reservations Systems - Their Strategic and Operational Implications for the UK Hotel Industry”, presented details of the method and results of an investigation of the role and influence of international reservations systems within the UK hotel industry. The research comprised three questionnaire surveys of the use of computer reservations systems and distribution services by UK hotels. These were analysed and produced an indication of general use of systems and the contribution which these currently make to hotel groups and consortia. The work also included a study of developments in access methods and changes in buyer behavior as observed by representatives of computer reservation and distribution system, travel agency, hotel representation and intermediary companies. The case study made by Jiaqin Yang, Jan Flynn and Krista Anderson of Georgia College and State University (2005) aimed to describe some recent development of e-business application in the hospitality industry ( e.g. travel industry, and recreational entities) and illustrate with two case studies. One is about a local hotel industry’s industry’ s effort to use the Internet to boost its local market. Another describes the operations and its competitive st rategy of an emerging online travel agency.
8
HOTEL RESERVATION MANAGEMENT
The research objective is to investigate the trends tr ends and level of prevalence of application of the Internet in the hospitality industry focusing on some emerging issues and challenges.
Casa Intramuros Reservation System was used by CITHM students as a front desk operation simulation only. It has 6 modules which consist of reservation, registration, checking reservation, room orders, billing system, housekeeping, main panel, main panel, reports and user’s module. The system provided hands-on training for the students to explore and know the step by step procedure in dealing with hotel reservation system. system. This system is similar with the system developed by the authors in a way that it provided a hotel reservation and management s ystem. OPERA System is the MICROS property management system used in many large hotel chains, such as Travelodge Hotels UK, Hyatt Hotels and Resorts, Rydges Hotels and Resorts, Marriott Hotels, Resorts and Suites, Radisson Hotels and Resorts (subsidiary of Carlson Companies), the InterContinental Hotels Group and the Thistle Hotels.Designed to meet the varied requirements of any size hotel or hotel chain, OPERA PMS provides all the tools a hotel staff needs for doing their day-to-day jobs — jobs — handling handling reservations, checking guests in and out, assigning rooms and managing room inventory, accommodating in-house guest needs, and handling accounting and billing. Opera can essentially be the only management software a hotel needs, as it can handle Reservations, Customer Profiles, Housekeeping Management, Maintenance logs, Cashieri ng, Accounts Receivable, Agent commissions and third party interfaces such as Minibar systems or Guest TV. Arrivals and in-house guests are served using the Front Desk features of the property management software. This module module handles individual guests, groups, groups, and walk-ins, and has features for room blocking, managing guest messages and wakeup calls, and creating and following up on inter-department memos.
9
HOTEL RESERVATION MANAGEMENT
CHAPTER-3 DESIGN
10
HOTEL RESERVATION MANAGEMENT
SDLC MODEL OF THE PROJECT
The software development development life cycle (SDLC) is a conceptual model used in projects.
1. System/Information Engineering and Modeling As software is always of a large system (or business), work begins by establishing the requirement for all system elements and then allocating some subset of these requirements to software. This system view is essential when the software must interface with other elements such as hardware, hardware, people and other resources. System is the basic and very critical requirement for the existence of software in any entity. So if the system is not in place, the system should be engineered and put in place. In some cases, to extract extract the maximum output, output, the system should should be re-engineered re-engineer ed and a nd spruce spruced d up. Once the ideal system is engineered, the development team studies the software requirement for the system.
2. Software Requirement Analysis This process is also known as feasibility study. In I n this phase, the developme development nt team team visits the customer ad studies their system. They investigate the need for possible software automation in the given system. system. By the end of the feasibility study, stud y, the team furnishes a documentt that holds the different specific recommendations documen recommendations for the candidate candid ate syste system. m. It also includes the personnel assignments, costs, project schedule, schedule, target dates, date s, etc. The requirement gathering process is intensified and focused specially on software. To understand the nature of the program(s) to be built, the syste built, system m engin engineer eer or or "Analy "Analyst" st" must must und understa erstand nd the info informat rmation ion domain of the software, software , as well as required function, behavior, performance and interfacing. The essential purpose of this phase is to find the need and to define the problem that needs to be solved.
3.
System Analysis and Design
In this phase, the software development process, the software's overall structure is defined. In terms of the client/server technology, technology, the number of tiers needed for the package architecture, the database design, the structure design etc.... are all defined in this phase. 6 5
11
HOTEL RESERVATION MANAGEMENT
4.
Code Generation
The design must must be translated into a machine-readable machine-readable form. The The code generati gener ation on step performs this task. ta sk. If the design d esign id performed pe rformed in a detailed manner, code generation generation can be accomplished without much compilation. Programming tools like compilers, interpreters, debuggers debug gers etc. are used to generate the code. Different high level programming languages like C, C++, Pascal and Java are used for coding. With respect to the type of application, the right programming language is chosen.
5.
Testing
Once the code is generated, the software program testing begins. Different testing methodologies are available to unravel the bugs that were committed during the previous phases. pha ses. Diff Differen erentt testing testing tool toolss and and method methodolog ologies ies are are already already availab available. le. Some Some companie companiess build build their own own testing tools that are made for their own development operations.
6.
Maintenance
The software will definitely undergo change once it is delivered to the customer. There can be many reasons for this change to occur. Change could happen because of some unexpected input values va lues into i nto the syste system. m. In addition, addition, the changes changes in the system system could directly directly affect the software operations the software should be developed to accommodate changes that could happen during the post implementation period.
Waterfall Model The Waterfall Model was first Process Model to be introduced. It is also referred to as a linearsequential life cycle model . It is very simple to understand and use. In a waterfall model, each phase must be completed fully before the next phase can be gin. This type of software development is basically used for the for the project which is small and there are no uncertain requirements. At the end of each phase, a review takes place to determine if the project is on the right path and whether or not to continue or discard the project. In this model software testing starts only after the development is complete. In waterfall model phases do not overlap.
Waterfall Model – Design Design The waterfall model is a linear sequential (non-iterative) (non-iter ative) design approach for software development, in which progress flows in one direction downwards (like a waterfall) through the phases of conception, initiation, initi ation, analysis, design, construction, testing, deployment and maintenance.
12
HOTEL RESERVATION MANAGEMENT
The following is an illustration of the Diagram of Waterfall-model:
The original waterfall model consists of seven successive phases :
System requirements: The first phase deals with requirements r equirements that are not related to the digital product itself but rather with business-relevant aspects such as price and availability. Documentation and safety aspects are also specifi ed here. In general, non-functional requirements are mentioned here. Software requirements : The functional requirements for the software are defined in the second phase. The question of what the software must be able to do is answered here and clarified in “specifications,” which also includes the results of the first phase. Requirements analysis: In the requirements analysis phase, the functions of the software are Requirements dissected and structured so that individual functional elements and functional units can be separated from each other. The requirements analysis is intended to examine the functions for their feasibility and importance. The results of this phase are the specifications containing the requirements that need to be developed. Program design : The technical design is now implemented with the help of these requirement specifications. Components of this phase also include decisions about information architecture and applied technologies such as programming languages, class libraries, and program sequences. The result of the program program design is usually recorded in diagrams describing the theoretical behavior of the software.
13
HOTEL RESERVATION MANAGEMENT
Implementation : During implementation, structures and workflows ar e implemented taking into account the systemic framework conditions and objectives. The software design becomes a program that is directly related to an operating system, system, one or more programming languages, languages, and the infrastructure. The result is usually an operational software, often as a beta-version. Testing: The implementation phase is followed by the testing of all software components, modules, and the entire system. Integration into specific operating systems is also checked. If errors and conflicts occur, they must be repaired immediately. Such could lead to an increase in overall costs since possible errors can be attributed to different phases and are not always caused in the previous phase.
b y the client. Updates and maintenance Launch: The software is implemented after acceptance by may be necessary before the product enters a store or is delivered to the customer. Various teams and experts work at these stages. Contractors, project management, and senior developers are usually involved up to the implementation phase. After implementation, developers do the work, whereby testing of the software is frequently handled separately, for example by independent test labs. Marketing and service experts are partl y involved with its launch. In large companies and corporations, the modified, more precisely structured SDLC method (system development lifecycle) is used, which is based on the waterfall model..[3] There are also other versions of this model which, for example, introduce iterative model elements in the form of loops in order to detect and correct errors and bugs in preceding phases.
Advantages of waterfall model:
This model is simple and easy to understand and use. It is easy to manage due to the rigidity of the model – model – each each phase has specific deliverables and a review process. In this model phases are processed and completed one at a time. Phases do not overlap. Waterfall model works well for smaller projects where requirements are very well understood.
Disadvantagess of waterfall model: Disadvantage
Once an application is in the testing stage, it is very difficult to go back and change something that was not well-thought out in the concept stage. No working software is produced until late during the life cycle. High amounts of risk and uncertainty. Not a good model model for complex and object-oriented projects. Poor model for long and ongoing projects. Not suitable for the projects where requirements are at a moderate to high risk of changing.
When to use the waterfall model:
This model is used only when the requirements are very well known, clear and fixed.
14
HOTEL RESERVATION MANAGEMENT
Product definition is stable. Technology is understood. There are no ambiguous requirements Ample resources with required expertise are available freely The project is short.
Very less customer interaction is involved during the development of the product. Once the product is ready then only only it can be demoed to the end users. users. Once the product is developed and if any failure occurs then the cost of fixing such iss ues are very high, because we need to update everywhere from document till the logic.
Significance for programming The waterfall model is one of the best-known process models in software development. It has been used successfully for decades, but now only for smaller projects where the specifications are clear. The aforementioned drawbacks, however, also led analysts and developers to design alternative models called agile software development. development.[7] The main problem of the waterfall model is that changes and revisions are not necessaril y provided for by the logical sequences. The feedback from customers, testers, and engineers during development is partly missing and the integration of the software into an existing system takes place in a big bang. These drawbacks can be avoided by modifying the project phases, as is the case with the spiral model. But for some years now, agile methods that use other structural elements are much more popular (for example, the roles and sprints with Scrum or the principles of extreme programming). As a rule, they are more more economical, lead to faster results and are more transparent for customers. As a rule, they are more economical, lead to results faster and are more transparent for customers.
3.3 Data flow Diagram Notations. A data flow diagram (DFD) is a graphical representation of the "flow" "f low" of data through an information system, modelling its process aspects. A DFD is often used as a preliminary step to create an overview of the system without going into great detail, which can later be elaborated. DFDs can also be used for the visualization of data processing (structured design).
A DFD shows what kind of information i nformation will be input to and output from the system, how the data will advance through the system, and where the data will be stored. It does not show information about process timing or whether processes will operate in sequence or in parallel, unlike a traditional structured flowchart which focuses on control flow, or a UM L activity workflow diagram, which presents both control and data flows as a unified model.
3.3.1. Data Flow Diagrams Symbols There are essentially two different types t ypes of notations for data flow diagrams (Yourdon & Coad or Gane & Sarson) defining different visual representations for processes, data stores, data flow and external entities.
15
HOTEL RESERVATION MANAGEMENT
Yourdon and Coad type data flow diagrams are usually used for system analysis and design, while Gane and Sarson type DFDs are more common for visualizing information systems. Visually, the biggest difference between the two ways of drawing data flow diagrams is how processes look. In the Yourdon and Coad way, processes are depicted as circles, while in the Gane and Sarson diagram the processes are squares with rounded corners. Process Notations. A process transforms incoming data flow into outgoing data flow.
Datastore Notations. Datastores are repositories of data in the system. They are sometimes also referred to as files.
Dataflow Notations. Dataflows are pipelines through which packets of information flow. Label the arrows with the name of the data that moves through it.
External Entity Notations. External entities are objects outside the system, with which the system communicates. External entities are sources and destinations of the system's inputs and outputs.
16
HOTEL RESERVATION MANAGEMENT
3.3.2. Data Flow Diagram Levels Context Diagram. A context diagram is a top level (also known as "Level 0") data flow diagram. It only contains one process node ("Process 0") that generalizes the function of the entire system in relationship to external entities. DFD Layers. Draw data flow diagrams can be made in several nested layers. A single process node on a high level diagram can be expanded to show a more detailed data flow diagram. Draw the context diagram first, followed by various layers of data flow diagrams. DFD Levels. The first level DFD shows the main processes within the s ystem. Each of these processes can be broken into further processes until you reach pseudo code.
ZERO LEVEL DFD-Login
INPUT
Hotel Reservation Reservation Management Management and Billing System
OUTPUT
17
HOTEL RESERVATION MANAGEMENT
LEVEL 1 DSD
18
HOTEL RESERVATION MANAGEMENT
LEVEL-2 DSD
19
HOTEL RESERVATION MANAGEMENT
ENTITY-RELATIONSHIP DIAGRAM
LOGIN
20
HOTEL RESERVATION MANAGEMENT
SYSTEM TESTING
Testing is vital to the success s uccess of the t he System. Testing Testi ng makes a logical assumption assumption that if all the parts par ts of of the the sys system tem are corr correct, ect, the go goal al will will be successfully achieved. Inadequate testing or nontesting leads to errors that may not appear until months later. This creates two problems:
1. The time lag between the cause and the appearance of the problem. 2. The effect of the system errors on the files and records within the system. Unit Testing
Unit testing is a software design and development method where the progr programmer ammer gains gains confidence confid ence that individual individual units units of source code are fit for use. A unit is the smallest testable tes table part of an application. The primary goal of unit testing is to take the smallest s mallest piece of testable software in the applicatio application, n, isolate it from the remainder of the code and determine whether it behaves exactly as you expect. If user tries to register with an already existing user details an error messag messagee already exists, please register register with a different different usemame usemame will will pop up. If user tries to enter characters in the Phone number field an error message Enter only numbers will pop up. If the user enters a mobile number number of more than 10 digits digits an error message Mobile number should have only 10 digits will pop up.
21
HOTEL RESERVATION MANAGEMENT
SYSTEM REQUIREMENT SPECIFICATION:
A software requirement specification (SRS) is a complete description of the behavior of the system to be developed developed.. It includes a set of use cases that describe all of the interactions that the users users will have with with the software. Use cases c ases are also known as functional requirements. In addition to use cases, the SRS also contains nonfunctional (or supplementary) requirements. Non-functional requirements are requirements which impose constraints on the design desig n or implementati implementation on (such as performance requirements, quality standards, or design constraints). TYPES OF REQUIREMENTS
Requirements are a re categorized categoriz ed in several ways. The following are comm common on categ categories ories of requirements that relate to technical management. Functional Requirements:
Functional requirements explain what has to be done by identifying the necessary task; action or activity will be used as the top level functions for functional analysis. Non-functional Requirements:
Non-functional Non-function al requirements requirements are requirement requirementss that specify specify criteria criteria that that can be used to judge the operation of a system, rather than specific behaviors.
Purpose of the software The purpose of this software requirements specification is to verif y that all the specifications are correct and verified. This document also serves to ensure that the software is traceable throughout its software development life cycle.
Scope of the system Identify the application software to be produced by name
Explain what the application software(s) will do / not do.
22
HOTEL RESERVATION MANAGEMENT
DATABASE DESIGN
TABLE 1
NAME: LOGIN1
COLUMN NAME
DATA TYPE
USERNAME
VARCHAR
PASSWORD
VARCHAR
23
HOTEL RESERVATION MANAGEMENT
TABLE 2 _ -, COLUMN NAME
DATA TYPE
GUEST ID
NUMBER
NAME
VARCHAR
GENDER
VARCHAR
ADDRESS
VARCHAR
CITY
VARCHAR
COUNTRY
VARCHAR
CNT_NO
VARCHAR
EMAIL
VARCHAR
I TYPE
VARCHAR
I NUMBER
VARCHAR
CH_DATE
DATE
CH_BY
VARCHAR
TABLE 3
N A M E : M R R A T E COLUMN NAME
DATA TYPE
R_TYPE
VARCHAR
R ID
VARCHAR
RATE
NUMBER
CH_DATE
DATE
CH_BY
VARCHAR
24
HOTEL RESERVATION MANAGEMENT
TABLE 4
NA N A M E : T R B O O K I N G COLUMN NAME
DATA TYPE
BK NO
NUMBER
GUEST_ID
NUMBER
R TYPE
VARCHAR
R ID
VARCHAR
RATE
NUMBER
DISC_AMT
NUMBER
TAX_AMT
NUMBER
TOT AMT
NUMBER
TOT_DAYS
NUMBER
CHK_IN_DT
DATE
CHK_OUT_DT
DATE
BK DT
DATE
CH IN
VARCHAR
REMARK
VARCHAR
25
HOTEL RESERVATION MANAGEMENT
CHAPTER-4 CODING
26
HOTEL RESERVATION MANAGEMENT
Login!:
Dim flag As Boolean Private Sub Command I Click() flag = True Do While Not rs.EOF If ((rs("username") = txtuser.Text) And (rs("password") = txtpass .Text)) Then flag = False Exit Do Else rs.MoveNext End If Loop If flag Then MsgBox ("invalid login!") Else MsgBox ("login succesfull") Unload Me MDIForml.Show End If End Sub
Private Sub Form Load() Call connect rs.Open "select * from loginl", con End Sub Private Sub Form Unload(Cancel As Integer) con.Close End Sub
Frmsplash:
27
HOTEL RESERVATION MANAGEMENT
Dim i As Integer Private Sub Form_Lo Form_Load() ad() frmSplash.S frmS plash.Show how End Sub
Private Sub Timerl Timer() i = probar.Value probar.Value probar .Value = i + 1 lblCompanyProduct.Caption lblCompanyProd uct.Caption = i If probar.Value = 100 Then
Unload
Me
login.Show End If End Sub
28
HOTEL RESERVATION MANAGEMENT
MDIForml:
Private Sub AB Click() DataReport_All_Bill. DataReport_A ll_Bill. Show End Sub
Private Sub abt us Click() frmabt us. Show End Sub
Private Sub allguest_Click() DataReport_Guest. Show End Sub
Private Sub booking_Click() frmTR_BOOKING.Show frmTR_BOOKING. Show End Sub
Private Sub exit_Click() End End Sub Private Sub guest_Click() frmM GUEST.Show End Sub
Private Sub Guestinfo Click() frmM_GUEST 1 .Show End Sub
29
HOTEL RESERVATION MANAGEMENT
Private Sub mnu exit Click() End End Sub
Private Sub rate card Click() DataReport_R_Rate_Card. Show End Sub
Private Sub rate Click() frmM_R_RATE.Show frmM_R_RATE.Sho w End Sub
Private Sub ratev Click() frmM_R_RATE frmM_R_RA TE 1 . Show End E nd Sub
Private Sub RS Click() DataReport_Room_Availability.Show End Sub
30
HOTEL RESERVATION MANAGEMENT
frmM
GUEST:
Private Sub Form Unload(Cancel As Integer) Screen.MousePointer = vbDefault End Sub
Private Sub datPrimaryRS_Error(ByVal ErrorNumber As Long, Description As String, ByVal Scode As Long, Long, ByVal ByVal Source Source As String, String, ByVal HelpFil H elpFilee As String, ByVal HelpConte H elpContext xt As Long, fCancelDisplay As Boolean) 'This is where you would put error handling code 'If you want to ignore errors, comment out the next line 'If you want to trap them, add code here to handle them MsgBox "Data error event hit err:" & Description End Sub
Private Sub datPrimaryRS_MoveComplete(ByVal adReason As ADODB.Event ADODB.EventReasonE ReasonEnum, num, ByVal pError pError As ADODB.Error, ADODB.Error, adStatus adStatus As ADODB.EventStatusEnum, ByVal B yVal pRecordset pRecordse t As ADODB.Recordset) 'This will display the current record position for this recordset datPrimaryRS.Caption = "Record: " & CStr(datPrimaryRS.Recordset.AbsolutePosition) End Sub
Private
Sub
datPrimaryRS_WillChangeRecord(ByVal
ADODB.EventReasonEnum,
ByVal
cRecords
As
Long,
adReason adStatus
As As
ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) 'This is where you put validation code 'This event gets called when the following actions occur Dim bCancel As Boolean
31
HOTEL RESERVATION MANAGEMENT
Select Case adReason Case adRsnAddNew Case adRsnClose Case adRsnDelete Case adRsnFirstChange adRsnFirstChange Case adRsnMove Case adRsnRequery Case adRsnResynch Case adRsnUndoAddNew Case adRsnUndoDelete Case adRsnUndoUpdate adRsnUndoUpd ate Case adRsnUpdate End Select
If bCancel Then adStatus adStatus = adStatusCancel End Sub
Private Sub cmdAdd Click() On Error GoTo AddErr datPrimaryRS.Recordset.AddNew
Exit Sub AddErr: MsgBox Err.Description End Sub
Private Sub cmdRefresh _Click()
32
HOTEL RESERVATION MANAGEMENT
'This is only needed for multi user apps On Error GoTo RefreshEndatPrimaryRS.Refresh Exit Sub RefreshErr: MsgBox Err.Description End Sub Private Sub cmdUpdate_Click() On Error GoTo UpdateErr
datPrimaryRS.Record datPrimaryRS.Recordset.UpdateBa set.UpdateBatch tch adAffectAll Exit Sub UpdateErr: MsgBox Err.Description End Sub
Private Sub cmdClose Click() Unload Me End Sub
33
HOTEL RESERVATION MANAGEMENT
frmM GUEST!:
Private Const MARGIN_SIZE = 60 ' in Twips ' variables for enabling column sort Private m _iSortCol As Integer Private m iSortType As Integer
' variables for column dragging Private Private m bDragOK bDragOK As Boolean Boolean Private m iDragCol As Integer Private xdn As Integer, ydn As Integer
Private Sub Form Load() Dim i As Integer
datPrimaryRS.Visible datPrimaryRS. Visible = False
With MSHFIexGridl
.Redraw = False ' set grid's column widths
.ColWidth(0)
=
.ColWidth(1)= .ColWidth(2)
-1 -1
=
-1
34
HOTEL RESERVATION MANAGEMENT
.ColWidth(3)
=
-1
.ColWidth(4)
=
-1
.ColWidth(5)
=
-1
.ColWidth(6)
=
-1
.ColWidth(7)
=
-1
.ColWidth(8)
=
-1
.ColWidth(9)
=
-1
.ColWidth(1
0)
=
-1
.ColWidth(1 1) = -1 ' set grid's style .AllowBigSelection .AllowB igSelection = True .FillStyle .FillSt yle = flexFillRepeat
' make header bold .Row = 0 .Col = 0 .RowSel = .FixedRows .FixedRows - 1 1 .ColSel = .Cols .Cols - 1 1 .CellFontBold = True
' grey every other row For i = .FixedRows + 1 To .Rows .Rows - 1 1 Step 2 .Row =i .Col = .FixedCols .ColSel = .Cols() - .FixedCols .FixedCols - 1 1 .CellBackColor = &HCOCOCO ' light grey Next i
35
HOTEL RESERVATION MANAGEMENT
.AllowBigS .Allow BigSelection election = False .FillSt .Fi llStyle yle = flexFillSingle .Redraw = True
End With
End Sub
Private Sub MSHFlexGridl_DragDrop(Source As Control, X As Single, Y As Single)
' code in grid's DragDrop, MouseDown, MouseMove, and MouseUp events enables column dragging
If m_iDragCol = -1 Then Exit Sub ' we weren't dragging If MSHFlexGrid I .MouseRow <> 0 Then Exit Sub
With MSHFlexGrid I .Redraw = False .ColPosition(m_iDragCol) = .MouseCol .Redraw = True End With
End Sub Private Sub MSHFlexGridl MouseDown(Button As Integer, shift As Integer, X As Single, Y As Single)
36
HOTEL RESERVATION MANAGEMENT
' code in grid's DragDrop, MouseDown, MouseDown, MouseMove, MouseMove, and MouseUp MouseUp events enable enabless column c olumn dragging
If MSHFlexGridl.MouseRow <> 0 Then Exit Sub
xdn = X ydn ydn = Y m iDragCol = -1 ' cle ar drag dr ag flag m_bDragOK = True
End Sub
Private Sub MSHFlexGridl MouseMove(Button MouseMove(Button As Integer, shift As Integer, X As Single, Y As Single)
' code in grid's DragDrop, MouseDown, MouseDown, MouseMove, MouseMove, and MouseUp MouseUp events enable enabless column c olumn dragging ' test to see if we should start drag If Not m bDragOK Then Exit S ub If Button <> 1 Then Exit Sub If miDragCol <> -1 Then Exit Sub
' wrong button ' already dragg dragging ing
If Abs(xdn Abs(xdn - X) + Abs(ydn Abs(ydn - Y) < 50 Then Exit Exit Sub ' didn't didn't move enoug eno ugh h ye yett If MSHFlexGridl.Mo MSHFlexGridl.MouseRow useRow <> 0 Then Exit Sub header
' mu must st dra g
' if got to here then start the drag m iDragCol = MSHFlexGridl.MouseCol MSHFlexGrid 1 .Drag vbBeginDrag
37
HOTEL RESERVATION MANAGEMENT
End Sub
Private Sub MSHFlexGridl_MouseUp(Button As Integer, shift As Integer, X As Single, Y As Single)
' code in grid's DragDrop, MouseDown, MouseDown, MouseMove, MouseMove, and MouseUp MouseUp events enable enabless column c olumn dragging
m_bDragOK = False
End Sub
Private Sub MSHFlexGridl_Db1Click()
' code in grid's DblClick event enables column sorting
Dim i As Integer
' sort only when a fixed row is clicked If MSHFlexGrid I .MouseRow .MouseRow >= MSHFlexGrid I .FixedRows Then Exit Sub
i = m iSortCol
' save old column
m iSortCol = MSHFlexGridl.Col ' set new column
38
HOTEL RESERVATION MANAGEMENT
' increment sort type If i <> m iSortCol Then ' if clicking on a new column, start with ascending sort m_iSortType = 1 Else ' if clicking on the same column, toggle toggle between ascending and descending descendin g sort s ort m_iSortType = m_iSortType + 1 If m_iSortType = 3 Then m_iSortType = 1 End If
DoColumnSort
End Sub
Sub DoColumnSort()
' does Exchange-type sort on column m_iSortCol
With MSHFlexGridl .Redraw = False .Row = 1 .RowSel = .Rows - 1 .Col = m iSortColl .Sort = m_iSortType iSortCo m_iSortType FillStyle = FillStyle = flexFillRepeat flexFillRepeat .Col = 0 .Row
=
.FixedRows
.RowSel = .Rows .Rows - 1 1 .ColSel = .Cols - 1 .CellBackColor = &HFFFFFF
39
HOTEL RESERVATION MANAGEMENT
' grey every other row Dim iLoop As Integer For iLoop = .FixedRows + 1 To .Rows .Rows - 1 1 Step 2 .Row = iLoop .Col = .FixedCols .ColSel = .Cols() - .FixedCols .FixedCols - 1 1 .CellBackColor = &HCOCOCO ' light grey Next iLoop .FillStyle = flexFillSingle .Redraw = True End With End Sub Private Sub Form Resize()
Dim sngButtonTop As Single Dim sngScaleWidth As Single Dim sngScaleHeight As Single
On Error GoTo GoTo Form Resize Error Error Wi th M e sngScaleWidth = .ScaleWidth sngScaleHeight = .ScaleHeight
' move Close button to the lower right corner With
.cmdClose sngButtonTop = sngScaleHeight - (.Height + MARGIN_SIZE) .Move sngScaleWidth - (.Width + MARGIN_SIZE), sngButtonTop End
40
HOTEL RESERVATION MANAGEMENT
With
MSHFlexG MSHFlexGridl ridl.Mov .Movee MARGIN MARGIN SIZE SIZE,, M A R G I N S I Z E , sngScaleWi sngScaleWidth dth - (2 * MARGIN MARGIN_SIZ _SIZE), E), _ sngButtonTop - (2 * MARGIN SIZE) End With Exit Sub Form Resize Error: ' avoid error on negative values Resume Next End Sub Private Sub cmdClose Click() Unload ME End Sub
41
HOTEL RESERVATION MANAGEMENT
frmM R RATE:
Private Sub Form Unload(Cancel As Integer) Screen.MousePointer = vbDefault End Sub
Private Sub datPrimaryRS_Error(ByVal ErrorNumber As Long, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, fCancelDisplay As Boolean)
'This is where you would put error handling code 'If you want to ignore errors, e rrors, comment comme nt out the next line 'If you want to trap them, add code here to handle them MsgBox "Data error event hit err:" & Description End Sub
42
HOTEL RESERVATION MANAGEMENT
Private Sub datPrimaryRS_MoveComplete(By datPrimaryRS_MoveComplete(ByVal Val adReason As ADODB.Even ADODB.EventReasonEnu tReasonEnum, m, ByVal pError As ADODB.Error, ADODB.Error, adStatus adStatus As ADODB.EventStatusEnum, ADODB.EventStatus Enum, ByVal pRecordset pRecords et As ADODB.Recordset) 'This will display the current record position for this recordset datPrimaryRS.Caption = "Record: " & CStr(datPrimaryRS.Recordset.AbsolutePosition) End Sub
Private Sub datPrimaryRS_WillChangeRecord(ByVal adReason ADODB.EventReasonEnum, ByVal cRecords As Long, adStatus ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
As As
'This is where you put validation code 'This event gets called when the following following actions occur Dim bCancel bC ancel As Boolean
Select Case adReason Case adRsnAddNew Case adRsnClose Case adRsnDelete Case ad RsnFirstChange Case adRsnMove Case adRsnRequery Case adRsnResynch Case adRsnUndoAddNew Case adRsnUndoDelete Case adRsnUndoUpdate adRsnUndoUp date Case adRsnUpdate End Select
43
HOTEL RESERVATION MANAGEMENT
If bCancel Then adStatus = adStatusCancel End Sub
Private Sub cmdAdd Click() On Error GoTo AddErr datPrimaryRS.Recordset.AddNew
Exit Sub AddErr: MsgBox Err.Description End Sub Private Sub cmdRefresh Click() 'This is only needed for multi user apps On Error GoTo RefreshErr datPrimaryRS. Refresh Exit Sub RefreshErr: MsgBox Err.Description End Sub
Private Sub cmdUpdate_Click() cmdUpdate_Click() On Error Er ror GoTo UpdateErr
datPrimaryRS.Recordset.UpdateBatch adAffectAll Exit Sub UpdateErr: MsgBox Err.Description End Sub
44
HOTEL RESERVATION MANAGEMENT
Private Sub cmdClose Click() Unload Me End Sub
45
HOTEL RESERVATION MANAGEMENT
frmM R RATE!:
Private Sub Form_Load() 'Set grdDataGrid.DataSource = datPrimaryRS.Recordset("ChildCMD").UnderlyingValue End Sub
Private Sub Form Resize() On Error Resume Next 'This will resize the grid when the form is resized grdDataGrid.Width = Me.ScaleWidth grdDataGrid.Height = Me.ScaleHeight - grdDataGrid.Top datPrimaryRS.Height - 30 - picButtons.Height End Sub
Private Sub Form Unload(Cancel As Integer) Screen.MousePointer = vbDefault End Sub
Private Sub datPrimaryRS_En -or(ByVal ErrorN ErrorNumber umber As Long, Descrip Description tion As As String, String, ByVal ByVal Scode Sco de As As Long, Long, ByV ByVal al Sourc Sourcee As Strin String, g, ByVal Help HelpFile File As Strin S tring, g, ByVal B yVal HelpC HelpContext ontext As Long, fCancelDisplay As Boolean) 'This is where you would put error handling code 'If you want to ignore errors, comment out the next line 'If you want to trap them, add code here to handle them MsgBox "Data error event hit err:" & Description End Sub
46
HOTEL RESERVATION MANAGEMENT
Private Sub datPrimaryRS_MoveComplete(By datPrimaryRS_MoveComplete(ByVal Val adReason As ADODB.Even ADODB.EventReasonEnu tReasonEnum, m, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) 'This will display the current record position for this recordset datPrimaryRS.Caption = "Record: " & CStr(datPrimaryRS.Recordset.AbsolutePosition) End Sub
Private Sub datPrimaryRS_WillChangeRecord(ByVal adReason ADODB.EventReasonEnum, ByVal cRecords As Long, adStatus ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
As As
'This is where you put validation code 'This event gets called when the following actions occur Dim bCancel As Boolean
Select Case adReason Case adRsnAddNew Case adRsnClose Case adRsnDelete
Case adRsnFirstChange Case adRsnMove Case adRsnRequery Case adRsnResynch Case adRsnUndoAddNew Case adRsnUndoDelete Case adRsnUndoUpdate Case adRsnUpdate End Select
47
HOTEL RESERVATION MANAGEMENT
If bCancel Then adStatus adStatus = adStatusCancel End Sub
Private Sub cmdRefresh Click() 'This is only needed for multi user apps On Error GoTo RefreshErr datPrimaryRS. Refresh Set grdDataGrid.DataSource = datPrimaryRS.Recordset("ChildCMD").Underlying datPrimaryRS.Recordset("Child CMD").UnderlyingValue Value Exit Exi t Sub RefreshErr: MsgBox Err.Description End Sub
Private Sub cmdClose Click() Unload Me End Sub
48
HOTEL RESERVATION MANAGEMENT
tr booking:
Private Sub Form Unload(Cancel As Integer) Screen.MousePointer = vbDefault End Sub
Private Sub datPrimaryRS_Error(ByVal ErrorNumber As Long, Description As String, ByVal Scode As Long, Long, ByVal ByVal Source Source As String, String, ByVal HelpFil H elpFilee As String, ByVal HelpCont HelpContext ext As As Long, fCancelDisplay As Boolean) 'This is where you would put error handling code 'If you want to ignore errors, comment out the next line 'If you want to trap them, add code here to handle them MsgBox "Data error event hit err:" & Description End Sub
Private Sub datPrimaryRS_MoveComplete(By datPrimaryRS_MoveComplete(ByVal Val adReason As ADODB.Even ADODB.EventReasonEnu tReasonEnum, m, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
'This will display the current record position for this recordset datPrimaryRS.Caption = "Record: " & CStr(datPrimaryRS.Recordset.AbsolutePosition) End Sub
Private
Sub
datPrimaryRS_WillChangeRecord(ByVal
ADODB.EventReasonEnum,
ByVal
cRecords
As
Long,
adReason adStatus
As As
ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
49
HOTEL RESERVATION MANAGEMENT
'This is where you put validation code 'This event gets called when the following actions occur Dim bCancel As Boolean
Select Case adReason adReason Case adRsnAddNew Case adRsnClose Case adRsnDelete Case adRsnFirstChange Case adRsnMove Case adRsnRequery Case adRsnResynch Case adRsnUndoAddNew Case adRsnUndoDelete Case adRsnUndoUpdate Case adRsnUpdate
50
HOTEL RESERVATION MANAGEMENT
End Select
If bCancel Then adStatus adStatus = adStatusCancel !',nd Sub
Private Sub cmdAdd Click() On Error GoTo AddErr datPrimaryRS.Recordset.AddNew
Exit Sub AddErr: MsgBox Err.Description End Sub
Private Sub cmdRefresh Click() 'This is only needed for multi user apps On Error GoTo RefreshErr datPrimaryRS.Refresh Exit Sub RefreshErr: MsgBox Err.Description End Sub Private Sub cmdUpdate_Click() On Error GoTo UpdateErr
datPrimaryRS.Recordset.UpdateBatch adAffectAll
51
HOTEL RESERVATION MANAGEMENT
Exit Sub UpdateErr: MsgBox Err.Description End Sub
Private Sub cmdClose_Click() Unload Me End Sub Private Sub txtFields Change(Index As Integer) 'Total amount = ((room rate per day + tax per day - discount per day)* number of days) txtFields(7).Text = ((Val(txtFields(4).Tex txtFields(7).Text ((Val(txtFields(4).Text) t) + Val(txtFields(6).Text)) Val(txtFields(6).Text)) - Val(txtFie Val( txtFields(5) lds(5).Text) .Text))) * Val(txtFields(8).Text) '( Val(txtFields(7).Text) = ((Val((txtFields(4) + txtFields(6))) - txtFields(5)) * Val(txtFields(8))))
End Sub
52
HOTEL RESERVATION MANAGEMENT
CHAPTER-5 TESTING
53
HOTEL RESERVATION MANAGEMENT
When you work in software testing company, learning comes naturally as you come across s o many different kinds of projects and assignments. From health to travel, testing department has to deal with hundreds of different categories of applications. Their core job responsibility is to ensure that the app must be according to the technical as well as the user requirement. Once upon a time, my team was working on testing the hotel management software, which facilitates the hotel management in the room booking and reservation process. The hotel management software revolves around the owner and the agent and gives them the ease to view the activities scheduled on a particular day, number of rooms available in a specific category and last but not least helps in the billing calculation of the customer. The software also offers a calendar view vie w that colors the booked rooms with green, reserved with yellow and blocked with red to aware the management about the current stat uses and the number of rooms available at a particular time period. I think that’s enough with the software overview. Let’s move to the t esting scope now. Black box testing is conducted by creating the necessary test scenarios and cases. After the execution, we identified a list of issues, which are as follows From functional to usability flaws, software contains major issues related to design, function and accessibility. Some of the design issues include splitting the large name into two parts, cosmetic and table alignment issues. Consequently, the software also contains major usability issues. It doesn’t doesn’t display any message after changing the password or no window is popped up when user enters an invalid user name or password. So, it has real problems with the password verification and change password test cases. Functional issues include errors in the booking, billing and room category issues. Agent permission and user restriction parameters are not defined clearly and there exist some critical errors. Agent can amend and calculate calc ulate the price according to their own will and a nd there is no check installed to bar agents from f rom doing it. Similarly, the user can also book the blocked and the reserved rooms. Such kinds of of issues are also present in the room categories, not updating the management about the actual status of the rooms. Furthermore, overbooking was another major hitch. For example, if 10 rooms are available in a VIP room category, user can book more than 10 rooms, rooms, which are not available in a particular category. So, most of the test cases and scenarios scenari os are negative and my team was startled star tled by such kind of apathy from the side of developers. The software was tested on the windows 7 platform using the latest versions of Firefox and Google chrome. Everything went well as we performed cross platform testing and the response was stable on both browsers. Although, the project had the lot of bugs, which motivates the tester on one hand, on the other hand, it certainly means more time and work for developers to fix it, the project offered us an enriching learning experience. Let us take a glance at what we learnt from the project.
54
HOTEL RESERVATION MANAGEMENT
Integration Testing : Integration testing is one of the new aspect of testing for us. It includes different modules of software, tested together by combining them in a group.
Negative Testing : It involves the testing the software to determine its behavior by entering unexpected values. It is also known as “against the rule” testing
Billing Models : We also came across different diff erent types of hotel management billing models. These include different methods of calculation of taxes, category cate gory wise billing and addition of other services.
55