Can I take a cycle on this train?

We'd like to be able to determine if
 * 1) Yes, I can take a bicycle on board
 * No, I can't or
 * 1) I need to book my bike in advance

This information has recently been collated for the UK at http://www.nationalrail.co.uk/passenger_services/cyclists/2012CyclingbyTrain.pdf.

As part of LOCO2's Off the Rails hackday we began to codify the information in this PDF into a format that can be used to programatically determine which restrictions apply to carrying my bike. The idea is that you only use the information in a train's SCHEDULE record and the information in this Google Fusion Table:


 * https://docs.google.com/spreadsheet/ccc?key=0AmGNdVG13yM4dFl5aV9nZXdRdEtrZEhibWhDR3B0QlE

If the service is a Rail Replacement Bus then No, you can't take a bike.

Pseudo-code
function CanCarryBike { SELECT * FROM BikeRules WHERE Operating_Co IS atoc_code

foreach rule in rules { if (joining station or leaving station in rule.Stations      AND eval(rule.Logic)) { return rule.Bike; } }  return 'Yes'; }

Use-case
Our goal is to enable a route-finder like http://www.opentraintimes.com/ to have a

[x] with a bike

checkbox that would avoid routes and times where bikes are not allowed.

Folding bikes
Please note that you can always carry a folded-up folding bike inside a bag on any train in the UK.