Some questions How many destinations should be supported in one itinerary? Should Itineraries be stored in the DB before they are paid? If not, where? Should seats be reserved before an itinerary is paid? (When should seats be reserved?) Should a user be able to change itinerary after he has paid?