You are on page 1of 94

INDEX

S. N

CONTENTS

1.

INTRODUCTION

2.

ANALYSIS
2.1 SYSTEM ANALYSIS
2.2 SYSTEM SPECIFICATIONS

3.

DESIGN APPROACH
3.1 INTRODUCTION TO DESIGN
3.2 UML DIAGRAMS
3.3 DATA FLOW DIAGRAMS
3.4 E-R DIAGRAMS

4.

PROJECT MODULES

5.

IMPLEMENTATION
5.1 CONCEPTS AND TECHNIQUES
5.2 TESTING
5.2.1 TEST CASES

6.

OUTPUT SCREENS

7.

CONCLUSION

8.

BIBILIOGRAPHY

PART- I

INTRODUCTION
The following proposed system aims to develop web application for
facilitating reservation process at hotel. The system provide the reception an
easy way for searching on rooms, listing off rooms, inserting the client
information, getting details about specific client, making a reservation for
rooms and doing payment process. The project consist of two main parts:
building solution for data base for storing and representing metadata in easy
way, building a receptions interface that allows the reception for inserting,
deleting, updating, modifying and representing of metadata.

1.3.1 Objectives
Developing hotel reservation system solution.
1.3.2 Benefits:
The system will have history about reservation and guest so that can be
called whenever they are needed which helps in checking any mistake.
1.3.2.1
1.3.2.2

Making the reservation easier.


Finding the available room in short time.

1.3.3 A Preliminary Requirements Analysis:


1.3.3.1)

Database :

i) To store reservation detail.


ii) To store guest detail.
iii)To store payment detail.
iv)To store rooms information.
1.3.3.2) Web Interface:
a) Reception Side:
i)
Allow the reception to modify, add or delete reservation.
ii)
Allow the reception to modify, add or delete guest detail.
iii) Allow the reception to provide the guest with the payment
iv)
v)
vi)

detail.
Display list of on and off rooms.
Search about specific guest.
Display detail about reservation.

1.3.4 Technical Requirements-Feasibility:


1.3.4.1) Database: the data will be hosted on an Sql server database.
Our group will build the tables and their requirements as
needed for controlling the system.

1.3.4.2) Web: our group will develop the web application with Visual
Studio 2008 using asp.net and Visual basic.

1.3.5 Scope:
The system provide the employee who works in the reception the
ability to do reservation for the hotel guests; by searching for available
rooms, inserting the guest information, making the reservation and the
payment process. This system is build using a database that will be hosted an
Sql server database and a web interface using the Visual Studio 2008
ASP.net. In this project there are one model: The reservation model accept
the guest details, rooms details, card details and date on check in and
checkout. Also, deals with the hotel rooms by adding and removing rooms.
1.3.6 Visibility Plan :
Internal The group will meet weekly on Sunday and Tuesday morning
from 8:00 am to 12:00 pm and with Mr. Mohammad Zikria on Wednesday
morning from 9:00 am to 10:00 am to discuss progress and problems.
Meeting minutes will be kept track of and sent to all members of the Group
for reference. Any additional communication will be done via email or
through other collaboration tools such as document sharing. In addition, the
source code will be stored at all members PCs, a repository for the project.
All source code will be documented carefully before being submitted to the
repository. The progress of the principal activities and major milestones will
be closely monitored and compared with the schedule. During the regular

meetings, progress will be compared to our chart, which will be drafted after
the completion of the requirements study when the tasks are identified and
assigned.

1.3.7 Suggested Deliverables:


1.3.7.1) Requirements Analysis a document and a presentation to
go over the formal requirements of the project, both
functional and non-functional. This deliverable ensures that
the Group is working on a system that closely matches to the
wishes of the Client.
1.3.7.2) Design Document a document and a presentation to go
over the design of the system. This is the Groups
opportunity to go over how the project is to be implemented
to the Client.
1.3.7.3) Source Code a document, presentation along with the
source code of the final completed project. This final
deliverable wraps up and concludes the project.
1.3.8 Technical Deliverables:
1.3.8.1) A database with tables that going to support the system. These
tables will be used to store the information that are needed for
reservation and payment; such as, guests detail, rooms detail,
reservation date and employees, who do the reservation, detail.
1.3.8.2) A reception interface to add, delete and modify for reservations,
guests, rooms, employees and payments. Searching for specific
guest and reservation

Figure 1: Tables

The relationships between the tables:


1. The relationship between Customers to Transaction is one to many.
2. The relationship between Identify Customer to Customers is one to
one.
3. The relationship between Room Category to Booking Detail is one to
many.
4. The relationship between Booking to Booking Details is one to one.
5. The relationship between CredCard to Pyment is one to one.
6. The relationship between Employees to Transaction is one to many.
7. The relationship between Transaction Details to Transaction is one to
one.
8. The relationship between Transactions Details to Room Statues is one
to many.
9. The relationship between Room Status to Room Category is one to
one.
10.The relationship between Pyment to Transaction is one to one.

11.The relationship between Payment to Payment Modes is one to one.

Figure 2

Part II Use Cases

2.1 Reception Use Cases


2.1.1 Search available room
Goal: Reception search for available room.
Actors:
Reception
System
Preconditions:
The reception must insert the check-in and check-out date.
Triggers:
The reception clicks the button " Search "
Basic Scenario :
1.
2.
3.
4.

