1. A computer-implemented method for public transportation journey planning, the method comprising: receiving, by one or more computing devices, transit graph data describing a plurality of nodes, each node corresponding to the arrival or departure of a vehicle at a station; performing, by the one or more computing devices, a first search of the transit graph data to determine a first journey schedule for a route between a source station and a destination station, the first journey schedule comprising a first departure time from the source station, a first arrival time at the destination station, and one or more first intermediate departure times from one or more intermediate stations; performing, by the one or more computing devices, a second search of the transit graph data to determine a second journey schedule for the route, the second journey schedule comprising the first arrival time at the destination station, a second departure time from the source station, and one or more second intermediate departure times from the one or more intermediate stations, wherein the second departure time and the one or more second intermediate departure times are latest times available to achieve the first arrival time at the destination station; performing, by the one or more computing devices, a third search of the transit graph data to determine a third journey schedule for the route, the third journey schedule comprising the second departure time from the source station, the first arrival time at the destination station, and one or more third intermediate departure times from the one or more intermediate stations, wherein the one or more third intermediate departure times are earliest times available to maintain the second departure time from the source station and the first arrival time at the destination station; and presenting to a user, by the one or more computing devices, one or more of the first departure time, the first arrival time, the one or more first intermediate departure times, the second departure time, the one or more second intermediate departure times, or the one or more third intermediate departure times.