hotel management system final

122
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

Upload: rachit-sharma

Post on 06-Sep-2015

24 views

Category:

Documents


5 download

DESCRIPTION

Hotel Management System final

TRANSCRIPT

A

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

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

1.3.1 Objectives

Developing hotel reservation system solution.

1.3.2 Benefits:

The system will have history about reservation and guest so that can be called whenever they are needed which helps in checking any mistake. 1.3.2.1 Making the reservation easier.1.3.2.2 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 detail.

iv) Display list of on and off rooms.

v) Search about specific guest.

vi) Display detail about reservation.

1.3.4 Technical Requirements-Feasibility:

1.3.4.1) Database: the data will be hosted on an Sql server database. Our group will build the tables and their requirements as needed for controlling the system. 1.3.4.2) Web: our group will develop the web application with Visual Studio 2008 using asp.net and Visual basic. 1.3.5 Scope:

The system provide the employee who works in the reception the ability to do reservation for the hotel guests; by searching for available rooms, inserting the guest information, making the reservation and the payment process. This system is build using a database that will be hosted an Sql server database and a web interface using the Visual Studio 2008 ASP.net. In this project there are one model: The reservation model accept the guest details, rooms details, card details and date on check in and checkout. Also, deals with the hotel rooms by adding and removing rooms.

1.3.6 Visibility Plan :

Internal The group will meet weekly on Sunday and Tuesday morning from 8:00 am to 12:00 pm and with Mr. Mohammad Zikria on Wednesday morning from 9:00 am to 10:00 am to discuss progress and problems. Meeting minutes will be kept track of and sent to all members of the Group for reference. Any additional communication will be done via email or through other collaboration tools such as document sharing. In addition, the source code will be stored at all members PCs, a repository for the project. All source code will be documented carefully before being submitted to the repository. The progress of the principal activities and major milestones will be closely monitored and compared with the schedule. During the regular meetings, progress will be compared to our chart, which will be drafted after the completion of the requirements study when the tasks are identified and assigned.

1.3.7 Suggested Deliverables:1.3.7.1) Requirements Analysis a document and a presentation to go over the formal requirements of the project, both functional and non-functional. This deliverable ensures that the Group is working on a system that closely matches to the wishes of the Client.

1.3.7.2) Design Document a document and a presentation to go over the design of the system. This is the Groups opportunity to go over how the project is to be implemented to the Client.

1.3.7.3) Source Code a document, presentation along with the source code of the final completed project. This final deliverable wraps up and concludes the project.

1.3.8 Technical Deliverables:

1.3.8.1) A database with tables that going to support the system. These tables will be used to store the information that are needed for reservation and payment; such as, guests detail, rooms detail, reservation date and employees, who do the reservation, detail.

1.3.8.2) A reception interface to add, delete and modify for reservations, guests, rooms, employees and payments. Searching for specific guest and reservation

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.

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. The reception specify the check-in and check-out date.

2. The reception add room type.

3. Reception clicks on the button " Search ".

4. 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, e-mail, 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. Administrator clicks button to initiate process.

2. System prompts the Administrator for User name and password.

3. System verifies information.

4. 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 SpecificationHMS Hotel Management SystemSubjective satisfaction The overall satisfaction of the system

End users The people who will be actually using the system

Overview

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

Describes the general factors that affect the product and its requirements. This section does not state specific requirements. Instead it provides a background for those requirements, which are defined in section 3, and makes them easier to understand.

Product Perspective

The HMS is an independent standalone system. It is totally self contained.

3.5 Hardware InterfacesThe HMS will be placed on PCs throughout the hotel.

Software Interfaces

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

Product Functions

Reservation and Booking System

Allow the reception to modify, add or delete reservation.

Allow the reception to modify, add or delete guest detail.

Allow the reception to provide the guest with the payment detail.

Display list of on and off rooms.

Search about specific guest.

Display detail about reservation.

