Академический Документы
Профессиональный Документы
Культура Документы
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. This system will be built by two students
of Prince Mohammed Bin Fahed University. They are Fatimah Al Tuhaifa
with ID 200700818 and Fatimah Al Ghannam with ID 200600561
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:
1.3.2.1
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.2
Making the reservation easier.
1.3.2.3
Finding the available room in short time.
1.3.3 A Preliminary Requirements Analysis:
1.3.3.1)
Database :
detail.
Display list of on and off rooms.
Search about specific guest.
Display detail about reservation.
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
Oracle 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.
Figure 2
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.
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
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.
Basic Scenario:
1.
2.
3.
4.
Figure 3: Reception
Figure 4: Edities
Figure 5: Payment
Figure7: Administration
Product Functions
Reservation and Booking System
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
Software Interfaces
The system shall interface with an Oracle.
Hardware Interfaces
The system shall run on a Microsoft Visual Basic (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
1.1.The system shall record reservations.
1.2.The system shall record the customers first name.
1.10.6Availability
The system shall be available during normal hotel operating hours.
1.10.7Security
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.
1.10.8Maintainability
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++, C#, VB or J#. Also, you can add additional tools that
help in building interface in easy way. For the end user, the ASP and VB 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 Oracle Database 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.
1.10.9Portability
The Hotel Management System shall run in any Microsoft Windows
environment.
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.
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.
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.
Figure 9: Reservation
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
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.
5. 2 Booking
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.
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.
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.
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.
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.
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 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.
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.
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.
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 Visual Basic 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 Visual
Basic or 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.
The most important step is how to connect the web with the data base
(Oracle). 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 Oracle data base. For that, we search for a compatible provider
with Oracle. We have tried this providers OraOLEDB.Oracle and
SQLOLEDB but the solution was OraOLEDB.Oracle.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.OracleClinet.
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 Oracle 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:
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
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 Oracle 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 Visual basic has the
responsibility of checking valid credit card, exist of customer ID , finding
the available room .
Appendix A
CODES
8.1 VB And ASP
8.1.1
<asp:TextBoxID="TextBox5"runat="server">
Conn.Close()
MsgBox(" OK ", MsgBoxStyle.Information)
ElseIf Not reader.Read Then
MsgBox(" The room category not exist in Room Category table ",
MsgBoxStyle.Information)
End If
CMD.CommandType = CommandType.Text
CMD.CommandText = "SELECT RID FROM RoomS WHERE RID = '"&
TextBox1.Text &"'"
Dim reader As OleDbDataReader
reader = CMD.ExecuteReader
If reader.Read Then
DeleteCommand.CommandType = CommandType.Text
DeleteCommand.CommandText = " DELETE FROM RoomS WHERE RID
=?"
DeleteCommand.Parameters.Clear()
DeleteCommand.Parameters.AddWithValue("?", TextBox1.Text)
DeleteCommand.ExecuteNonQuery()
DeleteCommand.Dispose()
Conn.Close()
MsgBox(" OK ", MsgBoxStyle.Information)
ElseIf Not reader.Read Then
End If
RID =? "
UpdateCommand.Parameters.Clear()
UpdateCommand.Parameters.AddWithValue("?", TextBox2.Text)
UpdateCommand.Parameters.AddWithValue("?", TextBox1.Text)
UpdateCommand.ExecuteNonQuery()
UpdateCommand.Dispose()
Conn.Close()
MsgBox(" OK ", MsgBoxStyle.Information)
ElseIf Not reader.Read Then
MsgBox(" The room category does not exist in Room Category table ",
MsgBoxStyle.Information)
End If
8.1.6 Adding the Calendar Extender
For Adding calendar extender, the toolkitScriptManager has to be added.
Then the colander drags from the Ajax toolbox:
<asp:ToolkitScriptManagerID="ToolkitScriptManager1" runat="server">
</asp:ToolkitScriptManager>
<asp:TextBoxID="txtStartDate"runat="server"></asp:TextBox>
<asp:CalendarExtenderID="CalendarExtender1"
TargetControlID="txtStartDate"
runat="server" Format="yyyy/MM/dd"
OnClientDateSelectionChanged="checkDate" />
End If
ElseIf DropDownList2.Items(2).Selected = True Then
If DropDownList1.Items(0).Selected = True Then
MyCmd.CommandText = "Select RS.rid, RC.RCID, RC.Category,
RC.Rprice, RC.RFloor, RC.Rview FROM RoomC RC , RoomS RS
WHERE RC.RCID = RS.RCID AND RC.Rview = '"&
DropDownList2.Items(2).Value &"' AND RS.rid NOT IN (SELECT RS.rid
FROM RoomC RC, BOOKINGDETAIL BD WHERE
( '"&txtStartDate.Text&"' <= BD.CheckIn AND '"&TextEndDate.Text&"' >=
End If
End If
MyCmd.Parameters.Clear()
MyCmd.Parameters.AddWithValue("?", txtStartDate.Text)
MyCmd.Parameters.AddWithValue("?", TextEndDate.Text)
Dim adapter As New OleDb.OleDbDataAdapter(MyCmd.CommandText,
Conn)
adapter.Fill(myDataSet, "0")
GridView1.DataSource = myDataSet.Tables("0")
GridView1.DataBind()
Else
MsgBox(" you have chose a previous data")
End If
Else
MsgBox(" the checkin data is bigger than the check out date")
End If
Conn.Close()
8.1.9
Log in code
<asp:LoginViewID="LoginView1" runat="server">
<LoggedInTemplate>
<spanclass="input">You are logged in. Welcome </span>
<asp:LoginNameID="LoginName1" runat="server" />
</LoggedInTemplate>
<AnonymousTemplate>
You are not logged in. Click the Login link to sign in.
<asp:ButtonID="button7" runat="server" onclick="button7_Click"
Text="Reminder" />
</AnonymousTemplate>
</asp:LoginView>
<br />
<asp:LoginStatusID="LoginStatus1" runat="server" />
price = 0
chi = CheckIn.Text
cho = Checkout.Text
day = DateDiff(DateInterval.Day, chi, cho)
Dim RomPrice As New OleDbCommand
RomPrice.Connection = Conn
RomPrice.CommandType = CommandType.Text
RomPrice.CommandText = "SELECT Rprice from RoomC WHERE RCID
= '"& TextBox19.Text &"'"
Dim Room As New OleDb.OleDbDataAdapter(RomPrice.CommandText,
Conn)
Room.Fill(myDataSet, "R1")
price = myDataSet.Tables("R1").Rows(0).Item("Rprice")
price = price * day
myDataSet.Clear()
Reference
[1] Fernandez,E& Yuan, X,(1999). An Analysis Pattern for Reservation and
Use of Reusable Entities.PloP 1999 conference, Retrieved from
http://hillside.net/plop/plop99/proceedings/Fernandez2/reservAnalysisPatter
n3.PDF
http://owl.english.purdue.edu/owl/resource/560/01/
[2] Lauesen, S, (2003),Task Descriptions as Functional Requirements, I E
EE C o m p u t e r S o c i e t y, Retrieved from
http://www.itu.dk/~slauesen/Papers/IEEEtasks.pdf
[3] Louw,D,(2006, may 10). Description with UML for a Hotel Reservation
System. Retrieved from http://www.liacs.nl/assets/Bachelorscripties/200608JanneLouw.pdf
http://ajaxcontroltoolkit.codeplex.com/
http://ajaxcontroltoolkit.codeplex.com/releases/view/63654
http://digibib.ehb.be/storage/Sector%20Informatie/Ict%20in%20hotels/A
%20study%20of%20hotel%20information%20techno%20applications.pdf
http://forums.techguy.org/software-development/65358-dont-run-function-iftext.html
http://mattberseth.com/blog/2007/05/ajaxnet_example_using_an_updat.html
http://msdn.microsoft.com/en-us/library/aeez5k4f.aspx
http://msdn.microsoft.com/en-us/library/ms171898.aspx
http://www.ajaxcontroltoolkit.com/
http://www.araboug.org/ib/index.php?showtopic=7957&st=30
http://www.arabteam2000-forum.com/index.php?showtopic=115282
http://www.arabteam2000-forum.com/index.php?showtopic=115282
http://www.arabteam2000-forum.com/index.php?showtopic=228117
http://www.arabteam2000-forum.com/index.php?showtopic=240608
http://www.highoncoding.com/Articles/556_Creating_Crystal_Report_with_
Multiple_Tables_in_ASP_NET.aspx
http://www.kamath.com/tutorials/tut003_auth.asp
http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/Default.aspx
http://www.asp.net/ajaxlibrary/act.ashx
http://www.asp.net/ajaxlibrary/act_Calendar_Simple.ashx
http://www.codeguru.com/csharp/csharp/cs_network/database/article.php/c8
477__2/Connecting-to-an-Oracle-Database-Using-ASPNETmdashA-Stepby-Step-Tutorial.htm
http://www.daniweb.com/web-development/aspnet/threads/157540
http://www.dotnetfunda.com/articles/article818-filter-gridview-recordsusing-ajax-slider-control-.aspx
http://www.dotnetspider.com/forum/166962-Send-mail-using-ASPNET.aspx
http://www.liacs.nl/assets/Bachelorscripties/2006-08JanneLouw.pdf
http://www.w3schools.com/sql/sql_autoincrement.asp
http://www.yemensoft.net/apages/Aproducts1a_Managment_hotels.asp