The reception specify the check-in and check-out date.


The reception add room type.
Reception clicks on the button " Search ".
The system will show the available rooms with their type on the

determined dates.
5. The reception choose the rooms the customer prefer depends on the
floor number and the view and clicks the button "Booking"
6. System will take the reception to the booking details page.

Post conditions: The reception searched for the available rooms.


2.1.2 Booking Details
Goal: Insert the booking details.
Actors:
Reception
System
Preconditions:
The reception must be done with the room search.
Triggers: Reception click on the button " Save"
Basic Scenario:
1. Check-in date, check-out date and the first six rooms that have been
chosen will upper automatically.
2. The reception fill the Guest Details " First and last name, Address, email, telephone number and finally the guest identification number" .
3. Then the reception must fill the guest credit card information " Credit
card number, credit card holder name, and the credit card expire date".
4. Then the reception clicks on "Save" to save all the information in the
database.
5. The system will check the information before saving it in case the
reception forget to insert any of the important information.
Post condition: The reception have completed the booking details.

2.1.3 Payment
Goal : Reception Confirms the room booking.
Actor:
Reception
System
Preconditions: Reception must be done with the room search and the
booking details.
Triggers: Reception clicks button "Confirm"
Basic Scenario:
1. The booking details will upper on a table automatically.
2. There will be a booking number so the reception can do motivation
for the booking on the future.
3. The reception will specify the payment date and the mood " Cash,
check, or credit card"
4. The credit card number and the total cost will upper automatically on
the page.
5. After completing all the payment details the reception clicks on
confirm.
Post Condition: The room booking will be confirmed.
2.1.4 Delete Guest
Goal: Delete a guest form the system.
Actors:

Reception
System

Preconditions: Reception must be able to access the system via a web


browser.
Triggers: Reception clicks button "Delete Guest"
Basic Scenario:
1. Reception clicks button to initiate the delete process.
2. System prompts the Administrator to select a guest by searching using
the guest identification or viewing a list of guests.
3. System display guest information.
4. System confirms deletion of selected guest.
5. System displays home page.
Post conditions: A guest has been deleted within the system.
2.1.5 Change Guest Information
Goal: Alter properties such as telephone number or email of the guest.
Actors:
Reception
System
Preconditions: Reception must be able to access the system via a web
browser.
Triggers: Reception clicks button "Change Guest Properties"

Basic Scenario:
1. Reception clicks the button to initiate change guest properties process.
2. System prompts the Administrator to a guest by searching using the
guest identification or viewing a list of guest.
3. System displays the guest properties.
4. System alters the guest properties.
5. System displays the home page.
Post conditions: A room has been altered within the system.
2.1.6 Customer Search
Goal: Modify or delete a customer information.
Preconditions: The customer information should be on the database.
Triggers:
The reception searches for customer by his ID or view all the customers
list.
Basic Scenario:
1. After the reception search's for a customer his information will upper
on the page "First and last name, address, telephone number, and his
email".
2. There are two options either to modify the customer information or to
delete the customer.
Post Condition: The customer details will be modified or deleted.

2.1.7 Remainder Email


Goal: Send a reminder email to the guest two date before the check in date.
Preconditions: Reception must be able to access the system via a web
browser, Booking details must be on the database.
Triggers: Reception clicks button "Reminder Email".
Basic Scenario:
1. The Reception clicks to view a list with the entire guest who will
check in after 2 days.
2. The Reception clicks "Send" to send a remainder email to each guest.
2.2 Administrator Use Cases
2.2.1 Login Administrator
Goal: To login to an Administrator account with the system.
Actors:
Administrator
System
Preconditions: Administrator account must already be registered.
Triggers: Administrator clicks button to "Login"

Basic Scenario:
1.
2.
3.
4.

Administrator clicks button to initiate process.


System prompts the Administrator for User name and password.
System verifies information.
System display rooms details home page to Administrator.

Post Conditions: The administrator is logged into the system.


2.2.2 Logout Administrator
Goal: Logout the Administrator account on the system.
Actors:
Administrator
System
Preconditions: Administrator must be logged-in on the system.
Triggers: Administrator clicks button "Logout"
Basic Scenario:
1. Administrator clicks button to initiate logout process.
2. System displays home page.
Post Conditions: The Administrator is logged out of the system.
2.2.3 Add Room
Goal: Add new room to the system.
Actors:
Administrator
System

Preconditions: Administrator must be able to access the system via a web


browser.
Triggers: Administrator clicks button to "Add Room"
Basic Scenario:
1. Administrator clicks the button to initiate Add room process.
2. System prompts the Administrator to fill out Room number, view, and
type.
3. System validates new room information.
4. System creates a new room.
5. System displays account home page to Administrator.
Post conditions: A new room is created within the system.
2.2.4 Delete Room
Goal: Delete a room form the system.
Actors:
Administrator
System
Preconditions: Administrator must be able to access the system via a web
browser.
Triggers: Administrator clicks button "Remove Room"
Basic Scenario:
1. Administrator clicks button to initiate the remove process.

2. System prompts the Administrator to select a room by searching using