General Management Services and Automated Tasks System

Allow the administrator to modify, add or delete the room.

View a daily, weekly and monthly report.

User Characteristics

Educational level of HMS computer software Low

Experience of HMS software None

Technical Expertise Little

Apportioning of Requirements

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

Specific Requirements

This section contains all the software requirements at a level of detail, that when combined with the system context diagram, use cases, and use case descriptions, is sufficient to enable designers to design a system to satisfy those requirements, and testers to test that the system satisfies those requirements.

External Interfaces

The Hotel Management System will use the standard input/output devices for a personal computer. This includes the following:

Keyboard

Mouse

User Interfaces

The User Interface Screens are described in table 1.

Table 1: Hotel Management User Interface Screens

Screen NameDescription

LoginLog into the system as Administration

ReservationRetrieve button, update/save reservation, cancel reservation, modify reservation, , accept payment type/credit card

Hotel PaymentAccept payment for room.

Customer RecordDelete or update customer records

Administer RoomsAdd, modify and delete rooms.

ReportsSelect, view

Software Interfaces

The system shall interface with an Sql server.

Hardware Interfaces

The system shall run on a Visual studio c#(ASP.net).

Communication Interfaces

The system shall be a standalone product that does not require any communication interfaces.

Functional Requirements

Functional requirements define the fundamental actions that system must perform.

The functional requirements for the system are divided into two main categories, Reservation/Booking, and Management. For further details, refer to the use cases.

1. Reservation/Booking

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

2. Management

2.1. The system shall allow for the addition of rooms.

2.2. The system shall allow for the deletion of rooms.

2.3. The system shall allow for the modification of rooms.

Nonfunctional Requirements

Functional requirements define the needs in terms of performance, logical database requirements, design constraints, standards compliance, reliability, availability, security, maintainability, and portability.

Performance Requirements

Performance requirements define acceptable response times for system functionality.

The load time for user interface screens shall take no longer than two seconds.

The log in information shall be verified within five seconds.

Queries shall return results within five seconds.

Logical Database Requirements

The logical database requirements include the retention of the following data elements.

Booking/Reservation System

Customer first name

Customer last name

Customer address

Customer phone number

Assigned room

Default room rate

Credit card number

Confirmation number

Expected check-in date

Expected check-out date

Payment type

Design Constraints

The Hotel Management System shall be a stand-alone system running in a Windows environment. The system shall be developed using Sql server and ASP.net.

Standards Compliance

There shall be consistency in variable names within the system. The graphical user interface shall have a consistent look and feel.

Reliability

Specify the factors required to establish the required reliability of the software system at time of delivery.

Availability

The system shall be available during normal hotel operating hours.

Security

Customer Service Representative will have access to the Reservation/Booking. Managers will be able to log in to the Hotel Management System and will have access to the Management subsystem.

Maintainability

The Hotel Management System is being developed in ASP.net.Visual studio is one of the products that are used for building the system. This product is chose because it provides the user developers a compelling development environment for Windows and. NET platforms. This product helps in building Windows application, console application, Windows service, Windows mobile applications, ASP.NET application and ASP.NET web services with , C#, you can add additional tools that help in building interface in easy way. For the end user, the ASP and c# is used in developing Hotel Management System. Also, it helps in creating Crystal report and connection with the database by using ODB. The other product that has been chosen is sqp server 10g Express Edition. It has been chosen for the background of the system. As it can build the tables and quires in easy way and connected with the end user in effective way.Portability

The Hotel Management System shall run in any Microsoft Windows environment.

Part IV Task Analysis

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

4.1 System Rules1. The reception can use the system without authentication. But his/her use is limited.

2. The reception cannot insert the Room setting.

3. The admin needs to log in to use the Room setting.

4. The check in data has to be bigger or equal to the current date.

5. The check in data has to be smaller than the check out date.

6. The required text box has to be filled.

