Skip to content

Proposal: Add cyclist position availability fields to VehiclePosition and CarriageDetails #610

@oliver-sturrock

Description

@oliver-sturrock

Problem

Transit passengers traveling with bicycles have no way to know whether a bike rack or storage area will be available on an approaching vehicle. Typical transit buses have only 2–3 external bike rack positions. When full, cyclists are denied boarding and must wait for the next vehicle or abandon their transit trip.

The Santa Clara VTA confirmed this problem in a USDOT SMART Grant pilot (FAIN: 69A3552341049), finding that denied boardings are a measurable service quality issue and that no transit agency in North America currently provides this data through standard feeds.

Proposed Solution

Add two new optional uint32 experimental fields to VehiclePosition and CarriageDetails:

Field Message Description
cyclist_positions_available VehiclePosition (field 12), CarriageDetails (field 6) Positions currently available
total_cyclist_positions VehiclePosition (field 13), CarriageDetails (field 7) Total capacity

This follows the same pattern used for occupancy_status, occupancy_percentage, and multi_carriage_details.

Working Producer Implementation

Sportworks Global LLC has a public GTFS-RT feed demonstrating the proposed fields:

The feed has been validated against protoc, Python gtfs-realtime-bindings, and Node.js gtfs-realtime-bindings — all pass without errors. Full validation results will be included in the pull request.

Pull Request

A PR with the proto and reference.md changes will follow shortly.

Contact: Oliver Sturrock, olst+gtfs@silverfallscapital.com, Sportworks Global LLC / Silver Falls Capital

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions