{
  "routingDefaults" : {
    "numItineraries": 5
  },
  "transit": {
    "dynamicSearchWindow": {
      "minWindow": "4h",
      "maxWindow": "16h"
    }
  },
  "vectorTiles": {
    "layers": [
      {
        "name": "stops",
        "type": "Stop",
        "mapper": "Digitransit",
        "maxZoom": 20,
        "minZoom": 14,
        "cacheMaxSeconds": 600
      },
      // flex zones
      {
        "name": "areaStops",
        "type": "AreaStop",
        "mapper": "OTPRR",
        "maxZoom": 20,
        "minZoom": 14,
        "cacheMaxSeconds": 600
      },
      {
        "name": "stations",
        "type": "Station",
        "mapper": "Digitransit",
        "maxZoom": 20,
        "minZoom": 12,
        "cacheMaxSeconds": 600
      },
      // all rental places: stations and free-floating vehicles
      {
        "name": "citybikes",
        "type": "VehicleRental",
        "mapper": "Digitransit",
        "maxZoom": 20,
        "minZoom": 14,
        "cacheMaxSeconds": 60,
        "expansionFactor": 0.25
      },
      // just free-floating vehicles
      {
        "name": "rentalVehicles",
        "type": "VehicleRentalVehicle",
        "mapper": "DigitransitRealtime",
        "maxZoom": 20,
        "minZoom": 14,
        "cacheMaxSeconds": 60
      },
      // just rental stations
      {
        "name": "rentalStations",
        "type": "VehicleRentalStation",
        "mapper": "DigitransitRealtime",
        "maxZoom": 20,
        "minZoom": 14,
        "cacheMaxSeconds": 600
      },
      // no real-time, translatable fields are translated based on accept-language header
      // and contains less fields than the Stadtnavi mapper
      {
        "name": "vehicleParking",
        "type": "VehicleParking",
        "mapper": "Stadtnavi",
        "maxZoom": 20,
        "minZoom": 14,
        "cacheMaxSeconds": 600,
        "expansionFactor": 0.25
      }
    ]
  },
  "updaters": [
    {
      "type": "siri-et-lite",
      "feedId": "sta",
      "url": "https://efa.sta.bz.it/siri-lite/estimated-timetable/xml",
      "fuzzyTripMatching": true
    },
    {
      "type": "siri-sx-lite",
      "feedId": "sta",
      "url": "https://efa.sta.bz.it/siri-lite/situation-exchange/xml"
    },
    {
      "type" : "vehicle-rental",
      "sourceType" : "gbfs",
      "url" : "https://gbfs.otp.opendatahub.testingmachine.eu/bz/2.1/gbfs.json"
    },
    {
      "type" : "vehicle-rental",
      "sourceType" : "gbfs",
      "url" : "https://gbfs.otp.opendatahub.testingmachine.eu/me/2.1/gbfs.json"
    },
    {
      "type" : "vehicle-rental",
      "sourceType" : "gbfs",
      "url" : "https://gbfs.otp.opendatahub.testingmachine.eu/papin/2.1/gbfs.json"
    },
    {
      "type" : "vehicle-rental",
      "sourceType" : "gbfs",
      "url" : "https://carsharing.otp.opendatahub.testingmachine.eu/alpsgo/gbfs.json"
    },
    {
      "type": "stop-time-updater",
      "url": "https://amarillo.otp.opendatahub.testingmachine.eu/gtfs/amarillo.altoadige.gtfsrt.pbf",
      "feedId": "amarillo"
    },
    {
      "type": "vehicle-parking",
      "feedId": "parking",
      "sourceType": "siri-fm",
      "url": "https://transmodel.api.opendatahub.testingmachine.eu/siri-lite/facility-monitoring/parking"
    }
  ]
}
