Here's another proposal for expanding the route type representation,
along the lines of what Nicholas mentioned:
Proposal C (route_subtype):
An optional route_subtype field would be added to routes.txt,
identifying the type of route in finer detail. For example:
route_type 3, route_subtype 0 (or omitted) would mean local/generic
bus
route_type 3, route_subtype 1 would mean commuter bus
route_type 3, route_subtype 2 would mean intercity bus (or "coach" in
UK English)
route_type 4, route_subtype 0 (or omitted) would mean local/generic
ferry
route_type 4, route_subtype 1 would mean long-distance ferry
route_type 4, route_subtype 2 would mean catamaran ferry
etc...
This would have the effect of grouping similar types together, so that
readers and writers of the feed that want to do a relatively simple
implementation/localization can choose to only deal with simple types
first, while those that want to support the full detail can also do
so.
As a side note, at Google we thought about ways that we could specify
custom type names in the feed, but this turned out to be impractical
when providing natural-sounding routing instructions in large numbers
of languages; so some sort of fixed taxonomy seems inevitable.
Joe Hughes
Google Transit