the room number or viewing a list of rooms.
3. System display room information.
4. System confirms deletion of selected room.
5. System displays account home page to administrator.
Post conditions: A room has been deleted within the system.
2.2.5 Change Room Properties
Goal: Alter properties such as view or type of the room.
Actors:
Administrator
System
Preconditions: Administrator must be able to access the system via a web
browser.
Triggers: Administrator clicks button "Change room Properties"
Basic Scenario:
1. Administrator clicks the button to initiate change room properties
process.
2. System prompts the Administrator to select a room by searching using
the room number or viewing a list of rooms.
3. System displays the room properties.
4. System alters the room properties.
5. System displays the account home page to Administrator.
Post conditions: A room has been altered within the system.

2.2.6 View Financial Report


Goal: View a financial report for specific time.
Actors:
Administrator
System
Preconditions: Administrator must be able to access the system via a web
browser.
Triggers: Administrator clicks button " Report".
Basic Scenario:
1. System prompts the Administrator to select two dates.
2. System will display the revenue for that specific time.

2.3 Use Cases Diagrams


2.3.1 Reception UsesCases Diagrams:

Figure 3: Reception

Figure 4: Edities

Figure 5: Payment

Figure6: Reminder Email

2.3.2 Administration UseCase Diagram:

Figure7: Administration

Part III Software Requirements Specifications

The following subsections of the Software Requirements Specifications


(SRS) document provide an overview of the entire SRS.
Definitions, Acronyms, and Abbreviations.
SRS Software Requirements Specification
HMS Hotel Management System
Subjective satisfaction The overall satisfaction of the system
End users The people who will be actually using the system

Overview
The SRS is organized into two main sections. The first is The Overall
Description and the second is the Specific Requirements. The Overall
Description will describe the requirements of the HMS from a general high
level perspective. The Specific Requirements section will describe in detail
the requirements of the system.

The Overall Description


Describes the general factors that affect the product and its requirements.
This section does not state specific requirements. Instead it provides a
background for those requirements, which are defined in section 3, and
makes them easier to understand.
Product Perspective
The HMS is an independent standalone system. It is totally self contained.

3.5 Hardware Interfaces


The HMS will be placed on PCs throughout the hotel.
Software Interfaces
All databases for the HMS will be configured using Sql server 10g. These
databases include hotel rooms and customers information. These can be
modified by the end users. The room database will include the room
numbers and if they are vacant or occupied. The customers' information
database will contain all the information of the customer such as first name,
last name, phone number, credit card number, confirmation number, check in
date, check out date and timeetc.

Product Functions
Reservation and Booking System

Allow the reception to modify, add or delete reservation.


Allow the reception to modify, add or delete guest detail.
Allow the reception to provide the guest with the payment detail.
Display list of on and off rooms.
Search about specific guest.
Display detail about reservation.

General Management Services and Automated Tasks System


Allow the administrator to modify, add or delete the room.
View a daily, weekly and monthly report.
User Characteristics
Educational level of HMS computer software Low
Experience of HMS software None
Technical Expertise Little

Apportioning of Requirements
The audio and visual alerts will be deferred because of low importance at
this time.

Specific Requirements
This section contains all the software requirements at a level of detail, that
when combined with the system context diagram, use cases, and use case
descriptions, is sufficient to enable designers to design a system to satisfy
those requirements, and testers to test that the system satisfies those
requirements.
External Interfaces
The Hotel Management System will use the standard input/output devices
for a personal computer. This includes the following:
Keyboard
Mouse
User Interfaces
The User Interface Screens are described in table 1.
Table 1: Hotel Management User Interface Screens
Screen Name
Login
Reservation

Description
Log into the system as Administration
Retrieve button, update/save reservation, cancel
reservation, modify reservation, , accept payment

Hotel Payment

type/credit card
Accept payment for room.

Customer Record
Administer Rooms
Reports

Delete or update customer records


Add, modify and delete rooms.
Select, view

Software Interfaces
The system shall interface with an Sql server.
Hardware Interfaces
The system shall run on a Visual studio c#(ASP.net).
Communication Interfaces
The system shall be a standalone product that does not require any
communication interfaces.
Functional Requirements
Functional requirements define the fundamental actions that system must
perform.
The functional requirements for the system are divided into two main
categories, Reservation/Booking, and Management. For further details, refer
to the use cases.
1. Reservation/Booking
The system shall record reservations.
The system shall record the customers first name.

The system shall record the customers last name.


The system shall record the mobile number.
The system shall record the room number.
The system shall display the default room rate.
The system shall record the customers email.
The system shall generate a unique confirmation number for
each reservation.
The system shall automatically show the customers that have
reservation after two days and send a reminder email to them
The system shall record the expected check-in date.
The system shall record the expected checkout date.
The system shall allow reservations to be modified without
having to reenter all the customer information.

2. Management
2.1.The system shall allow for the addition of rooms.
2.2.The system shall allow for the deletion of rooms.
2.3.The system shall allow for the modification of rooms.

Nonfunctional Requirements
Functional requirements define the needs in terms of performance, logical
database requirements, design constraints, standards compliance, reliability,
availability, security, maintainability, and portability.
Performance Requirements
Performance requirements define acceptable response times for system
functionality.
The load time for user interface screens shall take no longer
than two seconds.
The log in information shall be verified within five seconds.
Queries shall return results within five seconds.
Logical Database Requirements
The logical database requirements include the retention of the following data
elements.
Booking/Reservation System
Customer first name
Customer last name
Customer address

Customer phone number


