You are modeling a part of an online flight reservation system, according to the description.
A flight is a single non-stop hop between a pair of cities. A booking can include several flights and travelers, with the requirement that all the travelers are on all the flights in a booking. Furthermore, every booking has a single owner who is one of the travelers on that booking (one member booking tickets for the entire family), and the owner can manage functionality on the system that other travelers cannot. A separate ticket is issued and priced individually for each traveler on a booking, and the ticket applies to all flights within that booking. "Draw" (You can all show all drawing in text, as in the problem set UML solutions) the most appropriate UML class diagram for your model. Identify entities (classes/abstract classes/interfaces) clearly, and separate them according to their functionality--the separation should be faithful to the description above. Set up relationships between entities as precisely as possible. Inside each class in the diagram, only list the class name and minimal number of attributes required to characterize objects of that class (no operations needed). For the attributes, you are not required to show access level.
Class/Interface:
Just list class name, and specify attribute names in that class in parentheses, e.g. Student
(name, major)
Put down "abstract" or "interface" before entity name, if applicable
Relationships:
Subclass: A <|--- B
Subinterface, Interface implementation: same as subclass
Association: ------ (with < or > on either side for direction)
Aggregation: <>---- (for composition just write "composition" above or below the association
line)
Dependency: same as unidirectional association, but write "dependency" above or below the
association line
Association class: If A is association class for an X--Y association, simply
spell it out instead of drawing a line hanging off the X--Y association. (e.g. "A is an association
class for X--Y")
Multiplicity: write above either end as in the UML problem set solutions
Write each relationship separately even if an entity happens to participate in more than one
relationship - this way you don't need to do cumbersome "vertical" plain text drawings.
e.g. Student------Course
Student------Professor