← All GTFS fixes

Fix: trips don't say where they're headed

Code: scorecard_missing_headsigns

What this means

A trip can use trip_headsign in trips.txt for its destination, direction, or "via" label. stop_headsign in stop_times.txt can change that label during the trip. Some trips leave both blank even though the route has more than one direction or pattern.

trip_headsign is optional. The scorecard does not ask a single-pattern, single-direction loop to invent one, and GTFS Best Practices says not to copy route_short_name or route_long_name into it.

Why it matters

The headsign is the "to Downtown" or "to Transit Center" label a rider reads on the front of the bus and in an app. When a route has multiple directions, branches, or short turns, that text helps a rider tell which service is coming. For a one-way loop with one pattern, the route identity may already be the only useful label.

How to fix it

How long it usually takes

Usually one value per route pattern. A loop that has no distinct rider-facing destination needs no change.

Authoritative rule

The GTFS Validator does not flag this, so the expectation comes from the community GTFS Best Practices. Read the relevant GTFS Best Practice. (opens on an external site)

After you republish

Once the changed feed is live at your published URL, the next scorecard run checks it again. When the same complete producer contract no longer reports this finding, it can be recorded as a dated finding clearance. That confirms the later feed state, not who changed the feed or why.