Assigned room
Default room rate
Credit card number
Confirmation number
Expected check-in date
Expected check-out date
Payment type
Design Constraints
The Hotel Management System shall be a stand-alone system running in a
Windows environment. The system shall be developed using Sql server and
ASP.net.
Standards Compliance
There shall be consistency in variable names within the system. The
graphical user interface shall have a consistent look and feel.
Reliability
Specify the factors required to establish the required reliability of the
software system at time of delivery.

Availability
The system shall be available during normal hotel operating hours.
Security
Customer Service Representative will have access to the
Reservation/Booking. Managers will be able to log in to the Hotel
Management System and will have access to the Management subsystem.
Maintainability
The Hotel Management System is being developed in ASP.net.Visual studio
is one of the products that are used for building the system. This product is
chose because it provides the user developers a compelling development
environment for Windows and. NET platforms. This product helps in
building Windows application, console application, Windows service,
Windows mobile applications, ASP.NET application and ASP.NET web
services with , C#, you can add additional tools that help in building
interface in easy way. For the end user, the ASP and c# is used in developing
Hotel Management System. Also, it helps in creating Crystal report and
connection with the database by using ODB. The other product that has been
chosen is sqp server 10g Express Edition. It has been chosen for the

background of the system. As it can build the tables and quires in easy way
and connected with the end user in effective way.
Portability
The Hotel Management System shall run in any Microsoft Windows
environment.

Part IV Task Analysis

Hotel management system has two use cases. First one is the administrator
and the second one is the reception side. The administrator has the
permission to use all task in the system but for the rooms setting he/she has
to log into the system with successful user and password. The reception
primarily concerned with siven tasks: searching available room, doing
reservation to the available room, doing the process for paying or canceling
the booking, doing the setting for guests and credit card, finding out
information about specific booking and sending a reminder to the guests
before check-in day.
4.1 System Rules
1. The reception can use the system without authentication. But his/her
2.
3.
4.
5.
6.
7.

use is limited.
The reception cannot insert the Room setting.
The admin needs to log in to use the Room setting.
The check in data has to be bigger or equal to the current date.
The check in data has to be smaller than the check out date.
The required text box has to be filled.
The Booking ID, Booking Detail ID and Payment ID will be inserted
automatically by using automatically increment.

4.2 Subtasks
searching is almost a small system that is used as a sub system in the
hotel management system to find available room. In order to do this, the
reception must know the check in day, check out day, may choose the
type of view or the type of room. Then the reception submits this
information to the system and the system will find out the available
room according to this information. And the system will generate a list
of available room that meet these information. After that the reception
can choose the wanted room to do a new reservation or to do update for
old reservation. For the update process the reception will need the
booking number.

To do a reservation to the available rooms, the reception needs the names


of the required rooms. Fill the information about the guest and credit
cards information. Then the reception can submit the required detail for
reservation or go back to the home page without doing the reservation.
After the reservation is done, the system will show the reservation's
detail.

The process for paying can be done after the reservation immediately or

before doing the checkout day. In order to do the paying, the reception
needs to know which booking he/she going to do the paying for. So this
process needs the booking number, payment information; such as, mode
of payment, if it is cash or by credit card the payment process needs the
date of payment and the total cost.

As some information of the guest or credit card exposed to be changed,


the reception needs the guest ID or the Credit Card ID and he/she needs
to the new information to do the update according the change.

Some times the hotel needs to know information about specific booking,
for that the system provides the user with ability to find this required
information. In this case, the reception needs the booking ID.

For sending a reminder to the guest, the system has a button called
reminder. When the reception clicks this button, the system will check
all the check in days and it will send a reminder to guests whose check in
day after two or one days.

For doing the setting for hotel rooms and it is category, user needs to be

admin and needs to log into the system before doing the setting for the
rooms. In this setting the user can delete, update and add room. For
deleting the user needs the rooms ID. For updating the user needs the
rooms ID and inserting the new detail. For adding the, if the user want
to add new room needs to know the ID for the category and to insert new
ID for the new room. If the user wants to add new category, needs to
insert new ID, rooms floor, rooms category, rooms price.

4.3Hierarchical Task Decomposition

Figure 8: Search for available room

Figure 9: Reservation

Figure 10: Paying

Figure 11: Setting

Part V Interface

5.1 Search
this task is needed to make finding out the available rooms easier. During the
searching the system needs to ensure that there is no conflict in the chosen
room. The system has to ensure that the wanted room in the specific time is
not assigned to other guest in that time. Because the guest may demand
specific rooms features; such as, the type of the room or the view of the
room, the system provide the user with the ability of choosing the type of
view and the type of the room. After the criteria of the search are
determined, the system connects with the database to find out the rooms that

concerned with these required features.

Figure 12: Search and Update Form


If the user insert a date that is past or the check out date is earlier than the
check in date the system will pop up a message box to notify the user about

the mistake that has been done.

Figure 13: Checking inserted date

Figure 14: Checking date


If the user clicks Detail, Modify or Pay button without inserting the Booking
ID, he/ she will receive a message that said you have to enter a Booking ID.

Figure 15: Notifying The User That the BookinNo is Empty

If the search is done successfully, the system generates a list of available


rooms in grid view with check box. This check box enables the user to
choose the room from the grid view. After checking the box, the user can do
a new reservation or can do an update to old reservation. The system has a
text box for inserting a booking number which is needed to find the old

