Brian,
I understand your reasoning better now.
I agree that using locations served in the route_long_name and in the trip_headsign is awkward. Here is an example of this (Newport/Bend service operated by Valley Retriever):
http://g.co/maps/p5ptg
I think it may be easier for customers to understand this if the route_long_name was "Valley Retriever", which would then duplicate the agency_name, which should be "Valley Retriever Busline."
I'd suggest a good indicator for whether to use multiple rows in routes.txt to describe an intercity service such as NorthWest Point or Valley Retriever is whether the information is presented in separate timetables or not. If it is presented in separate timetables, then it would be useful to have a way of referencing the distinct URLs for each timetable.
I think it is useful to look at the two major intercity services in the United States, Greyhound (not a GTFS publisher) and Amtrak (apparently a GTFS publisher, though not through a public feed):
Greyhound seems to have route numbers (potentially, matching to the route_short_name field rather well) that identify their services and timetables (click on the link for the route map):
I know that Greyhound puts a destination indicator on their buses. I can't remember if the route numbers are ever exposed to passengers in the travel process, though.
Amtrak uses service names:
In summary:
* I agree that services that share a branded service name would be most often best expressed with one row in routes.txt, and trips with trip_headsign values that indicate destinations to which service is provided.
* I think that it could be useful to have route identifiers in many cases, and this comes up on the boundary between GTFS expressing the service as it is already being described, and making recommendations for how agencies should describe their services across all media: timetables, GTFS, and etc.
* I'll reach out to some intercity agencies and, pending their input, may modify some GTFS datasets to follow the style guidelines.
Cheers,
Aaron