Introduce an optional per-tariff service fee descriptor in /operator/pricing-plans to allow to expose static fees that apply when a vehicle (e.g., bike) is returned outside a station or outside the operator’s business area. This removes the need for MaaS platforms to hardcode such fees and ensures fees are machine-readable and consistent across implementations.
We implemented the proposed functionality like in the example given in the end for the TOMP API of Call a Bike, the bikesharing system of Deutsche Bahn.
Illustrative schema snippet for GET /operator/pricing-plans (showing a tariff with time-based components and per-tariff fee components embedded in the existing array):
[
{
"planId": "1532788324",
"name": "RMVplus Starter",
"fare": {
"estimated": false,
"parts": [
{
"amount": 0,
"kind": "DISCOUNT",
"unitType": "MINUTE",
"scaleFrom": 0,
"scaleTo": 0,
"scaleType": "MINUTE",
"units": 1,
"meta": {
"applicableAssetSubClass": "BIKE"
},
"type": "FLEX",
"vatRate": 19.0,
"currencyCode": "EUR"
},
{
"amount": 1.00,
"kind": "DEFAULT",
"unitType": "MINUTE",
"maximumAmount": 12.00,
"scaleFrom": 0,
"scaleTo": 1440,
"scaleType": "MINUTE",
"units": 15,
"meta": {
"applicableAssetSubClass": "BIKE"
},
"type": "FLEX",
"vatRate": 19.0,
"currencyCode": "EUR"
},
{
"amount": 12.00,
"kind": "DEFAULT",
"unitType": "MINUTE",
"maximumAmount": 12.00,
"scaleFrom": 1440,
"scaleType": "MINUTE",
"units": 1440,
"meta": {
"applicableAssetSubClass": "BIKE"
},
"type": "FLEX",
"vatRate": 19.0,
"currencyCode": "EUR"
},
{
"amount": 0.00,
"kind": "DEFAULT",
"type": "FIXED",
"vatRate": 19.0,
"currencyCode": "EUR"
},
{
"amount": 0.00,
"kind": "DISCOUNT",
"type": "FIXED",
"vatRate": 19.0,
"currencyCode": "EUR"
},
{
"amount": 10.00,
"kind": "SURGE",
"name": "feeReturnOutsideStation",
"type": "FIXED",
"vatRate": 19.0,
"currencyCode": "EUR"
},
{
"amount": 25.00,
"kind": "SURGE",
"name": "feeReturnOutsideOperationArea",
"type": "FIXED",
"vatRate": 19.0,
"currencyCode": "EUR"
}
]
},
"isTaxable": true
}
]
API Version
TOMP-API 1.6 (baseline for the proposed extension)
Summary
Introduce an optional per-tariff service fee descriptor in /operator/pricing-plans to allow to expose static fees that apply when a vehicle (e.g., bike) is returned outside a station or outside the operator’s business area. This removes the need for MaaS platforms to hardcode such fees and ensures fees are machine-readable and consistent across implementations.
We implemented the proposed functionality like in the example given in the end for the TOMP API of Call a Bike, the bikesharing system of Deutsche Bahn.
Expected Behavior
Current Behavior
Possible Solution
Steps to Reproduce
This is no bug.
Context (Environment)
Detailed Description
Possible Implementation
Illustrative schema snippet for GET /operator/pricing-plans (showing a tariff with time-based components and per-tariff fee components embedded in the existing array):