7. The Booking ID, Booking Detail ID and Payment ID will be inserted automatically by using automatically increment.

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

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

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

As some information of the guest or credit card exposed to be changed, the reception needs the guest ID or the Credit Card ID and he/she needs to the new information to do the update according the change.

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

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

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

4.3Hierarchical Task Decomposition

Figure 8: Search for available room

Figure 9: Reservation

Figure 10: Paying

Figure 11: Setting

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

Figure 12: Search and Update Form

If the user insert a date that is past or the check out date is earlier than the check in date the system will pop up a message box to notify the user about the mistake that has been done. Figure 13: Checking inserted date

Figure 14: Checking date

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

Figure 15: Notifying The User That the BookinNo is Empty

If the search is done successfully, the system generates a list of available rooms in grid view with check box. This check box enables the user to choose the room from the grid view. After checking the box, the user can do a new reservation or can do an update to old reservation. The system has a text box for inserting a booking number which is needed to find the old reservation from the database and does the change.Figure 16: Search Result

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

Figure 17: Calendar

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

Figure 18: Reservation Form

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

Figure 19: Credit Card Form

For preventing the user to do a reservation when there is any field of the mandatory is empty, when the save button is clicked the system will check if any of the mandatory field is empty or not. If one of them field is empty, the system will not do the booking and it will pop up a message box that notifies the user about the empty field.

Figure 20: Missing Field Message

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

Figure 21: Invalid Email

5.3 Paying

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

Figure 22: Payment Form5.4 Guest Detail

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

Figure 24: Guest Setting Form

Figure 25: Finding information about specific guest

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

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

Figure 27: Confirmation Message

5.5 Log inthe 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

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

Reminder

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

Part VI Challenges

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

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

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

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

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

Most big challenge is the date. We need the date for inserting check in date and check out date to find the available room. And the problem was when we insert the date by using the calendar extender, the date is inserted as mm/dd/yyyy, while the Sql server accepts it as yyyy/mm/dd. the first solution came to our mind to do conversion to the text boxs value from string to date. We have used this following codeDate.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 ControlFor Each c In form1.ControlsIf c.Text = String.Empty ThenMsgBox("Please Enter the " &c.Name, MsgBoxStyle.Information, "Note")c.Focus()End IfNext

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.TextvbNullStringCheckIn.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. CODINGRegister.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,Numberofpassengers) 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.aspxusing 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. TESTINGSYSTEM TESTING Testing is a set of activities that can be planned in advance and conducted systematically. The proposed system is tested in parallel with the software that consists of its own phases of analysis, implementation, testing and maintenance. Following are the tests conducted on the system.

UNIT TESTING:

During the implementation of the system each module of the system was tested separately to uncover errors with in its boundaries. User interface was used as a guide in the process.MODULE TESTING A module is composed of various programs related to that module. Module testing is done to check the module functionality and interaction between units within a module. It checks the functionality of each program with relation to other programs within the same module. It then tests the overall functionality of each module.

INTEGRATION TESTING Integration testing is a systematic technique for constructing the program structure while conducting tests to uncover errors associated with interfacing. The objective is to take unit-tested module and build a program structures that has been dictated by design.

ACCEPTANCE TESTING The software has been tested with the realistic data given by the client and produced fruitful results. The client satisfying all the requirements specified by them has also developed the software within the time limitation specified. A demonstration has been given to the client and the end-user giving all the operational features.

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

CONCLUSION

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

BIBILOGRAPHY

10. BIBILOGRAPHY

References:SOFTWARE ENGINEERING - By Rogers.Pressman

SQL FOR PROFESSIONALS - ByJain

ASP.NET with C# - By Wrox PublicationsMSDN 2002 - By MicrosoftWebsites:

1. www.support.microsoft.com

2.

HYPERLINK "http://www.asp.net" www.asp.net

3. www.w3schools.com4. www.freetutes.com

Figure 1: Tables

Figure 2