Authorize User: This would authorize a user with a login, and password prompt. All users of the system MUST be authorized before being allowed to perform any of the following options.

ADD / DELETE / MODIFY Booking: This option is used to book a passenger on a flight. The customer is required to pay at the time of booking. Even so, the amount paid should be kept track of in the case that refunds or partial refunds must be made. It is at this time that the passenger must also specify the class of fare, whether first class, second class, or third class. The amount that the user pays should be determined by the selected class, and it is up to the system administrator to set the price for each class.

Affected Information:
Passenger Name, Address, Phone Number, etc.
Flight Number
Amount Paid
Ticket Number
Special Requirements

ADD / DELETE / MODIFY Seat Selection: This option is used to assign a passenger to a seat on the flight. Information about seat bookings for a given flight should be queried and updated by means of a map of the seating arrangement on the aircraft. Anyone may select a seat that is not already selected. When 100 percent of the seats have been selected no passenger may select a seat. Fifteen minutes before boarding time, all seats not having a passenger WITH a boarding pass may be selected by any passenger with a booking. If there aren't enough unclaimed seats, passengers who cannot get a seat should be compensated.

Affected Information:
Ticket Number
Seat Number
Class (1st, 2nd, or 3rd)

General Information Query: This option allows the booking agent to get information regarding a flight or a passenger.

Query options:
Query flight info. by flight number, date, or destination
Should be able to:
- list passengers and ticket numbers
- display a complete seat map indicating whether a seat is
available for assignment, assigned to a passenger who does
not yet have a boarding pass, or assigned to a passenger
who does have a boarding pass.

Query passenger info. by ticket number, name, or phone number
Should be able to:
- display list of flights on which a given passenger is booked
- display passenger information (name, address....).

Check in passenger: This option will be used when the passenger shows up at the airport on the date of departure. If the passenger has selected a seat already, he or she may be issued a boarding pass.

Information that should appear on a boarding pass:
Passenger name
Flight number
Boarding time (that is, flight time - 30 minutes)
Ticket number
Seat number

Refund unaccomodated passenger and rebook: If a passenger is booked on a flight but at the time of boarding there is no room left on the aircraft (i.e. a boarding pass has been issued for each of the seats on the plane) then 10% of that passenger's fare will be refunded. Furthermore, the passenger will be booked for the next available flight to the same destination, if he or she so wishes.