TIER · Schema
TIER/Dott Pricing Plan
A per-city, per-vehicle-type pricing plan as published in the Dott GBFS 2.3 system_pricing_plans feed.
MobilityMicromobilityShared MobilityE-ScooterE-BikeTransportationSmart CitiesMaaSGBFSOpen DataEuropeReal-Time
Properties
| Name | Type | Description |
|---|---|---|
| plan_id | string | Stable UUID identifying the plan within the city/system. |
| name | string | Human-readable name (e.g. `berlin-scooter-system-pricing-plan`). |
| description | string | Free-text description (typically: `Riders pay X EUR to unlock and Y EUR per minute.`). |
| currency | string | ISO 4217 currency code (e.g. EUR, GBP, SEK, AED, ILS). |
| price | number | Unlock price charged once per ride. |
| is_taxable | boolean | Whether the plan price is taxable. |
| per_min_pricing | array | Stepped per-minute pricing intervals. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/tier-mobility/main/json-schema/tier-mobility-pricing-plan-schema.json",
"title": "TIER/Dott Pricing Plan",
"description": "A per-city, per-vehicle-type pricing plan as published in the Dott GBFS 2.3 system_pricing_plans feed.",
"type": "object",
"required": ["plan_id", "currency", "price", "name"],
"properties": {
"plan_id": {
"type": "string",
"description": "Stable UUID identifying the plan within the city/system."
},
"name": {
"type": "string",
"description": "Human-readable name (e.g. `berlin-scooter-system-pricing-plan`)."
},
"description": {
"type": "string",
"description": "Free-text description (typically: `Riders pay X EUR to unlock and Y EUR per minute.`)."
},
"currency": {
"type": "string",
"description": "ISO 4217 currency code (e.g. EUR, GBP, SEK, AED, ILS).",
"minLength": 3,
"maxLength": 3
},
"price": {
"type": "number",
"format": "float",
"description": "Unlock price charged once per ride.",
"minimum": 0
},
"is_taxable": {
"type": "boolean",
"description": "Whether the plan price is taxable."
},
"per_min_pricing": {
"type": "array",
"description": "Stepped per-minute pricing intervals.",
"items": {
"type": "object",
"required": ["interval", "rate", "start"],
"properties": {
"interval": { "type": "integer", "description": "Length of each pricing step in minutes." },
"rate": { "type": "number", "format": "float", "description": "Cost per step in the plan's currency." },
"start": { "type": "integer", "description": "Minute at which this tier becomes active." }
}
}
}
}
}