1. A method for planning a journey, comprising: establishing selection criteria for a journey from an origin to a destination, the selection criteria comprising one or more journey parameters and one or more rules, a journey parameter describing a constraint of the journey, a rule specifying an action to perform in response to a trigger event; planning a route for the journey from the origin to the destination; detecting a trigger event after initiation of the journey; accessing a rule of the one or more rules, the accessed rule specifying an action to perform in response to the detected trigger event; selecting one or more alternate waypoints in accordance with the action and the selection criteria, a waypoint representing an intermediate point between the origin and the destination; and inserting the one or more alternate waypoints into the route to create a next route.