reservation from the database and does the change.

Figure 16: Search Result

As the system aims to make the process in hotel management easy to the end

user, the two text boxes which are used to insert the check in date and check
out date are provided with calendar extender. So, whenever the user clicks
on these two text boxes, a calendar will show up. The user can choose date
from it and it will be written automatically in the text box.

Figure 17: Calendar

5. 2 Booking
After the submission of booking is clicked, the system willforward to
booking page with keeping the ID of the rooms and category that has been
chosen by using the session. Then the booking page will load the session in
the text boxes. In addition to that, the guest detail will be needed to fill other
text boxes. Some of this information is mandatory; such as, first name, last
name, ID and email. The first name and last name are mandatory to help the
reception to ensure who reserve the specific room. ID helps in making the
delete or the update for the guest detail. On the other hand, the email is
important for sending the remainder to the user.

Figure 18: Reservation Form

Also, this page has a required for inserting the credit card information
which has three requirements. One for credit cards ID, the second one for
holders name and the third one for expired date. As the credit cards ID is
important in doing cancel or updating to the credit card this field is
mandatory.
When the user fills all mandatory information, has two choices, one is to
click the save button which will transfer the page to bookings details page.
And the second one is to click the exit button which will transfer the current
page to the home page which is the search page.

Figure 19: Credit Card Form

For preventing the user to do a reservation when there is any field of the
mandatory is empty, when the save button is clicked the system will check if
any of the mandatory field is empty or not. If one of them field is empty, the

system will not do the booking and it will pop up a message box that notifies
the user about the empty field.

Figure 20: Missing Field Message


Because the user could insert Invalid e mail address, the system is provided
with the checker that going to check if the email address is written correct or
not. The checker will check if the email address has a @ character and if it
has a dot (.) character. If the written email is unveiled, a message will be
written that tells the user that the email is Invalid.

Figure 21: Invalid Email

5.3 Paying

after the reservation are done, the user can transfer to the home page or can
transfer to the paying page. In the paying page, session is used to provide the
page with grid view of the guest detail who want to do payment and his/her
reservations detail. Also, this page has a text box for booking detail, which
will be field automatically by the session value, also, it has a text boxes for
total cost, payment date and credit card. In addition to that, it has drop down
list for payment mode. The total cost calculates and field automatically.

Figure 22: Payment Form

5.4 Guest Detail

the reception can get all information about specific guest. He/ she can know
the guest's first name, last name, telephone, email, address, his/her
reservation room and payment statue by inserting a booking number and
clicking on detail button. Also, the web site has a text boxes for enabling the
reception to do update or delete the guests detail.

Figure 24: Guest Setting Form

Figure 25: Finding information about specific guest

Figure 26: Finding all Guests' information by clicking the all button

When the delete button is clicked message will show up to ask the user if
he/she is sure that he/she want to delete, if he/she clicks Yes the delete will
be done. But if he/she clicks No, nothing will be happen.

Figure 27: Confirmation Message

5.5 Log in
the administrator who is responsible for doing rooms setting. but before
doing the room setting the administrator has to log in. the system has a
authentication for the administrator when he/she log in will be in the home
page but if he/she try to use the room setting page without log in the system
will transfer him/her to the log in page.

Figure 28: Login Form

If the administrator inserts wrong username or password the system will


notify the user by the mistake.

Figure 29: Log in Error Message

If the login is done successfully, the web page will transfer to the home page
or to application that wanted to use before login. If the page transfer to the
home page, the home page will has the name of the username and the log
out.

Figure 30: Login

Report
The web site has two different types for financial report. One views the
financial report for one day. And the other is viewing financial report for
specific period of time.

Reminder
The web site will send an email to the guests before there check in date by
two days.

Part VI Challenges

The real difficulty was that we do not know how to start with a language that
we do not know anything about. We did not know if we need to write the
codes or to drags things, what are the properties and features of this
language. What functions and keywords that can help in this project; such
as, in printing a table of the wanted date, taking the value from the text box
and uses it in functions, taking a single value from the data base(end back)
and uses it in the interface (end front).

The first challenge that we faced is how to deal with ASP.net and what we
shall use with a Sql server or a C#. we did a search for finding a solution to
this, and most of the website shows how to write a ASP codes and Sql
serveror C# codes without saying where we have to write and because
Dr.Ammar talked with us in data base theory about web developer with
Visual basic, we try to search this software and we find that we can use a
Visual Studio that has a web site developer with ASP. But until that time we
do not know where we can use the VB codes or the C# code and with
keeping search and trying we find where to put the VB or C# codes.

After that we keep searching about VB and C# to decide which support


language we are going to choose. We have tried some codes with VB and C#
and the first one that worked with us which is the VB we have depended it.

The most important step is how to connect the web with the data base (Sql
server). We found the following way:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\ MymdbFile.mdb;User
ID=Admin;JetOLEDB:Database Password=You'rePassword;

Most of the web site used this which is for Microsoft Access while our
project is Sql server data base. For that, we search for a compatible provider
with Sql server. We have tried this providers OraOLEDB.Sql server and
SQLOLEDB but the solution was OraOLEDB.Sql server.1 but even with
this we got an error and we found the solution that we have to add a
reference in config page. YouTube showed as how to add this reference
which is a System.Data.Sql serverClinet.

