1.1 Main Interface:The main interface will be a page that will contain a tabled layout of the various services which may be provided. Note: Images will be used only as complements to the text items.2.0 Main FunctionsAll pages will share these common attributes:1.3 Main (index) Page Services
1.2.1 Table ColumnsA table of three columns.1.2.2 Table Borders
The rightmost and leftmost columns will each be 25% of the window width. The center column will be 50% of the window width.The table will have no borders.1.2.3 Table StyleThe table background will be white. There are some exceptions to this rule:1.2.4 Center Column
1.2.3.1 Advertising CellsThe advertising cells will have a light grey background.1.2.3.2 Promotion CellsThe special promotions cells will have a dark grey background1.2.3.3 Right ColumnThe right column will contain navigational buttons to the Home page, and Logout page with the following exceptions1.2.3.4 Home PageThe home page will have an integrated login/password cell where the user can enter his login information right in the cell then press login to gain access to the system1.2.3.5 Logout PageThe logout page will have one link to the home page onlyThe center column will always contain the body of information for the page.1.3.1 Defaults1.4 Login Page ServicesSee defaults for all pages above and note exceptions1.3.2 New UsersThere will be a join button for new users1.3.3 Guest UsersThere will be a guest button in the last cell of the right column. This is for those users who would like to see what kind of services we provide.1.3.4 Company SynopsisThere will be a brief description of the company in the center column.1.4.1 Defaults1.5 Logout Page ServicesSee defaults for all pages above and note exceptions1.4.2 ServicesIn the center column will be a listing of available services with an associated image icon.1.4.3 Based on the user selection of the above options various
1.4.2.1 Travel Planning WizzardThis will take all the users through the necessary steps of planning a trip from the initial to the final stages of the trip. Most users will select this option unless they have prearranged plans.1.4.2.2 Flight/Rail Reservations only(IE: a friend will pick them up at an aeroport and drive them to their house so all they will need is to arrange for a flight reservation)1.4.2.3 Taxi / Transportation Reservations onlyserver parsed (PHP3) web pages will appear.1.5.1 Tell the user that he/she has been sucessfully logged out
1.5.2 Allow a display (in the center column) for a sponsor's add.
1.5.3 Allow access to the home page for a re-login.2.1 Travel Planning Wizzard
3.0 Alternative FunctionsThe travel planning wizzard will consist of cycling through the identical functionality of the individual forms, with a next button appended so that the user will not have to go back to the login page and actively choose the page.
2.2 Direction / Map Engine
- The first page will be travel directions to the origin aeroport/railway station. (optional)
- The second page will be flight/rail reservation page
- The third page will be taxi/car service reservation page (optional)
- The fourth page will be hotel reservation page (optional)
- The last page will be a summary of options selected with a cost quote. And a confirmation form for their current billing information stored in the system. All of these options will be 'live' (which means that the user will be able to alter them by selecting a button next to it that will bring them to the appropriate page.)
2.3 Flight / Rail Reservations
The direction / map engine will consist of several pages. The first page that will appear is the Site Selection page. Then based on the user's selection, general directional information to each site will be given, originating from the surrounding area.
2.3.1 Route Selection
2.4 Taxi / Car Service Rental / ReservationsFlight and Rail Reservations will consist of the Origin Selection Form, and the Destination Selection Form appearing. The user will then select the appropriate options and press the OK button to commit the selections.
2.3.2 Agency SelectionFlight(s)/Railway trains approximating the options selected in the previous forms will appear. The user will select the approriate flight/railway passage for his trip and commit the selections via the OK button.
2.3.3 Agency SubmissionUpon submission the user will be prompted with a confirmation screen. This confirmation screen will have one live form for the data selected along with the user's current billing information on file. The user presses an OK button to complete the transaction.
2.4.1 Rental Site Selection
2.5 Hotel / Lodging Rental / ReservationsTaxi or car service rentals and reservations will consist of the Site Selection form appearing. The user will then select the appropriate options and press the OK button to commit the selections.
2.4.2 Agency SelectionThe user will be taken to a taxi or auto rental agency selection screen. This screen will have a form with radio button group of agencies to select from. It will also have another form from which to select the car models and types. And a third form from which to select price ranges. Each form is mutually exclusive and will have their own submit buttons. The user commits the data selected by pressing th submit button for its respective form.
2.4.3 Agency SubmissionUpon submission the user will be presented with a mutually exclusive range of options. The user will have an option of going back to select another mode of search, or making a selection a commiting the data.
2.4.4 Agency ConfirmationUpon submission the user will be prompted with a confirmation screen. This confirmation screen will have one live form for the data selected along with the user's current billing information on file. The user presses an OK button to complete the transaction.
2.5.1 Rental Site Selection
2.6 Personal Information EditorHotel and lodging rentals or reservations will consist of the Site Selection form appearing. The user will then select the appropriate options and press the OK button to commit the selections.
2.5.2 Agency SelectionThe user will be taken to a hotel or lodging selection screen. This screen will have a form with radio button group of agencies to select from. It will also have another form from which to select the room types. And a third form from which to select price ranges. Each form is mutually exclusive and will have their own submit buttons. The user commits the data selected by pressing th submit button for its respective form.
2.5.3 Agency SubmissionUpon submission the user will be presented with a mutually exclusive range of options. The user will have an option of going back to select another mode of search, or making a selection a commiting the data.
2.5.4 ConfirmationUpon submission the user will be prompted with a confirmation screen. This confirmation screen will have one live form for the data selected along with the user's current billing information on file. The user presses an OK button to complete the transaction.
This page will contain a center column with space for the user's personal information:
2.7 Confirmation Screen
- billing name
- billing address
- billing type
- billing type's account number (CC card or bank routing number)
This page will contain a summary of the services selected that will be billed to the customer's account located in the personal information editor. The customer will be offered an option to finalise the transaction such that the system will bill the customer for the services provided and commit the transactions.
2.8 Shared ObjectsSeveral pages used within the system will be shared among various other pages.
2.8.1 Origin SelectionThis is a page where the center column will be a list of sites that the user will be departing from.
2.8.2 Destination SelectionThis is a page where the center column will be a list of sites that the user will be heading towards.
2.8.3 Site SelectionThis will be a page where the center column will be a list of markets where the Company will be able to provide services.
3.1 Email NotificationThe customer's email address will be used in such a way that a confirmation message with the standard web page format, will allow the notification of pending or commited transactions. The user will have the option of clicking on a button in the center column to go to the webpage to confirm flight time and / or any forseeable delays.3.2 Special OffersThe user will be emailed special offers and incentives based on their account history. The format of the email will be in the standard web page format, and will include a button in the center column for user's to click on and retrieve more information on the special offer.3.3 Contact PageThe user will have a link at the bottom of each webpage and email address that will allow for the navigation to the Contact Page. This page will be formatted similarly to the standard web page, except that the user will be supplied with a list of email addresses with which to contact the company and its relevant services. (all hyper linked with mailto: tags)
4.0 Architectural Design DiagramThis is based on a simple concept, a many to many relationship. Since the bulk of the business is going to be done through the internet. It is quite visible that there would have to be an architechure similar to the one in this diagram.
- figure1.fig
- figure1.gif
- Note: to download the above item, you will need XFig or a similar program that can read diagram figure files. It is GPL'd and can be downloaded for free at the following location: www-epb.lbl.gov/xfig
4.1 Architectural Design Diagram DescriptionYou can see here that the design is a simple one. The server is located behind a network connection to the Internet. The server is running a web daemon able of processing the user's request for documents (the system) and set everything (their choises) for the system. There are others connected to a local area network that can administer and update the system when necessary. This is because the system is not allowed to be logged into via the Internet. The only accessible service that the users will see from the Internet is the web daemon.
5.1 Main ModuleThis modules handles the user logging in and off the system and also calls the user module form for editing user information and handling the user to the travel module should they desire it.5.2 User Moduleknows:
- the username
- the password
calls: members:
- get username
- show username
- get password
This module handles the user information stored in the system.5.3 Security Moduleknows:
- real name
- login name (or username)
- password
- address
- phone number
- email address
- billing information
calls:
- security module::verify
members:
- edit user
- save user
- delete user
This module handles the logon/logoff and any other security related administrative task. Including configuring the web page url for each unique user such that it checks on 'cookies'.5.4 Role Moduleknows:
- login name
- login role
- login role exceptions
- login tables
- database objects
calls:
- role::update role
- role::update exceptions
- role::revoke role
- role::revoke exceptions
- role::create role
- role::create exceptions
uses: members:
- verify user
- verify (same as above)
- logon
- logoff
- make cookie
- get cookie
Handles the roles which are eventually assigned to each user. The roles consist of a number of tables/webpage each user is allowed to alter data on. Along with the role's value. Hence if a role is set to guest, then the user is allowed to browse the web pages and tables that are marked off for that role.5.5 Table Moduleknows:
- role names
- table names
- security levels
- pages names
uses: calls:
- table module::add table
- table module::remove table
- table module::update table
members:
- update role
- create role
- delete role
- add security level
- delete security level
- add page name
- delete page name
This module keeps track of the tables in the database.5.6 Travel Moduleknows:
- table names
uses: calls: members:
- update table
- add table
- remove table
This module keeps track of the user's selection for the travel information. For example, when the user decides that he wants to initiate a new car travel reservation.5.7 Rail/Airline Moduleknows:
- user name
uses: calls:
- rail/airline::start
- auto rental::start
- direction finder::start
- hotel::start
- security::verify
members: Handles the airline/rail reservations initiated by the user. It starts by associating the login name with an origin and destination. Both vars are retrieved by selecting a site.5.8 Auto Rental Moduleknows:
- login name
- Origin
- Destination
- airlines
- flights
uses:
- Site Selection Module
- Flight Module
calls:
- site selection::get(origin)
- site selection::get(destination)
- flight::get flights (origin, destination)
members:
- start
Handles the auto rental reservations initiated by the user. It starts by associating a site with the available information for the companies. Requesting information for unavailable sites via its calls.5.9 Direction Finder Moduleknows:
- login name
- available companies
- available sites
uses:
- Site Selection Module
- Taxi Module
calls:
- site selection::get(site)
- taxi::get(companies)
members:
- start
Handles the distribution of directions for the user. For example, if the user needs to get from his home to the local airport.5.10 Hotel Moduleknows:
- login name
- place of origin
- airport
- market city's maps
uses:
- Site Selection
calls:
- site selection::get(place of origin)
members:
- start
- display map
Handles hotel reservations for the city's location. In case the user has to reserve a hotel room.5.11 Site Selectionknows:
- login name
- place of destination
- area hotels
uses:
- Site Selection
calls:
- site selection::get(place of destination)
members:
- start
Handles the selection of sites. This is never called from an external object. It is an internal class used for selecting sites for the various modules previously listed.5.12 Flight Moduleknows:
- login name
- list of market cities and towns
uses: calls: members
- get
- add
- remove
- update
- list
Handles the selection of flights. This is called by some modules for displaying of flight information.5.13 Taxi Moduleknows:
- airline co.
- flight number
- flight time
- flight duration
- flight date
- number of seats
uses: calls: members:
- get
- get flights
- update
- add
- remove
- list
Handles the selection of flights. This is called by some modules for displaying of flight information.knows:
- auto svce co.
- auto rental time
- auto rental duration
- auto rental start date
- auto rental end date
- type of car
- size of car
uses: calls: members:
- get
- get autos
- update
- add
- remove
- list
- Operator: An employee of the Company, given rights to operate on the System.
- Customer: A client or potential client of the Company.
- System: The collection of computers, or server(s) that will collect, operate on, and manage the data automatically.
- Oracle: Trademarked name of the Relation Database Management System company, and it's affliates.
- DBA: Database Administrator.
- real tables: tables that contain Company sensitive information of previous clients, and current clients.
- development environment: The environment where the System can be tested and new features tested with minimal to no impact on the Operators, or Customers.
- production environment: The environment where the System can be utilised by the Customers and Operators to preform the daily routine transactions of the system.
- downtime: Times when the Operator or the Client has no access to the system.
- back end: The portion of the System that is not apparently visible to the Operator or the Customer.