Added data validation for itinerary. Various Refactoring