Refactor flight search with composite view