Docs · Editor panels · Agency setup

Agency setup

Every GTFS feed needs at least one agency record (agency.txt). The Agency panel is where you set the publisher name, public URL, and timezone — and where you add a second agency for joint feeds where two operators share a single GTFS publication.

GTFS·X editor with the Agency panel selected from the left sidebar.
The Agency panel in the editor sidebar. Required fields up top; multi-agency feeds add additional rows here.

Required fields

Optional fields

Multi-agency feeds (joint operators)

Joint feeds are common when a regional fixed-route operator and a separately-branded microtransit partner share GTFS publication, or when a state DOT publishes a unified feed across several rural operators. The pattern is:

  1. Add a second (or third…) agency in the panel. Each gets a unique agency_id.
  2. Edit each route in the Routes panel and assign it to the correct agency via the Agency dropdown.
  3. Fare records also carry an agency_id; the editor sets it automatically based on the route(s) the fare applies to.

One thing to know: each agency has its own timezone. A feed with operators in two timezones (say, an interstate transit district) is valid, and stop_times are interpreted in the agency of the trip's route. This is the correct way to model service that crosses a timezone boundary — don't try to "normalize" everything to one timezone, because riders will see wrong departure times.

Edge cases and gotchas

See also