Alert: this page is not up to date. ATOC have made several detail changes to the Guide recently and I haven't got time to keep up right now. Therefore do not rely on these results.
If someone wants to manage the data for now, please email me.
Apology: CORE is not currenly operational. I have moved my site to a new host and not yet got all the scripts converted and working.
This web page gives you on-line access to CORE (Clive's On-line Routeing Engine) - my implementation of the ATOC Routeing Guide. This is a document of almost unbelievable complexity that defines what routes may be used with a rail ticket marked "Route: Any Permitted". While I have attempted to be faithful to the guide, I cannot guarantee that my results are perfect or that they will be acceptable to rail staff.
In late 2002 a copy of the Routeing Guide appeared on the ATOC web site. This copy is very different to the paper versions published in the past, but there is good reason to believe that it matches RJIS, the on-line system used by various ticketing packages. Therefore CORE has been revamped to use it. The on-line version was revamped in late 2003, and these changes have now also been included.
To use CORE, simply fill in the origin and destination in this form and select your options:
Note that it may take 15 or 20 seconds to get your result back. If the search takes too long it will time out and you will only be given partial results - I am looking at ways to improve the algorithm to reduce the impact of this.
If you haven't used CORE before, or want further information, see the following notes.
The Routeing Guide defines three types of Permitted Route:
CORE will list the shortest route from origin to destination and any mapped routes that exist, but does not mention direct trains, which are a function of the timetable rather than anything else.
You must put one of the following in each box:
If none of these match, CORE will assume that you've entered a partial name and will then select the first station in its list that matches.
The new Routeing Guide contains various policy changes that have not yet been implemented. In particular:
The Routeing Guide is unclear on a number of areas, and two of these affect the possible routes rather significantly. Therefore you have choices:
You can decide whether walks between certain pairs of stations are allowed as part of a route. If you allow them, they have a nominal length of zero when determining the length of a route. If you do not, all interchanges are required to be at the same station.
Allowing walks may change the shortest route, but all mapped routes allowed without walks will remain valid with them.
You can decide whether to allow cross-London interchanges (see below) as part of the shortest route. If you do, all "London Terminals" stations will be treated as being the same station when calculating the shortest route. If not, then the shortest route will be found that is entirely by main-line rail.
The core sections of mapped routes are unaffected by this choice, but if London Terminals is a routeing point for the origin or destination, this option will affect the routes generated because this includes a "shortest route" component.
Subject to any errors or cases that I have failed to spot, CORE now knows about all possible journeys. Please report any problems to me.
In particular, CORE now includes the sleeper routes (using map ZZ). Because of the journey taken by the Fort William sleeper, this may produce odd routes. I haven't yet worked out a solution for this.
The routeing points and group stations that CORE understands are:
|Other points and station groups|
There are a number of station groups where it ought to be sensible to walk between stations but where I haven't included the walk in the data.
There's no description of the Walsall Group of stations; I've guessed that they consist of Walsall and Bescot.
There are 4 stations that don't have assigned routeing points.
There are 9 "stations" in the ATOC data that aren't railway stations and don't have obvious links to the network. These have been omitted for now.
Stranraer is listed twice in the ATOC data, once with Carlisle as a routeing point and once with Kilmarnock (in both cases Glasgow is also listed). I have assumed the latter is correct.
There are several pairs of routeing points (e.g. Ascot to Earlestown) where the lists of maps for one direction aren't the same as the other. In each case one includes all of the other, so I have used the more liberal version. The most common (but not only) difference is the introduction of map LY.
CORE lists the shortest route between the two stations first, followed either by the mapped routes or an explanation of why none exist. In the case of mapped routes, CORE will display every route that the Guide appears to allow. These often include somewhat unexpected ones.
Each possible pair of routeing points is listed in turn; if any pair has more than about 20 routes you will get the first 20 found and a summary.
If you look up (say) the routes from Waterbeach to Norwich, you will see the message:
Origin routeing point Cambridge; compare fares!
at the start of one of the routes. This means that this route can only be used if it obeys a special rule to do with fares: the fare from the origin routeing point to the destination must be no greater than the fare for the actual journey. Similarly, if a destination routeing point is shown, the fare from the destination routeing point to the origin (that way round, strangely enough) must be no greater than the fare for the actual journey. Note that if there are routeing points for both origin and destination, both these tests are necessary, but you do not examine the fare between those two routeing points.
Comparisons are always made using the same ticket type as that held. The one exception is if the same type does not exist (for example, if the origin has a Saver available to the destination but the routeing point does not). In that case Standard Single fares are compared.
If the route also happens to be the shortest route, it can be used on that basis whether or not it obeys the fares rule.
Routes via London are no longer treated in a different way by the Routeing Guide.
If your ticket has a + in the route section, it is valid for certain interchange travel on London Underground. If it does not have a +, the National Fares Manuals says that it is not so valid, but the Routeing Guide says that it can be.
If your ticket allows such interchange travel, then it is valid for travel on London Underground between any pair of the following list of stations as a transfer across London:
|Baker Street||Finsbury Park||Richmond|
|Barking||Highbury & Islington||Stratford|
|Blackfriars||Kensington Olympia||Tottenham Hale|
|Blackhorse Road||Kentish Town||Tower Hill|
|Brixton||King's Cross St. Pancras||Upminster|
|Cannon Street||Liverpool Street||Vauxhall|
|Charing Cross||London Bridge||Victoria|
|Ealing Broadway||Marylebone||Walthamstow Central|
|Elephant & Castle||New Cross||West Ham|
|Embankment||New Cross Gate||West Ruislip|
Thameslink services may also be used for the transfer. (For the stations in italics, there are reports that they have been removed from the list.) You are not allowed to leave the Underground system at any point during the transfer (except as part of a valid interchange, as at Hammersmith).
When a route is listed it is defined in terms of nodes. Essentially a node is any station that is a routeing point, a group station, a terminus, or is adjacent (even without direct trains) to three or more other stations. This may sometimes seem like too much detail at times, but it means that routes should be completely unambiguous. In certain cases nodes are omitted where I believe the resulting description is unambiguous.
Some routeing points may never appear when showing routes to or from a station. This means that there are no valid routes through this point.
Allowing walking occasionally produces anomalies in the system. For example, Prittlewell to Maryland or to Stratford (London) will - when walking is allowed - only give routes involving travelling south to Southend Victoria then walking to Southend Central as these are about 4 miles shorter. For some situations the sensible route may be available on a direct train, while for others it is a genuine problem with the Routeing Guide.
The Routeing Guide contains a number of "positive easements", where journeys that would normally be forbidden are given special permission, and "negative easements", where routes generated by the Guide are nevertheless forbidden. CORE does not take account of either of these.
Whenever a group of stations is involved as routeing point, or map transfer point, each station in the group is tried in turn. This can occasionally cause the same route to be listed more than once. This is not a problem when the group is the origin or destination, and some work has been done to eliminate or reduce the duplication.
None at present.
If you don't like the form above or the format of the output, you are free to write your own interface to the CORE engine. The engine can be used as follows:
All options are single letters:
|a||=||list all routes, do not summarize after the first 20|
|h||=||output in HTML|
|l||=||do not merge steps in the resulting routes|
|L||=||allow cross-London interchange as part of "shortest route"|
|t||=||prefix each line of output with a character designating the type of output (this will assist machine parsing of the output)|
Warning: this interface may change without warning. This section will be updated whenever there is a change.
People have asked me why I bother to do this, and why I bother to argue with ATOC about interpretation of the Routeing Guide. Very briefly, my reasons are:
CORE is written by Clive Feather, with a CGI interface by Julian Coleman. Some of the data entry was done by David Stocks, and various people helped me fill in odd gaps and spot mistakes. The Routeing Guide is produced by ATOC.
Back to the rail index. Back to Clive's home page.