BlinkTagInc / gtfs-to-html

Build human readable transit timetables as HTML or PDF from GTFS.
https://gtfstohtml.com
MIT License
180 stars 57 forks source link

[suggestion] service_id specific timetables #126

Open brodyFlannigan opened 2 years ago

brodyFlannigan commented 2 years ago

Hey!

I think it would be really great to be able to specify exactly which service_ids are included in a particular timetable, as sometimes simply specifying particular day/date/time intervals just doesn't provide the granularity needed.

My suggested implementation would be to create a new optional file timetable_services.txt in which one can specify timetable_id and service_id. Ideally more than one service_id could be defined for each timetable.

Thanks ahead of time!

brendannee commented 2 years ago

Great suggestion.

One way we could accomplish this without needing a new file would be to add a column to timetables.txt called service_id. If you enter a service_id, then it would ignore the days of the week specified and just pull all trips for the route, date range and time range specified. If you wanted to have a timetable that used more than one service_id, you can include multiple lines in timetables.txt with the same timetable_id in the same way you can currently add multiple routes to the same timetable: https://gtfstohtml.com/docs/timetables#multi-route-timetables

Example

timetable_id,route_id,direction_id,start_date,end_date,monday,tuesday,wednesday,thursday,friday,saturday,sunday,service_id,start_time,end_time,include_exceptions,timetable_label,service_notes,orientation,timetable_page_id,timetable_sequence,direction_name,show_trip_continuation
0,2034,0,20150101,20151122,1,1,1,1,1,1,0,service_id_1,,,0,101 Northbound,Mon-Sat AM,horizontal,1,0,Northbound,0
0,2034,0,20150101,20151122,1,1,1,1,1,1,0,service_id_2,,,0,101 Northbound,Mon-Sat AM,horizontal,1,0,Northbound,0

What do you think of this approach?

brodyFlannigan commented 2 years ago

Looks good to me.

On Thu, Dec 9, 2021 at 12:36 Brendan Nee @.***> wrote:

Great suggestion.

One way we could accomplish this without needing a new file would be to add a column to timetables.txt called service_id. If you enter a service_id, then it would ignore the days of the week specified and just pull all trips for the route, date range and time range specified. If you wanted to have a timetable that used more than one service_id, you can include multiple lines in timetables.txt with the same timetable_id in the same way you can currently add multiple routes to the same timetable: https://gtfstohtml.com/docs/timetables#multi-route-timetables

Example

timetable_id,route_id,direction_id,start_date,end_date,monday,tuesday,wednesday,thursday,friday,saturday,sunday,service_id,start_time,end_time,include_exceptions,timetable_label,service_notes,orientation,timetable_page_id,timetable_sequence,direction_name,show_trip_continuation 0,2034,0,20150101,20151122,1,1,1,1,1,1,0,service_id_1,,,0,101 Northbound,Mon-Sat AM,horizontal,1,0,Northbound,0 0,2034,0,20150101,20151122,1,1,1,1,1,1,0,service_id_2,,,0,101 Northbound,Mon-Sat AM,horizontal,1,0,Northbound,0

What do you think of this approach?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/BlinkTagInc/gtfs-to-html/issues/126#issuecomment-990069296, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALDT5V6UI24KXXUIPWAGOZDUQDSIBANCNFSM5JWIVOWQ .