A
system and a method for generating and displaying candidate itineraries for travel. In an embodiment, the
system receives, from an application installed on a
client device, a request to book travel between an origin location and a destination location. The request includes multiple parameters. Responsive to receiving the request, the
system applies a subset of the parameters to a constrained function, and ranks the routes between the origin location and the destination location by applying the constrained function to a
route graph. The system then determines a subset of the routes based on the
ranking, and requests from
external data providers travel
route data on the subset of routes. The system then determines candidate itineraries between the origin location and the destination location, and generates for display on the
client device the candidate itineraries.