Drupal is a registered trademark of Dries Buytaert
Release: Leaflet 10.4.11 Minor update available for module leaflet (10.4.11). Release: Session Inspector 1.0.8 Minor update available for module session_inspector (1.0.8). Release: Migrate QA 2.0.4 Minor update available for module migrate_qa (2.0.4). Release: CKEditor Description List 3.0.0 Major update available for module ckeditor_descriptionlist (3.0.0). Release: FlowDrop 2.4.0 Minor update available for module flowdrop (2.4.0). Release: JWT Token Refresh 1.0.4 Minor update available for module jwt_token_refresh (1.0.4). Release: ConReg 1.0.0-beta1 First beta version released for module conreg (1.0.0-beta1). Release: AI Image Studio 1.0.0-beta8 New beta version released for module ai_image_studio (1.0.0-beta8). Usage Milestone: Statistics Counter Module statistics_counter crossed 1,000 active installs. Module Revived: Decoupled Router 2.0.7 Module decoupled_router updated after 11 months of inactivity (2.0.7).

This module displays public transit schedule data in a readable timetable format, showing stops, trips, and times. It can pull data from a local GTFS Utilities installation or a remote API, offering customizable options for display and navigation.

Renders GTFS schedule data as a timetable people can read: stops down the side, trips across, times in the cells. It runs against a GTFS Core install on the same site, or against a remote one over its REST API.

Features

  • A timetable page per route, at a URL pattern you control.
  • Local or remote data. Run it on the site that holds the feed, or point it at another site's GTFS API — useful when the public website and the data importer are separate builds on separate release cycles.
  • Timepoints only by default, with the full stop list available, so a long route does not produce an unreadable wall of numbers.
  • Manual stop ordering for routes where the feed's own sequence does not match how riders read the line.
  • Stop headings link through to stop pages, so a timetable is a way into the rest of the site rather than a dead end.
  • Your own wording for a route with no service, your own time format, and route naming by ID or by name.

Requirements

Drupal 10.3 or 11. In local mode, GTFS Core 3.x on the same site. In remote mode, network access to a GTFS Core REST API.

Installation

composer require drupal/gtfs_schedule

Configuration

Administration › GTFS › Schedule settings (/admin/gtfs/schedule/settings). Choose local or remote, set the feed alias and agency, and set the URL pattern —
/gtfs/routes/{route_id}/schedules by default. Stop-order overrides are at /admin/gtfs/schedule/schedule-order-override.

  • GTFS Core — the entities, the importer and the API everything else reads
  • GTFS Realtime — trip updates, vehicle positions and service alerts
  • GTFS Display — stop, route and system displays for public screens
  • GTFS Display Map — route and stop geometry on a map
  • GTFS Display Map RT — live vehicles, and an embeddable map
  • GTFS 511 — feed provisioning from the 511 SF Bay API
  • GTFS+ — the GTFS+ extension files

Maintainers

Maintained by tbcs and jpsalter, supported by FivePaths. These modules run public transit information systems in daily service. Issues and merge requests are welcome, and so are co-maintainers.

Activity

Tracked releases
2
Tracked since
Aug 2026
Latest release
4 days ago
Releases (12 mo)
2 ▲ from 0
Maintenance
Active

Releases

Version Type Release date
3.0.x-dev Dev Aug 19, 2026
3.0.0 Stable Aug 19, 2026