Smart itinerary optimization