openapi: 3.0.1
info:
  title: Documentazione delle API DS&SRF per i dati di sharing
  description: >-
    Questa documentazione fornisce dettagli sulle API DS&SRF usate per ottenere
    i dati disponibili sugli operatori di sharing
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  version: 1.0.0
servers:
  - url: http://localhost:8080
paths:
  /otp/dssrf/cities/{city}/gbfs.json:
    get:
      tags:
        - Autodiscovery
      summary: Ottieni operatori urbani per città
      description: ''
      parameters:
        - name: city
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro conterrà una delle città facenti parte
            del programma MaaS for Italy. In MVP i valori ammessi saranno
            Milano, Roma, Napoli, Torino, Bari e Firenze
          content: {}
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                {\n    \"city\": \"Rome\",\n    \"operators\": [\n       
                {\n            \"operator_id\": \"Helbiz\",\n           
                \"last_updated\": 1687248533,\n            \"version\":
                2.2,\n            \"ttl\": 0,\n            \"data\":
                {\n                \"en\": {\n                    \"feeds\":
                [\n                        {\n                           
                \"name\": \"gbfs_versions\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/gbfs_versions.json\"\n                       
                },\n                        {\n                           
                \"name\": \"system_information\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/system_information.json\"\n                       
                },\n                        {\n                           
                \"name\": \"vehicle_types\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/vehicle_types.json\"\n                       
                },\n                        {\n                           
                \"name\": \"station_information\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/station_information.json\"\n                       
                },\n                        {\n                           
                \"name\": \"station_status\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/station_status.json\"\n                       
                },\n                        {\n                           
                \"name\": \"free_bike_status\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/free_bike_status.json\"\n                       
                },\n                        {\n                           
                \"name\": \"system_hours\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/system_hours.json\"\n                       
                },\n                        {\n                           
                \"name\": \"system_calendar\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/system_calendar.json\"\n                       
                },\n                        {\n                           
                \"name\": \"system_regions\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/system_regions.json\"\n                       
                },\n                        {\n                           
                \"name\": \"system_pricing_plans\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/system_pricing_plans.json\"\n                       
                },\n                        {\n                           
                \"name\": \"system_alerts\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/system_alerts.json\"\n                       
                },\n                        {\n                           
                \"name\": \"geofencing_zones\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/geofencing_zones.json\"\n                       
                }\n                    ]\n                }\n           
                }\n        }\n    ]\n}
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/cities/{city}/operators/{operators_id}/gbfs.json:
    get:
      tags:
        - Autodiscovery
      summary: Ottieni operatore da id
      description: Restituisce gli operatori MaaS filtrati per città e ID
      parameters:
        - name: city
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro conterrà una delle città facenti parte
            del programma MaaS for Italy. In MVP i valori ammessi saranno
            Milano, Roma, Napoli, Torino, Bari e Firenze
          content: {}
        - name: operator_id
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro rappresenta l’id dell’ operatore di
            sharing
          content: {}
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                {\n    \"city\": \"Rome\",\n    \"operators\": [\n       
                {\n            \"operator_id\": \"Helbiz\",\n           
                \"last_updated\": 1687248533,\n            \"version\":
                2.2,\n            \"ttl\": 0,\n            \"data\":
                {\n                \"en\": {\n                    \"feeds\":
                [\n                        {\n                           
                \"name\": \"gbfs_versions\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/gbfs_versions.json\"\n                       
                },\n                        {\n                           
                \"name\": \"system_information\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/system_information.json\"\n                       
                },\n                        {\n                           
                \"name\": \"vehicle_types\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/vehicle_types.json\"\n                       
                },\n                        {\n                           
                \"name\": \"station_information\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/station_information.json\"\n                       
                },\n                        {\n                           
                \"name\": \"station_status\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/station_status.json\"\n                       
                },\n                        {\n                           
                \"name\": \"free_bike_status\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/free_bike_status.json\"\n                       
                },\n                        {\n                           
                \"name\": \"system_hours\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/system_hours.json\"\n                       
                },\n                        {\n                           
                \"name\": \"system_calendar\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/system_calendar.json\"\n                       
                },\n                        {\n                           
                \"name\": \"system_regions\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/system_regions.json\"\n                       
                },\n                        {\n                           
                \"name\": \"system_pricing_plans\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/system_pricing_plans.json\"\n                       
                },\n                        {\n                           
                \"name\": \"system_alerts\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/system_alerts.json\"\n                       
                },\n                        {\n                           
                \"name\": \"geofencing_zones\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/geofencing_zones.json\"\n                       
                }\n                    ]\n                }\n           
                }\n        }\n    ]\n}
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/gbfs.json:
    get:
      tags:
        - Autodiscovery
      summary: Ottieni operatori della città
      description: >-
        Questa API permette di recuperare tutti i feed disponibili per ciascun
        operatore in ciascuna città. Tramite questa API il MaaS operator potrà
        recuperare la lista dei feedb GBFS disponibili in modo da recuperare poi
        le informazioni specifiche. Nel caso in cui il MaaS operator filtri sia
        la città che l’operatore di sharing la risposta sarà aderente al
        protocollo GBFS. Nel caso invece non si applicassero filtri per città e
        / o operatore di sharing il sistema chiamante riceverà un aggregato di
        dati in formato GBFS.
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                {\n    \"city\": \"Rome\",\n    \"operators\": [\n       
                {\n            \"operator_id\": \"Helbiz\",\n           
                \"last_updated\": 1687248533,\n            \"version\":
                2.2,\n            \"ttl\": 0,\n            \"data\":
                {\n                \"en\": {\n                    \"feeds\":
                [\n                        {\n                           
                \"name\": \"gbfs_versions\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/gbfs_versions.json\"\n                       
                },\n                        {\n                           
                \"name\": \"system_information\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/system_information.json\"\n                       
                },\n                        {\n                           
                \"name\": \"vehicle_types\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/vehicle_types.json\"\n                       
                },\n                        {\n                           
                \"name\": \"station_information\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/station_information.json\"\n                       
                },\n                        {\n                           
                \"name\": \"station_status\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/station_status.json\"\n                       
                },\n                        {\n                           
                \"name\": \"free_bike_status\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/free_bike_status.json\"\n                       
                },\n                        {\n                           
                \"name\": \"system_hours\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/system_hours.json\"\n                       
                },\n                        {\n                           
                \"name\": \"system_calendar\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/system_calendar.json\"\n                       
                },\n                        {\n                           
                \"name\": \"system_regions\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/system_regions.json\"\n                       
                },\n                        {\n                           
                \"name\": \"system_pricing_plans\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/system_pricing_plans.json\"\n                       
                },\n                        {\n                           
                \"name\": \"system_alerts\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/system_alerts.json\"\n                       
                },\n                        {\n                           
                \"name\": \"geofencing_zones\",\n                           
                \"url\":
                \"https://gbfs.helbiz.com/v2.2/rome/geofencing_zones.json\"\n                       
                }\n                    ]\n                }\n           
                }\n        }\n    ]\n}
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/system_information:
    get:
      tags:
        - System Information
      summary: Ottieni informazioni di sistema
      description: >-
        Questa API deve essere utilizzata per reperire tutte le informazioni
        potenzialmente utili al MaaS operator riguardo gli operatori di sharing.
        Le informazioni reperibili sono ad esempio il nome dell’operatore, l’url
        del sito, collegamento ai termini e condizioni dell’operatore di
        sharing, informazioni per il download delle applicazioni specifiche
        degli operatori di sharing. Nel caso in cui il MaaS operator filtri sia
        la città che l’operatore di sharing la risposta sarà aderente al
        protocollo GBFS. Nel caso invece non si applicassero filtri per città e
        / o operatore di sharing il sistema chiamante riceverà un aggregato di
        dati in formato GBFS.
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                [{\n\t\"city\": \"Rome\",\n\t\"operator_id\": \"Bird Rides,
                Inc.\",\n\t\"last_updated\": 1687252803,\n\t\"ttl\":
                60,\n\t\"version\": \"2.3\",\n\t\"data\": {\n\t\t\"system_id\":
                \"bird-rome\",\n\t\t\"language\": \"en\",\n\t\t\"name\": \"bird
                rome\",\n\t\t\"operator\": \"Bird Rides,
                Inc.\",\n\t\t\"timezone\":
                \"Europe/Rome\",\n\t\t\"license_url\":
                \"https://www.bird.co/wp-content/uploads/2019/03/GBFS-Data-License-Agreement-2018-09-25.pdf\",\n\t\t\"rental_apps\":
                {\n\t\t\t\"android\": {\n\t\t\t\t\"store_uri\":
                \"https://play.google.com/store/apps/details?id=co.bird.android\",\n\t\t\t\t\"dicovery_uri\":
                \"bird://charger-onboarding\",\n\t\t\t\t\"additionalProperties\":
                {}\n\t\t\t},\n\t\t\t\"ios\": {\n\t\t\t\t\"store_uri\":
                \"https://apps.apple.com/us/app/bird-be-free-enjoy-the-ride/id1260842311\",\n\t\t\t\t\"dicovery_uri\":
                \"bird://\",\n\t\t\t\t\"additionalProperties\":
                {}\n\t\t\t},\n\t\t\t\"additionalProperties\":
                {}\n\t\t},\n\t\t\"additionalProperites\": {}\n\t}\n}]
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/cities/{city}/system_information:
    get:
      tags:
        - System Information
      summary: Ottieni informazioni di sistema per città
      description: Restituisce un elenco di informazioni di sistema filtrate per città
      parameters:
        - name: city
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro conterrà una delle città facenti parte
            del programma MaaS for Italy. In MVP i valori ammessi saranno
            Milano, Roma, Napoli, Torino, Bari e Firenze
          content: {}
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                [{\n\t\"city\": \"Rome\",\n\t\"operator_id\": \"Bird Rides,
                Inc.\",\n\t\"last_updated\": 1687252803,\n\t\"ttl\":
                60,\n\t\"version\": \"2.3\",\n\t\"data\": {\n\t\t\"system_id\":
                \"bird-rome\",\n\t\t\"language\": \"en\",\n\t\t\"name\": \"bird
                rome\",\n\t\t\"operator\": \"Bird Rides,
                Inc.\",\n\t\t\"timezone\":
                \"Europe/Rome\",\n\t\t\"license_url\":
                \"https://www.bird.co/wp-content/uploads/2019/03/GBFS-Data-License-Agreement-2018-09-25.pdf\",\n\t\t\"rental_apps\":
                {\n\t\t\t\"android\": {\n\t\t\t\t\"store_uri\":
                \"https://play.google.com/store/apps/details?id=co.bird.android\",\n\t\t\t\t\"dicovery_uri\":
                \"bird://charger-onboarding\",\n\t\t\t\t\"additionalProperties\":
                {}\n\t\t\t},\n\t\t\t\"ios\": {\n\t\t\t\t\"store_uri\":
                \"https://apps.apple.com/us/app/bird-be-free-enjoy-the-ride/id1260842311\",\n\t\t\t\t\"dicovery_uri\":
                \"bird://\",\n\t\t\t\t\"additionalProperties\":
                {}\n\t\t\t},\n\t\t\t\"additionalProperties\":
                {}\n\t\t},\n\t\t\"additionalProperites\": {}\n\t}\n}]
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/cities/{city}/operator/{operator_id}/system_information:
    get:
      tags:
        - System Information
      summary: Ottieni informazioni di sistema per operatore e città
      description: >-
        Restituisce un elenco di informazioni di sistema filtrate per operatore
        e città
      parameters:
        - name: city
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro conterrà una delle città facenti parte
            del programma MaaS for Italy. In MVP i valori ammessi saranno
            Milano, Roma, Napoli, Torino, Bari e Firenze
          content: {}
        - name: operator_id
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro rappresenta l’id dell’ operatore di
            sharing
          content: {}
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                [{\n\t\"city\": \"Rome\",\n\t\"operator_id\": \"Bird Rides,
                Inc.\",\n\t\"last_updated\": 1687252803,\n\t\"ttl\":
                60,\n\t\"version\": \"2.3\",\n\t\"data\": {\n\t\t\"system_id\":
                \"bird-rome\",\n\t\t\"language\": \"en\",\n\t\t\"name\": \"bird
                rome\",\n\t\t\"operator\": \"Bird Rides,
                Inc.\",\n\t\t\"timezone\":
                \"Europe/Rome\",\n\t\t\"license_url\":
                \"https://www.bird.co/wp-content/uploads/2019/03/GBFS-Data-License-Agreement-2018-09-25.pdf\",\n\t\t\"rental_apps\":
                {\n\t\t\t\"android\": {\n\t\t\t\t\"store_uri\":
                \"https://play.google.com/store/apps/details?id=co.bird.android\",\n\t\t\t\t\"dicovery_uri\":
                \"bird://charger-onboarding\",\n\t\t\t\t\"additionalProperties\":
                {}\n\t\t\t},\n\t\t\t\"ios\": {\n\t\t\t\t\"store_uri\":
                \"https://apps.apple.com/us/app/bird-be-free-enjoy-the-ride/id1260842311\",\n\t\t\t\t\"dicovery_uri\":
                \"bird://\",\n\t\t\t\t\"additionalProperties\":
                {}\n\t\t\t},\n\t\t\t\"additionalProperties\":
                {}\n\t\t},\n\t\t\"additionalProperites\": {}\n\t}\n}]
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/station_information:
    get:
      tags:
        - Station Information
      summary: Ottieni lista stazioni
      description: >-
        Questa API restituisce la lista delle stazioni dove è possibile
        noleggiare o riportare i veicoli con tutte le informazioni ad esse
        associate quali ad esempio la capacità di stoccaggio della stazione per
        ciascun tipo di veicolo, se si tratta di una stazione di ricarica,
        eventuali contatti per la stazione. Nel caso in cui il MaaS operator
        filtri sia la città che l’operatore di sharing la risposta sarà aderente
        al protocollo GBFS. Nel caso invece non si applicassero filtri per città
        e / o operatore di sharing il sistema chiamante riceverà un aggregato di
        dati in formato GBFS.
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                [\n    {\n        \"city\": \"Rome\",\n        \"operator_id\":
                \"Helbiz\",\n        \"last_updated\": 1687255100,\n       
                \"ttl\": 0,\n        \"version\": \"2.2\",\n        \"data\":
                {\n            \"stations\": []\n        }\n    }\n]
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/cities/{city}/station_information:
    get:
      tags:
        - Station Information
      summary: Ottieni lista stazioni filtrate per città
      description: Restituisce una lista di stazioni filtrare per città
      parameters:
        - name: city
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro conterrà una delle città facenti parte
            del programma MaaS for Italy. In MVP i valori ammessi saranno
            Milano, Roma, Napoli, Torino, Bari e Firenze
          content: {}
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                [\n    {\n        \"city\": \"Rome\",\n        \"operator_id\":
                \"Helbiz\",\n        \"last_updated\": 1687255100,\n       
                \"ttl\": 0,\n        \"version\": \"2.2\",\n        \"data\":
                {\n            \"stations\": []\n        }\n    }\n]
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/cities/{city}/operators/{operator_id}/station_information:
    get:
      tags:
        - Station Information
      summary: Ottieni lista stazioni filtrate per città ed id operatore
      description: Restituisce una lista di stazioni filtrare per città ed operatore
      parameters:
        - name: city
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro conterrà una delle città facenti parte
            del programma MaaS for Italy. In MVP i valori ammessi saranno
            Milano, Roma, Napoli, Torino, Bari e Firenze
          content: {}
        - name: operator_id
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro rappresenta l’id dell’ operatore di
            sharing
          content: {}
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                [\n    {\n        \"city\": \"Rome\",\n        \"operator_id\":
                \"Helbiz\",\n        \"last_updated\": 1687255100,\n       
                \"ttl\": 0,\n        \"version\": \"2.2\",\n        \"data\":
                {\n            \"stations\": []\n        }\n    }\n]
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/vehicle_types:
    get:
      tags:
        - Vehicle Types
      summary: Ottieni tipi di veicolo
      description: >-
        Questa API mette a disposizione del MaaS Operator i tipi di veicoli
        disponibili per ciascun operatore di sharing. Nel caso in cui questo
        feed non fosse messo a disposizione da parte dell’operatore di sharing
        si assume che tutti i loro veicoli siano delle biciclette non
        motorizzate. Per ciascun tipo di veicolo vengono riportate informazioni
        quali il numero di passeggeri possibili, la capacità massima del
        veicolo, la tipologia di veicolo (bicicletta, monopattino, automobile
        etc), eventuali accessori disponibili, marca e modello dei veicoli etc.
        Nel caso in cui il MaaS operator filtri sia la città che l’operatore di
        sharing la risposta sarà aderente al protocollo GBFS. Nel caso invece
        non si applicassero filtri per città e / o operatore di sharing il
        sistema chiamante riceverà un aggregato di dati in formato GBFS
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                [\n    {\n        \"city\": \"Rome\",\n        \"operator_id\":
                \"Helbiz\",\n        \"last_updated\": 1687248533,\n       
                \"ttl\": 0,\n        \"version\": \"2.2\",\n        \"data\":
                {\n            \"vehicle_types\": [\n               
                {\n                    \"vehicle_type_id\":
                \"bae2102b-56ba-42ba-9097-720e5990b4b2\",\n                   
                \"form_factor\": \"scooter\",\n                   
                \"propulsion_type\": \"electric\",\n                   
                \"eco_label\": [],\n                    \"max_range_meters\":
                24000.0,\n                    \"vehicle_accessories\":
                [\n                        \"null\"\n                   
                ],\n                    \"return_constraint\":
                \"\",\n                    \"additionalProperties\":
                {}\n                },\n                {\n                   
                \"vehicle_type_id\":
                \"2ea3c8b2-ed07-4c53-b87e-638c08471309\",\n                   
                \"form_factor\": \"bicycle\",\n                   
                \"propulsion_type\": \"electric_assist\",\n                   
                \"eco_label\": [],\n                    \"max_range_meters\":
                60000.0,\n                    \"vehicle_accessories\":
                [\n                        \"null\"\n                   
                ],\n                    \"return_constraint\":
                \"\",\n                    \"additionalProperties\":
                {}\n                },\n                {\n                   
                \"vehicle_type_id\": \"bicycle\",\n                   
                \"form_factor\": \"bicycle\",\n                   
                \"propulsion_type\": \"electric_assist\",\n                   
                \"eco_label\": [],\n                    \"max_range_meters\":
                60000.0,\n                    \"name\": \"Electric assist
                bike\",\n                    \"vehicle_accessories\":
                [\n                        \"null\"\n                   
                ],\n                    \"return_constraint\":
                \"\",\n                    \"additionalProperties\":
                {}\n                },\n                {\n                   
                \"vehicle_type_id\": \"scooter\",\n                   
                \"form_factor\": \"scooter\",\n                   
                \"propulsion_type\": \"electric\",\n                   
                \"eco_label\": [],\n                    \"max_range_meters\":
                45000.0,\n                    \"name\":
                \"E-scooter\",\n                    \"vehicle_accessories\":
                [\n                        \"null\"\n                   
                ],\n                    \"return_constraint\":
                \"\",\n                    \"additionalProperties\":
                {}\n                },\n                {\n                   
                \"vehicle_type_id\": \"1\",\n                   
                \"form_factor\": \"scooter\",\n                   
                \"propulsion_type\": \"electric\",\n                   
                \"eco_label\": [],\n                    \"max_range_meters\":
                75000.0,\n                    \"name\": \"Link
                Scooter\",\n                    \"vehicle_accessories\":
                [\n                        \"null\"\n                   
                ],\n                    \"return_constraint\":
                \"\",\n                    \"additionalProperties\":
                {}\n                }\n            ]\n        }\n    }\n]
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/cities/{city}/vehicle_types:
    get:
      tags:
        - Vehicle Types
      summary: Ottieni tipi di veicolo per città
      description: Restituisce un elenco di tipi di veicolo filtrati per città
      parameters:
        - name: city
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro conterrà una delle città facenti parte
            del programma MaaS for Italy. In MVP i valori ammessi saranno
            Milano, Roma, Napoli, Torino, Bari e Firenze
          content: {}
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                [\n    {\n        \"city\": \"Rome\",\n        \"operator_id\":
                \"Helbiz\",\n        \"last_updated\": 1687248533,\n       
                \"ttl\": 0,\n        \"version\": \"2.2\",\n        \"data\":
                {\n            \"vehicle_types\": [\n               
                {\n                    \"vehicle_type_id\":
                \"bae2102b-56ba-42ba-9097-720e5990b4b2\",\n                   
                \"form_factor\": \"scooter\",\n                   
                \"propulsion_type\": \"electric\",\n                   
                \"eco_label\": [],\n                    \"max_range_meters\":
                24000.0,\n                    \"vehicle_accessories\":
                [\n                        \"null\"\n                   
                ],\n                    \"return_constraint\":
                \"\",\n                    \"additionalProperties\":
                {}\n                },\n                {\n                   
                \"vehicle_type_id\":
                \"2ea3c8b2-ed07-4c53-b87e-638c08471309\",\n                   
                \"form_factor\": \"bicycle\",\n                   
                \"propulsion_type\": \"electric_assist\",\n                   
                \"eco_label\": [],\n                    \"max_range_meters\":
                60000.0,\n                    \"vehicle_accessories\":
                [\n                        \"null\"\n                   
                ],\n                    \"return_constraint\":
                \"\",\n                    \"additionalProperties\":
                {}\n                },\n                {\n                   
                \"vehicle_type_id\": \"bicycle\",\n                   
                \"form_factor\": \"bicycle\",\n                   
                \"propulsion_type\": \"electric_assist\",\n                   
                \"eco_label\": [],\n                    \"max_range_meters\":
                60000.0,\n                    \"name\": \"Electric assist
                bike\",\n                    \"vehicle_accessories\":
                [\n                        \"null\"\n                   
                ],\n                    \"return_constraint\":
                \"\",\n                    \"additionalProperties\":
                {}\n                },\n                {\n                   
                \"vehicle_type_id\": \"scooter\",\n                   
                \"form_factor\": \"scooter\",\n                   
                \"propulsion_type\": \"electric\",\n                   
                \"eco_label\": [],\n                    \"max_range_meters\":
                45000.0,\n                    \"name\":
                \"E-scooter\",\n                    \"vehicle_accessories\":
                [\n                        \"null\"\n                   
                ],\n                    \"return_constraint\":
                \"\",\n                    \"additionalProperties\":
                {}\n                },\n                {\n                   
                \"vehicle_type_id\": \"1\",\n                   
                \"form_factor\": \"scooter\",\n                   
                \"propulsion_type\": \"electric\",\n                   
                \"eco_label\": [],\n                    \"max_range_meters\":
                75000.0,\n                    \"name\": \"Link
                Scooter\",\n                    \"vehicle_accessories\":
                [\n                        \"null\"\n                   
                ],\n                    \"return_constraint\":
                \"\",\n                    \"additionalProperties\":
                {}\n                }\n            ]\n        }\n    }\n]
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/cities/{city}/operator/{operator_id}/vehicle_types:
    get:
      tags:
        - Vehicle Types
      summary: Ottieni tipi di veicolo per operatore e città
      description: Restituisce un elenco di tipi di veicolo filtrati per città ed operatore
      parameters:
        - name: city
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro conterrà una delle città facenti parte
            del programma MaaS for Italy. In MVP i valori ammessi saranno
            Milano, Roma, Napoli, Torino, Bari e Firenze
          content: {}
        - name: operator_id
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro rappresenta l’id dell’ operatore di
            sharing
          content: {}
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                [\n    {\n        \"city\": \"Rome\",\n        \"operator_id\":
                \"Helbiz\",\n        \"last_updated\": 1687248533,\n       
                \"ttl\": 0,\n        \"version\": \"2.2\",\n        \"data\":
                {\n            \"vehicle_types\": [\n               
                {\n                    \"vehicle_type_id\":
                \"bae2102b-56ba-42ba-9097-720e5990b4b2\",\n                   
                \"form_factor\": \"scooter\",\n                   
                \"propulsion_type\": \"electric\",\n                   
                \"eco_label\": [],\n                    \"max_range_meters\":
                24000.0,\n                    \"vehicle_accessories\":
                [\n                        \"null\"\n                   
                ],\n                    \"return_constraint\":
                \"\",\n                    \"additionalProperties\":
                {}\n                },\n                {\n                   
                \"vehicle_type_id\":
                \"2ea3c8b2-ed07-4c53-b87e-638c08471309\",\n                   
                \"form_factor\": \"bicycle\",\n                   
                \"propulsion_type\": \"electric_assist\",\n                   
                \"eco_label\": [],\n                    \"max_range_meters\":
                60000.0,\n                    \"vehicle_accessories\":
                [\n                        \"null\"\n                   
                ],\n                    \"return_constraint\":
                \"\",\n                    \"additionalProperties\":
                {}\n                },\n                {\n                   
                \"vehicle_type_id\": \"bicycle\",\n                   
                \"form_factor\": \"bicycle\",\n                   
                \"propulsion_type\": \"electric_assist\",\n                   
                \"eco_label\": [],\n                    \"max_range_meters\":
                60000.0,\n                    \"name\": \"Electric assist
                bike\",\n                    \"vehicle_accessories\":
                [\n                        \"null\"\n                   
                ],\n                    \"return_constraint\":
                \"\",\n                    \"additionalProperties\":
                {}\n                },\n                {\n                   
                \"vehicle_type_id\": \"scooter\",\n                   
                \"form_factor\": \"scooter\",\n                   
                \"propulsion_type\": \"electric\",\n                   
                \"eco_label\": [],\n                    \"max_range_meters\":
                45000.0,\n                    \"name\":
                \"E-scooter\",\n                    \"vehicle_accessories\":
                [\n                        \"null\"\n                   
                ],\n                    \"return_constraint\":
                \"\",\n                    \"additionalProperties\":
                {}\n                },\n                {\n                   
                \"vehicle_type_id\": \"1\",\n                   
                \"form_factor\": \"scooter\",\n                   
                \"propulsion_type\": \"electric\",\n                   
                \"eco_label\": [],\n                    \"max_range_meters\":
                75000.0,\n                    \"name\": \"Link
                Scooter\",\n                    \"vehicle_accessories\":
                [\n                        \"null\"\n                   
                ],\n                    \"return_constraint\":
                \"\",\n                    \"additionalProperties\":
                {}\n                }\n            ]\n        }\n    }\n]
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/system_pricing_plans:
    get:
      tags:
        - System Pricing Plans
      summary: Ottieni lista piani teriffari
      description: >-
        Questa API fornisce le informazioni riguardo i prezzi e le modalità di
        abbonamento rese disponibili da parte degli operatori di sharing. Nel
        caso in cui il MaaS operator filtri sia la città che l’operatore di
        sharing la risposta sarà aderente al protocollo GBFS. Nel caso invece
        non si applicassero filtri per città e / o operatore di sharing il
        sistema chiamante riceverà un aggregato di dati in formato GBFS.
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                [\n    {\n        \"city\": \"Rome\",\n        \"operator_id\":
                \"Helbiz\",\n        \"last_updated\": 1687257421,\n       
                \"ttl\": 0,\n        \"version\": \"2.2\",\n        \"data\":
                {\n            \"plans\": [\n               
                {\n                    \"plan_id\":
                \"price_scooter\",\n                    \"name\": \"Scooters
                price\",\n                    \"currency\":
                \"EUR\",\n                    \"price\":
                1.0,\n                    \"is_taxable\":
                false,\n                    \"description\":
                \"\",\n                    \"per_min_pricing\":
                [\n                        {\n                           
                \"start\": 0,\n                            \"rate\":
                0.35,\n                            \"interval\":
                1,\n                            \"surge_pricing\":
                false\n                        }\n                   
                ]\n                },\n                {\n                   
                \"plan_id\": \"price_bicycle\",\n                    \"name\":
                \"Bicycle price\",\n                    \"currency\":
                \"EUR\",\n                    \"price\":
                0.35,\n                    \"is_taxable\":
                false,\n                    \"description\":
                \"\",\n                    \"per_min_pricing\":
                [\n                        {\n                           
                \"start\": 0,\n                            \"rate\":
                1.0,\n                            \"interval\":
                1,\n                            \"surge_pricing\":
                false\n                        }\n                   
                ]\n                },\n                {\n                   
                \"plan_id\": \"price_moped\",\n                    \"name\":
                \"Moped price\",\n                    \"currency\":
                \"EUR\",\n                    \"price\":
                0.0,\n                    \"is_taxable\":
                false,\n                    \"description\":
                \"\",\n                    \"per_min_pricing\":
                [\n                        {\n                           
                \"start\": 0,\n                            \"rate\":
                0.37,\n                            \"interval\":
                1,\n                            \"surge_pricing\":
                false\n                        }\n                   
                ]\n                }\n            ]\n        }\n    }\n]
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/cities/{city}/system_pricing_plans:
    get:
      tags:
        - System Pricing Plans
      summary: Ottieni lista piani teriffari filtrate per città
      description: Restituisce un elenco di piani tariffari filtrato per città
      parameters:
        - name: city
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro conterrà una delle città facenti parte
            del programma MaaS for Italy. In MVP i valori ammessi saranno
            Milano, Roma, Napoli, Torino, Bari e Firenze
          content: {}
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                [\n    {\n        \"city\": \"Rome\",\n        \"operator_id\":
                \"Helbiz\",\n        \"last_updated\": 1687257421,\n       
                \"ttl\": 0,\n        \"version\": \"2.2\",\n        \"data\":
                {\n            \"plans\": [\n               
                {\n                    \"plan_id\":
                \"price_scooter\",\n                    \"name\": \"Scooters
                price\",\n                    \"currency\":
                \"EUR\",\n                    \"price\":
                1.0,\n                    \"is_taxable\":
                false,\n                    \"description\":
                \"\",\n                    \"per_min_pricing\":
                [\n                        {\n                           
                \"start\": 0,\n                            \"rate\":
                0.35,\n                            \"interval\":
                1,\n                            \"surge_pricing\":
                false\n                        }\n                   
                ]\n                },\n                {\n                   
                \"plan_id\": \"price_bicycle\",\n                    \"name\":
                \"Bicycle price\",\n                    \"currency\":
                \"EUR\",\n                    \"price\":
                0.35,\n                    \"is_taxable\":
                false,\n                    \"description\":
                \"\",\n                    \"per_min_pricing\":
                [\n                        {\n                           
                \"start\": 0,\n                            \"rate\":
                1.0,\n                            \"interval\":
                1,\n                            \"surge_pricing\":
                false\n                        }\n                   
                ]\n                },\n                {\n                   
                \"plan_id\": \"price_moped\",\n                    \"name\":
                \"Moped price\",\n                    \"currency\":
                \"EUR\",\n                    \"price\":
                0.0,\n                    \"is_taxable\":
                false,\n                    \"description\":
                \"\",\n                    \"per_min_pricing\":
                [\n                        {\n                           
                \"start\": 0,\n                            \"rate\":
                0.37,\n                            \"interval\":
                1,\n                            \"surge_pricing\":
                false\n                        }\n                   
                ]\n                }\n            ]\n        }\n    }\n]
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/cities/{city}/operators/{operator_id}/system_pricing_plans:
    get:
      tags:
        - System Pricing Plans
      summary: Ottieni lista piani teriffari filtrati per città ed operatore
      description: Restituisce un elenco di piani tariffari filtrato per città ed operatore
      parameters:
        - name: city
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro conterrà una delle città facenti parte
            del programma MaaS for Italy. In MVP i valori ammessi saranno
            Milano, Roma, Napoli, Torino, Bari e Firenze
          content: {}
        - name: operator_id
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro rappresenta l’id dell’ operatore di
            sharing
          content: {}
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                [\n    {\n        \"city\": \"Rome\",\n        \"operator_id\":
                \"Helbiz\",\n        \"last_updated\": 1687257421,\n       
                \"ttl\": 0,\n        \"version\": \"2.2\",\n        \"data\":
                {\n            \"plans\": [\n               
                {\n                    \"plan_id\":
                \"price_scooter\",\n                    \"name\": \"Scooters
                price\",\n                    \"currency\":
                \"EUR\",\n                    \"price\":
                1.0,\n                    \"is_taxable\":
                false,\n                    \"description\":
                \"\",\n                    \"per_min_pricing\":
                [\n                        {\n                           
                \"start\": 0,\n                            \"rate\":
                0.35,\n                            \"interval\":
                1,\n                            \"surge_pricing\":
                false\n                        }\n                   
                ]\n                },\n                {\n                   
                \"plan_id\": \"price_bicycle\",\n                    \"name\":
                \"Bicycle price\",\n                    \"currency\":
                \"EUR\",\n                    \"price\":
                0.35,\n                    \"is_taxable\":
                false,\n                    \"description\":
                \"\",\n                    \"per_min_pricing\":
                [\n                        {\n                           
                \"start\": 0,\n                            \"rate\":
                1.0,\n                            \"interval\":
                1,\n                            \"surge_pricing\":
                false\n                        }\n                   
                ]\n                },\n                {\n                   
                \"plan_id\": \"price_moped\",\n                    \"name\":
                \"Moped price\",\n                    \"currency\":
                \"EUR\",\n                    \"price\":
                0.0,\n                    \"is_taxable\":
                false,\n                    \"description\":
                \"\",\n                    \"per_min_pricing\":
                [\n                        {\n                           
                \"start\": 0,\n                            \"rate\":
                0.37,\n                            \"interval\":
                1,\n                            \"surge_pricing\":
                false\n                        }\n                   
                ]\n                }\n            ]\n        }\n    }\n]
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/free_bike_status:
    get:
      tags:
        - Free Bike Status
      summary: Ottieni stato delle bici libere
      description: >-
        Questa API fornisce lo stato dei veicoli messi a disposizione
        dall’operatore di sharing. Per ogni veicolo è disponibile la
        geolocalizzazione, lo stato (se è riservato oppure non disponibile per
        altro motivo al noleggio), eventuali accessori disponibili, stazioni
        dove va riconsegnato il veicolo oltre che le informazioni per ottenere
        le applicazioni necessarie per il noleggio (nel caso non si possa fare
        direttamente tramite l’applicazione del MaaS). Nel caso in cui il MaaS
        operator filtri sia la città che l’operatore di sharing la risposta sarà
        aderente al protocollo GBFS. Nel caso invece non si applicassero filtri 
        per città e / o operatore di sharing il sistema chiamante riceverà un
        aggregato di dati in formato GBFS.
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                {\n\t\"city\": \"Rome\",\n\t\"operator_id\":
                \"Bird\",\n\t\"last_updated\": 1687248532,\n\t\"ttl\":
                60,\n\t\"version\": \"2.3\",\n\t\"data\": {\n\t\t\"bikes\":
                [{\n\t\t\t\"bike_id\":
                \"d849301d-9125-4624-b096-15e2eacc5db2\",\n\t\t\t\"lat\":
                41.90840911666666,\n\t\t\t\"lon\":
                12.4539957,\n\t\t\t\"is_reserved\":
                false,\n\t\t\t\"is_disabled\":
                false,\n\t\t\t\"vehicle_type_id\":
                \"bae2102b-56ba-42ba-9097-720e5990b4b2\",\n\t\t\t\"last_reported\":
                1.687259713E9,\n\t\t\t\"current_range_meters\":
                9650.0,\n\t\t\t\"current_fuel_percent\":
                0.2840909,\n\t\t\t\"pricing_plan_id\":
                \"5c469505-2249-4383-9f13-8e4fd1430b0d\",\n\t\t\t\"vehicle_equipment\":
                [\n\t\t\t\t\"null\"\n\t\t\t]\n\t\t}]\n\t}\n}
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/cities/{city}/free_bike_status:
    get:
      tags:
        - Free Bike Status
      summary: Ottieni stato delle bici libere per città
      description: Restituisce un elenco dello stato delle bici libere filtrate per città
      parameters:
        - name: city
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro conterrà una delle città facenti parte
            del programma MaaS for Italy. In MVP i valori ammessi saranno
            Milano, Roma, Napoli, Torino, Bari e Firenze
          content: {}
        - name: lat
          in: Query param
          description: >-
            [OPZIONALE] Latitudine del punto nell’intorno del quale cercare i
            veicoli free floating
          content: {}
        - name: lon
          in: Query param
          description: >-
            [OPZIONALE] Longitudine del punto nell’intorno del quale cercare i
            veicoli free floating
          content: {}
        - name: radius
          in: Query param
          description: >-
            [OPZIONALE] Raggio, in km, da considerare per la ricerca dei veicoli
            free floating
          content: {}
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                {\n\t\"city\": \"Rome\",\n\t\"operator_id\":
                \"Bird\",\n\t\"last_updated\": 1687248532,\n\t\"ttl\":
                60,\n\t\"version\": \"2.3\",\n\t\"data\": {\n\t\t\"bikes\":
                [{\n\t\t\t\"bike_id\":
                \"d849301d-9125-4624-b096-15e2eacc5db2\",\n\t\t\t\"lat\":
                41.90840911666666,\n\t\t\t\"lon\":
                12.4539957,\n\t\t\t\"is_reserved\":
                false,\n\t\t\t\"is_disabled\":
                false,\n\t\t\t\"vehicle_type_id\":
                \"bae2102b-56ba-42ba-9097-720e5990b4b2\",\n\t\t\t\"last_reported\":
                1.687259713E9,\n\t\t\t\"current_range_meters\":
                9650.0,\n\t\t\t\"current_fuel_percent\":
                0.2840909,\n\t\t\t\"pricing_plan_id\":
                \"5c469505-2249-4383-9f13-8e4fd1430b0d\",\n\t\t\t\"vehicle_equipment\":
                [\n\t\t\t\t\"null\"\n\t\t\t]\n\t\t}]\n\t}\n}
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/cities/{city}/operator/{operator_id}/free_bike_status:
    get:
      tags:
        - Free Bike Status
      summary: Ottieni stato delle bici libere per città e operatore
      description: >-
        Restituisce un elenco dello stato delle bici libere filtrate per
        operatore e città
      parameters:
        - name: city
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro conterrà una delle città facenti parte
            del programma MaaS for Italy. In MVP i valori ammessi saranno
            Milano, Roma, Napoli, Torino, Bari e Firenze
          content: {}
        - name: operator_id
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro rappresenta l’id dell’ operatore di
            sharing
          content: {}
        - name: lat
          in: Query param
          description: >-
            [OPZIONALE] Latitudine del punto nell’intorno del quale cercare i
            veicoli free floating
          content: {}
        - name: lon
          in: Query param
          description: >-
            [OPZIONALE] Longitudine del punto nell’intorno del quale cercare i
            veicoli free floating
          content: {}
        - name: radius
          in: Query param
          description: >-
            [OPZIONALE] Raggio, in km, da considerare per la ricerca dei veicoli
            free floating
          content: {}
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                {\n\t\"city\": \"Rome\",\n\t\"operator_id\":
                \"Bird\",\n\t\"last_updated\": 1687248532,\n\t\"ttl\":
                60,\n\t\"version\": \"2.3\",\n\t\"data\": {\n\t\t\"bikes\":
                [{\n\t\t\t\"bike_id\":
                \"d849301d-9125-4624-b096-15e2eacc5db2\",\n\t\t\t\"lat\":
                41.90840911666666,\n\t\t\t\"lon\":
                12.4539957,\n\t\t\t\"is_reserved\":
                false,\n\t\t\t\"is_disabled\":
                false,\n\t\t\t\"vehicle_type_id\":
                \"bae2102b-56ba-42ba-9097-720e5990b4b2\",\n\t\t\t\"last_reported\":
                1.687259713E9,\n\t\t\t\"current_range_meters\":
                9650.0,\n\t\t\t\"current_fuel_percent\":
                0.2840909,\n\t\t\t\"pricing_plan_id\":
                \"5c469505-2249-4383-9f13-8e4fd1430b0d\",\n\t\t\t\"vehicle_equipment\":
                [\n\t\t\t\t\"null\"\n\t\t\t]\n\t\t}]\n\t}\n}
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/geofencing_zones:
    get:
      tags:
        - Geofencing Zones
      summary: Ottieni lista zone vietate
      description: >-
        Questa API fornisce al MaaS operatore le zone di geofencing in cui i
        veicoli dell’operatore di noleggio possono operare oppure zone dove
        possono transitare ma non sostare etc. Una zona di geofence non è altro
        che una zona di territorio in cui si applicano alcune regole specifiche.
        Nel caso in cui il MaaS operator filtri sia la città che l’operatore di
        sharing la risposta sarà aderente al protocollo GBFS. Nel caso invece
        non si applicassero filtri per città e / o operatore di sharing il
        sistema chiamante riceverà un aggregato di dati in formato GBFS
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                [{\n\t\"city\": \"Rome\",\n\t\"operator_id\":
                \"Helbiz\",\n\t\"last_updated\": 1687257671,\n\t\"ttl\":
                0,\n\t\"version\": \"2.2\",\n\t\"data\":
                {\n\t\t\"geofencing_zones\": {\n\t\t\t\"type\":
                \"FeatureCollection\",\n\t\t\t\"features\":
                [{\n\t\t\t\t\"type\": \"Feature\",\n\t\t\t\t\"properties\":
                {\n\t\t\t\t\t\"rules\": [{\n\t\t\t\t\t\t\"ride_allowed\":
                false,\n\t\t\t\t\t\t\"ride_through_allowed\":
                true,\n\t\t\t\t\t\t\"maximum_speed_kph\":
                6\n\t\t\t\t\t}]\n\t\t\t\t},\n\t\t\t\t\"geometry\":
                {\n\t\t\t\t\t\"type\":
                \"MultiPolygon\",\n\t\t\t\t\t\"coordinates\":
                [\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.23422,\n\t\t\t\t\t\t\t\t\t41.739681\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.239928,\n\t\t\t\t\t\t\t\t\t41.742211\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.248082,\n\t\t\t\t\t\t\t\t\t41.743715\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.272372,\n\t\t\t\t\t\t\t\t\t41.745316\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.284517,\n\t\t\t\t\t\t\t\t\t41.742851\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.286834,\n\t\t\t\t\t\t\t\t\t41.745381\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.311425,\n\t\t\t\t\t\t\t\t\t41.729529\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.306897,\n\t\t\t\t\t\t\t\t\t41.724789\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.35022,\n\t\t\t\t\t\t\t\t\t41.703421\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.344212,\n\t\t\t\t\t\t\t\t\t41.698326\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.234048,\n\t\t\t\t\t\t\t\t\t41.738976\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.23422,\n\t\t\t\t\t\t\t\t\t41.739681\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t]\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"_id\":
                \"610d3a5dbb543db07f81470c\",\n\t\t\t\t\"id\":
                \"24466a2aa0977d06da7c890e823e6dd3\"\n\t\t\t}]\n\t\t}\n\t}\n}]
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/cities/{city}/geofencing_zones:
    get:
      tags:
        - Geofencing Zones
      summary: Ottieni lista zone vietate filtrate per città
      description: Restituisce un elenco di zone vietate filtrato per città
      parameters:
        - name: city
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro conterrà una delle città facenti parte
            del programma MaaS for Italy. In MVP i valori ammessi saranno
            Milano, Roma, Napoli, Torino, Bari e Firenze
          content: {}
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                [{\n\t\"city\": \"Rome\",\n\t\"operator_id\":
                \"Helbiz\",\n\t\"last_updated\": 1687257671,\n\t\"ttl\":
                0,\n\t\"version\": \"2.2\",\n\t\"data\":
                {\n\t\t\"geofencing_zones\": {\n\t\t\t\"type\":
                \"FeatureCollection\",\n\t\t\t\"features\":
                [{\n\t\t\t\t\"type\": \"Feature\",\n\t\t\t\t\"properties\":
                {\n\t\t\t\t\t\"rules\": [{\n\t\t\t\t\t\t\"ride_allowed\":
                false,\n\t\t\t\t\t\t\"ride_through_allowed\":
                true,\n\t\t\t\t\t\t\"maximum_speed_kph\":
                6\n\t\t\t\t\t}]\n\t\t\t\t},\n\t\t\t\t\"geometry\":
                {\n\t\t\t\t\t\"type\":
                \"MultiPolygon\",\n\t\t\t\t\t\"coordinates\":
                [\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.23422,\n\t\t\t\t\t\t\t\t\t41.739681\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.239928,\n\t\t\t\t\t\t\t\t\t41.742211\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.248082,\n\t\t\t\t\t\t\t\t\t41.743715\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.272372,\n\t\t\t\t\t\t\t\t\t41.745316\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.284517,\n\t\t\t\t\t\t\t\t\t41.742851\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.286834,\n\t\t\t\t\t\t\t\t\t41.745381\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.311425,\n\t\t\t\t\t\t\t\t\t41.729529\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.306897,\n\t\t\t\t\t\t\t\t\t41.724789\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.35022,\n\t\t\t\t\t\t\t\t\t41.703421\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.344212,\n\t\t\t\t\t\t\t\t\t41.698326\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.234048,\n\t\t\t\t\t\t\t\t\t41.738976\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.23422,\n\t\t\t\t\t\t\t\t\t41.739681\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t]\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"_id\":
                \"610d3a5dbb543db07f81470c\",\n\t\t\t\t\"id\":
                \"24466a2aa0977d06da7c890e823e6dd3\"\n\t\t\t}]\n\t\t}\n\t}\n}]
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/cities/{city}/operators/{operator_id}/geofencing_zones:
    get:
      tags:
        - Geofencing Zones
      summary: Ottieni lista zone vietate filtrate per città ed operatore
      description: Restituisce un elenco di zone vietate filtrato per città ed operatore
      parameters:
        - name: city
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro conterrà una delle città facenti parte
            del programma MaaS for Italy. In MVP i valori ammessi saranno
            Milano, Roma, Napoli, Torino, Bari e Firenze
          content: {}
        - name: operator_id
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro rappresenta l’id dell’ operatore di
            sharing
          content: {}
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                [{\n\t\"city\": \"Rome\",\n\t\"operator_id\":
                \"Helbiz\",\n\t\"last_updated\": 1687257671,\n\t\"ttl\":
                0,\n\t\"version\": \"2.2\",\n\t\"data\":
                {\n\t\t\"geofencing_zones\": {\n\t\t\t\"type\":
                \"FeatureCollection\",\n\t\t\t\"features\":
                [{\n\t\t\t\t\"type\": \"Feature\",\n\t\t\t\t\"properties\":
                {\n\t\t\t\t\t\"rules\": [{\n\t\t\t\t\t\t\"ride_allowed\":
                false,\n\t\t\t\t\t\t\"ride_through_allowed\":
                true,\n\t\t\t\t\t\t\"maximum_speed_kph\":
                6\n\t\t\t\t\t}]\n\t\t\t\t},\n\t\t\t\t\"geometry\":
                {\n\t\t\t\t\t\"type\":
                \"MultiPolygon\",\n\t\t\t\t\t\"coordinates\":
                [\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.23422,\n\t\t\t\t\t\t\t\t\t41.739681\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.239928,\n\t\t\t\t\t\t\t\t\t41.742211\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.248082,\n\t\t\t\t\t\t\t\t\t41.743715\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.272372,\n\t\t\t\t\t\t\t\t\t41.745316\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.284517,\n\t\t\t\t\t\t\t\t\t41.742851\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.286834,\n\t\t\t\t\t\t\t\t\t41.745381\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.311425,\n\t\t\t\t\t\t\t\t\t41.729529\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.306897,\n\t\t\t\t\t\t\t\t\t41.724789\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.35022,\n\t\t\t\t\t\t\t\t\t41.703421\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.344212,\n\t\t\t\t\t\t\t\t\t41.698326\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.234048,\n\t\t\t\t\t\t\t\t\t41.738976\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t12.23422,\n\t\t\t\t\t\t\t\t\t41.739681\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t]\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"_id\":
                \"610d3a5dbb543db07f81470c\",\n\t\t\t\t\"id\":
                \"24466a2aa0977d06da7c890e823e6dd3\"\n\t\t\t}]\n\t\t}\n\t}\n}]
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/station_status:
    get:
      tags:
        - Station Status
      summary: Ottieni stato delle stazioni
      description: >-
        Questa API fornisce al MaaS operator lo stato delle stazioni dove poter
        avviare o concludere un noleggio. Tra le informazioni disponibili
        possono trovare le tipologie di veicoli disponibili e il numero, il
        numero di stalli disponibili per ciascuna tipologia di veicolo, se la
        stazione accetta il termine del noleggio, se è possibile noleggiare
        veicoli. Nel caso in cui il MaaS operator filtri sia la città che
        l’operatore di sharing la risposta sarà aderente al protocollo GBFS. Nel
        caso invece non si applicassero filtri per città e / o operatore di
        sharing il sistema chiamante riceverà un aggregato di dati in formato
        GBFS.
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: ''
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/cities/{city}/station_status:
    get:
      tags:
        - Station Status
      summary: Ottieni stato delle stazioni per città
      description: Restituisce un elenco dello stato delle stazioni filtrato per città
      parameters:
        - name: city
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro conterrà una delle città facenti parte
            del programma MaaS for Italy. In MVP i valori ammessi saranno
            Milano, Roma, Napoli, Torino, Bari e Firenze
          content: {}
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: ''
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/cities/{city}/operator/{operator_id}/station_status:
    get:
      tags:
        - Station Status
      summary: Ottieni stato delle stazioni per operatore e città
      description: >-
        Restituisce un elenco dello stato delle stazioni filtrato per operatore
        e città
      parameters:
        - name: city
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro conterrà una delle città facenti parte
            del programma MaaS for Italy. In MVP i valori ammessi saranno
            Milano, Roma, Napoli, Torino, Bari e Firenze
          content: {}
        - name: operator_id
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro rappresenta l’id dell’ operatore di
            sharing
          content: {}
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: ''
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/system_alerts:
    get:
      tags:
        - System Alerts
      summary: Ottieni avvisi di sistema
      description: >-
        Questa API deve essere usata per recepire eventuali cambiamenti lato
        operatore di noleggio che si discostano dalla normale operabilità del
        servizio. Nel caso in cui il MaaS operator filtri sia la città che
        l’operatore di sharing la risposta sarà aderente al protocollo GBFS. Nel
        caso invece non si applicassero filtri per città e / o operatore di
        sharing il sistema chiamante riceverà un aggregato di dati in formato
        GBFS.
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                [\n    {\n        \"city\": \"Rome\",\n        \"operator_id\":
                \"Helbiz\",\n        \"last_updated\": 1687258193,\n       
                \"ttl\": 0,\n        \"version\": \"2.2\",\n        \"data\":
                {\n            \"alerts\": []\n        }\n    }\n]
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/cities/{city}/system_alerts:
    get:
      tags:
        - System Alerts
      summary: Ottieni avvisi di sistema filtrati per città
      description: Restituisce un elenco di avvisi di sistema filtrato per città
      parameters:
        - name: city
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro conterrà una delle città facenti parte
            del programma MaaS for Italy. In MVP i valori ammessi saranno
            Milano, Roma, Napoli, Torino, Bari e Firenze
          content: {}
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                [\n    {\n        \"city\": \"Rome\",\n        \"operator_id\":
                \"Helbiz\",\n        \"last_updated\": 1687258193,\n       
                \"ttl\": 0,\n        \"version\": \"2.2\",\n        \"data\":
                {\n            \"alerts\": []\n        }\n    }\n]
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/cities/{city}/operators/{operator_id}/system_alerts:
    get:
      tags:
        - System Alerts
      summary: Ottieni avvisi di sistema filtrati per città ed operatore
      description: >-
        Restituisce un elenco di avvisi di sistema filtrato per città ed
        operatore
      parameters:
        - name: city
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro conterrà una delle città facenti parte
            del programma MaaS for Italy. In MVP i valori ammessi saranno
            Milano, Roma, Napoli, Torino, Bari e Firenze
          content: {}
        - name: operator_id
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro rappresenta l’id dell’ operatore di
            sharing
          content: {}
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                [\n    {\n        \"city\": \"Rome\",\n        \"operator_id\":
                \"Helbiz\",\n        \"last_updated\": 1687258193,\n       
                \"ttl\": 0,\n        \"version\": \"2.2\",\n        \"data\":
                {\n            \"alerts\": []\n        }\n    }\n]
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/system_hours:
    get:
      tags:
        - System Hours
      summary: Ottieni orari di noleggio
      description: >-
        Questa API fornisce al MaaS operatore gli orari in cui l’operatore di
        noleggio è attivo. Nel caso in cui il MaaS operator filtri sia la città
        che l’operatore di sharing la risposta sarà aderente al protocollo GBFS.
        Nel caso invece non si applicassero filtri per città e / o operatore di
        sharing il sistema chiamante riceverà un aggregato di dati in formato
        GBFS.
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                {\n    \"city\": \"Rome\",\n    \"operator_id\":
                \"Helbiz\",\n    \"last_updated\": 1687248533,\n    \"ttl\":
                0,\n    \"version\": \"2.2\",\n    \"data\": {\n       
                \"rental_hours\": [\n            {\n               
                \"user_types\": [\n                   
                \"member\"\n                ],\n                \"days\":
                [\n                    \"mon\",\n                   
                \"tue\",\n                    \"wed\",\n                   
                \"thu\",\n                    \"fri\",\n                   
                \"sat\",\n                    \"sun\"\n               
                ],\n                \"start_time\":
                \"00:00:00\",\n                \"end_time\":
                \"23:59:59\"\n            }\n        ]\n    }\n}
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/cities/{city}/system_hours:
    get:
      tags:
        - System Hours
      summary: Ottieni orari di noleggio per città
      description: Restituisce un elenco di orari di noleggio attivo filtrati per città
      parameters:
        - name: city
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro conterrà una delle città facenti parte
            del programma MaaS for Italy. In MVP i valori ammessi saranno
            Milano, Roma, Napoli, Torino, Bari e Firenze
          content: {}
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                {\n    \"city\": \"Rome\",\n    \"operator_id\":
                \"Helbiz\",\n    \"last_updated\": 1687248533,\n    \"ttl\":
                0,\n    \"version\": \"2.2\",\n    \"data\": {\n       
                \"rental_hours\": [\n            {\n               
                \"user_types\": [\n                   
                \"member\"\n                ],\n                \"days\":
                [\n                    \"mon\",\n                   
                \"tue\",\n                    \"wed\",\n                   
                \"thu\",\n                    \"fri\",\n                   
                \"sat\",\n                    \"sun\"\n               
                ],\n                \"start_time\":
                \"00:00:00\",\n                \"end_time\":
                \"23:59:59\"\n            }\n        ]\n    }\n}
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/cities/{city}/operator/{operator_id}/system_hours:
    get:
      tags:
        - System Hours
      summary: Ottieni orari di noleggio per operatore e città
      description: >-
        Restituisce un elenco di orari di noleggio attivo filtrati per operatore
        e città
      parameters:
        - name: city
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro conterrà una delle città facenti parte
            del programma MaaS for Italy. In MVP i valori ammessi saranno
            Milano, Roma, Napoli, Torino, Bari e Firenze
          content: {}
        - name: operator_id
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro rappresenta l’id dell’ operatore di
            sharing
          content: {}
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                {\n    \"city\": \"Rome\",\n    \"operator_id\":
                \"Helbiz\",\n    \"last_updated\": 1687248533,\n    \"ttl\":
                0,\n    \"version\": \"2.2\",\n    \"data\": {\n       
                \"rental_hours\": [\n            {\n               
                \"user_types\": [\n                   
                \"member\"\n                ],\n                \"days\":
                [\n                    \"mon\",\n                   
                \"tue\",\n                    \"wed\",\n                   
                \"thu\",\n                    \"fri\",\n                   
                \"sat\",\n                    \"sun\"\n               
                ],\n                \"start_time\":
                \"00:00:00\",\n                \"end_time\":
                \"23:59:59\"\n            }\n        ]\n    }\n}
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/system_calendar:
    get:
      tags:
        - System Calendar
      summary: Ottieni calendario di sistema
      description: >-
        Questa API fornisce i giorni in cui opera l’operatore di sharing. Nel
        caso in cui il MaaS operator filtri sia la città che l’operatore di
        sharing la risposta sarà aderente al protocollo GBFS. Nel caso invece
        non si applicassero filtri per città e / o operatore di sharing il
        sistema chiamante riceverà un aggregato di dati in formato GBFS.
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                [\n    {\n        \"city\": \"Rome\",\n        \"operator_id\":
                \"Helbiz\",\n        \"last_updated\": 1687258665,\n       
                \"ttl\": 0,\n        \"version\": \"2.2\",\n        \"data\":
                {\n            \"calendars\": []\n        }\n    }\n]
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/cities/{city}/system_calendar:
    get:
      tags:
        - System Calendar
      summary: Ottieni calendario di sistema filtrato per città
      description: Restituisce un elenco del calendario di sistema filtrato per città
      parameters:
        - name: city
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro conterrà una delle città facenti parte
            del programma MaaS for Italy. In MVP i valori ammessi saranno
            Milano, Roma, Napoli, Torino, Bari e Firenze
          content: {}
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                [\n    {\n        \"city\": \"Rome\",\n        \"operator_id\":
                \"Helbiz\",\n        \"last_updated\": 1687258665,\n       
                \"ttl\": 0,\n        \"version\": \"2.2\",\n        \"data\":
                {\n            \"calendars\": []\n        }\n    }\n]
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/cities/{city}/operator/{operator_id}/system_calendar:
    get:
      tags:
        - System Calendar
      summary: Ottieni calendario di sistema filtrato per città ed operatore
      description: >-
        Restituisce un elenco del calendario di sistema filtrato per città ed
        operatore
      parameters:
        - name: city
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro conterrà una delle città facenti parte
            del programma MaaS for Italy. In MVP i valori ammessi saranno
            Milano, Roma, Napoli, Torino, Bari e Firenze
          content: {}
        - name: operator_id
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro rappresenta l’id dell’ operatore di
            sharing
          content: {}
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                [\n    {\n        \"city\": \"Rome\",\n        \"operator_id\":
                \"Helbiz\",\n        \"last_updated\": 1687258665,\n       
                \"ttl\": 0,\n        \"version\": \"2.2\",\n        \"data\":
                {\n            \"calendars\": []\n        }\n    }\n]
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/system_regions:
    get:
      tags:
        - System Regions
      summary: Ottieni regioni operative
      description: >-
        Questa API fornisce le regioni in cui l’operatore di sharing fornisce il
        suo servizio. Nel caso in cui il MaaS operator filtri sia la città che
        l’operatore di sharing la risposta sarà aderente al protocollo GBFS. Nel
        caso invece non si applicassero filtri per città e / o operatore di
        sharing il sistema chiamante riceverà un aggregato di dati in formato
        GBFS.
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                [\n    {\n        \"city\": \"Rome\",\n        \"operator_id\":
                \"Bird\",\n        \"last_updated\": 1687258924,\n       
                \"ttl\": 60,\n        \"version\": \"2.3\",\n        \"data\":
                {\n            \"regions\": [\n               
                {\n                    \"region_id\":
                \"9fa81556-6824-4a59-9d63-701c3393c9b3\",\n                   
                \"name\": \"rome\"\n                }\n            ]\n       
                }\n    }\n]
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/cities/{city}/system_regions:
    get:
      tags:
        - System Regions
      summary: Ottieni regioni operative filtrate per città
      description: Restituisce un elenco di regioni operative filtrato per città
      parameters:
        - name: city
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro conterrà una delle città facenti parte
            del programma MaaS for Italy. In MVP i valori ammessi saranno
            Milano, Roma, Napoli, Torino, Bari e Firenze
          content: {}
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                [\n    {\n        \"city\": \"Rome\",\n        \"operator_id\":
                \"Bird\",\n        \"last_updated\": 1687258924,\n       
                \"ttl\": 60,\n        \"version\": \"2.3\",\n        \"data\":
                {\n            \"regions\": [\n               
                {\n                    \"region_id\":
                \"9fa81556-6824-4a59-9d63-701c3393c9b3\",\n                   
                \"name\": \"rome\"\n                }\n            ]\n       
                }\n    }\n]
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
  /otp/dssrf/cities/{city}/operator/{operator_id}/system_regions:
    get:
      tags:
        - System Regions
      summary: Ottieni regioni operative filtrate per città ed operatore
      description: >-
        Restituisce un elenco di regioni operative filtrato per città ed
        operatore
      parameters:
        - name: city
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro conterrà una delle città facenti parte
            del programma MaaS for Italy. In MVP i valori ammessi saranno
            Milano, Roma, Napoli, Torino, Bari e Firenze
          content: {}
        - name: operator_id
          in: Path param
          description: >-
            [OBBLIGATORIO] Il parametro rappresenta l’id dell’ operatore di
            sharing
          content: {}
      responses:
        '200':
          description: Success
          content:
            application/json:
              example: >-
                [\n    {\n        \"city\": \"Rome\",\n        \"operator_id\":
                \"Bird\",\n        \"last_updated\": 1687258924,\n       
                \"ttl\": 60,\n        \"version\": \"2.3\",\n        \"data\":
                {\n            \"regions\": [\n               
                {\n                    \"region_id\":
                \"9fa81556-6824-4a59-9d63-701c3393c9b3\",\n                   
                \"name\": \"rome\"\n                }\n            ]\n       
                }\n    }\n]
        '404':
          description: >-
            Codice di errore ritornato se la città richiesta non è tra quelle
            gestite dalla piattaforma
        '500':
          description: >-
            Restituito in caso di errori interni della piattaforma non
            recuperabili da parte del client
