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 reception’s 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 Group’s 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 stand–alone system. It is totally self contained.
3.5 Hardware Interfaces The HMS will be placed on PC’s 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 time…etc.
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 customer’s first name.
The system shall record the customer’s 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 customer’s 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 card’s 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 room’s ID. For updating the user needs the room’s 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, room’s floor, room’s category, room’s 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 room’s 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 card‘s ID, the second one for holder’s name and the third one for expired date. As the credit card’s 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 booking’s 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 reservation’s 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 guest’s 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 box’s 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
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 organization’s 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 Roger’s.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