GTFS Display
This module displays real-time transit information from GTFS data on public information screens. It allows you to configure what information is shown, for which stops or routes, and offers features like offline resilience and staff annotations. The system is designed to be lightweight and bypass site theming for efficient display on various hardware.
Public information screens driven by GTFS data. GTFS Display renders live departures, service alerts, vehicle positions and staff annotations for any GTFS entity — one stop, a route, an agency, or a whole system — on hardware that is usually old, usually unattended, and often on a network that comes and goes.
Features
- Display contexts. A configuration entity addresses a screen: what it shows, which entities, which variant, and how often it refreshes. Contexts deploy through configuration sync like anything else.
- Variants. A skin and behaviour flag —
lcd,eink,mobile— rather than a Drupal theme. Agency modules register their own, and the display shell attaches the matching library. - Annotations. Staff can attach a note to a stop, or substitute one entity for another, scoped to particular displays and to particular hours of the week.
- Offline resilience. A service worker keeps the last good data on screen when the network drops, instead of showing an error to the street.
- Coverage reporting, so you can see which entities have a display and which do not.
- Displays render anonymously and bypass site theming, so a kiosk needs no session and inherits none of your front-end weight.
Requirements
GTFS Core 3.x, GTFS Realtime 2.x, and Office Hours.
Installation
composer require drupal/gtfs_display
Configuration
Displays are managed at Administration › GTFS › Displays (/admin/gtfs/display),
annotations at /admin/gtfs/display/annotations, and coverage at
/admin/gtfs/display/coverage.
Building a skin
Agency-specific appearance and behaviour belong in your own module, not in a fork of this one. Register a variant, declare a library, and the shell attaches it. The polling store, the merged data model and the REST plumbing are shared; a skin supplies templates and CSS. DEVELOPMENT.md in the repository walks through it.
Replaces gtfs_stop_display
The older gtfs_stop_display module is not compatible with GTFS Core 3.x and is not maintained. There is no migration path — rebuild your displays as display contexts.
Related modules
- GTFS Core — the entities, the importer and the API everything else reads
- GTFS Realtime — trip updates, vehicle positions and service alerts
- GTFS Display Map — route and stop geometry on a map
- GTFS Display Map RT — live vehicles, and an embeddable map
- GTFS Schedule — readable timetables
- 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.