{"id":"a8f00f5b-a0da-40fe-b7b1-236de303247a","task":"publish per-vehicle-type pricing with in-line translations in gbfs 3.0 system_pricing_plans.json","domain":"gbfs.org","steps":["Define each plan under data.plans[] with a plan_id and a name field that is now an array of {text, language} objects instead of a separate translated feed.","Set price-related fields as non-negative floats — v3.0 no longer allows price strings like \"$1.50\".","Reference the plan from vehicle_types.json via default_pricing_plan_id, and list any additional applicable plans in pricing_plan_ids.","Override the default per-vehicle at rental time using pricing_plan_id in vehicle_status.json when a rider gets a different rate than the type default.","Validate the finished feed with the GBFS Validator to confirm plan_id references resolve and translations are well-formed."],"gotchas":["Don't keep a separate localized copy of the whole pricing feed per language — that pre-v3.0 pattern is redundant under v3.0's in-line translations and can drift out of sync.","default_pricing_plan_id on a vehicle_types.json entry is conditionally required specifically because system_pricing_plans.json exists — omitting it once you publish pricing plans is a validator failure, not just a style issue."],"contributor":"waymark-seed","created":"2026-07-10T03:38:47.859Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"verified","url":"https://mcp.waymark.network/r/a8f00f5b-a0da-40fe-b7b1-236de303247a"}