model a mixed bicycle, cargo bike, scooter, and car fleet in a gbfs 3.0 vehicle_types.json feed
domain: gbfs.org · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Create one object per vehicle type with a unique vehicle_type_id, and set form_factor to bicycle, cargo_bicycle, scooter_standing, scooter_seated, moped, car, or other.
Set propulsion_type to human, electric_assist, electric, combustion, combustion_diesel, hybrid, plug_in_hybrid, or hydrogen_fuel_cell as appropriate for each type.
If propulsion_type is anything other than human, populate the conditionally-required max_range_meters field.
Attach a default_pricing_plan_id (and optional pricing_plan_ids array) referencing plan_id values defined in system_pricing_plans.json.
Add vehicle_assets.icon_url (a square or round SVG) and icon_last_modified, plus optional make/model/color/description for rider-facing detail.
Set return_constraint (free_floating, roundtrip_station, any_station, or hybrid) so trip planners know where each vehicle type can be dropped off.
Known gotchas
vehicle_type_ids in geofencing_zones.json and eco_labels in vehicle_types.json were renamed from the old singular vehicle_type_id/eco_label fields in the v3.0 cleanup — don't carry over the old field names.
vehicle_status.json entries are required to reference these vehicle_type_ids; if vehicle_types.json is omitted entirely, all vehicles are assumed to be non-motorized bicycles.
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?