Most big challenge is the date. We need the date for inserting check in date

and check out date to find the available room. And the problem was when
we insert the date by using the calendar extender, the date is inserted as
mm/dd/yyyy, while the Sql server accepts it as yyyy/mm/dd. the first
solution came to our mind to do conversion to the text boxs value from
string to date. We have used this following code
Date.FromOADate(Val(txtStartDate.Text)

The insertion works well with this codes but when we do the comparing
between the current date and this conversion date, it does not work well.
After a weeks, we find that we got another problem which is this conversion
converse the date to 1900 year not as the current year. So we try to find
another solution; such as,

Date.FromFileTimeUtc(Val(TextEndDate.Text)

and even this has same problem as the first one. After long searching, we
found two solutions for this problem. One is that we can change the format
of the date by using the form attribute in the calendar extender. This can be
shown in the following codes

<asp:CalendarExtenderID="CalendarExtender1"
TargetControlID="txtStartDate"
runat="server" Format="yyyy/MM/dd"
OnClientDateSelectionChanged="checkDate" />

the other solution is putting a commend like date_to inside the insertion the
following codes clarify this commend:

INSERT INTO booking (CHECKIN) VALUES


(TO_DATE('12/31/2001','YYYY/MM/DD)

In our project we have chose the first solution which is with calendar
extender.

The other challenge is how to transfer form one page to another page
without losing specific value or with transfer specific value form one page
to other page. After searching, we found that Microsoft has several solutions
to this problem and our chose was by using the session.

Session("field88") = txtStartDate.Text

one of the most important challenges is how to generate data from the data
base to the interface. (in the grid view).
We did not know exactly what feature in ASB and VB can help us. With
searching we found that we can use the data set but how we can write the
SQL commend. The solution was by using a variable with type
OleDbCommand.
In our data some field most not is null. So, when we insert the data from the
interface to the data base we must check if the text box that is going to insert
to these field is null or not. One of the solutions that we have tried is

Dim c As Control
For Each c In form1.Controls
If c.Text = String.Empty Then
MsgBox("Please Enter the " &c.Name, MsgBoxStyle.Information, "Note")
c.Focus()
End If
Next

With the above code the web will check all text box even if there is no need
to check. Also, we have tried these
CheckIn.Text<>vbNullString
CheckIn.Text.Length = 0

and the solution was If TextBox2.Text = "".

For completing our data in data base we have to get some single value from
the data base to the inter face. Then, applies it in some function or
commend to insert it a gain in different field. For example, when we want
to calculate the total cost we have to get the price from the data base to the
VB. First we used an ExecuteScalar (); but it does not work with us. So, we
have tried to solve the problem with the data set. The following codes is the
used solution;

price = myDataSet.Tables("R").Rows(0).Item("Rprice")

Part VII
Conclusion
The ability to search about specific information or detail before and after
doing hotel reservation or to organize hotel's room in easy way with
customizing customer detail and checking the valid credit card are some
purpose to build system which makes dealing with these requirement
possible with easy and fast way. Hotel management system is built to find
suitable solution for reservation and customization of rooms, customers,
payments and credit cards. This system deal with the database as a end
back which based on Sql server and its interface based on ASP and Visual
basic. The interface aims to make reservation and using other tools easy to
every one without needing to learn how to use. The Sql serverhas the
responsibility of checking valid credit card, exist of customer ID , finding
the available room .

CODING

5. CODING
Register.aspx
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class Default2 : System.Web.UI.Page
{
int k= 0,l=0;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
}
protected void TextBox3_TextChanged(object sender, EventArgs e)
{
if (TextBox5.Text != TextBox3.Text)
{
Label11.Visible = true;
Label11.Text = "password mismatched";
k = k + 1;
}
}
protected void TextBox4_TextChanged(object sender, EventArgs e)
{
}
protected void Button2_Click(object sender, EventArgs e)
{
}
protected void RadioButton1_CheckedChanged(object sender, EventArgs e)
{

}
protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
l = l + 1;
}
String constring =
ConfigurationManager.ConnectionStrings["con"].ConnectionString.ToString();
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(constring);
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
con.Open();
Label9.Text = "user";
cmd.CommandText = "select Loginname from Login";
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataSet ds = new DataSet();
da.Fill(ds, "emp");
int c = 0;
for (int i = 0; i < ds.Tables["emp"].Rows.Count; i++)
{
if (ds.Tables["emp"].Rows[i]["Loginname"].ToString() == TextBox2.Text)
{
c = c + 1;
}
}
if (k == 0 && l>0)
{
l = 0;
if (c == 0)
{
if (TextBox1.Text != "" && TextBox2.Text != "" && TextBox4.Text!="" &&
TextBox3.Text != "")
{

cmd.CommandText = "insert into


Login(Loginname,Password,Name,Gender,Location,Phno,Type) values('" +
TextBox2.Text + "','" + TextBox3.Text + "','" + TextBox1.Text + "','" +
RadioButtonList1.Text + "','" + DropDownList1.Text + "','" + TextBox4.Text + "','" +
Label9.Text + "')";
int i = cmd.ExecuteNonQuery();
if (i == 1)
{

Label8.Visible = false;
Label12.Visible = true;
Label12.Text = "successfully registered,click on login..your login name is:
" + TextBox2.Text;
}
else
{
Label8.Visible = true;
Label8.Text = "some thing went wrong try again";
}
}
else
{
Label8.Visible = true;
Label8.Text = "some fields are left empty";
}
}
else
{
Label8.Visible = true;
Label8.Text = "Login name already exists";
}
}
else
{
Label8.Visible = true;
Label8.Text = "you need to accept our terms and conditions";
}

}
protected void TextBox2_TextChanged1(object sender, EventArgs e)
{
}
protected void TextBox5_TextChanged(object sender, EventArgs e)
{
}
}

Login.aspx
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
}
protected void Button2_Click(object sender, EventArgs e)
{

}
protected void TextBox2_TextChanged(object sender, EventArgs e)
{
}
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
}
String constring =
ConfigurationManager.ConnectionStrings["con"].ConnectionString.ToString();
protected void Button2_Click1(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(constring);
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
con.Open();
cmd.CommandText = "select Loginname,Type from Login where Loginname='" +
TextBox1.Text + "'and Password='" + TextBox2.Text + "'and
Type='"+DropDownList1.Text+"'";
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataSet ds = new DataSet();
da.Fill(ds, "emp");
if (ds.Tables["emp"].Rows.Count > 0)
{
Session["Type"] = ds.Tables["emp"].Rows[0]["Type"].ToString();
Session["Loginname"] = ds.Tables["emp"].Rows[0]["Loginname"].ToString();
Response.Redirect("Home.aspx");
}
else
{
Label4.Visible = true;
Label4.Text = "invalid username or password";
}
con.Close();
}

