IMO you are right to compare Order with Itinerary and Segment with OrderLine.
I have been working with flight reservation applications for a long time and they are very different from the assignment... For example, what happens if the Customer wants to buy two tickets? Have you considered that?
From my understanding of the reservation use case, it is possible to do a reservation for 2 seats. I have toyed with this idea: Itiniary - Segment - Flight - Equipment - Seats Where the selected seat(s) is a list in segment. While the list of seats in equipment is the number of available seat (and seating classes) for that flight (these seats will not be marked as "taken", they just state the "lay out" of the equipment)
I think you are right in all your assuptions and I think that is a must to modify the cardinality when you extends the BDOM (segment 0..* - 1 flight ). If you assume that the segment - flight cardinality is 1..1 then you are saying "I flight only exists when a segment exists", in other words "A product exists only when an orderline exists".
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com
subject: What value does segment add to BDM? (1-1)