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
                50.7327;7.096295
                50.732695;7.096295
                50.732695;7.096295
                50.732717;7.096233
                50.732933;7.095433
                50.732996;7.095244
                50.733093;7.094993
        "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
                50.7327;7.096295
                50.732695;7.096295
                50.732695;7.096295
                50.732717;7.096233
                50.732933;7.095433
                50.732996;7.095244
                50.733093;7.094993
        "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
              50.7327;7.096295
              50.732695;7.096295
              50.732695;7.096295
              50.732717;7.096233
              50.732933;7.095433
              50.732996;7.095244
              50.733093;7.094993
        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
                50.7327;7.096295
                50.732695;7.096295
                50.732695;7.096295
                50.732717;7.096233
                50.732933;7.095433
                50.732996;7.095244
                50.733093;7.094993
        "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
              50.7327;7.096295
              50.732695;7.096295
              50.732695;7.096295
              50.732717;7.096233
              50.732933;7.095433
              50.732996;7.095244
              50.733093;7.094993
        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