Masterpage.aspx
using System;
using System.Data;
using System.Configuration;

using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class MasterPage : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
if (Session["Type"] != null)
{
if (Session["Type"].ToString() == "admin")
{
pnlcust.Visible = false;
pnlog.Visible = true;
pnladmin.Visible = true;
}
else
{
pnlcust.Visible = true;
pnlog.Visible = true;
pnladmin.Visible = false;
}
}
else
{
pnlcust.Visible = false;
pnlog.Visible = true;
pnladmin.Visible = false;
}
}
protected void Menu2_MenuItemClick(object sender, MenuEventArgs e)
{
}
protected void LinkButton2_Click(object sender, EventArgs e)
{
Session["Type"] = null;

Response.Redirect("login.aspx");
}
protected void Menu1_MenuItemClick(object sender, MenuEventArgs e)
{
}
protected void Menu3_MenuItemClick(object sender, MenuEventArgs e)
{
}
protected void Linkbutton1_Click(object sender, EventArgs e)
{
Session.RemoveAll();
Response.Redirect("Home.aspx");
}
}

Hotelbooking.aspx
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
String constring =
ConfigurationManager.ConnectionStrings["con"].ConnectionString.ToString();
protected void Button1_Click1(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(constring);
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.Text;
cmd.Connection = con;

con.Open();
cmd.CommandText = "insert into
Ticketbooking(Passengername,Flightname,Sourcestation,Destinationstation,Numberofpa
ssengers) values('" + Session["Loginname"] + "','" + DropDownList1.Text + "','" +
DropDownList2.Text + "','" + DropDownList3.Text + "','"+DropDownList4.Text+"')";
SqlDataAdapter da = new SqlDataAdapter();
da.InsertCommand = cmd;
int i = cmd.ExecuteNonQuery();
cmd.CommandText = "update Scheduling set
Seats=Seats-'"+DropDownList4.Text+"' where FlightName='" + DropDownList1.Text +
"'";
int j = cmd.ExecuteNonQuery();
if (i == 1 && j == 1)
{
Label5.Visible = true;
Label5.Text = "successfully booked your ticket,click on generate to know ticket
number";
}
else
{
Label5.Visible = true;
Label5.Text = "Server buzy try again";
}
con.Close();
}
protected void Button2_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(constring);
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
con.Open();
cmd.CommandText = "select Ticketno from Ticketbooking where
PassengerName='" + Session["Loginname"] + "'";
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataSet ds = new DataSet();
da.Fill(ds, "emp");
if (ds.Tables["emp"].Rows.Count!=0 )

{
int k = ds.Tables["emp"].Rows.Count;
Label5.Visible = true;
Label5.Text = "YOUR TICKET NUMBER IS : "+ds.Tables["emp"].Rows[k-1]
["Ticketno"].ToString();
}
else
{
Label5.Visible = true;
Label5.Text = "Try again to book for ticket";
}
con.Close();
}
}
Cancelbooking.aspx
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class Default2 : System.Web.UI.Page
{
String constring =
ConfigurationManager.ConnectionStrings["con"].ConnectionString.ToString();
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(constring);
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
con.Open();
cmd.CommandText = "select Numberofpassengers from Ticketbooking where
Ticketno='" + TextBox2.Text + "'";
SqlDataAdapter da = new SqlDataAdapter();

da.SelectCommand = cmd;
DataSet ds = new DataSet();
da.Fill(ds, "emp");
int a = Convert.ToInt16(ds.Tables["emp"].Rows[0]["Numberofpassengers"]);

cmd.CommandText = "delete from Ticketbooking where Passengername='" +


Session["Loginname"] + "'and Flightname='" + DropDownList1.Text + "' and
Ticketno='" + TextBox2.Text + "'";
int i = cmd.ExecuteNonQuery();
da.DeleteCommand = cmd;
if (i == 1)
{
cmd.CommandText = "update scheduling set Seats=Seats+'"+a+"' where
Flightname='" + DropDownList1.Text + "'";
int j = cmd.ExecuteNonQuery();
if (j == 1)
{
Label4.Visible = true;
Label4.Text = "successfully canceled ";
}
else
{
Label4.Visible = true;
Label4.Text = "database not updated";
}
}
else
{
Label4.Visible = true;
Label4.Text = "Server buzy try again";
}
con.Close();
}
}

