Clive's On-line Routeing Engine

Last changed: 2009-05-07

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:

I wish to know the routes from to
allow walks
allow cross-London journeys as part of "shortest route"

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.

Types of route

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.

Entering data

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:

Area of coverage

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:

lo London Terminals

Routeing Points
ab Aberdeen
ac Ascot
ai Ashford International
av Ash Vale
ba Basingstoke
bb Banbury Group
bd Bradford Group
be Bedford
bf Barrow-in-Furness
bi Birmingham Group
bj Beckenham Junction
bk Barking
bl Blackburn
bn Brighton Group
bo Bolton
br Bristol Group
bs Bromley South Group
bt Bath Spa
bx Brentford
ca Carlisle
cb Cambridge
cd Chesterfield
cf Cardiff Central
ch Chester
ci Chippenham
cj Clapham Junction
cm Craven Arms
co Colchester
cp Crystal Palace
cr Crewe
ct Chatham Group
cv Coventry
cy Croydon Group
da Dartford
dd Dundee
de Derby Group
dk Dorking Group
dl Darlington
do Doncaster
dv Dover Priory
ed Edinburgh Group
el Earlestown
ep Epsom
ex Exeter Group
ey Ely
fb Farnborough Group
fk Falkirk Group
fo Ford
fp Finsbury Park
gf Greenford
gl Gloucester Group
gm Grimsby Town
go Goole
gp Grove Park
gs Glasgow Group
gt Grantham
gu Guildford
ha Hastings Group
he Hellifield Group
hf Hereford
hh Herne Hill
hi Highbury & Islington
hk Hackney Group
hl Hull
ho Horsham
hu Huddersfield Group
hv Havant
hx Halifax Group
ik Inverkeithing Group
ip Ipswich
iv Inverness
kc Kirkcaldy Group
ki Kingston
km Kilmarnock
lb Loughborough Group
lc Leicester
ld Ladybank
le Leeds Group
lh Lewisham Group
li Lincoln
lv Liverpool Group
lw Lewes
ma Machynlleth Group
mb Middlesbrough Group
mj Mitcham Junction
mm Melton Mowbray
mn Manchester Group
mo Motherwell
ms Maidstone Group
ne Newcastle
nk Newark Group
no Nottingham Group
np Newport (Gwent)
nt Newton (Lanarks)
nu Nuneaton
nw Norwich
ok Oakham
ox Oxford
pb Peterborough
pe Perth
pf Pontefract Group
pk Peckham Rye
pl Plymouth Group
pm Portsmouth Group
pr Preston
ra Ramsgate
re Retford
rf Romford Group
rg Reading Group
rh Redhill Group
ri Richmond
rt Rugeley Trent Valley
ru Rugby
sa Salisbury
sb Selby
sc Scarborough Group
se Southend Group
sf Stratford (London)
sg Stirling
sh Sheffield Group
sk Stoke-on-Trent
sl Swanley
sn Staines
so Southampton Group
sp Stockport
sq Slough
sr Streatham Group
ss Swansea Group
st Sutton (Surrey)
su Surbiton
sv Stevenage Group
sw Swindon
sx Sleaford
sy Shrewsbury
sz Shotton
tb Three Bridges
to Tonbridge
tt Tottenham Hale Group
tu Taunton
wa Warrington Group
wb Westbury Group
wd Watford Junction
wf Wakefield Group
wg Wigan Group
wh West Hampstead Group
wi Wimbledon
wk Wokingham
wl Walthamstow Group
wm West Ham Group
wn Willesden Junction
wo Woking
wr Worcester Group
wv Wolverhampton
wx Wrexham Group
wy Weymouth Group
ye Yeovil Group
yo York

Other points and station groups
by Bletchley
cn Carnforth
cs Carstairs
di Didcot
ko Kensington Olympia
la Lancaster
lf Lichfield Trent Valley
sd Stafford
sm Smethwick Galton Bridge
ta Tamworth
th Tulse Hill
wc Winchester
wp West Ruislip
ws Walsall Group

Problems with the data

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.

Understanding the output

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.

"Compare fares!"

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

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:

Amersham Farringdon Queen's Park
Baker Street Finsbury Park Richmond
Balham Greenford Seven Sisters
Bank Gunnersbury South Ruislip
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
Edgware Road Moorgate Waterloo
Elephant & Castle New Cross West Ham
Embankment New Cross Gate West Ruislip
Euston Old Street Wimbledon
Euston Square Paddington

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).

More details

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.

Known errors

None at present.

Really technical bits

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)
w = allow walks

Warning: this interface may change without warning. This section will be updated whenever there is a change.

Why am I bothering ?

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 Back to the rail index. CDWF Back to Clive's home page.