{
  "openapi" : "3.0.2",
  "info" : {
    "title" : "MapTrip Server API",
    "description" : "This is HTTP-based API for the MapTrip server backend. It provides functions like geocoding, route calculation and route optimization.\nSee <a href=\"../docs/tutorial/index.html\">Tutorial</a> for more details on using the API for different use cases\nand <a href=\"../docs/history.html\">Release History</a> for an overview of the releases of the API. \n",
    "contact" : {
      "email" : "support@infoware.de"
    },
    "version" : "2.24.3"
  },
  "externalDocs" : {
    "description" : "Find out more about MapTrip",
    "url" : "https://www.maptrip.de/"
  },
  "servers" : [ {
    "url" : "/v1"
  } ],
  "security" : [ {
    "bearerAuth" : [ ]
  } ],
  "tags" : [ {
    "name" : "authenticate",
    "description" : "Authenticate with your MapTrip Manager account or an API key"
  }, {
    "name" : "detour",
    "description" : "Create, edit and delete road segments and their attributes"
  }, {
    "name" : "followme",
    "description" : "Query, create and update MapTrip FollowMe files and publish them to MapTrip"
  }, {
    "name" : "geocoder",
    "description" : "Find coordinates for a location, or locations for a coordinate"
  }, {
    "name" : "mapdata",
    "description" : "Query information from the map data"
  }, {
    "name" : "matrix",
    "description" : "Calculate a distance matrix for a list of origins and destinations"
  }, {
    "name" : "optimize",
    "description" : "Optimize a list of stops for route calculation"
  }, {
    "name" : "poi",
    "description" : "Query points of interest"
  }, {
    "name" : "remote",
    "description" : "Query the status of devices running MapTrip and send destinations to MapTrip"
  }, {
    "name" : "route",
    "description" : "Calculate routes between locations"
  }, {
    "name" : "usage",
    "description" : "Query information on your usage of API endpoints"
  } ],
  "paths" : {
    "/authenticate" : {
      "post" : {
        "tags" : [ "authenticate" ],
        "summary" : "Authenticate a user by user name and password",
        "operationId" : "authenticate",
        "requestBody" : {
          "description" : "User credentials",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Credentials"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/JWTToken"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        },
        "security" : [ ]
      }
    },
    "/authenticate/apikey" : {
      "post" : {
        "tags" : [ "authenticate" ],
        "summary" : "Authenticate a user by an API key",
        "operationId" : "authenticateByAPIKey",
        "requestBody" : {
          "description" : "API Key",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/APIKey"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/JWTToken"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        },
        "security" : [ ]
      }
    },
    "/detour/attribute/description" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get a Detour attribute which describes a segment",
        "operationId" : "getDescriptionAttribute",
        "parameters" : [ {
          "name" : "description",
          "in" : "query",
          "description" : "A text describing this segment",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "maxLength" : 100,
            "minLength" : 1,
            "type" : "string",
            "example" : "Road closed due to roadwork"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DetourSegmentAttribute"
                }
              }
            }
          },
          "400" : {
            "description" : "The provided description is too long or contains a line break"
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/attribute/block" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get Detour attributes which block a segment",
        "operationId" : "getBlockAttribute",
        "parameters" : [ {
          "name" : "direction",
          "in" : "query",
          "description" : "Direction in which this change has an effect",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "both",
            "enum" : [ "positive", "negative", "both" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DetourSegmentAttribute"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/attribute/open" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get a Detour attribute which opens a segment",
        "operationId" : "getOpenAttribute",
        "parameters" : [ {
          "name" : "direction",
          "in" : "query",
          "description" : "Direction in which this change has an effect",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "both",
            "enum" : [ "positive", "negative", "both" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DetourSegmentAttribute"
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/attribute/vehicle/width" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get a Detour attribute which blocks a segment for vehicles depending on their width",
        "operationId" : "getVehicleWidthAttribute",
        "parameters" : [ {
          "name" : "width",
          "in" : "query",
          "description" : "The width above which this segment is blocked (in meters)",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "default" : 0
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DetourSegmentAttribute"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/attribute/vehicle/height" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get a Detour attribute which blocks a segment for vehicles depending on their height",
        "operationId" : "getVehicleHeightAttribute",
        "parameters" : [ {
          "name" : "height",
          "in" : "query",
          "description" : "The height above which this segment is blocked (in meters)",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "default" : 0
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DetourSegmentAttribute"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/attribute/vehicle/length" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get a Detour attribute which blocks a segment for vehicles depending on their length",
        "operationId" : "getVehicleLengthAttribute",
        "parameters" : [ {
          "name" : "length",
          "in" : "query",
          "description" : "The length above which this segment is blocked (in meters)",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "default" : 0
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DetourSegmentAttribute"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/attribute/vehicle/weight" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get a Detour attribute which blocks a segment for vehicles depending on their weight",
        "operationId" : "getVehicleWeightAttribute",
        "parameters" : [ {
          "name" : "weight",
          "in" : "query",
          "description" : "The weight above which this segment is blocked (in kilograms)",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "default" : 0
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DetourSegmentAttribute"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/attribute/vehicle/axleload" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get a Detour attribute which blocks a segment for vehicles depending on their axle load",
        "operationId" : "getVehicleAxleLoadAttribute",
        "parameters" : [ {
          "name" : "axleload",
          "in" : "query",
          "description" : "The axle load above which this segment is blocked (in kilograms)",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "default" : 0
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DetourSegmentAttribute"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/attribute/vehicle/axles" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get a Detour attribute which blocks a segment for vehicles depending on their number of axles",
        "operationId" : "getVehicleAxlesAttribute",
        "parameters" : [ {
          "name" : "axles",
          "in" : "query",
          "description" : "The number of axles above which this segment is blocked",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "default" : 0
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DetourSegmentAttribute"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/attribute/vehicle/hazardousgoods" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get a Detour attribute which blocks a segment for vehicles with hazardous goods",
        "operationId" : "getVehicleHazardousGoodsAttribute",
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DetourSegmentAttribute"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/attribute/vehicle/explosivematerials" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get a Detour attribute which blocks a segment for vehicles with explosive materials",
        "operationId" : "getVehicleExplosiveMaterialsAttribute",
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DetourSegmentAttribute"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/attribute/vehicle/materialsharmfultowater" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get a Detour attribute which blocks a segment for vehicles with materials harmful to water",
        "operationId" : "getVehicleMaterialsHarmfulToWaterAttribute",
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DetourSegmentAttribute"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/attribute/vehicle/tunnelrestrictioncode" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get a Detour attribute which blocks a segment for vehicles with conflicting tunnel restriction codes",
        "operationId" : "getVehicleTunnelRestrictionCodeAttribute",
        "parameters" : [ {
          "name" : "tunnelRestrictionCode",
          "in" : "query",
          "description" : "The tunnel restriction code for this segment",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "A", "B", "C", "D", "E" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DetourSegmentAttribute"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/attribute/removedvehicleattributes" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get Detour attributes which remove all vehicle attributes from a segment",
        "operationId" : "getRemovedVehicleAttributes",
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DetourSegmentAttribute"
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/attribute/timedomain/start" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get a Detour attribute which restricts the other attributes on the segment to a time range",
        "operationId" : "getTimedomainStartAttribute",
        "parameters" : [ {
          "name" : "date",
          "in" : "query",
          "description" : "An ISO 8601 string (date, time and time zone)",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "2021-07-06T17:02:00+02:00"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DetourSegmentAttribute"
                }
              }
            }
          },
          "400" : {
            "description" : "Date is invalid"
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/attribute/timedomain/end" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get a Detour attribute which restricts the other attributes on the segment to a time range",
        "operationId" : "getTimedomainEndAttribute",
        "parameters" : [ {
          "name" : "date",
          "in" : "query",
          "description" : "An ISO 8601 string (date, time and time zone)",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "2021-07-06T17:02:00+02:00"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DetourSegmentAttribute"
                }
              }
            }
          },
          "400" : {
            "description" : "Date is invalid"
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/attribute/timedomain/daily" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get a Detour attribute which restricts the other attributes on the segment to a time range on a daily basis",
        "operationId" : "getTimedomainDailyAttribute",
        "parameters" : [ {
          "name" : "time",
          "in" : "query",
          "description" : "A time range as HH:mm-HH:mm (local time)",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "17:00-19:00"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DetourSegmentAttribute"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Time range is invalid"
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/attribute/timedomain/weekly" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get a Detour attribute which restricts the other attributes on the segment to a time range on a weekly basis",
        "operationId" : "getTimedomainWeeklyAttribute",
        "parameters" : [ {
          "name" : "time",
          "in" : "query",
          "description" : "A time range as HH:mm-HH:mm (local time, optional)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "17:00-19:00"
          }
        }, {
          "name" : "daysofweek",
          "in" : "query",
          "description" : "A comma-separated list of days of the week",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "Saturday,Sunday"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DetourSegmentAttribute"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Time range is invalid"
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/attribute/timedomain/monthly" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get a Detour attribute which restricts the other attributes on the segment to a time range on a monthly basis",
        "operationId" : "getTimedomainMonthlyAttribute",
        "parameters" : [ {
          "name" : "time",
          "in" : "query",
          "description" : "A time range as HH:mm-HH:mm (local time, optional)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "17:00-19:00"
          }
        }, {
          "name" : "daysofmonth",
          "in" : "query",
          "description" : "A comma-separated list of days of the month",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "7,14,21,28"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DetourSegmentAttribute"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/attribute/prioritize" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get Detour attributes which prioritize a segment. Deprecated, use [GET] /detour/attribute/speed instead",
        "operationId" : "getPrioritizeAttribute",
        "parameters" : [ {
          "name" : "value",
          "in" : "query",
          "description" : "The value from 2 (slightly increased priority) to 10 (strongly increased priority). Optional, the default is 10",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "maximum" : 10,
            "minimum" : 2,
            "type" : "integer",
            "format" : "int32",
            "default" : 10
          }
        }, {
          "name" : "direction",
          "in" : "query",
          "description" : "Direction in which this change has an effect",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "both",
            "enum" : [ "positive", "negative", "both" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DetourSegmentAttribute"
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        },
        "deprecated" : true
      }
    },
    "/detour/attribute/penalize" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get Detour attributes which penalize a segment. Deprecated, use [GET] /detour/attribute/speed instead",
        "operationId" : "getPenalizeAttribute",
        "parameters" : [ {
          "name" : "value",
          "in" : "query",
          "description" : "The value from 0.1 (strongly decreased priority) to 0.9 (slightly decreased priority). The value is rounded to one decimal place. Optional, the default is 0.1",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "maximum" : 0.9,
            "minimum" : 0.1,
            "type" : "number",
            "format" : "double",
            "default" : 0.1
          }
        }, {
          "name" : "direction",
          "in" : "query",
          "description" : "Direction in which this change has an effect",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "both",
            "enum" : [ "positive", "negative", "both" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DetourSegmentAttribute"
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        },
        "deprecated" : true
      }
    },
    "/detour/attribute/speed" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get Detour attributes that override the speed and delay on a road segment",
        "operationId" : "getSpeedAttributes",
        "parameters" : [ {
          "name" : "speed",
          "in" : "query",
          "description" : "The speed in km/h for this road segment as expected",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "minimum" : 1,
            "type" : "integer",
            "format" : "int32",
            "default" : 30
          }
        }, {
          "name" : "delay",
          "in" : "query",
          "description" : "The delay on this segment in seconds, for example due to traffic lights or junctions",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "minimum" : 0,
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "originalSpeed",
          "in" : "query",
          "description" : "The speed in km/h as defined in the map data. This is used by the Detour Editor",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "maximum" : 200,
            "minimum" : 1,
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "direction",
          "in" : "query",
          "description" : "Direction in which this change has an effect",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "both",
            "enum" : [ "positive", "negative", "both" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DetourSegmentAttribute"
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/attribute/road" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get Detour attributes which create a new road segment",
        "operationId" : "getRoadAttribute",
        "parameters" : [ {
          "name" : "name",
          "in" : "query",
          "description" : "Name of the road",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "infoware Street"
          }
        }, {
          "name" : "direction",
          "in" : "query",
          "description" : "Direction in which this change has an effect",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "both",
            "enum" : [ "positive", "negative", "both" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DetourSegmentAttribute"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "The provided name is too long or contains a line break or the direction is invalid"
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404" : {
            "description" : "The coordinates could not be matched to the map data"
          }
        }
      }
    },
    "/detour/attribute/deleteroad" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get Detour attributes which delete an existing road segment from map data",
        "operationId" : "getDeleteRoadAttribute",
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DetourSegmentAttribute"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404" : {
            "description" : "The coordinates could not be matched to the map data"
          }
        }
      }
    },
    "/detour/attribute/validity" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get a Detour attribute that specifies whether the attributes will be considered or not in case of emergency routing",
        "operationId" : "getValidityAttribute",
        "parameters" : [ {
          "name" : "emergencyRouting",
          "in" : "query",
          "description" : "When this is `true`, the Detour attributes on this road segment are considered when emergency routing is turned on",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "withinEmergencyRadius",
          "in" : "query",
          "description" : "When this is `true`, the Detour attributes on this road segment are considered when the segment is in the emergency radius",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "defaultRouting",
          "in" : "query",
          "description" : "When this is `true`, the Detour attributes on this road segment are considered for routes without emergency routing",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DetourSegmentAttribute"
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/attribute/address" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get a Detour attribute with location information which is shown in the Detour Editor",
        "operationId" : "getAddressAttribute",
        "parameters" : [ {
          "name" : "address",
          "in" : "query",
          "description" : "An address or location description for this Detour edit",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "maxLength" : 512,
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DetourSegmentAttribute"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "The provided address string is too long or contains a line break"
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/attribute/comment" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get a Detour attribute with a comment which is shown in the Detour Editor",
        "operationId" : "getCommentAttribute",
        "parameters" : [ {
          "name" : "comment",
          "in" : "query",
          "description" : "A comment for this Detour edit",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "maxLength" : 512,
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DetourSegmentAttribute"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "The provided comment string is too long"
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/devices" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get a list of all your devices configured for MapTrip Detour",
        "operationId" : "getDetourDevices",
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "example" : "84a265b7-f31f-4402-993f-ba2e279ac28a"
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/devices/details" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get a list with details of all your devices configured for MapTrip Detour",
        "operationId" : "getDetourDetailedDevices",
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/Device"
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/file" : {
      "post" : {
        "tags" : [ "detour" ],
        "summary" : "Create a Detour file",
        "operationId" : "createDetourFile",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        } ],
        "requestBody" : {
          "description" : "Name of the Detour file (a-z lower and upper case letters, german umlauts, digits and underscores are allowed, the length has to be 2 to 50 characters)",
          "content" : {
            "text/plain" : {
              "schema" : {
                "maxLength" : 50,
                "minLength" : 2,
                "pattern" : "[a-zäöüA-ZÄÖÜ0-9_]{2,50}",
                "type" : "string",
                "example" : "MyFile"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DetourFile"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "409" : {
            "description" : "There already is a file with the same name"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/file/{fileid}" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get a Detour file by its ID",
        "operationId" : "getDetourFile",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "fileid",
          "in" : "path",
          "description" : "ID of the Detour file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DetourFile"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "detour" ],
        "summary" : "Delete a Detour file",
        "operationId" : "deleteDetourFile",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "fileid",
          "in" : "path",
          "description" : "ID of the Detour file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation"
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404" : {
            "description" : "There is no Detour file with the provided ID",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/file/{fileid}/geojson" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get the contents of a Detour file as GeoJSON",
        "operationId" : "getDetourFileAsGeojson",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "fileid",
          "in" : "path",
          "description" : "ID of the Detour file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        }, {
          "name" : "filter",
          "in" : "query",
          "description" : "A filter definition that can be used to filter segments by date and time or a bounding box",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/geo+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FeatureCollection"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404" : {
            "description" : "There is no Detour file with the provided ID",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/file/{fileid}/road" : {
      "post" : {
        "tags" : [ "detour" ],
        "summary" : "Create a new road",
        "operationId" : "createDetourRoad",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "fileid",
          "in" : "path",
          "description" : "ID of the Detour file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        } ],
        "requestBody" : {
          "description" : "The road to create",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DetourRoadRequest"
              },
              "example" : {
                "coordinates" : [ {
                  "lat" : 50.736909,
                  "lon" : 7.092381
                }, {
                  "lat" : 50.737198,
                  "lon" : 7.091614
                }, {
                  "lat" : 50.737582,
                  "lon" : 7.092054
                } ],
                "attributes" : [ {
                  "name" : "MAP_TYPE",
                  "value" : "2"
                }, {
                  "name" : "NAME",
                  "value" : "infoware Street"
                }, {
                  "name" : "RS",
                  "value" : "0"
                }, {
                  "name" : "TYPE",
                  "value" : "FCB"
                } ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DetourRoad"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404" : {
            "description" : "There is no Detour file with the provided ID",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/file/{fileid}/road/{roadid}" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get a road which has been created with Detour",
        "operationId" : "getDetourRoad",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "fileid",
          "in" : "path",
          "description" : "ID of the Detour file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        }, {
          "name" : "roadid",
          "in" : "path",
          "description" : "ID of the road",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DetourRoad"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404" : {
            "description" : "There is no Detour file or road with the provided ID, see response for details"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "detour" ],
        "summary" : "Update the attributes of a road from a Detour file",
        "operationId" : "updateDetourRoad",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "fileid",
          "in" : "path",
          "description" : "ID of the Detour file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        }, {
          "name" : "roadid",
          "in" : "path",
          "description" : "ID of the road",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        } ],
        "requestBody" : {
          "description" : "The new road data",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/DetourSegmentAttribute"
                }
              },
              "example" : [ {
                "name" : "MAP_TYPE",
                "value" : 2
              }, {
                "name" : "NAME",
                "value" : "infoware Street"
              }, {
                "name" : "RS",
                "value" : 0
              }, {
                "name" : "TYPE",
                "value" : "FCB"
              } ]
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Successful operation"
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404" : {
            "description" : "Either the Detour file or the segment was not found"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "detour" ],
        "summary" : "Delete a road which has been created with Detour",
        "operationId" : "deleteDetourRoad",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "fileid",
          "in" : "path",
          "description" : "ID of the Detour file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        }, {
          "name" : "roadid",
          "in" : "path",
          "description" : "ID of the road",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation"
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404" : {
            "description" : "There is no Detour file or road with the provided ID, see response for details"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/file/{fileid}/road/all" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get all roads of a Detour file",
        "operationId" : "getAllDetourRoads",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "fileid",
          "in" : "path",
          "description" : "ID of the Detour file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        }, {
          "name" : "query",
          "in" : "query",
          "description" : "Returns only results that contain this query string in the description",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "minLength" : 1,
            "type" : "string"
          }
        }, {
          "name" : "filter",
          "in" : "query",
          "description" : "A filter definition that can be used to filter segments by date and time or a bounding box",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DetourRoad"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/file/{fileid}/road/match" : {
      "post" : {
        "tags" : [ "detour" ],
        "summary" : "Match coordinates to the roads in the map data",
        "operationId" : "matchToDetourRoad",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "fileid",
          "in" : "path",
          "description" : "ID of the Detour file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        } ],
        "requestBody" : {
          "description" : "An array of coordinates to match",
          "content" : {
            "application/json" : {
              "schema" : {
                "maxItems" : 100,
                "minItems" : 2,
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/Coordinate"
                }
              },
              "example" : [ {
                "lat" : 50.736909,
                "lon" : 7.092381
              }, {
                "lat" : 50.737198,
                "lon" : 7.091614
              }, {
                "lat" : 50.737582,
                "lon" : 7.092054
              } ]
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DetourRoadMatch"
                }
              }
            }
          },
          "400" : {
            "description" : "The provided coordinates do not match, see response for details"
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404" : {
            "description" : "There is no Detour file with the provided ID",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/file/{fileid}/segment/all" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get all segments of a Detour file",
        "operationId" : "getAllDetourSegments",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "fileid",
          "in" : "path",
          "description" : "ID of the Detour file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        }, {
          "name" : "query",
          "in" : "query",
          "description" : "Returns only results that contain this query string in the description",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "minLength" : 1,
            "type" : "string"
          }
        }, {
          "name" : "filter",
          "in" : "query",
          "description" : "A filter definition that can be used to filter segments by date and time or a bounding box",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DetourSegment"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/file/{fileid}/segment/{segmentid}" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get a segment of a Detour file",
        "operationId" : "getDetourSegment",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "fileid",
          "in" : "path",
          "description" : "ID of the Detour file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        }, {
          "name" : "segmentid",
          "in" : "path",
          "description" : "ID of the segment",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DetourSegment"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404" : {
            "description" : "Either the Detour file or the segment was not found"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "detour" ],
        "summary" : "Update the attributes of a segment from a Detour file",
        "operationId" : "updateDetourSegment",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "fileid",
          "in" : "path",
          "description" : "ID of the Detour file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        }, {
          "name" : "segmentid",
          "in" : "path",
          "description" : "ID of the segment",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        } ],
        "requestBody" : {
          "description" : "The new segment data",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/DetourSegmentAttribute"
                }
              },
              "example" : [ {
                "name" : "Delay",
                "value" : 20
              }, {
                "name" : "detourEditor_created",
                "value" : "2024-10-24T12:24:56Z"
              }, {
                "name" : "detourEditor_originalRoadSpeed",
                "value" : 30
              }, {
                "name" : "NewSpeed",
                "value" : 25
              }, {
                "name" : "SegmentType",
                "value" : "ModifiedSpeed"
              } ]
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Successful operation"
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404" : {
            "description" : "Either the Detour file or the segment was not found"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "detour" ],
        "summary" : "Delete a segment from a Detour file",
        "operationId" : "deleteDetourSegment",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "fileid",
          "in" : "path",
          "description" : "ID of the Detour file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        }, {
          "name" : "segmentid",
          "in" : "path",
          "description" : "ID of the segment",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation"
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404" : {
            "description" : "Either the Detour file or the segment was not found"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/file/{fileid}/segment" : {
      "post" : {
        "tags" : [ "detour" ],
        "summary" : "Create a Detour segment",
        "operationId" : "createDetourSegment",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "fileid",
          "in" : "path",
          "description" : "ID of the Detour file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        } ],
        "requestBody" : {
          "description" : "The segment to create",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DetourSegmentRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DetourSegment"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404" : {
            "description" : "There is no Detour file with the provided ID",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/file/{fileid}/segment/match" : {
      "post" : {
        "tags" : [ "detour" ],
        "summary" : "Match a polyline of coordinates to road segments",
        "operationId" : "matchToDetourSegment",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "fileid",
          "in" : "path",
          "description" : "ID of the Detour file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        } ],
        "requestBody" : {
          "description" : "An array of coordinates to match",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/Coordinate"
                }
              },
              "example" : [ {
                "lat" : 50.73694734,
                "lon" : 7.08814777
              }, {
                "lat" : 50.73848234,
                "lon" : 7.08921676
              }, {
                "lat" : 50.73859036,
                "lon" : 7.08927964
              }, {
                "lat" : 50.73867563,
                "lon" : 7.08933354
              }, {
                "lat" : 50.73947722,
                "lon" : 7.09004321
              }, {
                "lat" : 50.74018215,
                "lon" : 7.09072593
              }, {
                "lat" : 50.74068242,
                "lon" : 7.09122
              } ]
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DetourMatch"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404" : {
            "description" : "No street segments found for this coordinates"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/file/{fileid}/segment/divide" : {
      "post" : {
        "tags" : [ "detour" ],
        "summary" : "Divide a Detour segment at the specified coordinate",
        "operationId" : "divideDetourSegment",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "fileid",
          "in" : "path",
          "description" : "ID of the Detour file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        } ],
        "requestBody" : {
          "description" : "The coordinate at which the segment is to be divided",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Coordinate"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DetourDivideSegmentResult"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404" : {
            "description" : "There is no Detour file with the provided ID",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/file/{fileid}/segments" : {
      "post" : {
        "tags" : [ "detour" ],
        "summary" : "Create multiple Detour segments",
        "operationId" : "createDetourSegments",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "fileid",
          "in" : "path",
          "description" : "ID of the Detour file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        } ],
        "requestBody" : {
          "description" : "The segments to create",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/DetourSegmentRequest"
                }
              },
              "example" : [ {
                "coordinates" : [ {
                  "lat" : 50.736909,
                  "lon" : 7.092381
                }, {
                  "lat" : 50.737198,
                  "lon" : 7.091614
                }, {
                  "lat" : 50.737582,
                  "lon" : 7.092054
                } ],
                "openlr" : "CwTw0SQ5jiKHAwEMAB8iNwE=",
                "attributes" : [ {
                  "name" : "SegmentType",
                  "value" : "ModifiedSpeed"
                }, {
                  "name" : "NewSpeed",
                  "value" : 10
                }, {
                  "name" : "Delay",
                  "value" : 60
                }, {
                  "name" : "detourEditor_originalRoadSpeed",
                  "value" : 25
                } ]
              }, {
                "coordinates" : [ {
                  "lat" : 50.73266,
                  "lon" : 7.096349
                }, {
                  "lat" : 50.73266,
                  "lon" : 7.096367
                }, {
                  "lat" : 50.732655,
                  "lon" : 7.096358
                } ],
                "openlr" : "CwULmyQTrSPrAgBk/9Y7CQ==",
                "attributes" : [ {
                  "name" : "direction",
                  "value" : 1
                }, {
                  "name" : "priority",
                  "value" : "10"
                } ]
              } ]
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Successful operation"
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404" : {
            "description" : "There is no Detour file with the provided ID",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "detour" ],
        "summary" : "Delete all segments in the Detour file",
        "operationId" : "deleteAllDetourSegments",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "fileid",
          "in" : "path",
          "description" : "ID of the Detour file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation"
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404" : {
            "description" : "There is no Detour file with the provided ID",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/file/{fileid}/turnrestriction" : {
      "post" : {
        "tags" : [ "detour" ],
        "summary" : "Add a new turn restriction (deprecated, replaced by [POST] /detour/file/{fileid}/turnrestriction/add)",
        "operationId" : "addTurnRestrictionDeprecated",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "fileid",
          "in" : "path",
          "description" : "ID of the Detour file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        } ],
        "requestBody" : {
          "description" : "The coordinates for the turn restriction",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "description" : "Coordinates for this turn restriction",
                "items" : {
                  "$ref" : "#/components/schemas/Coordinate"
                }
              },
              "example" : [ {
                "lat" : 50.738413,
                "lon" : 7.101079
              }, {
                "lat" : 50.738591,
                "lon" : 7.10165
              } ]
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Successful operation"
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404" : {
            "description" : "There is no Detour file with the provided ID",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        },
        "deprecated" : true
      }
    },
    "/detour/file/{fileid}/turnrestriction/add" : {
      "post" : {
        "tags" : [ "detour" ],
        "summary" : "Add a new turn restriction",
        "operationId" : "addTurnRestriction",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "fileid",
          "in" : "path",
          "description" : "ID of the Detour file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        } ],
        "requestBody" : {
          "description" : "The turn restriction to add. `coordinates` are required, `openlr` must not be present, and `attributes` only supports *description*",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/TurnRestrictionWithAttributes"
              },
              "example" : {
                "coordinates" : [ {
                  "lat" : 50.738413,
                  "lon" : 7.101079
                }, {
                  "lat" : 50.738591,
                  "lon" : 7.10165
                } ],
                "attributes" : [ {
                  "name" : "description",
                  "value" : "This is a new turn restriction for route calculations"
                } ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Successful operation"
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404" : {
            "description" : "There is no Detour file with the provided ID",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/file/{fileid}/turnrestriction/edit" : {
      "post" : {
        "tags" : [ "detour" ],
        "summary" : "Edits the attributes of an existing turn restriction from the map data",
        "operationId" : "editTurnRestriction",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "fileid",
          "in" : "path",
          "description" : "ID of the Detour file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        } ],
        "requestBody" : {
          "description" : "The turn restriction to edit. `coordinates` and `openlr` are required, and `attributes` only supports *validity* and *description*",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/TurnRestrictionWithAttributes"
              },
              "example" : {
                "coordinates" : [ {
                  "lat" : 50.741024,
                  "lon" : 7.101227
                }, {
                  "lat" : 50.741063,
                  "lon" : 7.101164
                }, {
                  "lat" : 50.741006,
                  "lon" : 7.101164
                } ],
                "openlr" : "CwUM3iQU6xJeBf/0//8SHg==",
                "attributes" : [ {
                  "name" : "description",
                  "value" : "This turn restriction is ignored for emergency routing"
                }, {
                  "name" : "validity",
                  "value" : 26
                } ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Successful operation"
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404" : {
            "description" : "There is no Detour file with the provided ID",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/file/{fileid}/turnrestriction/remove" : {
      "post" : {
        "tags" : [ "detour" ],
        "summary" : "Remove an existing turn restriction from the map data",
        "operationId" : "removeTurnRestriction",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "fileid",
          "in" : "path",
          "description" : "ID of the Detour file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        } ],
        "requestBody" : {
          "description" : "The turn restriction to remove. `coordinates` and `openlr` are required, and `attributes` only supports *description*",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/TurnRestrictionWithAttributes"
              },
              "example" : {
                "coordinates" : [ {
                  "lat" : 50.739887,
                  "lon" : 7.101973
                }, {
                  "lat" : 50.739921,
                  "lon" : 7.101946
                }, {
                  "lat" : 50.739915,
                  "lon" : 7.101892
                } ],
                "openlr" : "CwUM/iQUuxLeAv+wAGczBw==",
                "attributes" : [ {
                  "name" : "description",
                  "value" : "This turn restriction is no longer used for route calculations"
                } ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Successful operation"
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404" : {
            "description" : "There is no Detour file with the provided ID",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/file/{fileid}/turnrestriction/{turnrestrictionid}" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get an added or removed turn restriction of a Detour file",
        "operationId" : "getTurnRestriction",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "fileid",
          "in" : "path",
          "description" : "ID of the Detour file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        }, {
          "name" : "turnrestrictionid",
          "in" : "path",
          "description" : "ID of the turn restriction",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DetourSegment"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404" : {
            "description" : "Either the Detour file or the turn restriction was not found"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "detour" ],
        "summary" : "Delete an added or removed turn restriction from a Detour file",
        "operationId" : "deleteTurnRestriction",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "fileid",
          "in" : "path",
          "description" : "ID of the Detour file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        }, {
          "name" : "turnrestrictionid",
          "in" : "path",
          "description" : "ID of the turn restriction",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation"
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404" : {
            "description" : "Either the Detour file or the turn restriction was not found"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/file/{fileid}/turnrestriction/all" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get all added or removed turn restrictions of a Detour file",
        "operationId" : "getAllTurnRestrictions",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "fileid",
          "in" : "path",
          "description" : "ID of the Detour file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        }, {
          "name" : "query",
          "in" : "query",
          "description" : "Returns only results that contain this query string in the description",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "minLength" : 1,
            "type" : "string"
          }
        }, {
          "name" : "filter",
          "in" : "query",
          "description" : "A filter definition that can be used to filter segments by date and time or a bounding box",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DetourSegment"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/file/{fileid}/connectivity" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Check the connectivity of this file with the map data",
        "operationId" : "checkFileConnectivity",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "fileid",
          "in" : "path",
          "description" : "ID of the Detour file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "example" : 1337
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DetourConnectivityInformation"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404" : {
            "description" : "Either the Detour file or the turn restriction was not found"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/file/all" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get all Detour files",
        "operationId" : "getAllDetourFiles",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DetourFile"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/maptrip/activefile" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get the active MapTrip Detour file",
        "operationId" : "getActiveMapTripFile",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The active Detour file",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DetourFile"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404" : {
            "description" : "There is no Detour file which is active for MapTrip"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "detour" ],
        "summary" : "Set the active MapTrip Detour file",
        "operationId" : "setActiveMapTripFile",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        } ],
        "requestBody" : {
          "description" : "The ID of a Detour file",
          "content" : {
            "text/plain" : {
              "schema" : {
                "type" : "string",
                "description" : "ID of the file",
                "example" : "1337"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Successful operation"
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404" : {
            "description" : "There is no Detour file with the provided ID",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "detour" ],
        "summary" : "Remove the active Detour file (disables Detour in MapTrip)",
        "operationId" : "removeActiveMapTripFile",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation"
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/detour/match" : {
      "post" : {
        "tags" : [ "detour" ],
        "summary" : "Match a polyline of coordinates to road segments. Deprecated, use [POST] /detour/file/{fileid}/segment/match instead",
        "operationId" : "matchToDetourSegmentDeprecated",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        } ],
        "requestBody" : {
          "description" : "An array of coordinates to match",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/Coordinate"
                }
              },
              "example" : [ {
                "lat" : 50.736909,
                "lon" : 7.092381
              }, {
                "lat" : 50.737198,
                "lon" : 7.091614
              }, {
                "lat" : 50.737582,
                "lon" : 7.092054
              } ]
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DetourMatch"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404" : {
            "description" : "No street segments found for this coordinates"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        },
        "deprecated" : true
      }
    },
    "/detour/turnrestrictions/{from}/{to}" : {
      "get" : {
        "tags" : [ "detour" ],
        "summary" : "Get turn restrictions in the specified extent of the map",
        "operationId" : "getTurnRestrictionsAsJson",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "from",
          "in" : "path",
          "description" : "A coordinate defining a corner of a bounding box (in WGS84 decimal degrees, EPSG:4326)",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : "50.73120,7.09480"
          }
        }, {
          "name" : "to",
          "in" : "path",
          "description" : "A coordinate defining a corner of a bounding box opposite to `from` (in WGS84 decimal degrees, EPSG:4326)",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : "50.74041,7.10670"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/TurnRestriction"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/geocoder" : {
      "get" : {
        "tags" : [ "geocoder" ],
        "summary" : "Geocode an address string",
        "operationId" : "geocodeAddressString",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap" ]
          }
        }, {
          "name" : "address",
          "in" : "query",
          "description" : "The address to geocode",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "Berlin"
          }
        }, {
          "name" : "country",
          "in" : "query",
          "description" : "ISO 3166-1 alpha-3 country code (leave empty to search in all countries)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "pattern" : "^[a-zA-Z]{3}$",
            "type" : "string",
            "example" : "DEU"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of hits",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "maximum" : 100,
            "minimum" : 1,
            "type" : "integer",
            "example" : 1
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/GeocodingResult"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/geocoder/structured" : {
      "get" : {
        "tags" : [ "geocoder" ],
        "summary" : "Geocode an address specified by street, house number, postal code and city",
        "operationId" : "geocodeAddress",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap" ]
          }
        }, {
          "name" : "street",
          "in" : "query",
          "description" : "Street name of the address",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "Riemenschneiderst."
          }
        }, {
          "name" : "housenumber",
          "in" : "query",
          "description" : "House number of the address",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "11"
          }
        }, {
          "name" : "postalcode",
          "in" : "query",
          "description" : "Postal code of the address (either postal code or city are required)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "53175"
          }
        }, {
          "name" : "city",
          "in" : "query",
          "description" : "City of the address (either postal code or city are required)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "Bonn"
          }
        }, {
          "name" : "country",
          "in" : "query",
          "description" : "ISO 3166-1 alpha-3 country code (leave empty to search in all countries)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "pattern" : "^[a-zA-Z]{3}$",
            "type" : "string",
            "example" : "DEU"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of hits",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "maximum" : 100,
            "minimum" : 1,
            "type" : "integer",
            "example" : 1
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/GeocodingResult"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/geocoder/reverse" : {
      "get" : {
        "tags" : [ "geocoder" ],
        "summary" : "Reverse geocode a coordinate",
        "operationId" : "reverseGeocodeLatLon",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap" ]
          }
        }, {
          "name" : "lat",
          "in" : "query",
          "description" : "Latitude of the coordinate in WGS 84 decimal degrees (EPSG:4326)",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "example" : 50.94212
          }
        }, {
          "name" : "lon",
          "in" : "query",
          "description" : "Longitude of the coordinate in WGS 84 decimal degrees (EPSG:4326)",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "example" : 6.95781
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of hits",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "maximum" : 100,
            "minimum" : 1,
            "type" : "integer",
            "example" : 1
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ReverseGeocodingResult"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/geocoder/countries" : {
      "get" : {
        "tags" : [ "geocoder" ],
        "summary" : "Queries a list of all countries and country ISO 3166-1 alpha-3 codes which can be used with the geocoder API",
        "operationId" : "getGeocoderCountries",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/Country"
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/geocoder/autocomplete" : {
      "get" : {
        "tags" : [ "geocoder" ],
        "summary" : "Get geocoder suggestions for an incomplete user input",
        "operationId" : "geocodeAutoComplete",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap" ]
          }
        }, {
          "name" : "address",
          "in" : "query",
          "description" : "The address to geocode",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "Berlin"
          }
        }, {
          "name" : "country",
          "in" : "query",
          "description" : "ISO 3166-1 alpha-3 country code",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "pattern" : "^[a-zA-Z]{3}$",
            "type" : "string",
            "example" : "DEU"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of hits",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "maximum" : 100,
            "minimum" : 1,
            "type" : "integer",
            "example" : 1
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/GeocodingResult"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/route" : {
      "get" : {
        "tags" : [ "route" ],
        "summary" : "Get a route",
        "operationId" : "getRoute",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "Origin coordinates in WGS84 decimal degrees (EPSG:4326)",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "50.73270,7.09630"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "Destination coordinates in WGS84 decimal degrees (EPSG:4326)",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "50.94212,6.95781"
          }
        }, {
          "name" : "waypoints",
          "in" : "query",
          "description" : "A semicolon separated list of coordinates in WGS84 decimal degrees (EPSG:4326). These may contain a radius in meters as a third parameter (lat,lon,radius)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "50.8382171,7.0917674,500"
          }
        }, {
          "name" : "startTime",
          "in" : "query",
          "description" : "Start time in ISO 8601 (date, time and time zone) or NOW. Do not provide for a time-independent route",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "2021-07-06T17:02:00+02:00"
          }
        }, {
          "name" : "vehicle",
          "in" : "query",
          "description" : "Vehicle type as returned by route/vehicletypes, e.g. car or truck_highway (default is car)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "car"
          }
        }, {
          "name" : "type",
          "in" : "query",
          "description" : "Type of the route, i.e. the fastest or the shortest route (default is fastest)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "fastest",
            "enum" : [ "fastest", "shortest" ]
          },
          "example" : "fastest"
        }, {
          "name" : "traffic",
          "in" : "query",
          "description" : "Use the live traffic situation for route calculation. This requires the parameter startTime to be NOW.",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "alternatives",
          "in" : "query",
          "description" : "Number of alternatives to the main route to calculate (0 to 2, default is 0)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "maximum" : 2,
            "minimum" : 0,
            "type" : "integer",
            "example" : 0
          }
        }, {
          "name" : "avoidToll",
          "in" : "query",
          "description" : "Avoids roads with tolls when calculating routes",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "avoidFerries",
          "in" : "query",
          "description" : "Avoids ferries in route calculation",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "avoidHighways",
          "in" : "query",
          "description" : "Avoids highways when calculating routes",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "width",
          "in" : "query",
          "description" : "Width of the vehicle in meters (e.g. 2.45)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "example" : 0
          }
        }, {
          "name" : "height",
          "in" : "query",
          "description" : "Height of the vehicle in meters (e.g. 2.7)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "example" : 0
          }
        }, {
          "name" : "length",
          "in" : "query",
          "description" : "Length of the vehicle in meters (e.g. 13.6)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "example" : 0,
            "default" : 0
          }
        }, {
          "name" : "weight",
          "in" : "query",
          "description" : "Weight of the vehicle in kilograms (e.g. 25000)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "example" : 0,
            "default" : 0
          }
        }, {
          "name" : "axles",
          "in" : "query",
          "description" : "Number of axles of the vehicle (e.g. 5)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "default" : 0
          }
        }, {
          "name" : "axleLoad",
          "in" : "query",
          "description" : "Total weight per axle of the vehicle (e.g. 8000)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "default" : 0
          }
        }, {
          "name" : "hazardousGoods",
          "in" : "query",
          "description" : "A flag indicating whether the vehicle is transporting hazardous goods",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "explosiveMaterials",
          "in" : "query",
          "description" : "A flag indicating whether the vehicle is transporting explosive materials",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "materialsHarmfulToWater",
          "in" : "query",
          "description" : "A flag indicating whether the vehicle is transporting materials harmful to water",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "tunnelRestrictionCode",
          "in" : "query",
          "description" : "The tunnel restriction code defines which tunnels can be used by a vehicle which is transporting hazardous goods",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "A", "B", "C", "D", "E" ]
          }
        }, {
          "name" : "emissionStandard",
          "in" : "query",
          "description" : "Emission standard of the vehicle valid in the European Union. Used for toll calculation",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "$ref" : "#/components/schemas/EmissionStandard"
          }
        }, {
          "name" : "co2EmissionClass",
          "in" : "query",
          "description" : "CO₂ emission class valid in the European Union. Used for toll calculation",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "maximum" : 5,
            "minimum" : 1,
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "lowEmissionZones",
          "in" : "query",
          "description" : "Activate low emission zone routing. When activated, inside Germany all low emission zones that are blocked for the set German vignette are avoided. Outside Germany all low emission zones are avoided, regardless of country specific regulations.",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "lezVignette",
          "in" : "query",
          "description" : "German vignette type for German low emission zones",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "$ref" : "#/components/schemas/Vignette"
          }
        }, {
          "name" : "detourFile",
          "in" : "query",
          "description" : "ID of a detour file as returned by the Detour API",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "default" : ""
          }
        }, {
          "name" : "emergencyRouting",
          "in" : "query",
          "description" : "Turn on emergency routing, which enables certain roads for route calculation",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "emergencyRoutingRadius",
          "in" : "query",
          "description" : "Radius in meters around the destination, where turning restrictions and one-way roads are ignored and parks and pedestrian areas are used for route calculation",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "maximum" : 5000,
            "minimum" : 0,
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "useTurnRestrictions",
          "in" : "query",
          "description" : "Use or ignore turn restrictions from the routing data provider. Inside the emergency radius, turn restrictions are always ignored. If you are unsure, do not turn this off",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : true
          }
        }, {
          "name" : "flavors",
          "in" : "query",
          "description" : "Query one or more routes with the specified flavors. Separate with commas for multiple flavors. Overwrites alternatives",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "default" : ""
          }
        }, {
          "name" : "costPerKilometer",
          "in" : "query",
          "description" : "Cost per kilometer in Euro. Used for the cost property in the route description",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "format" : "double"
          }
        }, {
          "name" : "costPerHour",
          "in" : "query",
          "description" : "Cost per hour in Euro. Used for the cost property in the route description",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "format" : "double"
          }
        }, {
          "name" : "joinGeometry",
          "in" : "query",
          "description" : "Join the geometry of the route to a single line string suited for rendering in a map. Turning this off will return a line string for every street segment.",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : true
          }
        }, {
          "name" : "Accept-Language",
          "in" : "header",
          "description" : "Language to use for the route description texts",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "default" : "en",
            "enum" : [ "en", "de", "uk" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/Route"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/route/eta" : {
      "get" : {
        "tags" : [ "route" ],
        "summary" : "Get the estimated time of arrival (ETA) of a route",
        "operationId" : "getRouteEta",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "Origin coordinates in WGS84 decimal degrees (EPSG:4326)",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "50.73270,7.09630"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "Destination coordinates in WGS84 decimal degrees (EPSG:4326)",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "50.94212,6.95781"
          }
        }, {
          "name" : "waypoints",
          "in" : "query",
          "description" : "A semicolon separated list of coordinates in WGS84 decimal degrees (EPSG:4326). These may contain a radius in meters as a third parameter (lat,lon,radius)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "50.8382171,7.0917674,500"
          }
        }, {
          "name" : "startTime",
          "in" : "query",
          "description" : "Start time in ISO 8601 (date, time and time zone) or NOW. Do not provide for a time-independent route",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "2021-07-06T17:02:00+02:00"
          }
        }, {
          "name" : "vehicle",
          "in" : "query",
          "description" : "Vehicle type as returned by route/vehicletypes, e.g. car or truck_highway (default is car)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "car"
          }
        }, {
          "name" : "type",
          "in" : "query",
          "description" : "Type of the route, i.e. the fastest or the shortest route (default is fastest)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "fastest",
            "enum" : [ "fastest", "shortest" ]
          },
          "example" : "fastest"
        }, {
          "name" : "traffic",
          "in" : "query",
          "description" : "Use the live traffic situation for route calculation. This requires the parameter startTime to be NOW.",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "avoidToll",
          "in" : "query",
          "description" : "Avoids roads with tolls when calculating routes",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "avoidFerries",
          "in" : "query",
          "description" : "Avoids ferries in route calculation",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "avoidHighways",
          "in" : "query",
          "description" : "Avoids highways when calculating routes",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "width",
          "in" : "query",
          "description" : "Width of the vehicle in meters (e.g. 2.45)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "example" : 0
          }
        }, {
          "name" : "height",
          "in" : "query",
          "description" : "Height of the vehicle in meters (e.g. 2.7)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "example" : 0
          }
        }, {
          "name" : "length",
          "in" : "query",
          "description" : "Length of the vehicle in meters (e.g. 13.6)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "example" : 0,
            "default" : 0
          }
        }, {
          "name" : "weight",
          "in" : "query",
          "description" : "Weight of the vehicle in kilograms (e.g. 25000)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "example" : 0,
            "default" : 0
          }
        }, {
          "name" : "axles",
          "in" : "query",
          "description" : "Number of axles of the vehicle (e.g. 5)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "default" : 0
          }
        }, {
          "name" : "axleLoad",
          "in" : "query",
          "description" : "Total weight per axle of the vehicle (e.g. 8000)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "default" : 0
          }
        }, {
          "name" : "hazardousGoods",
          "in" : "query",
          "description" : "A flag indicating whether the vehicle is transporting hazardous goods",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "explosiveMaterials",
          "in" : "query",
          "description" : "A flag indicating whether the vehicle is transporting explosive materials",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "materialsHarmfulToWater",
          "in" : "query",
          "description" : "A flag indicating whether the vehicle is transporting materials harmful to water",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "tunnelRestrictionCode",
          "in" : "query",
          "description" : "The tunnel restriction code defines which tunnels can be used by a vehicle which is transporting hazardous goods",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "A", "B", "C", "D", "E" ]
          }
        }, {
          "name" : "lowEmissionZones",
          "in" : "query",
          "description" : "Activate low emission zone routing. When activated, inside Germany all low emission zones that are blocked for the set German vignette are avoided. Outside Germany all low emission zones are avoided, regardless of country specific regulations.",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "lezVignette",
          "in" : "query",
          "description" : "German vignette type for German low emission zones",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "$ref" : "#/components/schemas/Vignette"
          }
        }, {
          "name" : "detourFile",
          "in" : "query",
          "description" : "ID of a detour file as returned by the Detour API",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "default" : ""
          }
        }, {
          "name" : "emergencyRouting",
          "in" : "query",
          "description" : "Turn on emergency routing, which enables certain roads for route calculation",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "emergencyRoutingRadius",
          "in" : "query",
          "description" : "Radius in meters around the destination, where turning restrictions and one-way roads are ignored and parks and pedestrian areas are used for route calculation",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "maximum" : 5000,
            "minimum" : 0,
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "useTurnRestrictions",
          "in" : "query",
          "description" : "Use or ignore turn restrictions from the routing data provider. Inside the emergency radius, turn restrictions are always ignored. If you are unsure, do not turn this off",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : true
          }
        }, {
          "name" : "flavors",
          "in" : "query",
          "description" : "Query a route with the specified flavor. Must not contain multiple flavors",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "default" : ""
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/RouteSummary"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/route/reference" : {
      "get" : {
        "tags" : [ "route" ],
        "summary" : "Get a reference route",
        "operationId" : "getReferenceRoute",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "Origin coordinates in WGS84 decimal degrees (EPSG:4326)",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "50.73270,7.09630"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "Destination coordinates in WGS84 decimal degrees (EPSG:4326)",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "50.94212,6.95781"
          }
        }, {
          "name" : "waypoints",
          "in" : "query",
          "description" : "A semicolon separated list of coordinates in WGS84 decimal degrees (EPSG:4326). These may contain a radius in meters as a third parameter (lat,lon,radius)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "50.8382171,7.0917674,500"
          }
        }, {
          "name" : "startTime",
          "in" : "query",
          "description" : "Start time in ISO 8601 (date, time and time zone) or NOW. Do not provide for a time-independent route",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "2021-07-06T17:02:00+02:00"
          }
        }, {
          "name" : "vehicle",
          "in" : "query",
          "description" : "Vehicle type as returned by route/vehicletypes, e.g. car or truck_highway (default is car)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "car"
          }
        }, {
          "name" : "type",
          "in" : "query",
          "description" : "Type of the route, i.e. the fastest or the shortest route (default is fastest)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "fastest",
            "enum" : [ "fastest", "shortest" ]
          },
          "example" : "fastest"
        }, {
          "name" : "traffic",
          "in" : "query",
          "description" : "Use the live traffic situation for route calculation. This requires the parameter startTime to be NOW.",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "avoidToll",
          "in" : "query",
          "description" : "Avoids roads with tolls when calculating routes",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "avoidFerries",
          "in" : "query",
          "description" : "Avoids ferries in route calculation",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "avoidHighways",
          "in" : "query",
          "description" : "Avoids highways when calculating routes",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "width",
          "in" : "query",
          "description" : "Width of the vehicle in meters (e.g. 2.45)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "example" : 0
          }
        }, {
          "name" : "height",
          "in" : "query",
          "description" : "Height of the vehicle in meters (e.g. 2.7)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "example" : 0
          }
        }, {
          "name" : "length",
          "in" : "query",
          "description" : "Length of the vehicle in meters (e.g. 13.6)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "example" : 0,
            "default" : 0
          }
        }, {
          "name" : "weight",
          "in" : "query",
          "description" : "Weight of the vehicle in kilograms (e.g. 25000)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "example" : 0,
            "default" : 0
          }
        }, {
          "name" : "axles",
          "in" : "query",
          "description" : "Number of axles of the vehicle (e.g. 5)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "default" : 0
          }
        }, {
          "name" : "axleLoad",
          "in" : "query",
          "description" : "Total weight per axle of the vehicle (e.g. 8000)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "default" : 0
          }
        }, {
          "name" : "hazardousGoods",
          "in" : "query",
          "description" : "A flag indicating whether the vehicle is transporting hazardous goods",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "explosiveMaterials",
          "in" : "query",
          "description" : "A flag indicating whether the vehicle is transporting explosive materials",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "materialsHarmfulToWater",
          "in" : "query",
          "description" : "A flag indicating whether the vehicle is transporting materials harmful to water",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "tunnelRestrictionCode",
          "in" : "query",
          "description" : "The tunnel restriction code defines which tunnels can be used by a vehicle which is transporting hazardous goods",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "A", "B", "C", "D", "E" ]
          }
        }, {
          "name" : "lowEmissionZones",
          "in" : "query",
          "description" : "Activate low emission zone routing. When activated, inside Germany all low emission zones that are blocked for the set German vignette are avoided. Outside Germany all low emission zones are avoided, regardless of country specific regulations.",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "lezVignette",
          "in" : "query",
          "description" : "German vignette type for German low emission zones",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "$ref" : "#/components/schemas/Vignette"
          }
        }, {
          "name" : "detourFile",
          "in" : "query",
          "description" : "ID of a detour file as returned by the Detour API",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "default" : ""
          }
        }, {
          "name" : "emergencyRouting",
          "in" : "query",
          "description" : "Turn on emergency routing, which enables certain roads for route calculation",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "emergencyRoutingRadius",
          "in" : "query",
          "description" : "Radius in meters around the destination, where turning restrictions and one-way roads are ignored and parks and pedestrian areas are used for route calculation",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "maximum" : 5000,
            "minimum" : 0,
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "useTurnRestrictions",
          "in" : "query",
          "description" : "Use or ignore turn restrictions from the routing data provider. Inside the emergency radius, turn restrictions are always ignored. If you are unsure, do not turn this off",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : true
          }
        }, {
          "name" : "flavors",
          "in" : "query",
          "description" : "Query a route with the specified flavor. Must not contain multiple flavors",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "default" : ""
          }
        }, {
          "name" : "costPerKilometer",
          "in" : "query",
          "description" : "Cost per kilometer in Euro. Used for the cost property in the route description",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "format" : "double"
          }
        }, {
          "name" : "costPerHour",
          "in" : "query",
          "description" : "Cost per hour in Euro. Used for the cost property in the route description",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "format" : "double"
          }
        }, {
          "name" : "distance",
          "in" : "query",
          "description" : "Distance (on the route) between the coordinates of the reference route in meters. The distance must be greater than zero. If this is not provided, the reference route uses one coordinate per road segment (recommended for most use cases).",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : ""
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "text/csv" : {
                "schema" : {
                  "type" : "string",
                  "format" : "csv"
                },
                "example" : "lat;lon\n50.7327;7.096295\n50.732695;7.096295\n50.732695;7.096295\n50.732717;7.096233\n50.732933;7.095433\n50.732996;7.095244\n50.733093;7.094993\n"
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/route/vehicletypes" : {
      "get" : {
        "tags" : [ "route" ],
        "summary" : "Get a list of vehicle types",
        "operationId" : "getRouteVehicleTypes",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  }
                },
                "example" : [ "truck_highway", "car" ]
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/matrix/sync" : {
      "post" : {
        "tags" : [ "matrix" ],
        "summary" : "Calculates a distance matrix for a list of stops. This is a synchronous call waiting for the result",
        "operationId" : "matrixSync",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap" ]
          }
        }, {
          "name" : "startTime",
          "in" : "query",
          "description" : "Start time in ISO 8601 (date, time and time zone)",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "2021-07-06T17:02:00+02:00"
          }
        }, {
          "name" : "vehicle",
          "in" : "query",
          "description" : "Vehicle type as returned by route/vehicletypes, e.g. car or truck_highway (default is car)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "car"
          }
        }, {
          "name" : "type",
          "in" : "query",
          "description" : "Type of the route, i.e. the fastest or the shortest route (default is fastest)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "fastest",
            "enum" : [ "fastest", "shortest" ]
          },
          "example" : "fastest"
        }, {
          "name" : "traffic",
          "in" : "query",
          "description" : "Use the live traffic situation for route calculation. This requires the tour to start now. **Deprecated:** This parameter is deprecated and will be removed in a future release.",
          "required" : false,
          "deprecated" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "avoidFerries",
          "in" : "query",
          "description" : "Avoids ferries in route calculation",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "avoidHighways",
          "in" : "query",
          "description" : "Avoids highways when calculating routes",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "width",
          "in" : "query",
          "description" : "Width of the vehicle in meters (e.g. 2.45)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "example" : 0
          }
        }, {
          "name" : "height",
          "in" : "query",
          "description" : "Height of the vehicle in meters (e.g. 2.7)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "example" : 0
          }
        }, {
          "name" : "length",
          "in" : "query",
          "description" : "Length of the vehicle in meters (e.g. 13.6)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "example" : 0,
            "default" : 0
          }
        }, {
          "name" : "weight",
          "in" : "query",
          "description" : "Weight of the vehicle in kilograms (e.g. 25000)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "example" : 0,
            "default" : 0
          }
        }, {
          "name" : "axles",
          "in" : "query",
          "description" : "Number of axles of the vehicle (e.g. 5)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "default" : 0
          }
        }, {
          "name" : "axleLoad",
          "in" : "query",
          "description" : "Total weight per axle of the vehicle (e.g. 8000)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "default" : 0
          }
        }, {
          "name" : "hazardousGoods",
          "in" : "query",
          "description" : "A flag indicating whether the vehicle is transporting hazardous goods",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "explosiveMaterials",
          "in" : "query",
          "description" : "A flag indicating whether the vehicle is transporting explosive materials",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "materialsHarmfulToWater",
          "in" : "query",
          "description" : "A flag indicating whether the vehicle is transporting materials harmful to water",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "tunnelRestrictionCode",
          "in" : "query",
          "description" : "The tunnel restriction code defines which tunnels can be used by a vehicle which is transporting hazardous goods",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "A", "B", "C", "D", "E" ]
          }
        }, {
          "name" : "detourFile",
          "in" : "query",
          "description" : "ID of a detour file as returned by the Detour API",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "default" : ""
          }
        } ],
        "requestBody" : {
          "description" : "The stops for the matrix calculation. All stop names have to be unique and at every stop has to be flagged as start or destination (or both). For a matrix calucation stops must not have a duration or timeslots.",
          "content" : {
            "application/json" : {
              "schema" : {
                "title" : "stops",
                "maxItems" : 200,
                "minItems" : 2,
                "type" : "array",
                "example" : [ {
                  "name" : "Hauptbahnhof",
                  "coordinate" : {
                    "lat" : 50.732301,
                    "lon" : 7.097502
                  },
                  "start" : true,
                  "destination" : false
                }, {
                  "name" : "Breite Str.",
                  "coordinate" : {
                    "lat" : 50.738336,
                    "lon" : 7.095706
                  },
                  "start" : false,
                  "destination" : true
                }, {
                  "name" : "Weiherstr.",
                  "coordinate" : {
                    "lat" : 50.736722,
                    "lon" : 7.092231
                  },
                  "start" : false,
                  "destination" : true
                }, {
                  "name" : "Dorotheenstr.",
                  "coordinate" : {
                    "lat" : 50.739458,
                    "lon" : 7.092619
                  },
                  "start" : false,
                  "destination" : true
                } ],
                "items" : {
                  "$ref" : "#/components/schemas/Stop"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Matrix was calculated",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Matrix"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/matrix/async" : {
      "post" : {
        "tags" : [ "matrix" ],
        "summary" : "Calculates a distance matrix for a list of stops. This is a asynchronous call which returns a job ID which can be used to fetch the result later",
        "operationId" : "matrixAsync",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap" ]
          }
        }, {
          "name" : "startTime",
          "in" : "query",
          "description" : "Start time in ISO 8601 (date, time and time zone)",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "2021-07-06T17:02:00+02:00"
          }
        }, {
          "name" : "vehicle",
          "in" : "query",
          "description" : "Vehicle type as returned by route/vehicletypes, e.g. car or truck_highway (default is car)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "car"
          }
        }, {
          "name" : "type",
          "in" : "query",
          "description" : "Type of the route, i.e. the fastest or the shortest route (default is fastest)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "fastest",
            "enum" : [ "fastest", "shortest" ]
          },
          "example" : "fastest"
        }, {
          "name" : "traffic",
          "in" : "query",
          "description" : "Use the live traffic situation for route calculation. This requires the tour to start now. **Deprecated:** This parameter is deprecated and will be removed in a future release.",
          "required" : false,
          "deprecated" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "avoidFerries",
          "in" : "query",
          "description" : "Avoids ferries in route calculation",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "avoidHighways",
          "in" : "query",
          "description" : "Avoids highways when calculating routes",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "width",
          "in" : "query",
          "description" : "Width of the vehicle in meters (e.g. 2.45)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "example" : 0
          }
        }, {
          "name" : "height",
          "in" : "query",
          "description" : "Height of the vehicle in meters (e.g. 2.7)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "example" : 0
          }
        }, {
          "name" : "length",
          "in" : "query",
          "description" : "Length of the vehicle in meters (e.g. 13.6)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "example" : 0,
            "default" : 0
          }
        }, {
          "name" : "weight",
          "in" : "query",
          "description" : "Weight of the vehicle in kilograms (e.g. 25000)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "example" : 0,
            "default" : 0
          }
        }, {
          "name" : "axles",
          "in" : "query",
          "description" : "Number of axles of the vehicle (e.g. 5)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "default" : 0
          }
        }, {
          "name" : "axleLoad",
          "in" : "query",
          "description" : "Total weight per axle of the vehicle (e.g. 8000)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "default" : 0
          }
        }, {
          "name" : "hazardousGoods",
          "in" : "query",
          "description" : "A flag indicating whether the vehicle is transporting hazardous goods",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "explosiveMaterials",
          "in" : "query",
          "description" : "A flag indicating whether the vehicle is transporting explosive materials",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "materialsHarmfulToWater",
          "in" : "query",
          "description" : "A flag indicating whether the vehicle is transporting materials harmful to water",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "tunnelRestrictionCode",
          "in" : "query",
          "description" : "The tunnel restriction code defines which tunnels can be used by a vehicle which is transporting hazardous goods",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "A", "B", "C", "D", "E" ]
          }
        }, {
          "name" : "detourFile",
          "in" : "query",
          "description" : "ID of a detour file as returned by the Detour API",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "default" : ""
          }
        } ],
        "requestBody" : {
          "description" : "The stops for the matrix calculation. All stop names have to be unique and at every stop has to be flagged as start or destination (or both). For a matrix calucation stops must not have a duration or timeslots.",
          "content" : {
            "application/json" : {
              "schema" : {
                "title" : "stops",
                "maxItems" : 200,
                "minItems" : 2,
                "type" : "array",
                "example" : [ {
                  "name" : "Hauptbahnhof",
                  "coordinate" : {
                    "lat" : 50.732301,
                    "lon" : 7.097502
                  },
                  "start" : true,
                  "destination" : false
                }, {
                  "name" : "Breite Str.",
                  "coordinate" : {
                    "lat" : 50.738336,
                    "lon" : 7.095706
                  },
                  "start" : false,
                  "destination" : true
                }, {
                  "name" : "Weiherstr.",
                  "coordinate" : {
                    "lat" : 50.736722,
                    "lon" : 7.092231
                  },
                  "start" : false,
                  "destination" : true
                }, {
                  "name" : "Dorotheenstr.",
                  "coordinate" : {
                    "lat" : 50.739458,
                    "lon" : 7.092619
                  },
                  "start" : false,
                  "destination" : true
                } ],
                "items" : {
                  "$ref" : "#/components/schemas/Stop"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "202" : {
            "description" : "Matrix request was accepted",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MatrixRequest"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/matrix/async/{id}" : {
      "get" : {
        "tags" : [ "matrix" ],
        "summary" : "Fetch the result of a distance matrix request. This contains the matrix entries if the status is \"Done\", otherwise try again later",
        "operationId" : "getMatrixEntries",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "ID of the distance matrix request",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : "77a735b7-f21f-4102-993f-ba1e279ac28a"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Matrix request found, see status",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Matrix"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404" : {
            "description" : "Not found, there is no matrix job with this ID"
          }
        }
      }
    },
    "/optimize/stops" : {
      "post" : {
        "tags" : [ "optimize" ],
        "summary" : "Find the best order for a list of stops (i.e. this order will produce the the fastest or shortest route)",
        "operationId" : "optimizeStops",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap" ]
          }
        }, {
          "name" : "startTime",
          "in" : "query",
          "description" : "Start time in ISO 8601 (date, time and time zone)",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "2021-07-06T17:02:00+02:00"
          }
        }, {
          "name" : "vehicle",
          "in" : "query",
          "description" : "Vehicle type as returned by route/vehicletypes, e.g. car or truck_highway (default is car)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "car"
          }
        }, {
          "name" : "type",
          "in" : "query",
          "description" : "Type of the route, i.e. the fastest or the shortest route (default is fastest)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "fastest",
            "enum" : [ "fastest", "shortest" ]
          },
          "example" : "fastest"
        }, {
          "name" : "traffic",
          "in" : "query",
          "description" : "Use the live traffic situation for route calculation. This requires the tour to start now. **Deprecated:** This parameter is deprecated and will be removed in a future release.",
          "required" : false,
          "deprecated" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "width",
          "in" : "query",
          "description" : "Width of the vehicle in meters (e.g. 2.45)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "example" : 0
          }
        }, {
          "name" : "height",
          "in" : "query",
          "description" : "Height of the vehicle in meters (e.g. 2.7)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "example" : 0
          }
        }, {
          "name" : "length",
          "in" : "query",
          "description" : "Length of the vehicle in meters (e.g. 13.6)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "example" : 0,
            "default" : 0
          }
        }, {
          "name" : "weight",
          "in" : "query",
          "description" : "Weight of the vehicle in kilograms (e.g. 25000)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "example" : 0,
            "default" : 0
          }
        }, {
          "name" : "axles",
          "in" : "query",
          "description" : "Number of axles of the vehicle (e.g. 5)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "default" : 0
          }
        }, {
          "name" : "axleLoad",
          "in" : "query",
          "description" : "Total weight per axle of the vehicle (e.g. 8000)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "number",
            "default" : 0
          }
        }, {
          "name" : "hazardousGoods",
          "in" : "query",
          "description" : "A flag indicating whether the vehicle is transporting hazardous goods",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "explosiveMaterials",
          "in" : "query",
          "description" : "A flag indicating whether the vehicle is transporting explosive materials",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "materialsHarmfulToWater",
          "in" : "query",
          "description" : "A flag indicating whether the vehicle is transporting materials harmful to water",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "tunnelRestrictionCode",
          "in" : "query",
          "description" : "The tunnel restriction code defines which tunnels can be used by a vehicle which is transporting hazardous goods",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "A", "B", "C", "D", "E" ]
          }
        }, {
          "name" : "detourFile",
          "in" : "query",
          "description" : "ID of a detour file as returned by the Detour API",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "default" : ""
          }
        } ],
        "requestBody" : {
          "description" : "The stops to optimize. All stop names have to be unique and at least one stop has to be flagged as start and one as destination (this can be the same for a round trip)",
          "content" : {
            "application/json" : {
              "schema" : {
                "title" : "stops",
                "maxItems" : 200,
                "minItems" : 2,
                "type" : "array",
                "example" : [ {
                  "name" : "Breite Str.",
                  "coordinate" : {
                    "lat" : 50.738336,
                    "lon" : 7.095706
                  },
                  "start" : false,
                  "destination" : false
                }, {
                  "name" : "Hauptbahnhof",
                  "coordinate" : {
                    "lat" : 50.732301,
                    "lon" : 7.097502
                  },
                  "start" : true,
                  "destination" : true
                }, {
                  "name" : "Weiherstr.",
                  "coordinate" : {
                    "lat" : 50.736722,
                    "lon" : 7.092231
                  },
                  "start" : false,
                  "destination" : false
                }, {
                  "name" : "Dorotheenstr.",
                  "coordinate" : {
                    "lat" : 50.739458,
                    "lon" : 7.092619
                  },
                  "start" : false,
                  "destination" : false
                } ],
                "items" : {
                  "$ref" : "#/components/schemas/Stop"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "202" : {
            "description" : "Optimization request was accepted",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OptimizationRequest"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/optimize/stops/{id}" : {
      "get" : {
        "tags" : [ "optimize" ],
        "summary" : "Fetch the result of an optimization request. This contains the optimized order if the status is \"Done\", otherwise try again later",
        "operationId" : "getOptimizedStops",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "ID of the optimization request",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : "77a735b7-f21f-4102-993f-ba1e279ac28a"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Optimization request found, see status",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Optimization"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "404" : {
            "description" : "Not found, there is no optimization job with this ID"
          }
        }
      }
    },
    "/followme/devices" : {
      "get" : {
        "tags" : [ "followme" ],
        "summary" : "Get a list of all your devices configured for MapTrip FollowMe. Deprecated, use [GET] /followme/folder/{folder}/devices instead",
        "operationId" : "getFollowMeDevices",
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "example" : "84a265b7-f31f-4402-993f-ba2e279ac28a"
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for FollowMe functionality"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        },
        "deprecated" : true
      }
    },
    "/followme/devices/details" : {
      "get" : {
        "tags" : [ "followme" ],
        "summary" : "Get a list with details of all your devices configured for MapTrip FollowMe. Deprecated, use [GET] /followme/folder/{folder}/devices/details instead",
        "operationId" : "getFollowMeDetailedDevices",
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/Device"
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for FollowMe functionality"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        },
        "deprecated" : true
      }
    },
    "/followme/folder" : {
      "get" : {
        "tags" : [ "followme" ],
        "summary" : "Get all FollowMe folders",
        "operationId" : "getFollowMeFolders",
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/FollowMeFolder"
                  }
                },
                "example" : [ {
                  "id" : 12345,
                  "name" : "My FollowMe tours",
                  "files" : [ "Test Tour" ],
                  "folders" : [ {
                    "id" : "12345~Bonn",
                    "name" : "Bonn",
                    "files" : [ "Bonn West", "Bonn East" ]
                  }, {
                    "id" : "12345~Cologne",
                    "name" : "Cologne",
                    "files" : [ "Cologne North", "Cologne East" ]
                  } ]
                } ]
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for FollowMe functionality"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/followme/folder/{folder}" : {
      "put" : {
        "tags" : [ "followme" ],
        "summary" : "Renames a FollowMe folder",
        "operationId" : "renameFolder",
        "parameters" : [ {
          "name" : "folder",
          "in" : "path",
          "description" : "ID of the folder",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 50,
            "minLength" : 1,
            "type" : "string",
            "example" : "36315~Bonn"
          }
        } ],
        "requestBody" : {
          "description" : "FollowMe folder with the new name (a-z lower upper and upper case letters, german umlauts, digits and underscores are allowed, the length has to be 1 to 50 characters)",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/FollowMeFolder"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Successful operation"
          },
          "400" : {
            "description" : "The folder name is invalid"
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for FollowMe functionality"
          },
          "404" : {
            "description" : "There is no folder with the old ID"
          },
          "409" : {
            "description" : "There already is a folder with the new name"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "followme" ],
        "summary" : "Creates a FollowMe folder in the parent folder",
        "operationId" : "createFolder",
        "parameters" : [ {
          "name" : "folder",
          "in" : "path",
          "description" : "ID of the folder",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 50,
            "minLength" : 1,
            "type" : "string",
            "example" : "36315~Bonn"
          }
        } ],
        "requestBody" : {
          "description" : "The FollowMe folder to create",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/FollowMeFolder"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Successful operation"
          },
          "400" : {
            "description" : "The folder name is invalid"
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for FollowMe functionality"
          },
          "404" : {
            "description" : "There is no parent folder with the provided ID"
          },
          "409" : {
            "description" : "There already is a folder with the same name"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "followme" ],
        "summary" : "Deletes a FollowMe folder",
        "operationId" : "deleteFolder",
        "parameters" : [ {
          "name" : "folder",
          "in" : "path",
          "description" : "ID of the folder",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 50,
            "minLength" : 1,
            "type" : "string",
            "example" : "36315~Bonn"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation"
          },
          "400" : {
            "description" : "The folder name is invalid"
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for FollowMe functionality"
          },
          "404" : {
            "description" : "There is no folder with the provided ID"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/followme/folder/{folder}/devices" : {
      "get" : {
        "tags" : [ "followme" ],
        "summary" : "Get a list of all your devices configured for a MapTrip FollowMe folder",
        "operationId" : "getFollowMeDevicesForPot",
        "parameters" : [ {
          "name" : "folder",
          "in" : "path",
          "description" : "ID of the folder",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 50,
            "minLength" : 1,
            "type" : "string",
            "example" : "36315~Bonn"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "example" : "84a265b7-f31f-4402-993f-ba2e279ac28a"
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for FollowMe functionality"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/followme/folder/{folder}/devices/details" : {
      "get" : {
        "tags" : [ "followme" ],
        "summary" : "Get a list with details of all your devices configured for MapTrip FollowMe",
        "operationId" : "getFollowMeDetailedDevicesForPot",
        "parameters" : [ {
          "name" : "folder",
          "in" : "path",
          "description" : "ID of the folder",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 50,
            "minLength" : 1,
            "type" : "string",
            "example" : "36315~Bonn"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/Device"
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for FollowMe functionality"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/followme/folder/{folder}/file" : {
      "post" : {
        "tags" : [ "followme" ],
        "summary" : "Create a new FollowMe file",
        "operationId" : "createFollowMeFile",
        "parameters" : [ {
          "name" : "folder",
          "in" : "path",
          "description" : "ID of the folder",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 50,
            "minLength" : 1,
            "type" : "string",
            "example" : "36315~Bonn"
          }
        } ],
        "requestBody" : {
          "description" : "The FollowMe file to create",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/FollowMeFile"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "successful operation"
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for FollowMe functionality"
          },
          "404" : {
            "description" : "There is no folder with the provided ID"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/followme/folder/{folder}/file/{file}" : {
      "get" : {
        "tags" : [ "followme" ],
        "summary" : "Get the attributes of a FollowMe file",
        "operationId" : "getFollowMeFile",
        "parameters" : [ {
          "name" : "folder",
          "in" : "path",
          "description" : "ID of the folder",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 50,
            "minLength" : 1,
            "type" : "string",
            "example" : "36315~Bonn"
          }
        }, {
          "name" : "file",
          "in" : "path",
          "description" : "Name of the file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 50,
            "minLength" : 1,
            "type" : "string",
            "example" : "MyFile"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FollowMeFile"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for FollowMe functionality"
          },
          "404" : {
            "description" : "This file does not exist in the folder with the provided ID"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "followme" ],
        "summary" : "Update the attributes of a FollowMe file",
        "operationId" : "updateFollowMeFile",
        "parameters" : [ {
          "name" : "folder",
          "in" : "path",
          "description" : "ID of the folder",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 50,
            "minLength" : 1,
            "type" : "string",
            "example" : "36315~Bonn"
          }
        }, {
          "name" : "file",
          "in" : "path",
          "description" : "Name of the file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 50,
            "minLength" : 1,
            "type" : "string",
            "example" : "MyFile"
          }
        } ],
        "requestBody" : {
          "description" : "The file attributes to store for this FollowMe file (versions will be ignored)",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/FollowMeFile"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "successful operation"
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for FollowMe functionality"
          },
          "404" : {
            "description" : "This file does not exist in the folder with the provided ID"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "followme" ],
        "summary" : "Delete a FollowMe file",
        "operationId" : "deleteFollowMeFile",
        "parameters" : [ {
          "name" : "folder",
          "in" : "path",
          "description" : "ID of the folder",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 50,
            "minLength" : 1,
            "type" : "string",
            "example" : "36315~Bonn"
          }
        }, {
          "name" : "file",
          "in" : "path",
          "description" : "Name of the file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 50,
            "minLength" : 1,
            "type" : "string",
            "example" : "MyFile"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation"
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for FollowMe functionality"
          },
          "404" : {
            "description" : "This file does not exist in the folder with the provided ID"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/followme/folder/{folder}/file/{file}/publish/all" : {
      "post" : {
        "tags" : [ "followme" ],
        "summary" : "Publish a FollowMe file to all devices",
        "operationId" : "publishFollowMeFileToAllDevices",
        "parameters" : [ {
          "name" : "folder",
          "in" : "path",
          "description" : "ID of the folder",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 50,
            "minLength" : 1,
            "type" : "string",
            "example" : "36315~Bonn"
          }
        }, {
          "name" : "file",
          "in" : "path",
          "description" : "Name of the file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 50,
            "minLength" : 1,
            "type" : "string",
            "example" : "MyFile"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation"
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for FollowMe functionality"
          },
          "404" : {
            "description" : "There is no folder with the provided ID or the file does not exist in this folder"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/followme/folder/{folder}/file/{file}/publish/devices" : {
      "post" : {
        "tags" : [ "followme" ],
        "summary" : "Publish a FollowMe file to the provided list of devices",
        "operationId" : "publishFollowMeFileToProvidedDevices",
        "parameters" : [ {
          "name" : "folder",
          "in" : "path",
          "description" : "ID of the folder",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 50,
            "minLength" : 1,
            "type" : "string",
            "example" : "36315~Bonn"
          }
        }, {
          "name" : "file",
          "in" : "path",
          "description" : "Name of the file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 50,
            "minLength" : 1,
            "type" : "string",
            "example" : "MyFile"
          }
        } ],
        "requestBody" : {
          "description" : "A list of device IDs to publish the FollowMe file to",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                }
              },
              "example" : [ "84a265b7-f31f-4402-993f-ba2e279ac28a" ]
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "successful operation"
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for FollowMe functionality"
          },
          "404" : {
            "description" : "There is no folder with the provided ID or the file does not exist in this folder"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/followme/folder/{folder}/file/{file}/unpublish" : {
      "post" : {
        "tags" : [ "followme" ],
        "summary" : "Unpublish a FollowMe file",
        "operationId" : "unpublishFollowMeFile",
        "parameters" : [ {
          "name" : "folder",
          "in" : "path",
          "description" : "ID of the folder",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 50,
            "minLength" : 1,
            "type" : "string",
            "example" : "36315~Bonn"
          }
        }, {
          "name" : "file",
          "in" : "path",
          "description" : "Name of the file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 50,
            "minLength" : 1,
            "type" : "string",
            "example" : "MyFile"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation"
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for FollowMe functionality"
          },
          "404" : {
            "description" : "There is no folder with the provided ID or the file does not exist in this folder"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/followme/folder/{folder}/file/{file}/csv" : {
      "get" : {
        "tags" : [ "followme" ],
        "summary" : "Get the latest content of a FollowMe file",
        "operationId" : "getFollowMeFileCsv",
        "parameters" : [ {
          "name" : "folder",
          "in" : "path",
          "description" : "ID of the folder",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 50,
            "minLength" : 1,
            "type" : "string",
            "example" : "36315~Bonn"
          }
        }, {
          "name" : "file",
          "in" : "path",
          "description" : "Name of the file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 50,
            "minLength" : 1,
            "type" : "string",
            "example" : "MyFile"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "text/csv" : {
                "schema" : {
                  "type" : "string"
                },
                "example" : "lat;lon\n50.7327;7.096295\n50.732695;7.096295\n50.732695;7.096295\n50.732717;7.096233\n50.732933;7.095433\n50.732996;7.095244\n50.733093;7.094993\n"
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for FollowMe functionality"
          },
          "404" : {
            "description" : "Either the folder, the file or the file version does not exist"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "followme" ],
        "summary" : "Upload a FollowMe track provided as CSV data",
        "operationId" : "uploadFollowMeCsv",
        "parameters" : [ {
          "name" : "folder",
          "in" : "path",
          "description" : "ID of the folder",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 50,
            "minLength" : 1,
            "type" : "string",
            "example" : "36315~Bonn"
          }
        }, {
          "name" : "file",
          "in" : "path",
          "description" : "Name of the file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 50,
            "minLength" : 1,
            "type" : "string",
            "example" : "MyFile"
          }
        } ],
        "requestBody" : {
          "description" : "The CSV content to store for this FollowMe file",
          "content" : {
            "text/csv" : {
              "schema" : {
                "type" : "string"
              },
              "example" : "lat;lon\n50.7327;7.096295\n50.732695;7.096295\n50.732695;7.096295\n50.732717;7.096233\n50.732933;7.095433\n50.732996;7.095244\n50.733093;7.094993\n"
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "successful operation"
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for FollowMe functionality"
          },
          "404" : {
            "description" : "There is no folder with the provided ID or the file does not exist in this folder"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/followme/folder/{folder}/file/{file}/csv/{date}" : {
      "get" : {
        "tags" : [ "followme" ],
        "summary" : "Get the content of a FollowMe file for the provided date",
        "operationId" : "getFollowMeFileCsvForDate",
        "parameters" : [ {
          "name" : "folder",
          "in" : "path",
          "description" : "ID of the folder",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 50,
            "minLength" : 1,
            "type" : "string",
            "example" : "36315~Bonn"
          }
        }, {
          "name" : "file",
          "in" : "path",
          "description" : "Name of the file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 50,
            "minLength" : 1,
            "type" : "string",
            "example" : "MyFile"
          }
        }, {
          "name" : "date",
          "in" : "path",
          "description" : "Date of the ride (yyyy-mm-dd for year, month and day)",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "pattern" : "[0-9]{4}-[0-9]{2}-[0-9]{2}",
            "type" : "string",
            "example" : "2021-07-26"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "text/csv" : {
                "schema" : {
                  "type" : "string"
                },
                "example" : "lat;lon\n50.7327;7.096295\n50.732695;7.096295\n50.732695;7.096295\n50.732717;7.096233\n50.732933;7.095433\n50.732996;7.095244\n50.733093;7.094993\n"
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for FollowMe functionality"
          },
          "404" : {
            "description" : "Either the folder, the file or the file version does not exist"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/followme/folder/{folder}/file/{file}/ride/{ride}/status" : {
      "get" : {
        "tags" : [ "followme" ],
        "summary" : "Get the status of a ride",
        "operationId" : "getFollowMeStatus",
        "parameters" : [ {
          "name" : "folder",
          "in" : "path",
          "description" : "ID of the folder",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 50,
            "minLength" : 1,
            "type" : "string",
            "example" : "36315~Bonn"
          }
        }, {
          "name" : "file",
          "in" : "path",
          "description" : "Name of the file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 50,
            "minLength" : 1,
            "type" : "string",
            "example" : "MyFile"
          }
        }, {
          "name" : "ride",
          "in" : "path",
          "description" : "ID of the ride",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "ID of the ride",
            "example" : "2021-07-26~1~77a735b7-f21f-4102-993f-ba1e279ac28a"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FeatureCollection"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for FollowMe functionality"
          },
          "404" : {
            "description" : "Either the folder, the file or the file version does not exist or there is no ride with this date and device ID"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/followme/folder/{folder}/file/{file}/ride/{ride}/remarks" : {
      "get" : {
        "tags" : [ "followme" ],
        "summary" : "Get the remarks for a ride",
        "operationId" : "getFollowMeRemarks",
        "parameters" : [ {
          "name" : "folder",
          "in" : "path",
          "description" : "ID of the folder",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 50,
            "minLength" : 1,
            "type" : "string",
            "example" : "36315~Bonn"
          }
        }, {
          "name" : "file",
          "in" : "path",
          "description" : "Name of the file",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 50,
            "minLength" : 1,
            "type" : "string",
            "example" : "MyFile"
          }
        }, {
          "name" : "ride",
          "in" : "path",
          "description" : "ID of the ride",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "ID of the ride",
            "example" : "2021-07-26~1~77a735b7-f21f-4102-993f-ba1e279ac28a"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FeatureCollection"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for FollowMe functionality"
          },
          "404" : {
            "description" : "Either the folder, the file or the file version does not exist or there is no ride with this date and device ID"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/followme/folder/{folder}/status" : {
      "get" : {
        "tags" : [ "followme" ],
        "summary" : "Get the status of all rides in a period of all files in this folder",
        "operationId" : "getFollowMeFolderStatus",
        "parameters" : [ {
          "name" : "folder",
          "in" : "path",
          "description" : "ID of the folder",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 50,
            "minLength" : 1,
            "type" : "string",
            "example" : "36315~Bonn"
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "Start date of the period (yyyy-mm-dd for year, month and day)",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "pattern" : "[0-9]{4}-[0-9]{2}-[0-9]{2}",
            "type" : "string",
            "example" : "2025-03-01"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "End date of the period (yyyy-mm-dd for year, month and day)",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "pattern" : "[0-9]{4}-[0-9]{2}-[0-9]{2}",
            "type" : "string",
            "example" : "2025-03-31"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FeatureCollectionMap"
                }
              }
            }
          },
          "400" : {
            "description" : "The folder name or the dates are not valid"
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for FollowMe functionality"
          },
          "404" : {
            "description" : "The folder does not exist"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/followme/folder/{folder}/remarks" : {
      "get" : {
        "tags" : [ "followme" ],
        "summary" : "Get the remarks of all rides in a period of all files in this folder",
        "operationId" : "getFollowMeFolderRemarks",
        "parameters" : [ {
          "name" : "folder",
          "in" : "path",
          "description" : "ID of the folder",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 50,
            "minLength" : 1,
            "type" : "string",
            "example" : "36315~Bonn"
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "Start date of the period (yyyy-mm-dd for year, month and day)",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "pattern" : "[0-9]{4}-[0-9]{2}-[0-9]{2}",
            "type" : "string",
            "example" : "2025-03-01"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "End date of the period (yyyy-mm-dd for year, month and day)",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "pattern" : "[0-9]{4}-[0-9]{2}-[0-9]{2}",
            "type" : "string",
            "example" : "2025-03-31"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FeatureCollectionMap"
                }
              }
            }
          },
          "400" : {
            "description" : "The folder name or the dates are not valid"
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for FollowMe functionality"
          },
          "404" : {
            "description" : "The folder does not exist"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/followme/maps" : {
      "get" : {
        "tags" : [ "followme" ],
        "summary" : "Get a list of all available maps configured for MapTrip FollowMe",
        "operationId" : "getFollowMeMaps",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/FollowMeMap"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for FollowMe functionality"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/poi/fuelstations/{id}" : {
      "get" : {
        "tags" : [ "poi" ],
        "summary" : "Get the details of a fuel station",
        "operationId" : "getFuelStationDetailsById",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The ID of a fuel station",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "minimum" : 1,
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "Accept-Language",
          "in" : "header",
          "description" : "Language to use for the route description texts",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "default" : "en",
            "enum" : [ "en", "de", "uk" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FuelStationDetails"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Your license does not allow you to retrieve fuel stations"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/poi/fuelstations/{from}/{to}" : {
      "get" : {
        "tags" : [ "poi" ],
        "summary" : "Get a GeoJSON with all fuel stations in the provided bounding box",
        "operationId" : "getFuelStationsInBoundingBox",
        "parameters" : [ {
          "name" : "from",
          "in" : "path",
          "description" : "A coordinate defining a corner of a bounding box (in WGS84 decimal degrees, EPSG:4326)",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : "53.60778,9.87150"
          }
        }, {
          "name" : "to",
          "in" : "path",
          "description" : "A coordinate defining a corner of a bounding box opposite to `from` (in WGS84 decimal degrees, EPSG:4326)",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : "53.52173,10.06651"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FeatureCollection"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Your license does not allow you to retrieve fuel stations"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/poi/fuelstations/{fuelType}/{from}/{to}" : {
      "get" : {
        "tags" : [ "poi" ],
        "summary" : "Get a GeoJSON (with prices and brands) with all fuel stations in the provided bounding box which offer the specified type of fuel",
        "operationId" : "getFuelStationsWithTypeInBoundingBox",
        "parameters" : [ {
          "name" : "fuelType",
          "in" : "path",
          "description" : "The type of fuel for which the prices are queried",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/FuelType"
          }
        }, {
          "name" : "from",
          "in" : "path",
          "description" : "A coordinate defining a corner of a bounding box (in WGS84 decimal degrees, EPSG:4326)",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : "53.60778,9.87150"
          }
        }, {
          "name" : "to",
          "in" : "path",
          "description" : "A coordinate defining a corner of a bounding box opposite to `from` (in WGS84 decimal degrees, EPSG:4326)",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : "53.52173,10.06651"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FeatureCollection"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Your license does not allow you to retrieve fuel stations"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/poi/parking/{from}/{to}" : {
      "get" : {
        "tags" : [ "poi" ],
        "summary" : "Get a GeoJSON with all parking areas in the provided bounding box",
        "operationId" : "getParkingAreasInBoundingBox",
        "parameters" : [ {
          "name" : "from",
          "in" : "path",
          "description" : "A coordinate defining a corner of a bounding box (in WGS84 decimal degrees, EPSG:4326)",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : "53.60778,9.87150"
          }
        }, {
          "name" : "to",
          "in" : "path",
          "description" : "A coordinate defining a corner of a bounding box opposite to `from` (in WGS84 decimal degrees, EPSG:4326)",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : "53.52173,10.06651"
          }
        }, {
          "name" : "Accept-Language",
          "in" : "header",
          "description" : "Language to use for the route description texts",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "default" : "en",
            "enum" : [ "en", "de", "fr", "it", "pl", "hu", "uk", "cs", "ro" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FeatureCollection"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Your license does not allow you to retrieve parking spaces"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/poi/roadworks/points/{from}/{to}" : {
      "get" : {
        "tags" : [ "poi" ],
        "summary" : "Get a GeoJSON with all road works in the provided bounding box as point features",
        "operationId" : "getRoadWorksPointsInBoundingBox",
        "parameters" : [ {
          "name" : "from",
          "in" : "path",
          "description" : "A coordinate defining a corner of a bounding box (in WGS84 decimal degrees, EPSG:4326)",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : "53.60778,9.87150"
          }
        }, {
          "name" : "to",
          "in" : "path",
          "description" : "A coordinate defining a corner of a bounding box opposite to `from` (in WGS84 decimal degrees, EPSG:4326)",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : "53.52173,10.06651"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FeatureCollection"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Your license does not allow you to retrieve road works"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/poi/roadworks/lines/{from}/{to}" : {
      "get" : {
        "tags" : [ "poi" ],
        "summary" : "Get a GeoJSON with all road works in the provided bounding box as line features",
        "operationId" : "getRoadWorksLinesInBoundingBox",
        "parameters" : [ {
          "name" : "from",
          "in" : "path",
          "description" : "A coordinate defining a corner of a bounding box (in WGS84 decimal degrees, EPSG:4326)",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : "53.60778,9.87150"
          }
        }, {
          "name" : "to",
          "in" : "path",
          "description" : "A coordinate defining a corner of a bounding box opposite to `from` (in WGS84 decimal degrees, EPSG:4326)",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : "53.52173,10.06651"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FeatureCollection"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Your license does not allow you to retrieve road works"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/remote/devices" : {
      "get" : {
        "tags" : [ "remote" ],
        "summary" : "Get a list of the IDs of all your devices running MapTrip",
        "operationId" : "getDevices",
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "example" : "84a265b7-f31f-4402-993f-ba2e279ac28a"
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for MapTrip Remote functionality"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/remote/devices/details" : {
      "get" : {
        "tags" : [ "remote" ],
        "summary" : "Get a list with details of all your devices running MapTrip",
        "operationId" : "getDetailedDevices",
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/Device"
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for MapTrip Remote functionality"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/remote/name/{device}" : {
      "put" : {
        "tags" : [ "remote" ],
        "summary" : "Name a device",
        "operationId" : "setDeviceName",
        "parameters" : [ {
          "name" : "device",
          "in" : "path",
          "description" : "ID of the device",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 100,
            "minLength" : 1,
            "type" : "string",
            "example" : "84a265b7-f31f-4402-993f-ba2e279ac28a"
          }
        } ],
        "requestBody" : {
          "description" : "The name for the device",
          "content" : {
            "text/plain" : {
              "schema" : {
                "maxLength" : 255,
                "minLength" : 0,
                "type" : "string"
              },
              "example" : "My smartphone"
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "successful operation"
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for MapTrip Remote functionality"
          },
          "404" : {
            "description" : "There is no device with the provided ID"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/remote/notes/{device}" : {
      "put" : {
        "tags" : [ "remote" ],
        "summary" : "Set notes for a device",
        "operationId" : "setDeviceNotes",
        "parameters" : [ {
          "name" : "device",
          "in" : "path",
          "description" : "ID of the device",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 100,
            "minLength" : 1,
            "type" : "string",
            "example" : "84a265b7-f31f-4402-993f-ba2e279ac28a"
          }
        } ],
        "requestBody" : {
          "description" : "The notes for the device",
          "content" : {
            "text/plain" : {
              "schema" : {
                "maxLength" : 500,
                "minLength" : 0,
                "type" : "string"
              },
              "example" : "This is the phone I use for navigation with MapTrip"
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "successful operation"
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for MapTrip Remote functionality"
          },
          "404" : {
            "description" : "There is no device with the provided ID"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/remote/status/all" : {
      "get" : {
        "tags" : [ "remote" ],
        "summary" : "Get the status of all your devices running MapTrip",
        "operationId" : "getAllDevicesStatus",
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DeviceStatus"
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for MapTrip Remote functionality"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/remote/status/{device}" : {
      "get" : {
        "tags" : [ "remote" ],
        "summary" : "Get the status of a device running MapTrip",
        "operationId" : "getDeviceStatus",
        "parameters" : [ {
          "name" : "device",
          "in" : "path",
          "description" : "ID of the device",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 100,
            "minLength" : 1,
            "type" : "string",
            "example" : "84a265b7-f31f-4402-993f-ba2e279ac28a"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DeviceStatus"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for MapTrip Remote functionality"
          },
          "404" : {
            "description" : "There is no device with the provided ID"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/remote/route/{device}" : {
      "get" : {
        "tags" : [ "remote" ],
        "summary" : "Get the current route of a device running MapTrip",
        "operationId" : "getDeviceRoute",
        "parameters" : [ {
          "name" : "device",
          "in" : "path",
          "description" : "ID of the device",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 100,
            "minLength" : 1,
            "type" : "string",
            "example" : "84a265b7-f31f-4402-993f-ba2e279ac28a"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Route"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for MapTrip Remote functionality"
          },
          "404" : {
            "description" : "There is no device with the provided ID, or there is no route for this device"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/remote/route/itinerary/{device}" : {
      "post" : {
        "tags" : [ "remote" ],
        "summary" : "Send a new itinerary to a device running MapTrip",
        "operationId" : "sendItineraryToDevice",
        "parameters" : [ {
          "name" : "device",
          "in" : "path",
          "description" : "ID of the device",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 100,
            "minLength" : 1,
            "type" : "string",
            "example" : "84a265b7-f31f-4402-993f-ba2e279ac28a"
          }
        } ],
        "requestBody" : {
          "description" : "The destination",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Itinerary"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "successful operation"
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for MapTrip Remote functionality"
          },
          "404" : {
            "description" : "There is no device with the provided ID"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/remote/route/reference/{device}" : {
      "post" : {
        "tags" : [ "remote" ],
        "summary" : "Send a new reference route to a device running MapTrip",
        "operationId" : "sendReferenceRouteToDevice",
        "parameters" : [ {
          "name" : "device",
          "in" : "path",
          "description" : "ID of the device",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 100,
            "minLength" : 1,
            "type" : "string",
            "example" : "84a265b7-f31f-4402-993f-ba2e279ac28a"
          }
        }, {
          "name" : "message",
          "in" : "query",
          "description" : "The message shown in MapTrip",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "maxLength" : 1000,
            "pattern" : "^[^\\\"\\t\\n\\\\]*$",
            "type" : "string",
            "example" : "You have received a new destination!"
          }
        }, {
          "name" : "doGuideThroughStartingPoint",
          "in" : "query",
          "description" : "If set to true, the route from the current position leads to the starting point of the reference route, otherwise the the vehicle is guided to the nearest connection to the reference route (default is false)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "requestBody" : {
          "description" : "The reference route as CSV",
          "content" : {
            "text/csv" : {
              "schema" : {
                "type" : "string"
              },
              "example" : "lat;lon\n50.7327;7.096295\n50.732695;7.096295\n50.732695;7.096295\n50.732717;7.096233\n50.732933;7.095433\n50.732996;7.095244\n50.733093;7.094993\n"
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "successful operation"
          },
          "400" : {
            "description" : "Invalid format of the CSV content"
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for MapTrip Remote functionality"
          },
          "404" : {
            "description" : "There is no device with the provided ID"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/mapdata/roadsegments/geojson/{coordinate}" : {
      "get" : {
        "tags" : [ "mapdata" ],
        "summary" : "Get a list of road segments at this coordinate",
        "operationId" : "getRoadSegments",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "coordinate",
          "in" : "path",
          "description" : "The coordinate for the query (in WGS84 decimal degrees, EPSG:4326)",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : "50.73270,7.09630"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/geo+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FeatureCollection"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/mapdata/turnrestrictions/geojson/{from}/{to}" : {
      "get" : {
        "tags" : [ "mapdata" ],
        "summary" : "Get turn restrictions in the specified extent of the map",
        "operationId" : "getTurnRestrictionsAsGeojson",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "from",
          "in" : "path",
          "description" : "A coordinate defining a corner of a bounding box (in WGS84 decimal degrees, EPSG:4326)",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : "50.73120,7.09480"
          }
        }, {
          "name" : "to",
          "in" : "path",
          "description" : "A coordinate defining a corner of a bounding box opposite to `from` (in WGS84 decimal degrees, EPSG:4326)",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : "50.74041,7.10670"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/geo+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FeatureCollection"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/mapdata/vehicleattributes/geojson/{from}/{to}" : {
      "get" : {
        "tags" : [ "mapdata" ],
        "summary" : "Get vehicle attributes in the specified extent of the map",
        "operationId" : "getVehicleAttributesAsGeojson",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "from",
          "in" : "path",
          "description" : "A coordinate defining a corner of a bounding box (in WGS84 decimal degrees, EPSG:4326)",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : "50.73120,7.09480"
          }
        }, {
          "name" : "to",
          "in" : "path",
          "description" : "A coordinate defining a corner of a bounding box opposite to `from` (in WGS84 decimal degrees, EPSG:4326)",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : "50.74041,7.10670"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/geo+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FeatureCollection"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/mapdata/prohibitedfortrucks/geojson/{from}/{to}" : {
      "get" : {
        "tags" : [ "mapdata" ],
        "summary" : "Get all road segments in the specified extent of the map where trucks are not permitted",
        "operationId" : "getProhibitedForTrucksAsGeojson",
        "parameters" : [ {
          "name" : "provider",
          "in" : "query",
          "description" : "Data provider",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "example" : "TomTom",
            "enum" : [ "HERE", "TomTom", "OpenStreetMap", "Orbis" ]
          }
        }, {
          "name" : "from",
          "in" : "path",
          "description" : "A coordinate defining a corner of a bounding box (in WGS84 decimal degrees, EPSG:4326)",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : "50.73120,7.09480"
          }
        }, {
          "name" : "to",
          "in" : "path",
          "description" : "A coordinate defining a corner of a bounding box opposite to `from` (in WGS84 decimal degrees, EPSG:4326)",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : "50.74041,7.10670"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/geo+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FeatureCollection"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters, see response message for details",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          },
          "403" : {
            "description" : "Unauthorized for Detour functionality"
          },
          "429" : {
            "description" : "You have exceeded the maximum number of allowed requests per day. Please upgrade from demo to full license or contact our sales team",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    },
    "/usage" : {
      "get" : {
        "tags" : [ "usage" ],
        "summary" : "Query information on your usage of API endpoints",
        "operationId" : "getUsage",
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/TotalUsage"
                }
              }
            }
          },
          "401" : {
            "description" : "No valid JWT token provided in Authorization header",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiProblemDetail"
                }
              },
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiError"
                }
              }
            }
          }
        }
      }
    }
  },
  "components" : {
    "schemas" : {
      "APIKey" : {
        "required" : [ "apikey" ],
        "type" : "object",
        "properties" : {
          "apikey" : {
            "type" : "string",
            "description" : "Your API key",
            "format" : "uuid",
            "example" : "77a735b7-f21f-4102-993f-ba1e279ac28a"
          },
          "duration" : {
            "type" : "integer",
            "description" : "The duration for how long the token is valid (in seconds; maximum is 30 days)",
            "format" : "int64",
            "example" : 2592000
          }
        }
      },
      "Address" : {
        "type" : "object",
        "properties" : {
          "city" : {
            "type" : "string",
            "description" : "Name of the city",
            "example" : "Köln"
          },
          "part" : {
            "type" : "string",
            "description" : "Name of the city part",
            "example" : "Altstadt-Nord"
          },
          "zipcode" : {
            "type" : "string",
            "description" : "ZIP code / postal code",
            "example" : "50667"
          },
          "street" : {
            "type" : "string",
            "description" : "Street name",
            "example" : "Trankgasse"
          },
          "housenumber" : {
            "type" : "string",
            "description" : "House Number",
            "example" : "11"
          },
          "ags" : {
            "type" : "string",
            "description" : "Municipality code. For addresses in Germany, this is the [Amtlicher Gemeindeschlüssel](https://de.wikipedia.org/wiki/Amtlicher_Gemeindeschl%C3%BCssel)",
            "example" : "05315000"
          },
          "country" : {
            "type" : "string",
            "description" : "ISO 3166-1 alpha-3 country code",
            "example" : "DEU"
          },
          "administrativeAreas" : {
            "type" : "array",
            "description" : "The administrative areas in which this address is located, sorted from the highest administration level to the lowest",
            "items" : {
              "$ref" : "#/components/schemas/AdministrativeArea"
            }
          },
          "id" : {
            "type" : "string",
            "description" : "An optional ID for this address (if used in an itinerary for MapTrip Remote)",
            "format" : "uuid",
            "example" : "77a735b7-f21f-4102-993f-ba1e279ac28a"
          },
          "name" : {
            "type" : "string",
            "description" : "An optional name for this address (if used in an itinerary for MapTrip Remote)",
            "example" : "Cologne City Center"
          },
          "coordinate" : {
            "$ref" : "#/components/schemas/Coordinate"
          }
        },
        "example" : {
          "city" : "Köln",
          "part" : "Altstadt-Nord",
          "zipcode" : "50667",
          "street" : "Trankgasse",
          "housenumber" : "11",
          "ags" : "05315000",
          "country" : "DEU",
          "administrativeAreas" : [ {
            "type" : "Bundesland",
            "name" : "Nordrhein-Westfalen"
          }, {
            "type" : "Kreis",
            "name" : "Köln"
          }, {
            "type" : "Gemeinde",
            "name" : "Köln"
          } ],
          "coordinate" : {
            "lat" : 50.94283,
            "lon" : 6.95872
          }
        }
      },
      "AdministrativeArea" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "The type of this area",
            "example" : "Bundesland"
          },
          "name" : {
            "type" : "string",
            "description" : "The name of this area",
            "example" : "Nordrhein-Westfalen"
          }
        }
      },
      "ApiError" : {
        "type" : "object",
        "properties" : {
          "status" : {
            "type" : "integer",
            "description" : "HTTP status code",
            "example" : 404
          },
          "errors" : {
            "type" : "array",
            "example" : [ "A description of the error" ],
            "items" : {
              "type" : "string",
              "description" : "An error message. Deprecated, see details instead"
            }
          },
          "details" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ApiErrorDetail"
            }
          }
        }
      },
      "ApiErrorDetail" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "type" : "string",
            "description" : "Identifier for this type of error",
            "example" : "MATRIX_ERROR_NOT_ENOUGH_STOPS"
          },
          "message" : {
            "type" : "string",
            "description" : "A message describing the error",
            "example" : "At least two stops have to be provided"
          }
        }
      },
      "ApiProblemDetail" : {
        "type" : "object",
        "properties" : {
          "status" : {
            "maximum" : 599,
            "minimum" : 400,
            "type" : "integer",
            "description" : "The HTTP status code generated by the server for this occurrence of the problem",
            "example" : 404
          },
          "type" : {
            "type" : "string",
            "description" : "A relative URI that uniquely identifies the problem type",
            "format" : "uri-reference",
            "example" : "/problems/matrix/diameter-too-large"
          },
          "title" : {
            "type" : "string",
            "description" : "A short summary of the problem type",
            "example" : "Diameter too large"
          },
          "detail" : {
            "type" : "string",
            "description" : "Optional additional information about the error",
            "example" : "The region in which the stops are located must not exceed 200 km in diameter"
          },
          "timestamp" : {
            "type" : "string",
            "description" : "The time of the error as an ISO-8601 string",
            "example" : "2024-12-06T10:53:41.132+0000"
          },
          "instance" : {
            "type" : "string",
            "description" : "A relative URI that identifies the specific occurrence of the problem",
            "format" : "uri-reference",
            "example" : "/v1/matrix/async/77a735b7-f21f-4102-993f-ba1e279ac28a"
          }
        }
      },
      "BoundingBox" : {
        "type" : "object",
        "properties" : {
          "min" : {
            "$ref" : "#/components/schemas/Coordinate"
          },
          "max" : {
            "$ref" : "#/components/schemas/Coordinate"
          }
        }
      },
      "Coordinate" : {
        "type" : "object",
        "properties" : {
          "lat" : {
            "maximum" : 90,
            "minimum" : -90,
            "type" : "number",
            "description" : "The latitude (north–south position)",
            "example" : 50.94306
          },
          "lon" : {
            "maximum" : 180,
            "minimum" : -180,
            "type" : "number",
            "description" : "The longitude (east–west position)",
            "example" : 6.9578
          },
          "radius" : {
            "maximum" : 100000,
            "minimum" : 0,
            "type" : "integer",
            "description" : "An optional radius in meters (used for via points in MapTrip Remote)"
          }
        },
        "example" : {
          "lat" : 50.94306,
          "lon" : 6.9578
        }
      },
      "Country" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "type" : "string",
            "description" : "ISO 3166-1 alpha-3 country code",
            "example" : "DEU"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the country",
            "example" : "Deutschland"
          }
        }
      },
      "Credentials" : {
        "type" : "object",
        "properties" : {
          "user" : {
            "type" : "string",
            "description" : "Your MapTrip Manager login",
            "format" : "email",
            "example" : "mail@example.org"
          },
          "password" : {
            "type" : "string",
            "description" : "Your MapTrip Manager password",
            "format" : "password",
            "example" : "secret"
          },
          "duration" : {
            "type" : "integer",
            "description" : "The duration for how long the token is valid (in seconds; maximum is 30 days)",
            "format" : "int64",
            "example" : 2592000
          }
        }
      },
      "DetourConnectivityInformation" : {
        "type" : "object",
        "properties" : {
          "updateRequired" : {
            "type" : "boolean",
            "description" : "When this is `true`, the file has to be checked and updated in the Detour Editor"
          },
          "segments" : {
            "type" : "array",
            "description" : "List of segments that need to be updated",
            "items" : {
              "$ref" : "#/components/schemas/DetourConnectivitySegmentInformation"
            }
          }
        }
      },
      "DetourConnectivitySegmentInformation" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "integer",
            "description" : "ID of the segment, road or turn restriction",
            "example" : 1337
          },
          "description" : {
            "type" : "string",
            "description" : "The reason for which this segment must be updated",
            "example" : "The geometry of this segment has changed"
          }
        }
      },
      "DetourDivideSegmentResult" : {
        "type" : "object",
        "properties" : {
          "created" : {
            "type" : "array",
            "description" : "Segments which have been created by this operation",
            "items" : {
              "$ref" : "#/components/schemas/DetourRoad"
            }
          },
          "deleted" : {
            "type" : "array",
            "description" : "IDs of segments which have been deleted by this operation",
            "items" : {
              "type" : "integer"
            }
          }
        }
      },
      "DetourFile" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "integer",
            "description" : "ID of the file",
            "example" : 1337
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the file",
            "example" : "temporary_road_blocks"
          },
          "version" : {
            "type" : "integer",
            "description" : "Version of the file",
            "example" : 2
          },
          "profile" : {
            "type" : "string",
            "description" : "Profile name which can be used to calculate a route with this Detour file",
            "example" : "olrclient_MapTrip_Detour User_12345_temporary_road_blocks"
          }
        }
      },
      "DetourMatch" : {
        "type" : "object",
        "properties" : {
          "coordinates" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Coordinate"
            }
          },
          "openlr" : {
            "type" : "string",
            "description" : "OpenLR code for this segment",
            "example" : "CwTw0SQ5jiKHAwEMAB8iNwE="
          }
        }
      },
      "DetourRoad" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "integer",
            "description" : "ID of the file",
            "example" : 1337
          },
          "coordinates" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Coordinate"
            }
          },
          "attributes" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DetourSegmentAttribute"
            }
          }
        }
      },
      "DetourRoadMatch" : {
        "type" : "object",
        "properties" : {
          "start" : {
            "type" : "boolean",
            "description" : "Indicates whether the start of the polyline is on a road segment",
            "example" : true
          },
          "end" : {
            "type" : "boolean",
            "description" : "Indicates whether the end of the polyline is on a road segment",
            "example" : true
          }
        }
      },
      "DetourRoadRequest" : {
        "type" : "object",
        "properties" : {
          "coordinates" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Coordinate"
            }
          },
          "attributes" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DetourSegmentAttribute"
            }
          }
        }
      },
      "DetourSegment" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "integer",
            "description" : "ID of the file",
            "example" : 1337
          },
          "coordinates" : {
            "type" : "array",
            "example" : [ {
              "lat" : 50.736909,
              "lon" : 7.092381
            }, {
              "lat" : 50.737198,
              "lon" : 7.091614
            }, {
              "lat" : 50.737582,
              "lon" : 7.092054
            } ],
            "items" : {
              "$ref" : "#/components/schemas/Coordinate"
            }
          },
          "openlr" : {
            "type" : "string",
            "description" : "OpenLR code for this segment",
            "example" : "CwTw0SQ5jiKHAwEMAB8iNwE="
          },
          "attributes" : {
            "type" : "array",
            "example" : [ {
              "name" : "direction",
              "value" : "3"
            }, {
              "name" : "detourEditor_created",
              "value" : "2024-10-24T12:24:56Z"
            }, {
              "name" : "priority",
              "value" : "10"
            } ],
            "items" : {
              "$ref" : "#/components/schemas/DetourSegmentAttribute"
            }
          }
        }
      },
      "DetourSegmentAttribute" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name of the attribute",
            "example" : "direction"
          },
          "value" : {
            "type" : "string",
            "description" : "Value of the attribute",
            "example" : "1"
          }
        }
      },
      "DetourSegmentRequest" : {
        "type" : "object",
        "properties" : {
          "coordinates" : {
            "type" : "array",
            "example" : [ {
              "lat" : 50.737743,
              "lon" : 7.107111
            }, {
              "lat" : 50.737937,
              "lon" : 7.108549
            }, {
              "lat" : 50.738164,
              "lon" : 7.110183
            }, {
              "lat" : 50.73863,
              "lon" : 7.113516
            } ],
            "items" : {
              "$ref" : "#/components/schemas/Coordinate"
            }
          },
          "openlr" : {
            "type" : "string",
            "description" : "OpenLR code for this segment",
            "example" : "CwTw0SQ5jiKHAwEMAB8iNwE="
          },
          "attributes" : {
            "type" : "array",
            "example" : [ {
              "name" : "direction",
              "value" : "3"
            }, {
              "name" : "speed",
              "value" : "0"
            } ],
            "items" : {
              "$ref" : "#/components/schemas/DetourSegmentAttribute"
            }
          }
        }
      },
      "Device" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of this device",
            "readOnly" : true,
            "example" : "84a265b7-f31f-4402-993f-ba2e279ac28a"
          },
          "type" : {
            "type" : "string",
            "description" : "The type of license for this device (one of PRODUCTION_YEARLY, PRODUCTION_MONTHLY, PERPETUAL, DEMO or DEMO_EXPIRED)",
            "readOnly" : true,
            "example" : "PRODUCTION_YEARLY"
          },
          "name" : {
            "type" : "string",
            "description" : "The name of this device",
            "readOnly" : true,
            "example" : "My Android smartphone"
          },
          "imei" : {
            "type" : "string",
            "description" : "IMEI number (International Mobile Equipment Identity), if known",
            "readOnly" : true,
            "example" : "123456789012345"
          },
          "notes" : {
            "type" : "string",
            "description" : "Notes on this device",
            "readOnly" : true,
            "example" : "This is my old phone running Android 11"
          }
        }
      },
      "DeviceStatus" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "ID of the device",
            "readOnly" : true,
            "example" : "84a265b7-f31f-4402-993f-ba2e279ac28a"
          },
          "status" : {
            "type" : "string",
            "description" : "The current status of the device (inactive, active or active and following a route)",
            "readOnly" : true,
            "example" : "FollowingRoute",
            "enum" : [ "Inactive", "Active", "FollowingRoute" ]
          },
          "location" : {
            "$ref" : "#/components/schemas/Coordinate"
          },
          "direction" : {
            "type" : "integer",
            "description" : "Current driving direction in degrees",
            "format" : "int32",
            "readOnly" : true
          },
          "destination" : {
            "$ref" : "#/components/schemas/Coordinate"
          },
          "timeToDestination" : {
            "type" : "integer",
            "description" : "Time to the destination in seconds (if a navigation is running)",
            "format" : "int64",
            "readOnly" : true
          },
          "distanceToDestination" : {
            "type" : "integer",
            "description" : "Distance to the destination in meters (if a navigation is running)",
            "format" : "int64",
            "readOnly" : true
          },
          "app" : {
            "type" : "string",
            "description" : "The application running on this device (MapTrip or an app build on the MapTrip SDK)",
            "readOnly" : true,
            "example" : "de.infoware.maptrip.navi.license"
          },
          "version" : {
            "type" : "string",
            "description" : "The version of the application running on this device",
            "readOnly" : true,
            "example" : "9.0.0.8100b21835"
          },
          "plattform" : {
            "type" : "string",
            "description" : "The plattform MapTrip is running on (Android, iOS etc.)",
            "readOnly" : true,
            "example" : "Android",
            "enum" : [ "Android", "iOS", "Windows", "WindowsCE", "Linux", "Unknown" ]
          },
          "lastContact" : {
            "type" : "integer",
            "description" : "Time since the last contact between MapTrip and the backend in seconds. Deprecated, use lastUpdate instead",
            "readOnly" : true,
            "example" : 52,
            "deprecated" : true
          },
          "tripStatus" : {
            "type" : "string",
            "description" : "The current status of the tour in MapTrip (e.g. tour was started, a stop was reached, the tour is finished)",
            "readOnly" : true,
            "example" : "TOUR_STARTED",
            "enum" : [ "TOUR_RECEIVED", "TOUR_STARTED", "STOP_STATUS_CHANGED", "TOUR_CHANGED", "TOUR_CANCELLED", "TOUR_FINISHED", "UNKNOWN" ]
          },
          "tourId" : {
            "type" : "string",
            "description" : "ID of the active tour in MapTrip",
            "format" : "uuid",
            "readOnly" : true,
            "example" : "77a735b7-f21f-4102-993f-ba1e279ac28a"
          },
          "tour" : {
            "type" : "array",
            "description" : "The stops of this tour",
            "items" : {
              "$ref" : "#/components/schemas/TourStop"
            }
          },
          "lastUpdate" : {
            "type" : "string",
            "description" : "Date and time of the last server contact of the device as an ISO-8601 string",
            "readOnly" : true,
            "example" : "2021-07-06T15:02:00.000+0000"
          }
        }
      },
      "Direction" : {
        "type" : "object",
        "properties" : {
          "symbol" : {
            "type" : "string",
            "description" : "Symbol for this direction",
            "example" : "sharpLeft"
          },
          "text" : {
            "type" : "string",
            "description" : "A textual description for this driving instruction",
            "example" : "Turn sharp left to Am Domhof"
          },
          "streetName" : {
            "type" : "string",
            "description" : "Street name after this direction",
            "example" : "Am Domhof"
          },
          "streetID" : {
            "type" : "string",
            "description" : "Street identifier after this direction (for highways, federal roads etc.)",
            "example" : "A555"
          },
          "connector" : {
            "type" : "string",
            "description" : "Identifier for the connector of a highway",
            "example" : "1 AS Köln-Bayenthal"
          },
          "signage" : {
            "type" : "string",
            "description" : "Signage of the road",
            "example" : "A565, Köln, Siegburg, Köln/Bonn"
          },
          "distance" : {
            "type" : "integer",
            "description" : "Distance from the previous to this direction in meters",
            "example" : 250
          },
          "orientation" : {
            "type" : "integer",
            "description" : "The orientation in degrees (clockwise, north is 0°)",
            "example" : 295
          },
          "roundaboutExit" : {
            "type" : "integer",
            "description" : "The number of the exit of a roundabout to take",
            "example" : 2
          },
          "coordinate" : {
            "$ref" : "#/components/schemas/Coordinate"
          },
          "drivingTime" : {
            "type" : "integer",
            "description" : "Driving time to this destination in seconds (only for interstations and destination)",
            "example" : 2083
          },
          "length" : {
            "type" : "integer",
            "description" : "Length of the route to this destination in meters (only for interstations and destination)",
            "example" : 29599
          },
          "estimatedTimeOfArrival" : {
            "type" : "string",
            "description" : "Estimated time of arrival at this destination as an ISO 8601 string (only for interstations and destination)",
            "example" : "2021-07-06T10:22:22+0200"
          },
          "toll" : {
            "type" : "integer",
            "description" : "Part of the route with toll in meters up to this destination (only for interstations and destination)",
            "example" : 18563
          }
        }
      },
      "EmissionStandard" : {
        "type" : "string",
        "enum" : [ "Euro0", "Euro1", "Euro2", "Euro3", "Euro4", "Euro5", "EuroEEV", "Euro6" ]
      },
      "Feature" : {
        "required" : [ "geometry", "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [ "Feature" ]
          },
          "id" : {
            "type" : "integer"
          },
          "geometry" : {
            "$ref" : "#/components/schemas/Geometry"
          },
          "properties" : {
            "type" : "object"
          }
        },
        "description" : "GeoJSON Feature",
        "externalDocs" : {
          "url" : "https://tools.ietf.org/html/rfc7946#section-3.2"
        }
      },
      "FeatureCollection" : {
        "required" : [ "features", "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [ "FeatureCollection" ]
          },
          "features" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Feature"
            }
          }
        },
        "description" : "GeoJSON Feature collection",
        "externalDocs" : {
          "url" : "https://tools.ietf.org/html/rfc7946#section-3.3"
        }
      },
      "FeatureCollectionMap" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "object",
          "additionalProperties" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/FeatureCollection"
            }
          }
        },
        "example" : {
          "12345" : {
            "Bonn" : {
              "2025-03-04~1~6009b0fc-168c-4854-86da-8010fb9964cd" : {
                "type" : "FeatureCollection",
                "features" : [ ]
              },
              "2025-03-11~1~6009b0fc-168c-4854-86da-8010fb9964cd" : {
                "type" : "FeatureCollection",
                "features" : [ ]
              }
            },
            "Cologne" : {
              "2025-03-05~1~6009b0fc-168c-4854-86da-8010fb9964cd" : {
                "type" : "FeatureCollection",
                "features" : [ ]
              }
            }
          }
        }
      },
      "FollowMeFile" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "maxLength" : 50,
            "minLength" : 1,
            "pattern" : "[a-zäöüA-ZÄÖÜß0-9 _,\\.\\(\\)\\[\\]]{1,50}",
            "type" : "string",
            "description" : "Name of the file",
            "example" : "My first FollowMe tour"
          },
          "description" : {
            "maxLength" : 500,
            "minLength" : 0,
            "type" : "string",
            "description" : "Description of the file",
            "example" : "A FollowMe tour in Bonn, Germany"
          },
          "map" : {
            "type" : "string",
            "description" : "The map data used for this file. This has to be the ID of a map returned by GET /followme/maps",
            "example" : "TomTom_EU_2021_03"
          },
          "published" : {
            "type" : "boolean",
            "description" : "True if this file has been published to some or all devices, false otherwise",
            "readOnly" : true,
            "example" : true
          },
          "devices" : {
            "type" : "array",
            "description" : "List of all devices this file is published to. For files which have not been published yet this is an empty list",
            "readOnly" : true,
            "example" : [ "84a265b7-f31f-4402-993f-ba2e279ac28a" ],
            "items" : {
              "type" : "string"
            }
          },
          "creation" : {
            "type" : "string",
            "description" : "Creation date of this file in ISO 8601",
            "example" : "2021-09-30T12:26:49.919+0000"
          },
          "modification" : {
            "type" : "string",
            "description" : "Modification date of this file in ISO 8601",
            "example" : "2021-09-30T12:26:49.919+0000"
          },
          "rides" : {
            "type" : "array",
            "description" : "Results of rides on this file",
            "readOnly" : true,
            "items" : {
              "$ref" : "#/components/schemas/Ride"
            }
          }
        }
      },
      "FollowMeFolder" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "ID of the folder",
            "readOnly" : true,
            "example" : "36315~Bonn"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the folder",
            "example" : "My FollowMe tours"
          },
          "files" : {
            "type" : "array",
            "description" : "Files in this folder",
            "readOnly" : true,
            "items" : {
              "type" : "string"
            }
          },
          "folders" : {
            "type" : "array",
            "description" : "Subfolders in this folder",
            "readOnly" : true,
            "items" : {
              "$ref" : "#/components/schemas/FollowMeFolder"
            }
          }
        }
      },
      "FollowMeMap" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "ID of the map",
            "readOnly" : true,
            "example" : "HERE_EU_2021_09"
          },
          "provider" : {
            "type" : "string",
            "description" : "Data provider of the map",
            "readOnly" : true,
            "example" : "Here"
          },
          "release" : {
            "type" : "string",
            "description" : "Release date of the map",
            "readOnly" : true,
            "example" : "2021.Q3"
          }
        }
      },
      "FuelPrice" : {
        "type" : "object",
        "properties" : {
          "fuelType" : {
            "$ref" : "#/components/schemas/FuelType"
          },
          "price" : {
            "type" : "number",
            "example" : 1.599
          },
          "date" : {
            "type" : "string",
            "description" : "Date and time of the last price information as an ISO-8601 string",
            "example" : "2025-07-08T12:15:30.000+0000"
          }
        }
      },
      "FuelStationDetails" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name of the fuel station",
            "example" : "Aral Tankstelle"
          },
          "brand" : {
            "type" : "string",
            "description" : "Brand of the fuel station",
            "example" : "ARAL"
          },
          "address" : {
            "$ref" : "#/components/schemas/Address"
          },
          "payment" : {
            "type" : "array",
            "example" : [ "Cash", "Maestro", "VISA", "EuroCard/MasterCard", "American Express" ],
            "items" : {
              "type" : "string"
            }
          },
          "openingHours" : {
            "type" : "array",
            "example" : [ {
              "Monday-Friday" : "06:30-22:00"
            }, {
              "Saturday" : "06:30-22:00"
            }, {
              "Sunday" : "8:30-21:00"
            } ],
            "items" : {
              "type" : "string"
            }
          },
          "services" : {
            "type" : "array",
            "example" : [ "Open 24/7", "Shop", "ATM", "Car Wash" ],
            "items" : {
              "type" : "string"
            }
          },
          "prices" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FuelPrice"
            }
          }
        }
      },
      "FuelType" : {
        "type" : "string",
        "enum" : [ "Diesel", "Super E10", "Super E5", "SuperPlus", "Autogas" ]
      },
      "GeocodingResult" : {
        "type" : "object",
        "properties" : {
          "quality" : {
            "type" : "string",
            "description" : "Quality for all components of the address (zipcode, city, street and house number)",
            "example" : "AAAA"
          },
          "probability" : {
            "type" : "integer",
            "description" : "Numerical value for the quality from 0 (worst) to 100 (best)",
            "example" : 100
          },
          "address" : {
            "$ref" : "#/components/schemas/Address"
          }
        }
      },
      "Geometry" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the geometry type",
            "enum" : [ "Point", "LineString", "Polygon", "MultiPoint", "MultiLineString", "MultiPolygon" ]
          }
        },
        "description" : "GeoJSON geometry",
        "externalDocs" : {
          "url" : "http://geojson.org/geojson-spec.html#geometry-objects"
        },
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "Point" : "#/components/schemas/Point",
            "LineString" : "#/components/schemas/LineString",
            "Polygon" : "#/components/schemas/Polygon",
            "MultiPoint" : "#/components/schemas/MultiPoint",
            "MultiLineString" : "#/components/schemas/MultiLineString",
            "MultiPolygon" : "#/components/schemas/MultiPolygon"
          }
        }
      },
      "Itinerary" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Id of this itinerary",
            "format" : "uuid",
            "example" : "77a735b7-f21f-4102-993f-ba1e279ac28a"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of this itinerary",
            "example" : "Weekly Tour"
          },
          "message" : {
            "maxLength" : 1000,
            "pattern" : "^[^\\\"\\t\\n\\\\]*$",
            "type" : "string",
            "description" : "The message shown in MapTrip",
            "example" : "You have received a new destination!"
          },
          "viaPointsAsReferenceRoutes" : {
            "type" : "boolean",
            "description" : "If set to true, MapTrip will calculate a reference route and follow it. This leads to better results when drivers ignore via points on a tour (default is false)"
          },
          "coordinates" : {
            "type" : "array",
            "description" : "The coordinates for MapTrip in order from next to last stop",
            "items" : {
              "$ref" : "#/components/schemas/Coordinate"
            }
          },
          "addresses" : {
            "type" : "array",
            "description" : "The addresses for MapTrip in order from next to last stop",
            "items" : {
              "$ref" : "#/components/schemas/Address"
            }
          }
        },
        "description" : "An array of either coordinates or addresses with coordinates used as destintions for MapTrip",
        "example" : {
          "name" : "Friday Tour",
          "message" : "Here is your tour for today. Have a good trip!",
          "addresses" : [ {
            "city" : "Köln",
            "part" : "Altstadt-Nord",
            "zipcode" : 50667,
            "street" : "Trankgasse",
            "housenumber" : "11",
            "name" : "City center of Cologne",
            "coordinate" : {
              "lat" : 50.94306,
              "lon" : 6.9578
            }
          }, {
            "name" : "Via A59",
            "coordinate" : {
              "lat" : 50.83579,
              "lon" : 7.09404,
              "radius" : 500
            }
          }, {
            "city" : "Bonn",
            "name" : "City center of Bonn",
            "coordinate" : {
              "lat" : 50.732705,
              "lon" : 7.096311
            }
          } ]
        }
      },
      "JWTToken" : {
        "type" : "object",
        "properties" : {
          "token" : {
            "type" : "string",
            "description" : "The JWT token",
            "example" : "eyJhbGciOiJIUzUxMiJ9....."
          },
          "authorization" : {
            "type" : "string",
            "description" : "The information you have to specify in the Authorization header",
            "example" : "Bearer eyJhbGciOiJIUzUxMiJ9....."
          }
        }
      },
      "LineString" : {
        "type" : "object",
        "description" : "GeoJSON geometry",
        "externalDocs" : {
          "url" : "http://geojson.org/geojson-spec.html#id3"
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/Geometry"
        }, {
          "type" : "object",
          "properties" : {
            "coordinates" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/Point3D"
              }
            }
          }
        } ]
      },
      "Matrix" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Id of this matrix request",
            "format" : "uuid",
            "example" : "77a735b7-f21f-4102-993f-ba1e279ac28a"
          },
          "status" : {
            "type" : "string",
            "description" : "Status of the matrix calculation",
            "example" : "Done",
            "enum" : [ "Running", "Done", "Failed" ]
          },
          "message" : {
            "type" : "string",
            "description" : "For a failed matrix calculation this contains an error message",
            "example" : "Invalid coordinates"
          },
          "entries" : {
            "type" : "array",
            "description" : "Entries of the distance matrix (only if status is \"Done\")",
            "items" : {
              "$ref" : "#/components/schemas/MatrixEntry"
            }
          }
        }
      },
      "MatrixEntry" : {
        "type" : "object",
        "properties" : {
          "from" : {
            "type" : "string",
            "description" : "Name of the stop used as start"
          },
          "to" : {
            "type" : "string",
            "description" : "Name of the stop used as destination"
          },
          "drivingTime" : {
            "type" : "integer",
            "description" : "Driving time in seconds",
            "example" : 2083
          },
          "length" : {
            "type" : "integer",
            "description" : "Length of the route in meters",
            "example" : 29599
          }
        }
      },
      "MatrixRequest" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Id of this distance matrix request",
            "format" : "uuid",
            "example" : "77a735b7-f21f-4102-993f-ba1e279ac28a"
          },
          "href" : {
            "type" : "string",
            "description" : "Reference to the matrix result",
            "example" : "/matrix/77a735b7-f21f-4102-993f-ba1e279ac28a"
          }
        }
      },
      "MultiLineString" : {
        "type" : "object",
        "description" : "GeoJSON geometry",
        "externalDocs" : {
          "url" : "http://geojson.org/geojson-spec.html#id6"
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/Geometry"
        }, {
          "type" : "object",
          "properties" : {
            "coordinates" : {
              "type" : "array",
              "items" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/Point3D"
                }
              }
            }
          }
        } ]
      },
      "MultiPoint" : {
        "type" : "object",
        "description" : "GeoJSON geometry",
        "externalDocs" : {
          "url" : "http://geojson.org/geojson-spec.html#id5"
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/Geometry"
        }, {
          "type" : "object",
          "properties" : {
            "coordinates" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/Point3D"
              }
            }
          }
        } ]
      },
      "MultiPolygon" : {
        "type" : "object",
        "description" : "GeoJSON geometry",
        "externalDocs" : {
          "url" : "http://geojson.org/geojson-spec.html#id6"
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/Geometry"
        }, {
          "type" : "object",
          "properties" : {
            "coordinates" : {
              "type" : "array",
              "items" : {
                "type" : "array",
                "items" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/Point3D"
                  }
                }
              }
            }
          }
        } ]
      },
      "Obstacle" : {
        "type" : "object",
        "properties" : {
          "details" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ObstacleDetails"
            }
          },
          "roadsegment" : {
            "$ref" : "#/components/schemas/Feature"
          }
        }
      },
      "ObstacleDetails" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "The type of the obstacle",
            "enum" : [ "RESIDENT_ONLY_ROAD_USED", "LOW_EMISSION_ZONE_VIOLATED", "VEHICLE_ATTRIBUTE_VIOLATED", "VEHICLE_TYPE_NOT_ALLOWED", "DESTINATION_IN_PEDESTRIAN_ZONE", "DESTINATION_IN_RESIDENT_ONLY_AREA", "ROAD_IS_CLOSED" ]
          },
          "title" : {
            "type" : "string",
            "description" : "A short description of the obstacle",
            "example" : "Vehicle not allowed"
          },
          "description" : {
            "type" : "string",
            "description" : "A detailed description of the obstacle",
            "example" : "Vehicle width exceeds maximum value of 7500kg"
          },
          "attribute" : {
            "type" : "string",
            "description" : "The vehicle attribute which exceeds the limit",
            "example" : "width"
          },
          "limit" : {
            "type" : "string",
            "description" : "The limit which is exceeded",
            "example" : "7500kg"
          }
        }
      },
      "Optimization" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Id of this optimization request",
            "format" : "uuid",
            "example" : "77a735b7-f21f-4102-993f-ba1e279ac28a"
          },
          "status" : {
            "type" : "string",
            "description" : "Status of the optimization",
            "example" : "Done",
            "enum" : [ "Running", "Done" ]
          },
          "stops" : {
            "type" : "array",
            "description" : "Optimized order of the stops (only if status is \"Done\")",
            "items" : {
              "$ref" : "#/components/schemas/Stop"
            }
          }
        },
        "example" : {
          "id" : "f5892dc4-0215-4143-96f1-47905a8383fc",
          "status" : "Done",
          "stops" : [ {
            "name" : "Hauptbahnhof",
            "coordinate" : {
              "lat" : 50.732301,
              "lon" : 7.097502
            },
            "start" : true,
            "destination" : true
          }, {
            "name" : "Dorotheenstr.",
            "coordinate" : {
              "lat" : 50.739458,
              "lon" : 7.092619
            },
            "start" : false,
            "destination" : false
          }, {
            "name" : "Breite Str.",
            "coordinate" : {
              "lat" : 50.738336,
              "lon" : 7.095706
            },
            "start" : false,
            "destination" : false
          }, {
            "name" : "Weiherstr.",
            "coordinate" : {
              "lat" : 50.736722,
              "lon" : 7.092231
            },
            "start" : false,
            "destination" : false
          }, {
            "name" : "Hauptbahnhof",
            "coordinate" : {
              "lat" : 50.732301,
              "lon" : 7.097502
            },
            "start" : true,
            "destination" : true
          } ]
        }
      },
      "OptimizationRequest" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Id of this optimization request",
            "format" : "uuid",
            "example" : "77a735b7-f21f-4102-993f-ba1e279ac28a"
          },
          "href" : {
            "type" : "string",
            "description" : "Reference to the optimization result",
            "example" : "/optimize/stops/77a735b7-f21f-4102-993f-ba1e279ac28a"
          }
        }
      },
      "Point" : {
        "type" : "object",
        "description" : "GeoJSON geometry",
        "externalDocs" : {
          "url" : "http://geojson.org/geojson-spec.html#id2"
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/Geometry"
        }, {
          "type" : "object",
          "properties" : {
            "coordinates" : {
              "$ref" : "#/components/schemas/Point3D"
            }
          }
        } ]
      },
      "Point3D" : {
        "maxItems" : 3,
        "minItems" : 2,
        "type" : "array",
        "description" : "Point in 3D space",
        "externalDocs" : {
          "url" : "http://geojson.org/geojson-spec.html#id2"
        },
        "items" : {
          "type" : "number"
        }
      },
      "Polygon" : {
        "type" : "object",
        "description" : "GeoJSON geometry",
        "externalDocs" : {
          "url" : "http://geojson.org/geojson-spec.html#id4"
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/Geometry"
        }, {
          "type" : "object",
          "properties" : {
            "coordinates" : {
              "type" : "array",
              "items" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/Point3D"
                }
              }
            }
          }
        } ]
      },
      "ReverseGeocodingResult" : {
        "type" : "object",
        "properties" : {
          "distance" : {
            "type" : "number",
            "description" : "Distance from the specified coordinate to this address in meters",
            "example" : 26.5625
          },
          "address" : {
            "$ref" : "#/components/schemas/Address"
          }
        }
      },
      "Ride" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "ID of the ride",
            "readOnly" : true,
            "example" : "2021-07-26~1~77a735b7-f21f-4102-993f-ba1e279ac28a"
          },
          "device" : {
            "type" : "string",
            "description" : "ID of the device used for this trip",
            "readOnly" : true,
            "example" : "77a735b7-f21f-4102-993f-ba1e279ac28a"
          },
          "date" : {
            "type" : "string",
            "description" : "Date in ISO 8601 (year, month and day)",
            "readOnly" : true,
            "example" : "2021-07-26"
          },
          "remarks" : {
            "type" : "boolean",
            "description" : "True if the driver has made remarks",
            "readOnly" : true
          }
        }
      },
      "Route" : {
        "type" : "object",
        "properties" : {
          "summary" : {
            "$ref" : "#/components/schemas/RouteSummary"
          },
          "directions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Direction"
            }
          },
          "geometry" : {
            "$ref" : "#/components/schemas/FeatureCollection"
          }
        }
      },
      "RouteSummary" : {
        "type" : "object",
        "properties" : {
          "flavor" : {
            "type" : "string",
            "description" : "The flavor used to calculate the route, e.g. DEFAULT or LESS_TOLL",
            "example" : "DEFAULT"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the route (to distinguish alternative routes)",
            "example" : "Via A4"
          },
          "drivingTime" : {
            "type" : "integer",
            "description" : "Driving time in seconds",
            "example" : 2083
          },
          "length" : {
            "type" : "integer",
            "description" : "Length of the route in meters",
            "example" : 29599
          },
          "estimatedTimeOfArrival" : {
            "type" : "string",
            "description" : "Estimated time of arrival as an ISO 8601 string",
            "example" : "2021-07-06T10:22:22+0200"
          },
          "delay" : {
            "type" : "integer",
            "description" : "Delay on the route caused by live traffic situation in seconds",
            "example" : 115
          },
          "toll" : {
            "type" : "integer",
            "description" : "Part of the route with toll in meters",
            "example" : 18563
          },
          "tollCosts" : {
            "type" : "number",
            "description" : "The toll costs of the route",
            "example" : 8.97
          },
          "tollCurrency" : {
            "type" : "string",
            "description" : "The currency of toll costs",
            "example" : "EUR"
          },
          "cost" : {
            "type" : "number",
            "description" : "The total cost of the route, consisting of cost per kilometer, cost per hour, and toll costs",
            "example" : 41.56
          },
          "currency" : {
            "type" : "string",
            "description" : "The currency of the total cost of the route",
            "example" : "EUR"
          },
          "distanceStart" : {
            "type" : "integer",
            "description" : "Distance between the start coordinate and the first road segment of the route in meters",
            "example" : 35
          },
          "distanceDestination" : {
            "type" : "integer",
            "description" : "Distance between the last road segment of the route and the destination coordinate in meters",
            "example" : 14
          },
          "boundingBox" : {
            "$ref" : "#/components/schemas/BoundingBox"
          },
          "countries" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/RouteSummaryPerCountry"
            },
            "example" : {
              "deu" : {
                "length" : 29599,
                "drivingTime" : 2083,
                "toll" : 18563,
                "tollCosts" : 8.97,
                "tollCurrency" : "EUR"
              }
            }
          },
          "hasObstacles" : {
            "type" : "boolean",
            "description" : "Indicates whether there are obstacles on the route",
            "example" : true
          },
          "obstacles" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Obstacle"
            }
          }
        }
      },
      "RouteSummaryPerCountry" : {
        "type" : "object",
        "properties" : {
          "length" : {
            "type" : "integer",
            "description" : "Length, in meters, for the route in this country",
            "example" : 29599
          },
          "drivingTime" : {
            "type" : "integer",
            "description" : "Driving time, in seconds, for the route in this country"
          },
          "toll" : {
            "type" : "integer",
            "description" : "Length, in meters, for the toll roads for the route in this country",
            "example" : 2083
          },
          "tollCosts" : {
            "type" : "number",
            "description" : "The toll costs due for this route",
            "example" : 8.97
          },
          "tollCurrency" : {
            "type" : "string",
            "description" : "The currency of toll costs",
            "example" : "EUR"
          }
        }
      },
      "Stop" : {
        "required" : [ "coordinate", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "pattern" : "[a-zäöüA-ZÄÖÜß0-9 ,\\.\\(\\)\\[\\]_-]{1,100}",
            "type" : "string",
            "description" : "A unique name for this stop"
          },
          "coordinate" : {
            "$ref" : "#/components/schemas/Coordinate"
          },
          "start" : {
            "type" : "boolean",
            "description" : "True if this stop can be the start, otherwise false",
            "default" : false
          },
          "destination" : {
            "type" : "boolean",
            "description" : "True if this stop can be the destination, otherwise false",
            "default" : false
          },
          "duration" : {
            "minimum" : 0,
            "type" : "integer",
            "description" : "Stay at this stop in minutes",
            "example" : 15
          },
          "timeSlots" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/TimeSlot"
            }
          }
        }
      },
      "TimeSlot" : {
        "required" : [ "begin", "end" ],
        "type" : "object",
        "properties" : {
          "begin" : {
            "type" : "string",
            "description" : "Start of the time slot in ISO 8601 (date, time and time zone)"
          },
          "end" : {
            "type" : "string",
            "description" : "End of the time slot in ISO 8601 (date, time and time zone)"
          }
        }
      },
      "TotalUsage" : {
        "type" : "object",
        "properties" : {
          "company" : {
            "type" : "string",
            "description" : "Name of your company"
          },
          "daily" : {
            "$ref" : "#/components/schemas/UsagePerPeriod"
          },
          "monthly" : {
            "$ref" : "#/components/schemas/UsagePerPeriod"
          }
        },
        "example" : {
          "company" : "Your Company",
          "daily" : {
            "for" : "2024-06-04",
            "usage" : {
              "geocoder" : 561,
              "route" : 302,
              "detour" : 205
            }
          },
          "monthly" : {
            "for" : "2024-06",
            "usage" : {
              "geocoder" : 43291,
              "route" : 5603,
              "detour" : 4314
            }
          }
        }
      },
      "TourStop" : {
        "type" : "object",
        "properties" : {
          "address" : {
            "$ref" : "#/components/schemas/Address"
          },
          "stopStatus" : {
            "type" : "string",
            "description" : "The current status of this stop in MapTrip (e.g. stop is still to do, stop is active now, stop was already reached)",
            "readOnly" : true,
            "example" : "REACHED",
            "enum" : [ "TODO", "ACTIVE", "REACHED", "MANUALLY_REACHED", "SKIPPED", "UNKNOWN" ]
          },
          "estimatedTimeOfArrival" : {
            "type" : "string",
            "description" : "Estimated time of Arrival at this tour stop as an ISO-8601 string (only present when stop is active)",
            "readOnly" : true,
            "example" : "2021-07-06T15:02:00.000+0000"
          }
        },
        "description" : "A stop of a tour",
        "example" : {
          "address" : {
            "id" : "bc036350-6780-4e4c-b9e1-36056e0f450d",
            "name" : "City center of Cologne",
            "city" : "Köln",
            "part" : "Altstadt-Nord",
            "zipcode" : 50667,
            "street" : "Trankgasse",
            "housenumber" : "11",
            "coordinate" : {
              "lat" : 50.94306,
              "lon" : 6.9578
            }
          },
          "stopStatus" : "ACTIVE",
          "secondsToDestination" : 1524
        }
      },
      "TurnRestriction" : {
        "type" : "object",
        "properties" : {
          "coordinates" : {
            "type" : "array",
            "description" : "Coordinates for this turn restriction",
            "items" : {
              "$ref" : "#/components/schemas/Coordinate"
            }
          },
          "openlr" : {
            "type" : "string",
            "description" : "OpenLR code for this turn restriction",
            "example" : "CwTw0SQ5jiKHAwEMAB8iNwE="
          }
        }
      },
      "TurnRestrictionWithAttributes" : {
        "type" : "object",
        "properties" : {
          "coordinates" : {
            "type" : "array",
            "description" : "Coordinates for this turn restriction",
            "items" : {
              "$ref" : "#/components/schemas/Coordinate"
            }
          },
          "openlr" : {
            "type" : "string",
            "description" : "OpenLR code for this turn restriction",
            "example" : "CwTw0SQ5jiKHAwEMAB8iNwE="
          },
          "attributes" : {
            "type" : "array",
            "description" : "Attributes for this turn restriction",
            "items" : {
              "$ref" : "#/components/schemas/DetourSegmentAttribute"
            }
          }
        },
        "example" : {
          "coordinates" : [ {
            "lat" : 50.732666,
            "lon" : 7.096349
          }, {
            "lat" : 50.73266,
            "lon" : 7.096367
          }, {
            "lat" : 50.732655,
            "lon" : 7.096358
          } ],
          "openlr" : "CwULmyQTrSPrAgBk/9Y7CQ==",
          "attributes" : [ {
            "name" : "description",
            "value" : "Ignore for emergency routing"
          }, {
            "name" : "validity",
            "value" : 26
          } ]
        }
      },
      "UsagePerPeriod" : {
        "type" : "object",
        "properties" : {
          "for" : {
            "type" : "string",
            "description" : "Period to which this data relates",
            "example" : "2024-02-13"
          },
          "usage" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "integer",
              "format" : "32"
            },
            "example" : {
              "geocoder" : 561,
              "route" : 302,
              "detour" : 205
            }
          }
        }
      },
      "Vignette" : {
        "type" : "string",
        "enum" : [ "None", "Red", "Yellow", "Green" ]
      }
    },
    "securitySchemes" : {
      "bearerAuth" : {
        "type" : "http",
        "scheme" : "bearer",
        "bearerFormat" : "JWT"
      }
    }
  }
}