Addnewclient.aspx
using System;

using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class Default3 : System.Web.UI.Page
{
string constring =
ConfigurationManager.ConnectionStrings["con"].ConnectionString.ToString();
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(constring);
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
con.Open();
cmd.CommandText = "insert into
Scheduling(Flightname,Time,Sourcestation,Destinationstation,Seats,Price) values('" +
TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "','" + TextBox4.Text +
"','" + TextBox5.Text + "','" + TextBox6.Text + "')";
SqlDataAdapter da = new SqlDataAdapter();
da.InsertCommand = cmd;
int i = cmd.ExecuteNonQuery();
if (i == 1)
{
TextBox2.Text = "";
TextBox3.Text = "";
TextBox1.Text = "";
TextBox4.Text = "";
TextBox5.Text = "";
TextBox6.Text = "";
Label7.Visible = true;
Label7.Text = "successfully added";
}
else
{
Label7.Visible = true;

Label7.Text = "not added";


}
con.Close();
}
}

Timings.aspx
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Default3 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
GridView1.Visible = true;
}
protected void Button1_Click1(object sender, EventArgs e)
{
}
}

Scheduling.aspx
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("AddnewFlight.aspx");
}
}

customerlist.aspx
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Default3 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
}
}
Feedback.aspx
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class Default3 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}

String constring =
ConfigurationManager.ConnectionStrings["con"].ConnectionString.ToString();
protected void Button1_Click1(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(constring);
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
con.Open();
cmd.CommandText = "insert into Feedback(Name,Email,Subject,Message) values('"
+ TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "','" + TextBox4.Text +
"')";
SqlDataAdapter da = new SqlDataAdapter();
da.InsertCommand = cmd;
int i = cmd.ExecuteNonQuery();
if (i == 1)
{
TextBox1.Text = "";
TextBox2.Text = "";
TextBox3.Text = "";
TextBox4.Text = "";
Label5.Visible = true;
Label5.Text = "Thankyou For your valuable feedback";
}
else
{
Label5.Visible = true;
Label5.Text = "Some problem arrived,plz try after some time";
}
con.Close();
}
}

TESTING

6. TESTING
SYSTEM TESTING
Testing is a set of activities that can be planned in advance and conducted
systematically. The proposed system is tested in parallel with the software that consists of
its own phases of analysis, implementation, testing and maintenance. Following are the
tests conducted on the system.
UNIT TESTING:
During the implementation of the system each module of the system was tested
separately to uncover errors with in its boundaries. User interface was used as a guide in
the process.
MODULE TESTING
A module is composed of various programs related to that module. Module testing
is done to check the module functionality and interaction between units within a module.
It checks the functionality of each program with relation to other programs within the
same module. It then tests the overall functionality of each module.
INTEGRATION TESTING
Integration testing is a systematic technique for constructing the program structure
while conducting tests to uncover errors associated with interfacing. The objective is to
take unit-tested module and build a program structures that has been dictated by design.

ACCEPTANCE TESTING
The software has been tested with the realistic data given by the client and
produced fruitful results. The client satisfying all the requirements specified by them has
also developed the software within the time limitation specified. A demonstration has
been given to the client and the end-user giving all the operational features.
IMPLEMENTATION PHASE
The implementation is the final and important phase. It involves user training,
system testing and successful running of the developed system. The users test the
developed system when changes are made according to the needs. The testing phase
involves the testing of the developed system using various kinds of data. An elaborate
testing of data is prepared and system is tested using the tests data.
Implementation is the stage where theoretical design turned into a working
system. Implementation is planed carefully to propose system to avoid unanticipated
problems. Many preparations involved before and during the implementation of proposed
system. The system needed to be plugged in to the organizations network then it could
be accessed from anywhere, after a user logins into the portal. The tasks that had to be
done to implement the system were to create the database tables in the organization
database domain. Then the administrator was granted his role so that the system could be
accessed.
The next phase in the implementation was to educate the system. A
demonstration of all the functions that can be carried out by the system was given to
examination department person, who will make extensive use of the system.

CONCLUSION

8.CONCLUSION
Getting accurate information about what visas or permits you need is an important part of
preparing for a trip or stay abroad. To help you with this task we have provided
information about embassies and consulates abroad, and we have also included
companies that provide visa and passport services.
We offer documentation processing, application & filing
services for those interested in applying for a visa.A strong research team ensures that
cases are evaluated and processed as per the latest updated rules and regulations.

BIBILOGRAPHY

10. BIBILOGRAPHY
References:
SOFTWARE ENGINEERING

By Rogers.Pressman

SQL FOR PROFESSIONALS

ByJain

ASP.NET with C#

By Wrox Publications

MSDN 2002

- By Microsoft

Websites:
1.

www.support.microsoft.com

2. www.asp.net
3. www.w3schools.com
4. www.freetutes.com