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, r ooms, listing off rooms, inserting the client information, getting details details about about specific client, making making a reservation for for rooms and doing payment process. This system will be built by two students of Prince Mohammed Bin Fahed University. University. They are Fatimah F atimah l Tuhaifa Tuhaifa with !" #$$%$$&'& and Fatimah l (hannam with !" #$$)$$*)' The pro+ect consist of two two main parts building solution solution for data base for storing and representing metadata in easy way, building a reception-s interface that allows the reception for inserting, deleting, updating, modifying and representing of metadata.
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, r ooms, listing off rooms, inserting the client information, getting details details about about specific client, making making a reservation for for rooms and doing payment process. This system will be built by two students of Prince Mohammed Bin Fahed University. University. They are Fatimah F atimah l Tuhaifa Tuhaifa with !" #$$%$$&'& and Fatimah l (hannam with !" #$$)$$*)' The pro+ect consist of two two main parts building solution solution for data base for storing and representing metadata in easy way, building a reception-s interface that allows the reception for inserting, deleting, updating, modifying and representing of metadata.
1.3.1 Objectives
"eveloping hotel reservation system solution. 1.3. 1.3.2 2 Be Bene nefi fits ts:: '.. '..#. #.' ' The The sys syste tem m wil willl hav havee his histo tory ry abou aboutt res reser erva vati tion on and and gue guest st so that that
can be called whenever they are needed which helps in checking any mistake. '..#.# Making the reservation easier. '..#. Finding th the av available ro room in in sh short time. 1.3.3 A Preliminr! Re"#irements Anl!sis:
'...'/
"atabase
i) To store reservation detail. ii) To store guest detail. iii) To store payment detail. iv)To store rooms information. '.. '... .#/ #/ 0eb !nte !nterf rfac ace e a/ 1ece 1ecept ptio ion n 2ide 2ide i/ llo llow w the the rece recept ptio ion n to to mod modif ify y, add add or dele delete te rese reserv rvat atio ion. n. ii/ ii/ llo llow w the the rece recept ptio ion n to to mod modif ify y, add add or dele delete te gues guestt det detai ail. l. iii/ iii/ llo llow w the the recep recepti tion on to to provi provide de the the gue guest st with with the the paym paymen entt
iv/ iv/ v/ vi/ vi/
detail. "isp isplay lay lis listt of of on on an and of off roo room ms. 2earch ab about sp specific gu guest. "isp "ispla lay y deta detail il abou aboutt rese reserv rvat atio ion. n.
1.3.$ Tec%nicl c%nicl Re"#irem Re"#irements-& ents-&esib esibilit ilit!: !: '..3.'/ '..3.'/ "atabase "atabase the data will be hosted hosted on an 4racle 4racle database. database. 4ur
group will build the tables and their re5uirements as needed for controlling the system.
'..3.#/ '..3.#/ 0e 0eb b our group group will develo develop p the web applic applicatio ation n with 6isu 6isual al 2tudio #$$& using asp.net and 6isual basic. 1.3.' (c)*e:
The system provide the employee who works in the reception the ability to do reservation for the hotel guests7 by searching for available rooms, inserting the guest information, making the reservation and the payment process. This This system is build using a database database that will be hosted hosted an 4racle database and a web interface using the 6isual 2tudio #$$& 2P.net. !n this pro+ect there are one model The reservation model accept the guest details, rooms details, card details and date on check in and checkout. lso, lso, deals with the hotel rooms by adding and removing r emoving rooms. 1.3.+ ,isibilit! Pln :
!nternal 8 The group will meet weekly on 2unday and Tuesday morning from &$$ am to '#$$ pm and with Mr. Mohammad 9ikria on 0ednesday 0ednesday morning from :$$ am to '$$$ am to discuss progress progress and problems. Meeting minutes will be kept track of and sent to all members of the (roup for reference. ny additional communication will be done via email or through other collaboration tools such as document sharing. !n addition, the source code will be stored at all members P;s, a repository r epository for the pro+ect. ll source code will be documented carefully before being submitted to the
repository. The progress of the principal activities and ma+or milestones will be closely monitored and compared with the schedule. "uring the regular meetings, progress will be compared to our chart, which will be drafted after the completion of the re5uirements study when the tasks are identified and assigned.
1.3. (#este/ Deliverbles: '..%.'/ 1e5uirements nalysis 8 a document and a presentation to
go over the formal re5uirements of the pro+ect, both functional and non
The relationships between the tables Figure 1: Tables '. The relationship between ;ustomers to Transaction is one to many. #. The relationship between !dentify ;ustomer to ;ustomers is one to one. . The relationship between 1oom ;ategory to Booking "etail is one to many. 3. The relationship between Booking to Booking "etails is one to one. *. The relationship between ;red;ard to Pyment is one to one. ). The relationship between =mployees to Transaction is one to many. %. The relationship between Transaction "etails to Transaction is one to one. &. The relationship between Transactions "etails to 1oom 2tatues is one to many. :. The relationship between 1oom 2tatus to 1oom ;ategory is one to one. '$.The relationship between Pyment to Transaction is one to one. ''.The relationship between Payment to Payment Modes is one to one.
Figure 2
Prt II Use Cses
2.1 Rece*ti)n Use Cses
#.'.' 2earch available room (oal 1eception search for available room. ctors • •
1eception 2ystem
Preconditions The reception must insert the check
2earch > Basic 2cenario '. #. . 3.
The reception specify the check 2earch >. The system will show the available rooms with their type on the
determined dates. *. The reception choose the rooms the customer prefer depends on the floor number and the view and clicks the button >Booking> ). 2ystem will take the reception to the booking details page.
Post conditions The reception searched for the available rooms. #.'.# Booking "etails (oal !nsert the booking details. ctors • •
1eception 2ystem
Preconditions The reception must be done with the room search. Triggers 1eception click on the button > 2ave> Basic 2cenario '. ;heck First and last name, ddress, e< mail, telephone number and finally the guest identification number> . . Then the reception must fill the guest credit card information > ;redit card number, credit card holder name, and the credit card e?pire date>. 3. Then the reception clicks on >2ave> to save all the information in the database. *. 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.
#.'. Payment (oal 1eception ;onfirms the room booking. ctor • •
1eception 2ystem
Preconditions 1eception must be done with the room search and the booking details. Triggers 1eception clicks button >;onfirm> Basic 2cenario '. The booking details will upper on a table automatically. #. There will be a booking number so the reception can do motivation for the booking on the future. . The reception will specify the payment date and the mood > ;ash, check, or credit card> 3. The credit card number and the total cost will upper automatically on the page. *. fter completing all the payment details the reception clicks on confirm. Post ;ondition The room booking will be confirmed. #.'.3 "elete (uest (oal "elete a guest form the system. ctors
• •
1eception 2ystem
Preconditions 1eception must be able to access the system via a web browser. Triggers 1eception clicks button >"elete (uest> Basic 2cenario '. 1eception clicks button to initiate the delete process. #. 2ystem prompts the dministrator to select a guest by searching using the guest identification or viewing a list of guests. . 2ystem display guest information. 3. 2ystem confirms deletion of selected guest. *. 2ystem displays home page. Post conditions guest has been deleted within the system. #.'.* ;hange (uest !nformation (oal lter properties such as telephone number or email of the guest. ctors • •
1eception 2ystem
Preconditions 1eception must be able to access the system via a web browser. Triggers 1eception clicks button >;hange (uest Properties>
Basic 2cenario '. 1eception clicks the button to initiate change guest properties process. #. 2ystem prompts the dministrator to a guest by searching using the guest identification or viewing a list of guest. . 2ystem displays the guest properties. 3. 2ystem alters the guest properties. *. 2ystem displays the home page. Post conditions room has been altered within the system. #.'.) ;ustomer 2earch (oal Modify or delete a customer information. Preconditions The customer information should be on the database. Triggers The reception searches for customer by his !" or view all the customers list. Basic 2cenario '. fter the reception search@s for a customer his information will upper on the page >First and last name, address, telephone number, and his email>. #. There are two options either to modify the customer information or to delete the customer. Post ;ondition The customer details will be modified or deleted.
#.'.% 1emainder =mail (oal 2end a reminder email to the guest two date before the check in date. Preconditions 1eception must be able to access the system via a web browser, Booking details must be on the database. Triggers 1eception clicks button >1eminder =mail>. Basic 2cenario '. The 1eception clicks to view a list with the entire guest who will check in after # days. #. The 1eception clicks >2end> to send a remainder email to each guest. 2.2 A/ministrt)r Use Cses
#.#.' Aogin dministrator (oal To login to an dministrator account with the system. ctors • •
dministrator 2ystem
Preconditions dministrator account must already be registered. Triggers dministrator clicks button to >Aogin>
Basic 2cenario '. #. . 3.
dministrator clicks button to initiate process. 2ystem prompts the dministrator for User name and password. 2ystem verifies information. 2ystem display rooms details home page to dministrator.
Post ;onditions The administrator is logged into the system. #.#.# Aogout dministrator (oal Aogout the dministrator account on the system. ctors • •
dministrator 2ystem
Preconditions dministrator must be loggedAogout> Basic 2cenario '. dministrator clicks button to initiate logout process. #. 2ystem displays home page. Post ;onditions The dministrator is logged out of the system. #.#. dd 1oom (oal dd new room to the system. ctors • •
dministrator 2ystem
Preconditions dministrator must be able to access the system via a web browser. Triggers dministrator clicks button to >dd 1oom> Basic 2cenario '. dministrator clicks the button to initiate dd room process. #. 2ystem prompts the dministrator to fill out 1oom number, view, and type. . 2ystem validates new room information. 3. 2ystem creates a new room. *. 2ystem displays account home page to dministrator. Post conditions new room is created within the system. #.#.3 "elete 1oom (oal "elete a room form the system. ctors • •
dministrator 2ystem
Preconditions dministrator must be able to access the system via a web browser. Triggers dministrator clicks button >1emove 1oom> Basic 2cenario '. dministrator clicks button to initiate the remove process.
#. 2ystem prompts the dministrator to select a room by searching using the room number or viewing a list of rooms. . 2ystem display room information. 3. 2ystem confirms deletion of selected room. *. 2ystem displays account home page to administrator. Post conditions room has been deleted within the system. #.#.* ;hange 1oom Properties (oal lter properties such as view or type of the room. ctors • •
dministrator 2ystem
Preconditions dministrator must be able to access the system via a web browser. Triggers dministrator clicks button >;hange room Properties> Basic 2cenario '. dministrator clicks the button to initiate change room properties process. #. 2ystem prompts the dministrator to select a room by searching using the room number or viewing a list of rooms. . 2ystem displays the room properties. 3. 2ystem alters the room properties. *. 2ystem displays the account home page to dministrator. Post conditions room has been altered within the system.
#.#.) 6iew Financial 1eport (oal 6iew a financial report for specific time. ctors • •
dministrator 2ystem
Preconditions dministrator must be able to access the system via a web browser. Triggers dministrator clicks button > 1eport>. Basic 2cenario '. 2ystem prompts the dministrator to select two dates. #. 2ystem will display the revenue for that specific time.
2.3 Use Cses Dirms
#..' 1eception Uses;ases "iagrams
Figure 1eception
Figure 3 =dities
Figure * Payment
Figure) 1eminder =mail
#..# dministration Use;ase "iagram
Figure% dministration
Prt III ()ftre Re"#irements (*ecificti)ns
The following subsections of the 2oftware 1e5uirements 2pecifications 212/ document provide an overview of the entire 212. Definitions, Acronyms, and Abbreviations.
212 8 2oftware 1e5uirements 2pecification CM2 8 Cotel Management 2ystem 2ub+ective satisfaction 8 The overall satisfaction of the system =nd users 8 The people who will be actually using the system Overview
The 212 is organiDed into two main sections. The first is The 4verall "escription and the second is the 2pecific 1e5uirements. The 4verall "escription will describe the re5uirements of the CM2 from a general high level perspective. The 2pecific 1e5uirements section will describe in detail the re5uirements of the system.
T%e Overll Descri*ti)n
"escribes the general factors that affect the product and its re5uirements. This section does not state specific re5uirements. !nstead it provides a background for those re5uirements, which are defined in section , and makes them easier to understand. Product Perspective
The CM2 is an independent stand8alone system. !t is totally self contained.
3.' r/re Interfces
The CM2 will be placed on P;-s throughout the hotel. ()ftre Interfces
ll databases for the CM2 will be configured using 4racle '$g. 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 timeEetc.
Product Functions 1eservation and Booking 2ystem • • • • • •
llow the reception to modify, add or delete reservation. llow the reception to modify, add or delete guest detail. llow the reception to provide the guest with the payment detail. "isplay list of on and off rooms. 2earch about specific guest. "isplay detail about reservation.
(eneral Management 2ervices and utomated Tasks 2ystem • •
llow the administrator to modify, add or delete the room. 6iew a daily, weekly and monthly report.
User Characteristics
=ducational level of CM2 computer software 8 Aow =?perience of CM2 software 8 one Technical =?pertise 8 Aittle
Apportioning of Reuirements
The audio and visual alerts will be deferred because of low importance at this time.
(*ecific Re"#irements
This section contains all the software re5uirements at a level of detail, that when combined with the system conte?t diagram, use cases, and use case descriptions, is sufficient to enable designers to design a system to satisfy those re5uirements, and testers to test that the system satisfies those re5uirements. !"terna# $nterfaces
The Cotel Management 2ystem will use the standard inputGoutput devices for a personal computer. This includes the following •
Heyboard
•
Mouse User Interfces
The User !nterface 2creens are described in table '. Tble 1: )tel nement User Interfce (creens
2creen ame Aogin 1eservation
"escription Aog into the system as dministration 1etrieve button, updateGsave reservation, cancel reservation, modify reservation, , accept payment
Cotel Payment
typeGcredit card ccept payment for room.
;ustomer 1ecord dminister 1ooms 1eports
"elete or update customer records dd, modify and delete rooms. 2elect, view
()ftre Interfces
The system shall interface with an 4racle. r/re Interfces
The system shall run on a Microsoft 6isual Basic 2P.net/. C)mm#nicti)n Interfces
The system shall be a standalone product that does not re5uire any communication interfaces. Functiona# Reuirements
Functional re5uirements define the fundamental actions that system must perform. The functional re5uirements for the system are divided into two main categories, 1eservationGBooking, and Management. For further details, refer to the use cases. '. 1eservationGBooking '.'.The system shall record reservations. '.#.The system shall record the customer-s first name.
'..The system shall record the customer-s last name. '.3.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 customer-s email. '.&.The system shall generate a uni5ue 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 e?pected check
The system shall
record the e?pected checkout date. '.'#.
The system shall
allow reservations to be modified without having to reenter all the customer information. #. Management #.'.The system shall allow for the addition of rooms. #.#.The system shall allow for the deletion of rooms. #..The system shall allow for the modification of rooms.
%.%& 'onfunctiona# Reuirements
Functional re5uirements define the needs in terms of performance, logical database re5uirements, design constraints, standards compliance, reliability, availability, security, maintainability, and portability. 1.14.1Perf)rmnce Re"#irements
Performance re5uirements 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.
•
Iueries shall return results within five seconds.
1.14.25)icl Dtbse Re"#irements
The logical database re5uirements include the retention of the following data elements. B))6in7Reservti)n (!stem •
;ustomer first name
•
;ustomer last name
•
;ustomer address
•
;ustomer phone number
•
ssigned room
•
"efault room rate
•
;redit card number
•
;onfirmation number
•
=?pected check
•
=?pected check
•
Payment type
1.14.3Desin C)nstrints
The Cotel Management 2ystem shall be a stand
There shall be consistency in variable names within the system. The graphical user interface shall have a consistent look and feel. 1.14.'Relibilit!
2pecify the factors re5uired to establish the re5uired reliability of the software system at time of delivery.
1.14.+Avilbilit!
The system shall be available during normal hotel operating hours. 1.14.(ec#rit!
;ustomer 2ervice 1epresentative will have access to the 1eservationGBooking. Managers will be able to log in to the Cotel Management 2ystem and will have access to the Management subsystem. 1.14.0intinbilit!
The Cotel Management 2ystem is being developed in 2P.net.6isual 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 0indows and. =T platforms. This product helps in building 0indows application, console application, 0indows service, 0indows mobile applications, 2P.=T application and 2P.=T web services with ;JJ, ;K, 6B or LK. lso, you can add additional tools that help in building interface in easy way. For the end user, the 2P and 6B is used in developing Cotel Management 2ystem. lso, it helps in creating ;rystal report and connection with the database by using 4"B . The other product that has been chosen is 4racle "atabase '$g =?press =dition. !t has
been chosen for the background of the system. s it can build the tables and 5uires in easy way and connected with the end user in effective way. 1.14.8P)rtbilit!
The Cotel Management 2ystem shall run in any Microsoft 0indows environment.
Prt I, Ts6 Anl!sis
Cotel 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 heGshe 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
#. . 3. *. ). %.
use is limited. The reception cannot insert the 1oom setting. The admin needs to log in to use the 1oom setting. The check in data has to be bigger or e5ual to the current date. The check in data has to be smaller than the check out date. The re5uired te?t bo? has to be filled. The Booking !", Booking "etail !" and Payment !" will be inserted automatically by using automatically increment.
3.# 2ubtasks searching is almost a small system that is used as a sub system in the hotel management system to find available room. !n 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. nd the system will generate a list of available room that meet these information. fter 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 re5uired rooms. Fill the information about the guest and credit card-s information. Then the reception can submit the re5uired detail for reservation or go back to the home page without doing the reservation. fter 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. !n order to do the paying, the reception needs to know which booking heGshe going to do the paying for. 2o this process needs the booking number, payment information7 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.
s some information of the guest or credit card e?posed to be changed, the reception needs the guest !" or the ;redit ;ard !" and heGshe needs to the new information to do the update according the change.
2ome times the hotel needs to know information about specific booking, for that the system provides the user with ability to find this re5uired information. !n this case, the reception needs the booking !".
For sending a reminder to the guest, the system has a button called reminder. 0hen 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. !n this setting the user can delete, update and add room. For deleting the user needs the room-s !". For updating the user needs the room-s !" and inserting the new detail. For adding the, if the user want to add new room needs to know the !" for the category and to insert new !" for the new room. !f the user wants to add new category, needs to insert new !", room-s floor, room-s category, room-s price.
3.ierrc%icl Ts6 Dec)m*)siti)n
Figure & 2earch for available room
Figure : 1eservation
Figure '$ Paying
Figure '' 2etting
Prt ,
Interfce
*.' (erc% this task is needed to make finding out the available rooms easier. "uring 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 room-s features7 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. fter the criteria of the search are determined, the system connects with the database to find out the rooms that
concerned with these re5uired features.
Figure '# 2earch and Update Form !f 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 bo? to notify the user about
the mistake that has been done.
Figure ' ;hecking inserted date
Figure '3 ;hecking date !f the user clicks "etail, Modify or Pay button without inserting the Booking !", heG she will receive a message that said you have to enter a Booking !".
Figure '* otifying The User That the Bookino is =mpty
!f the search is done successfully, the system generates a list of available rooms in grid view with check bo?. This check bo? enables the user to choose the room from the grid view. fter checking the bo?, the user can do a new reservation or can do an update to old reservation. The system has a te?t bo? for inserting a booking number which is needed to find the old
reservation from the database and does the change.
Figure ') 2earch 1esult
s the system aims to make the process in hotel management easy to the end
user, the two te?t bo?es which are used to insert the check in date and check out date are provided with calendar e?tender. 2o, whenever the user clicks on these two te?t bo?es, a calendar will show up. The user can choose date from it and it will be written automatically in the te?t bo?.
Figure '% ;alendar
*. # B))6in
fter the submission of booking is clicked, the system willforward to booking page with keeping the !" of the rooms and category that has been chosen by using the session. Then the booking page will load the session in the te?t bo?es. !n addition to that, the guest detail will be needed to fill other te?t bo?es. 2ome of this information is mandatory7 such as, first name, last
name, !" and email. The first name and last name are mandatory to help the reception to ensure who reserve the specific room. !" helps in making the delete or the update for the guest detail. 4n the other hand, the email is important for sending the remainder to the user.
Figure '& 1eservation Form lso, this page has a re5uired for inserting the credit card information which has three re5uirements. 4ne for credit cards !", the second one for holder-s name and the third one for e?pired date. s the credit card-s !" is important in doing cancel or updating to the credit card this field is mandatory. 0hen the user fills all mandatory information, has two choices, one is to click the save button which will transfer the page to booking-s details page.
nd the second one is to click the e?it button which will transfer the current page to the home page which is the search page.
Figure ': ;redit ;ard 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. !f one of them field is empty, the system will not do the booking and it will pop up a message bo? that notifies the user about the empty field.
Figure #$ Missing Field Message
Because the user could insert !nvalid 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 N character and if it has a dot ./ character. !f the written email is unveiled, a message will be written that tells the user that the email is !nvalid.
Figure #' !nvalid =mail
*. P!in
after the reservation are done, the user can transfer to the home page or can transfer to the paying page. !n the paying page, session is used to provide the page with grid view of the guest detail who want to do payment and hisGher reservation-s detail. lso, this page has a te?t bo? for booking detail, which will be field automatically by the session value, also, it has a te?t bo?es for total cost, payment date and credit card. !n addition to that, it has drop down list for payment mode. The total cost calculates and field automatically.
Figure ## Payment Form
Figure # Booking "etail in the Payment page
*.3 (uest "etail
the reception can get all information about specific guest. CeG she can know the guest@s first name, last name, telephone, email, address, hisGher reservation room and payment statue by inserting a booking number and clicking on detail button. lso, the web site has a te?t bo?es for enabling the reception to do update or delete the guest-s detail.
Figure #3 (uest 2etting Form
Figure #* Finding information about specific guest
Figure #) Finding all (uests@ information by clicking the all button
0hen the delete button is clicked message will show up to ask the user if heGshe is sure that heGshe want to delete, if heGshe clicks Oes the delete will be done. But if heGshe clicks o, nothing will be happen.
Figure #% ;onfirmation Message
*.* 5) 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 heGshe log in will be in the home page but if heGshe try to use the room setting page without log in the system will transfer himGher to the log in page.
Figure #& Aogin Form
!f the administrator inserts wrong username or password the system will notify the user by the mistake.
Figure #: Aog in =rror Message
!f the login is done successfully, the web page will transfer to the home page or to application that wanted to use before login. !f the page transfer to the home page, the home page will has the name of the username and the log out.
Figure $ Aogin
Re*)rt
The web site has two different types for financial report. 4ne views the financial report for one day. nd the other is viewing financial report for specific period of time.
1eminder The web site will send an email to the guests before there check in date by two days.
Part 6! C%llenes
The real difficulty was that we do not know how to start with a language that we do not know anything about. 0e did not know if we need to write the codes or to drags things, what are the properties and features of this language. 0hat functions and keywords that can help in this pro+ect7 such as, in printing a table of the wanted date, taking the value from the te?t bo? and uses it in functions, taking a single value from the data baseend back/ and uses it in the interface end front/.
The first challenge that we faced is how to deal with 2P.net and what we shall use with a 6isual Basic or a ;K. we did a search for finding a solution to this, and most of the website shows how to write a 2P codes and 6isual Basic or ;K codes without saying where we have to write and because "r.mmar talked with us in data base theory about web developer with 6isual basic, we try to search this software and we find that we can use a 6isual 2tudio that has a web site developer with 2P. But until that time we do not know where we can use the 6B codes or the ;K code and with keeping search and trying we find where to put the 6B or ;K codes.
fter that we keep searching about 6B and ;K to decide which support language we are going to choose. 0e have tried some codes with 6B and ;K and the first one that worked with us which is the 6B we have depended it.
The most important step is how to connect the web with the data base 4racle/. 0e found the following way ProviderMicrosoft.Let.4A="B.3.$7"ata 2ourcecQ MymdbFile.mdb7User !"dmin7Let4A="B"atabase PasswordOou@rePassword7
Most of the web site used this which is for Microsoft ccess while our pro+ect is 4racle data base. For that, we search for a compatible provider with 4racle. 0e have tried this providers 4ra4A="B.4racle and 2IA4A="B but the solution was 4ra4A="B.4racle.' but even with this we got an error and we found the solution that we have to add a reference in config page. OouTube showed as how to add this reference which is a 2ystem."ata.4racle;linet.
Most big challenge is the date. 0e need the date for inserting check in date
and check out date to find the available room. nd the problem was when we insert the date by using the calendar e?tender, the date is inserted as mmGddGyyyy, while the 4racle accepts it as yyyyGmmGdd. the first solution came to our mind to do conversion to the te?t bo?-s value from string to date. 0e have used this following code "ate.From4"ate6alt?t2tart"ate.Te?t/
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. fter a weeks, we find that we got another problem which is this conversion converse the date to ':$$ year not as the current year. 2o we try to find another solution7 such as,
"ate.FromFileTimeUtc6alTe?t=nd"ate.Te?t/
and even this has same problem as the first one. fter long searching, we found two solutions for this problem. 4ne is that we can change the format of the date by using the form attribute in the calendar e?tender. This can be shown in the following codes
Rasp;alendar=?tender !">;alendar=?tender'> Target;ontrol!">t?t2tart"ate> runat>server> Format>yyyyGMMGdd> 4n;lient"ate2election;hanged>check"ate> GS
the other solution is putting a commend like dateto inside the insertion the following codes clarify this commend
!2=1T !T4 booking ;C=;H!/ 6AU=2 T4"T=@'#G'G#$$'@,@OOOOGMMG""-/
!n our pro+ect we have chose the first solution which is with calendar e?tender.
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. fter searching, we found that Microsoft has several solutions to this problem and our chose was by using the session.
2ession>field&&>/ t?t2tart"ate.Te?t
one of the most important challenges is how to generate data from the data base to the interface. in the grid view/. 0e did not know e?actly what feature in 2B and 6B can help us. 0ith searching we found that we can use the data set but how we can write the 2IA commend. The solution was by using a variable with type 4le"b;ommand. !n our data some field most not is null. 2o, when we insert the data from the interface to the data base we must check if the te?t bo? that is going to insert to these field is null or not. 4ne of the solutions that we have tried is
"im c s ;ontrol For =ach c !n form'.;ontrols !f c.Te?t 2tring.=mpty Then MsgBo?>Please =nter the > c.ame, MsgBo?2tyle.!nformation, >ote>/ c.Focus/ =nd !f e?t
0ith the above code the web will check all te?t bo? even if there is no need to check. lso, we have tried these ;heck!n.Te?tRSvbull2tring ;heck!n.Te?t.Aength $
and the solution was !f Te?tBo?#.Te?t >>.
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 e?ample, when we want to calculate the total cost we have to get the price from the data base to the 6B. First we used an =?ecute2calar /7 but it does not work with us. 2o, we have tried to solve the problem with the data set. The following codes is the used solution7
price my"ata2et.Tables>1>/.1ows$/.!tem>1price>/
Prt ,II C)ncl#si)n
The ability to search about specific information or detail before and after doing hotel reservation or to organiDe hotel@s room in easy way with customiDing customer detail and checking the valid credit card are some purpose to build system which makes dealing with these re5uirement possible with easy and fast way. Cotel management system is built to find suitable solution for reservation and customiDation of rooms, customers, payments and credit cards. This system deal with the database as a end back which based on 4racle and its interface based on 2P and 6isual basic. The interface aims to make reservation and using other tools easy to every one without needing to learn how to use. The 6isual basic has the responsibility of checking valid credit card, e?ist of customer !" , finding the available room .
A**en/i9 A
COD(
&.' 6B nd 2P
&.'.'
T%e c)/e f)r t%e te9t b)9:
RaspTe?tBo?!">Te?tBo?*>runat>server>S
&.'.# C)nnecti)n beteen t%e eb n/ /tbse:
"im ;onn s ew 4le"b;onnection >Provider4ra4A="B.4racle.'7"ata 2ourcelocalhost7User !"C17Passwordamanigeama7UnicodeTrue> / &.'. Inserti)n fr)m t%e eb t) t%e /tbse
"im ;onn s ew 4le"b;onnection >Provider4ra4A="B.4racle.'7"ata 2ourcelocalhost7User !"C17Passwordamanigeama7UnicodeTrue> /
"im My;md s ew 4le"b;ommand ;onn.4pen/ "im !nsert;ommand s ew 4le"b;ommand "im ;M" s ew 4le"b;ommand ;M".;onnection ;onn ;M".;ommandType ;ommandType.Te?t ;M".;ommandTe?t >2=A=;T 1;!" F14M 1oom; 0C=1= 1;!" @> Te?tBo?#.Te?t >@> "im reader s 4le"b"ata1eader reader ;M".=?ecute1eader !f reader.1ead Then !nsert;ommand.;onnection ;onn !nsert;ommand.;ommandType ;ommandType.Te?t !nsert;ommand.;ommandTe?t >!2=1T !T4 1oom21!",1;!"/ 6AU=2V,V/> !nsert;ommand.Parameters.;lear/ !nsert;ommand.Parameters.dd0ith6alue >V>, Te?tBo?'.Te?t/ !nsert;ommand.Parameters.dd0ith6alue >V>, Te?tBo?#.Te?t/ !nsert;ommand.=?ecuteonIuery/ !nsert;ommand."ispose/
;onn.;lose/ MsgBo?> 4H >, MsgBo?2tyle.!nformation/ =lse!f ot reader.1ead Then MsgBo?> The room category not e?ist in 1oom ;ategory table > , MsgBo?2tyle.!nformation/ =nd !f
0.1.$ Deletin fr)m t%e /tbse b! #sin t%e eb
"im ;onn s ew 4le"b;onnection >Provider4ra4A="B.4racle.'7"ata 2ourcelocalhost7User !"C17Passwordamanigeama7UnicodeTrue> / ;onn.4pen/ "im "elete;ommand s ew 4le"b;ommand "elete;ommand.;onnection ;onn "im ;M" s ew 4le"b;ommand ;M".;onnection ;onn
;M".;ommandType ;ommandType.Te?t ;M".;ommandTe?t >2=A=;T 1!" F14M 1oom2 0C=1= 1!" @> Te?tBo?'.Te?t >@> "im reader s 4le"b"ata1eader reader ;M".=?ecute1eader !f reader.1ead Then "elete;ommand.;ommandType ;ommandType.Te?t "elete;ommand.;ommandTe?t > "=A=T= F14M 1oom2 0C=1= 1!" V> "elete;ommand.Parameters.;lear/ "elete;ommand.Parameters.dd0ith6alue >V>, Te?tBo?'.Te?t/ "elete;ommand.=?ecuteonIuery/ "elete;ommand."ispose/ ;onn.;lose/ MsgBo?> 4H >, MsgBo?2tyle.!nformation/ =lse!f ot reader.1ead Then
MsgBo?> The room !" does not e?ist in 1ooms Table > , MsgBo?2tyle.!nformation/
=nd !f
0.1.' U*/tin t%e /t
"im ;onn sew4le"b;onnection>Provider4ra4A="B.4racle.'7"ata 2ourcelocalhost7User !"C17Passwordamanigeama7UnicodeTrue> / ;onn.4pen/ "im Update;ommand s ew 4le"b;ommand Update;ommand.;onnection ;onn
"im ;M" s ew 4le"b;ommand ;M".;onnection ;onn ;M".;ommandType ;ommandType.Te?t ;M".;ommandTe?t >2=A=;T 1;!" F14M 1oom; 0C=1= 1;!" @> Te?tBo?#.Te?t >@> "im reader s 4le"b"ata1eader reader ;M".=?ecute1eader !f reader.1ead Then Update;ommand.;ommandType ;ommandType.Te?t Update;ommand.;ommandTe?t >UP"T= 1oom2 set 1;!"V 0C=1=
1!" V > Update;ommand.Parameters.;lear/ Update;ommand.Parameters.dd0ith6alue >V>, Te?tBo?#.Te?t/ Update;ommand.Parameters.dd0ith6alue >V>, Te?tBo?'.Te?t/ Update;ommand.=?ecuteonIuery/ Update;ommand."ispose/ ;onn.;lose/ MsgBo?> 4H >, MsgBo?2tyle.!nformation/ =lse!f ot reader.1ead Then MsgBo?> The room category does not e?ist in 1oom ;ategory table > , MsgBo?2tyle.!nformation/ =nd !f 0.1.+ A//in t%e Clen/r 9ten/er
For dding calendar e?tender, the toolkit2criptManager has to be added. Then the colander drags from the +a? toolbo?
RaspToolkit2criptManager !">Toolkit2criptManager'> runat>server>S RGaspToolkit2criptManager S RaspTe?tBo?!">t?t2tart"ate>runat>server>SRGaspTe?tBo?S Rasp;alendar=?tender !">;alendar=?tender'>
Target;ontrol!">t?t2tart"ate> runat>server> Format>yyyyGMMGdd> 4n;lient"ate2election;hanged>check"ate> GS
0.1. Trnsfer vl#e f)rm *e t) n)t%er *e
session that is used for saving the value of the te?t bo? 2ession>field&&>/ t?t2tart"ate.Te?t 2ession>field::>/ Te?t=nd"ate.Te?t
0.1.0 (erc% C)/e
This following code is for doing the search for the available room "im ;onn s ew 4le"b;onnection >Provider4ra4A="B.4racle.'7"ata 2ourcelocalhost7User !"C17Passwordamanigeama7UnicodeTrue> / "im My;md s ew 4le"b;ommand "im my"ata2et s ew "ata2et my"ata2et.;lear/ ;onn.4pen/ My;md.;onnection ;onn My;md.;ommandType ;ommandType.Te?t
"im current"ate s "ate
current"ate 2ystem."ateTime.ow !f t?t2tart"ate.Te?tRTe?t=nd"ate.Te?t Then
!f 2ystem."ateTime.owRt?t2tart"ate.Te?t 4r 2ystem."ateTime.owRTe?t=nd"ate.Te?t Then !f "rop"ownAist#.!tems$/.2elected True Then !f "rop"ownAist'.!tems$/.2elected True Then My;md.;ommandTe?t >2elect 12.rid, 1;.1;!", 1;.;ategory, 1;.1price, 1;.1Floor, 1;.1view F14M 1oom; 1; , 1oom2 12 0C=1= 1;.1;!" 12.1;!" " 12.rid 4T ! 2=A=;T 12.rid F14M 1oom; 1;, B44H!("=T!A B" 0C=1= @>t?t2tart"ate.Te?t >@ R B".;heck!n " @>Te?t=nd"ate.Te?t>@ S B".;heck4ut/ " 12.rid B".rid/> =lse!f "rop"ownAist'.!tems'/.2elected True Then My;md.;ommandTe?t >2elect 12.rid, 1;.1;!", 1;.;ategory, 1;.1price, 1;.1Floor, 1;.1view F14M 1oom; 1; , 1oom2 12 0C=1= 1;.1;!" 12.1;!" " 1;.category @> "rop"ownAist'.!tems'/.6alue >@ " 12.rid 4T ! 2=A=;T 12.rid
F14M 1oom; 1;, B44H!("=T!A B" 0C=1= @>t?t2tart"ate.Te?t >@ R B".;heck!n " @>Te?t=nd"ate.Te?t>@ S B".;heck4ut/ " 12.rid B".rid/> =lse!f "rop"ownAist'.!tems#/.2elected True Then My;md.;ommandTe?t >2elect 12.rid, 1;.1;!", 1;.;ategory, 1;.1price, 1;.1Floor, 1;.1view F14M 1oom; 1; , 1oom2 12 0C=1= 1;.1;!" 12.1;!" " 1;.category @> "rop"ownAist'.!tems#/.6alue >@ " 12.rid 4T ! 2=A=;T 12.rid F14M 1oom; 1;, B44H!("=T!A B" 0C=1= @>t?t2tart"ate.Te?t >@ R B".;heck!n " @>Te?t=nd"ate.Te?t>@ S B".;heck4ut/ " 12.rid B".rid/> =lse!f "rop"ownAist'.!tems/.2elected True Then My;md.;ommandTe?t >2elect 12.rid, 1;.1;!", 1;.;ategory, 1;.1price, 1;.1Floor, 1;.1view F14M 1oom; 1; , 1oom2 12 0C=1= 1;.1;!" 12.1;!" " 1;.category @> "rop"ownAist'.!tems/.6alue >@ " 12.rid 4T ! 2=A=;T 12.rid F14M 1oom; 1;, B44H!("=T!A B" 0C=1= @>t?t2tart"ate.Te?t >@ R B".;heck!n " @>Te?t=nd"ate.Te?t>@ S B".;heck4ut/ " 12.rid B".rid/> =lse!f "rop"ownAist'.!tems3/.2elected True Then
My;md.;ommandTe?t >2elect 12.rid, 1;.1;!", 1;.;ategory, 1;.1price, 1;.1Floor, 1;.1view F14M 1oom; 1; , 1oom2 12 0C=1= 1;.1;!" 12.1;!" " 1;.category @> "rop"ownAist'.!tems3/.6alue >@ " 12.rid 4T ! 2=A=;T 12.rid F14M 1oom; 1;, B44H!("=T!A B" 0C=1= @>t?t2tart"ate.Te?t >@ R B".;heck!n " @>Te?t=nd"ate.Te?t>@ S B".;heck4ut/ " 12.rid B".rid/> =lse!f "rop"ownAist'.!tems*/.2elected True Then My;md.;ommandTe?t >2elect 12.rid, 1;.1;!", 1;.;ategory, 1;.1price, 1;.1Floor, 1;.1view F14M 1oom; 1; , 1oom2 12 0C=1= 1;.1;!" 12.1;!" " 1;.category @> "rop"ownAist'.!tems*/.6alue >@ " 12.rid 4T ! 2=A=;T 12.rid F14M 1oom; 1;, B44H!("=T!A B" 0C=1= @>t?t2tart"ate.Te?t >@ R B".;heck!n " @>Te?t=nd"ate.Te?t>@ S B".;heck4ut/ " 12.rid B".rid/> =nd !f =lse!f "rop"ownAist#.!tems'/.2elected True Then !f "rop"ownAist'.!tems$/.2elected True Then My;md.;ommandTe?t >2elect 12.rid, 1;.1;!", 1;.;ategory, 1;.1price, 1;.1Floor, 1;.1view F14M 1oom; 1; , 1oom2 12
0C=1= 1;.1;!" 12.1;!" " 1;.1view @> "rop"ownAist#.!tems'/.6alue >@ " 12.rid 4T ! 2=A=;T 12.rid F14M 1oom; 1;, B44H!("=T!A B" 0C=1= @>t?t2tart"ate.Te?t >@ R B".;heck!n " @>Te?t=nd"ate.Te?t>@ S B".;heck4ut/ " 12.rid B".rid/> =lse!f "rop"ownAist'.!tems'/.2elected True Then My;md.;ommandTe?t >2elect 12.rid, 1;.1;!", 1;.;ategory, 1;.1price, 1;.1Floor, 1;.1view F14M 1oom; 1; , 1oom2 12 0C=1= 1;.1;!" 12.1;!" " 1;.1view @> "rop"ownAist#.!tems'/.6alue >@" 1;.category @> "rop"ownAist'.!tems'/.6alue >@ " 12.rid 4T ! 2=A=;T 12.rid F14M 1oom; 1;, B44H!("=T!A B" 0C=1= @>t?t2tart"ate.Te?t >@ R B".;heck!n " @>Te?t=nd"ate.Te?t>@ S B".;heck4ut/ " 12.rid B".rid/> =lse!f "rop"ownAist'.!tems#/.2elected True Then My;md.;ommandTe?t >2elect 12.rid, 1;.1;!", 1;.;ategory, 1;.1price, 1;.1Floor, 1;.1view F14M 1oom; 1; , 1oom2 12 0C=1= 1;.1;!" 12.1;!" " 1;.1view @> "rop"ownAist#.!tems'/.6alue >@ " 1;.category @> "rop"ownAist'.!tems#/.6alue >@ " 12.rid 4T ! 2=A=;T 12.rid
F14M 1oom; 1;, B44H!("=T!A B" 0C=1= @>t?t2tart"ate.Te?t >@ R B".;heck!n " @>Te?t=nd"ate.Te?t>@ S B".;heck4ut/ " 12.rid B".rid/> =lse!f "rop"ownAist'.!tems/.2elected True Then My;md.;ommandTe?t >2elect 12.rid, 1;.1;!", 1;.1;!", 1;.;ategory, 1;.1price, 1;.1Floor, 1;.1view F14M 1oom; 1; , 1oom2 12 0C=1= 1;.1;!" 12.1;!" " 1;.1view @> "rop"ownAist#.!tems'/.6alue >@ " 1;.category @> "rop"ownAist'.!tems/.6alue >@ " 12.rid4T ! 2=A=;T 12.rid F14M 1oom; 1;, B44H!("=T!A B" 0C=1= @>t?t2tart"ate.Te?t >@ R B".;heck!n " @>Te?t=nd"ate.Te?t>@ S B".;heck4ut/ " 12.rid B".rid/> =lse!f "rop"ownAist'.!tems3/.2elected True Then My;md.;ommandTe?t >2elect 12.rid, 1;.1;!", 1;.;ategory, 1;.1price, 1;.1Floor, 1;.1view F14M 1oom; 1; , 1oom2 12 0C=1= 1;.1;!" 12.1;!" " 1;.1view @> "rop"ownAist#.!tems'/.6alue >@ " 1;.category @> "rop"ownAist'.!tems3/.6alue >@ " 12.rid 4T ! 2=A=;T 12.rid F14M 1oom; 1;, B44H!("=T!A B" 0C=1= @>t?t2tart"ate.Te?t >@ R B".;heck!n " @>Te?t=nd"ate.Te?t>@ S
B".;heck4ut/ " 12.rid B".rid/> =lse!f "rop"ownAist'.!tems*/.2elected True Then My;md.;ommandTe?t >2elect 12.rid, 1;.1;!", 1;.;ategory, 1;.1price, 1;.1Floor, 1;.1view F14M 1oom; 1; , 1oom2 12 0C=1= 1;.1;!" 12.1;!" " 1;.1view @> "rop"ownAist#.!tems'/.6alue >@ " 1;.category @> "rop"ownAist'.!tems*/.6alue >@ " 12.rid 4T ! 2=A=;T 12.rid F14M 1oom; 1;, B44H!("=T!A B" 0C=1= @>t?t2tart"ate.Te?t >@ R B".;heck!n " @>Te?t=nd"ate.Te?t>@ S B".;heck4ut/ " 12.rid B".rid/>
=nd !f =lse!f "rop"ownAist#.!tems#/.2elected True Then !f "rop"ownAist'.!tems$/.2elected True Then My;md.;ommandTe?t >2elect 12.rid, 1;.1;!", 1;.;ategory, 1;.1price, 1;.1Floor, 1;.1view F14M 1oom; 1; , 1oom2 12 0C=1= 1;.1;!" 12.1;!" " 1;.1view @> "rop"ownAist#.!tems#/.6alue >@ " 12.rid 4T ! 2=A=;T 12.rid F14M 1oom; 1;, B44H!("=T!A B" 0C=1= @>t?t2tart"ate.Te?t >@ R B".;heck!n " @>Te?t=nd"ate.Te?t>@ S
B".;heck4ut/ " 12.rid B".rid/> =lse!f "rop"ownAist'.!tems'/.2elected True Then My;md.;ommandTe?t >2elect 12.rid, 1;.1;!", 1;.;ategory, 1;.1price, 1;.1Floor, 1;.1view F14M 1oom; 1; , 1oom2 12 0C=1= 1;.1;!" 12.1;!" " 1;.1view @> "rop"ownAist#.!tems#/.6alue >@" 1;.category @> "rop"ownAist'.!tems'/.6alue >@ " 12.rid 4T ! 2=A=;T 12.rid F14M 1oom; 1;, B44H!("=T!A B" 0C=1= @>t?t2tart"ate.Te?t >@ R B".;heck!n " @>Te?t=nd"ate.Te?t>@ S B".;heck4ut/ " 12.rid B".rid/> =lse!f "rop"ownAist'.!tems#/.2elected True Then My;md.;ommandTe?t >2elect 12.rid, 1;.1;!", 1;.;ategory, 1;.1price, 1;.1Floor, 1;.1view F14M 1oom; 1; , 1oom2 12 0C=1= 1;.1;!" 12.1;!" " 1;.1view @> "rop"ownAist#.!tems#/.6alue >@ " 1;.category @> "rop"ownAist'.!tems#/.6alue >@ " 12.rid 4T ! 2=A=;T 12.rid F14M 1oom; 1;, B44H!("=T!A B" 0C=1= @>t?t2tart"ate.Te?t >@ R B".;heck!n " @>Te?t=nd"ate.Te?t>@ S B".;heck4ut/ " 12.rid B".rid/> =lse!f "rop"ownAist'.!tems/.2elected True Then
My;md.;ommandTe?t >2elect 12.rid, 1;.1;!", 1;.;ategory, 1;.1price, 1;.1Floor, 1;.1view F14M 1oom; 1; , 1oom2 12 0C=1= 1;.1;!" 12.1;!" " 1;.1view @> "rop"ownAist#.!tems#/.6alue >@ " 1;.category @> "rop"ownAist'.!tems/.6alue >@ " 12.rid 4T ! 2=A=;T 12.rid F14M 1oom; 1;, B44H!("=T!A B" 0C=1= @>t?t2tart"ate.Te?t >@ R B".;heck!n " @>Te?t=nd"ate.Te?t>@ S B".;heck4ut/ " 12.rid B".rid/> =lse!f "rop"ownAist'.!tems3/.2elected True Then My;md.;ommandTe?t >2elect 12.rid, 1;.1;!", 1;.;ategory, 1;.1price, 1;.1Floor, 1;.1view F14M 1oom; 1; , 1oom2 12 0C=1= 1;.1;!" 12.1;!" " 1;.1view @> "rop"ownAist#.!tems#/.6alue >@ " 1;.category @> "rop"ownAist'.!tems3/.6alue >@ " 12.rid 4T ! 2=A=;T 12.rid F14M 1oom; 1;, B44H!("=T!A B" 0C=1= @>t?t2tart"ate.Te?t >@ R B".;heck!n " @>Te?t=nd"ate.Te?t>@ S B".;heck4ut/ " 12.rid B".rid/> =lse!f "rop"ownAist'.!tems*/.2elected True Then My;md.;ommandTe?t >2elect 12.rid, 1;.1;!", 1;.;ategory, 1;.1price, 1;.1Floor, 1;.1view F14M 1oom; 1; , 1oom2 12
0C=1= 1;.1;!" 12.1;!" " 1;.1view @> "rop"ownAist#.!tems#/.6alue >@ " 1;.category @> "rop"ownAist'.!tems*/.6alue >@ " 12.rid 4T ! 2=A=;T 12.rid F14M 1oom; 1;, B44H!("=T!A B" 0C=1= @>t?t2tart"ate.Te?t >@ R B".;heck!n " @>Te?t=nd"ate.Te?t>@ S B".;heck4ut/ " 12.rid B".rid/>
=nd !f =nd !f
My;md.Parameters.;lear/
My;md.Parameters.dd0ith6alue >V>, t?t2tart"ate.Te?t/ My;md.Parameters.dd0ith6alue >V>, Te?t=nd"ate.Te?t/ "im adapter s ew 4le"b.4le"b"atadapterMy;md.;ommandTe?t, ;onn/ adapter.Fillmy"ata2et, >$>/
(rid6iew'."ata2ource my"ata2et.Tables >$>/ (rid6iew'."ataBind/
=lse
MsgBo?> you have chose a previous data>/ =nd !f =lse MsgBo?> the checkin data is bigger than the check out date> / =nd !f ;onn.;lose/
0.1.8
5) in c)/e
RaspAogin6iew!">Aogin6iew'> runat>server>S RAogged!nTemplateS Rspanclass>input>SOou are logged in. 0elcome RG spanS RaspAoginame!">Aoginame'> runat>server> GS RGAogged!nTemplate S RnonymousTemplate S Oou are not logged in. ;lick the Aogin link to sign in. RaspButton!">button%> runat>server> onclick >button%;lick> Te?t>1eminder> GS
RGnonymousTemplate S RGaspAogin6iewS R br GS RaspAogin2tatus!">Aogin2tatus'> runat>server> GS
0.1.14 C%ec6in e9it )f t%e C#st)mer ID C)/e
Using reader to check if the customer !" is e?it or not, before doing insert to the (uest detail. "im ;M" s ew 4le"b;ommand ;M".;onnection ;onn ;M".;ommandType ;ommandType.Te?t ;M".;ommandTe?t >2=A=;T ;!" F14M ;U2TM 0C=1= ;!" @> Te?tBo?%.Te?t >@> "im reader s 4le"b"ata1eader reader ;M".=?ecute1eader
@!2=1T !T4 TC= ;U2T4M=1 TBA=
!f ot reader.1ead Then
@!2=1T !T4 ;UT4M=1 TBA= "im !nsert;U2T s ew 4le"b;ommand !nsert;U2T.;onnection ;onn !nsert;U2T.;ommandType ;ommandType.Te?t !nsert;U2T.;ommandTe?t >!2=1T !T4 ;U2TM;!",;Firstame,;Aastame,ddress,PhoneUM,=mail/ 6AU=2V,V,V,V,V,V/> !nsert;U2T.Parameters.;lear/ !nsert;U2T.Parameters.dd0ith6alue >V>, Te?tBo?%.Te?t/ !nsert;U2T.Parameters.dd0ith6alue >V>, Te?tBo?#.Te?t/ !nsert;U2T.Parameters.dd0ith6alue >V>, Te?tBo?.Te?t/ !nsert;U2T.Parameters.dd0ith6alue >V>, Te?tBo?3.Te?t/ !nsert;U2T.Parameters.dd0ith6alue >V>, Te?tBo?).Te?t/ !nsert;U2T.Parameters.dd0ith6alue >V>, Te?tBo?*.Te?t/ !nsert;U2T.=?ecuteonIuery/ !nsert;U2T."ispose/ =nd !f reader.;lose/
MsgBo?> 4H >, MsgBo?2tyle.!nformation/
0.1.11 Clc#ltin t%e t)tl c)st
"im day s !nt# "im chi s "ate "im cho s "ate "im price s !nt')
price $ chi ;heck!n.Te?t cho ;heckout.Te?t day "ate"iff"ate!nterval."ay, chi, cho/ "im 1omPrice s ew 4le"b;ommand
1omPrice.;onnection ;onn 1omPrice.;ommandType ;ommandType.Te?t 1omPrice.;ommandTe?t >2=A=;T 1price from 1oom; 0C=1= 1;!" @> Te?tBo?':.Te?t >@> "im 1oom s ew 4le"b.4le"b"atadapter1omPrice.;ommandTe?t,
;onn/ 1oom.Fillmy"ata2et, >1'>/ price my"ata2et.Tables>1'>/.1ows$/.!tem>1price>/ price price W day my"ata2et.;lear/ Reference X'Y FernandeD,= Ouan, Z,':::/. An Analysis Pattern for Reservation and Use of Reusable Entities.PloP '::: conference, 1etrieved from httpGGhillside.netGplopGplop::GproceedingsGFernandeD#GreservnalysisPatter n.P"F
httpGGowl.english.purdue.eduGowlGresourceG*)$G$'G X#Y Aauesen, 2, #$$/,Task Descriptions as Functional Requirements , ! = == ; o m p u t e r 2 o c i e t y , 1etrieved from httpGGwww.itu.dkG[slauesenGPapersG!===tasks.pdf XY Aouw,",#$$), may '$/. Description wit U!" for a #otel Reservation $ystem. 1etrieved from httpGGwww.liacs.nlGassetsGBachelorscriptiesG#$$)< $&LanneAouw.pdf
httpGGa+a?controltoolkit.codeple?.comG httpGGa+a?controltoolkit.codeple?.comGreleasesGviewG))*3 httpGGdigibib.ehb.beGstorageG2ector\#$!nformatieG!ct\#$in\#$hotelsG \#$study\#$of\#$hotel\#$information\#$techno\#$applications.pdf httpGGforums.techguy.orgGsoftware
httpGGwww.a+a?controltoolkit.comG httpGGwww.araboug.orgGibGinde?.phpVshowtopic%:*%st$ httpGGwww.arabteam#$$$
httpGGwww.asp.netGa+a?Ga+a?controltoolkitG2amplesG"efault.asp? httpGGwww.asp.netGa+a?libraryGact.ash? httpGGwww.asp.netGa+a?libraryGact;alendar2imple.ash? httpGGwww.codeguru.comGcsharpGcsharpGcsnetworkGdatabaseGarticle.phpGc& 3%%#G;onnecting
httpGGwww.liacs.nlGassetsGBachelorscriptiesG#$$)<$&LanneAouw.pdf httpGGwww.wschools.comGs5lGs5lautoincrement.asp