Kardinal Solution API

The Solution API from Kardinal — 2 operation(s) for solution.

Business capability
Transport Operations Management BC-2420

Operations 2

GET /agencies/{agencyId}/plans/{planId}/solution Retrieve a plan solution #
GET /agencies/{agencyId}/plans/{planId}/solution/objectives Retrieve the objectives of a plan solution #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/kardinal-solution-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

kardinal-solution-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Kardinal ARO Solution API
  version: 2.55.0
  description: This document specifies the REST API of Kardinal ARO v2.
  contact:
    url: https://kardinal.ai/
    email: contact@kardinal.ai
servers:
- url: /api/v2
security:
- access_token: []
tags:
- name: Solution
paths:
  /agencies/{agencyId}/plans/{planId}/solution:
    parameters:
    - $ref: '#/components/parameters/agencyId'
    - $ref: '#/components/parameters/planId'
    get:
      summary: Retrieve a plan solution
      operationId: getPlanSolution
      tags:
      - Solution
      responses:
        '200':
          description: Solution response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnvelopedSolution'
        '401':
          $ref: '#/components/responses/NotAuthenticated'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /agencies/{agencyId}/plans/{planId}/solution/objectives:
    parameters:
    - $ref: '#/components/parameters/agencyId'
    - $ref: '#/components/parameters/planId'
    get:
      summary: Retrieve the objectives of a plan solution
      operationId: getPlanSolutionObjectives
      tags:
      - Solution
      responses:
        '200':
          description: Solution objectives response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnvelopedSolutionObjectives'
        '401':
          $ref: '#/components/responses/NotAuthenticated'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    Solution:
      type: object
      readOnly: true
      properties:
        agencyId:
          $ref: '#/components/schemas/AgencyId'
        planId:
          $ref: '#/components/schemas/PlanId'
        planVersion:
          $ref: '#/components/schemas/PlanVersion'
        timestamp:
          allOf:
          - $ref: '#/components/schemas/DateTime'
        unaffectedStopIds:
          type: array
          uniqueItems: true
          items:
            type: string
            allOf:
            - $ref: '#/components/schemas/RegexIdValidation'
        unaffectedAlternativeIds:
          type: array
          uniqueItems: true
          items:
            type: string
            allOf:
            - $ref: '#/components/schemas/RegexIdValidation'
        unusedResourceIds:
          type: array
          uniqueItems: true
          items:
            type: string
            allOf:
            - $ref: '#/components/schemas/RegexIdValidation'
        objectives:
          type: array
          items:
            $ref: '#/components/schemas/SolutionObjective'
          example:
          - name: maximizeMandatoryStops
            priority: 1
            direction: maximize
            value: 232
          - name: minimizeDelay
            direction: minimize
            value: 3600
          - name: minimizeResources
            priority: 0
            direction: minimize
            value: 232
          - name: maximizeOptionalStops
            priority: 0
            direction: maximize
            value: 232
          - name: minimizeLargestTourDuration
            priority: 0
            direction: minimize
            value: 1000
          - name: minimizeWorkingDuration
            priority: 0
            direction: minimize
            value: 83430
          - name: minimizeDistance
            priority: 0
            direction: minimize
            value: 88232.4
          description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
        tours:
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/Tour'
          description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
        totalDelay:
          description: Total delay of the solution related to the preferred time windows.
          allOf:
          - $ref: '#/components/schemas/Duration'
        emptyDistanceInKm:
          description: 'Total distance (in kilometers) traveled by all resources while "empty".

            '
          type: number
          format: float
          example: 123.45
        CO2Emission:
          description: 'Total CO2 emissions of the solution (sum of each tour''s `CO2Emission`).

            Present only when at least one resource has a `CO2EmissionCalculation` (either on the resource itself or via `CO2EmissionCalculationByResourceTag` on the plan).

            '
          type: number
          format: float
          example: 67890.1
        globalViolations:
          type: array
          items:
            oneOf:
            - $ref: '#/components/schemas/GlobalViolationMaxCumulatedCost'
          description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
      description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
    WayPointStatus:
      type: string
      enum:
      - fixed
      - assigned
      - optimized
      default: fixed
      description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
    WayPointBegin:
      type: object
      properties:
        type:
          type: string
          enum:
          - begin
          description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
        position:
          $ref: '#/components/schemas/Position'
        status:
          example: fixed
          allOf:
          - $ref: '#/components/schemas/WayPointStatus'
        departureTime:
          $ref: '#/components/schemas/DateTime'
        violations:
          type: array
          items:
            $ref: '#/components/schemas/WaypointViolation'
          description: List of the Waypoint's violations.
        fromPrevious:
          $ref: '#/components/schemas/FromPrevious'
      required:
      - type
      - position
      description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
    OptimizationDirection:
      type: string
      enum:
      - minimize
      - maximize
      description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
    EnvelopedSolutionObjectives:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/SolutionObjective'
        agencyId:
          $ref: '#/components/schemas/AgencyId'
        planId:
          $ref: '#/components/schemas/PlanId'
        planVersion:
          $ref: '#/components/schemas/PlanVersion'
      description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
    CountryCodes:
      type: array
      items:
        $ref: '#/components/schemas/CountryCode'
      example:
      - Switzerland
      - BE
      - ITA
    Capacities:
      type: object
      additionalProperties:
        type: number
      example:
        volume: 9.5
        weight: 2200
        nbPackages: 23
      description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
    TourViolation:
      description: Semantic violations, can be handled "generically" or specifically.
      oneOf:
      - $ref: '#/components/schemas/BeginViolation'
      - $ref: '#/components/schemas/EndViolation'
      - $ref: '#/components/schemas/SkillsViolation'
      - $ref: '#/components/schemas/ForbiddenAssignmentViolation'
      - $ref: '#/components/schemas/AuthorizedTimeWindowViolation'
      - $ref: '#/components/schemas/CapacityViolation'
      - $ref: '#/components/schemas/AtLeastOneValidCapacityViolation'
      - $ref: '#/components/schemas/SuccessiveStopsViolation'
      - $ref: '#/components/schemas/OrderViolation'
      - $ref: '#/components/schemas/MaxStopSpanViolation'
      - $ref: '#/components/schemas/WorkingTimeWindowViolation'
      - $ref: '#/components/schemas/MaxWorkingDurationViolation'
      - $ref: '#/components/schemas/MaxDistanceInKmViolation'
      - $ref: '#/components/schemas/MaxInterStopDistanceInKmViolation'
      - $ref: '#/components/schemas/MaxInterStopDurationViolation'
      - $ref: '#/components/schemas/StopIncompatibilityViolation'
      - $ref: '#/components/schemas/AtLeastOneConstraintViolation'
      - $ref: '#/components/schemas/MaxStopTagGroupsViolation'
      - $ref: '#/components/schemas/RemovalStrategyViolation'
    AgencyId:
      description: The agency id.
      readOnly: true
      example: LND_Agency-42
      allOf:
      - $ref: '#/components/schemas/RegexPrefixedIdValidation'
    VehicleProfileScooter:
      type: object
      properties:
        type:
          type: string
          enum:
          - scooter
          description: 'Discriminator value: "scooter".'
        avoidFerry:
          type: boolean
          description: When true, avoids ferry crossings when calculating routes.
        avoidSeasonalClosure:
          type: boolean
          description: When true, avoids roads that are seasonally closed.
        avoidCarShuttleTrain:
          type: boolean
          description: When true, avoids routes requiring a car shuttle train.
        avoidTunnel:
          type: boolean
          description: When true, avoids tunnels.
        avoidDirtRoad:
          type: boolean
          description: When true, avoids unpaved or dirt roads.
        excludedCountries:
          $ref: '#/components/schemas/CountryCodes'
          description: The list of countries to exclude from calculated routes.
        speedCap:
          type: number
          description: Caps the vehicle's maximum speed used in travel time calculations, in km/h.
      required:
      - type
      description: A 50cc to 125cc motorized profile, with limited access to certain highways and high-speed roads. Unaffected by traffic variations.
    FromPrevious:
      type: object
      description: The travel distance and duration from the previous waypoint to the current one.
      properties:
        travelDistanceInKm:
          type: number
          description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
        travelDuration:
          allOf:
          - $ref: '#/components/schemas/Duration'
      required:
      - travelDistanceInKm
      - travelDuration
      example:
        travelDistanceInKm: 2.3269331
        travelDuration: PT4M
    MaxInterStopDistanceInKmViolation:
      type: object
      description: Violation of a resource's MaxInterStopDistanceInKm constraint.
      properties:
        type:
          type: string
          enum:
          - maxInterStopDistanceInKm
          description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
        wayPointIndex:
          type: integer
          description: The idx of the waypoint the violation applies to.
          example: 0
        maxInterStopDistanceInKm:
          description: The expected maximum inter-stop distance, in km.
          type: number
        exceededDistanceInKm:
          description: The inter-stop distance that exceeds the maximum distance, in km.
          type: number
      required:
      - type
      - maxInterStopDistanceInKm
      - exceededDistanceInKm
    ErrorProperties:
      type: object
      additionalProperties:
        type: string
      description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
    ForbiddenAssignment:
      type: object
      description: Forbidden assignment by stop tag and resource tag.
      properties:
        resourceTag:
          type: string
          description: Resource tag.
          example: trailer
          allOf:
          - $ref: '#/components/schemas/RegexIdValidation'
        stopTag:
          type: string
          description: Stop tag.
          example: heavy
          allOf:
          - $ref: '#/components/schemas/RegexIdValidation'
      required:
      - resourceTag
      - stopTag
    WorkingTimeWindowViolation:
      type: object
      description: Violation of a resource's TimeWindow constraint.
      properties:
        type:
          type: string
          enum:
          - workingTimeWindow
          description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
        delay:
          description: The delay that exceeds the resource's TimeWindow.
          allOf:
          - $ref: '#/components/schemas/Duration'
      required:
      - type
      - delay
    MaxWorkingDurationViolation:
      type: object
      description: Violation of a resource's MaxWorkingDuration constraint.
      properties:
        type:
          type: string
          enum:
          - maxWorkingDuration
          description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
        maxWorkingDuration:
          description: The expected maximum working duration.
          allOf:
          - $ref: '#/components/schemas/Duration'
        exceededDuration:
          description: The duration that exceeds the maximum working duration.
          allOf:
          - $ref: '#/components/schemas/Duration'
      required:
      - type
      - maxWorkingDuration
      - exceededDuration
    OrderViolation:
      type: object
      description: Violation of a order's stops constraint.
      properties:
        type:
          type: string
          enum:
          - order
          description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
        expectedOrderedStopIds:
          description: The stop ids in the expected order.
          type: array
          items:
            type: string
            allOf:
            - $ref: '#/components/schemas/RegexIdValidation'
        missedStopIds:
          description: The stop ids missing from the tour.
          type: array
          items:
            type: string
            allOf:
            - $ref: '#/components/schemas/RegexIdValidation'
        badlyOrderedStopIds:
          description: The stop ids badly ordered in the tour.
          type: array
          items:
            type: string
            allOf:
            - $ref: '#/components/schemas/RegexIdValidation'
      required:
      - type
      - expectedOrderedStopIds
    StopKind:
      type: string
      enum:
      - pickup
      - delivery
      - acknowledgement
      default: delivery
      description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
    PlanId:
      description: The plan id.
      readOnly: true
      example: plan-AB
      allOf:
      - $ref: '#/components/schemas/RegexIdValidation'
    MaxInterStopDurationViolation:
      type: object
      description: Violation of a resource's MaxInterStopDuration constraint.
      properties:
        type:
          type: string
          enum:
          - maxInterStopDuration
          description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
        wayPointIndex:
          type: integer
          description: The idx of the waypoint the violation applies to.
          example: 0
        maxInterStopDuration:
          description: The expected maximum inter-stop duration.
          allOf:
          - $ref: '#/components/schemas/Duration'
        exceededDuration:
          description: The inter-stop duration that exceeds the maximum duration.
          allOf:
          - $ref: '#/components/schemas/Duration'
      required:
      - type
      - maxInterStopDuration
      - exceededDuration
    WayPointEnd:
      type: object
      properties:
        type:
          type: string
          enum:
          - end
          description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
        position:
          $ref: '#/components/schemas/Position'
        status:
          allOf:
          - $ref: '#/components/schemas/WayPointStatus'
          example: optimized
        arrivalTime:
          $ref: '#/components/schemas/DateTime'
        violations:
          type: array
          items:
            $ref: '#/components/schemas/WaypointViolation'
          description: List of the Waypoint's violations.
        fromPrevious:
          $ref: '#/components/schemas/FromPrevious'
      required:
      - type
      - position
      description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
    TunnelCategory:
      type: string
      enum:
      - B
      - C
      - D
      - E
      description: Tunnel category restriction for truck routing (ADR tunnel categories)
    Duration:
      type: string
      description: A period of time, expressed in the ISO8601 **duration** format.
      pattern: ^P(\d+Y)?(\d+M)?(\d+W)?(\d+D)?(T(\d+H)?(\d+M)?(\d+S)?)?$
      example: PT4M
    CountryCode:
      type: string
      description: A country standard name or Alpha-2 code or Alpha-3 code.
    BeginViolation:
      type: object
      description: Violation of a warehouse Constraint at the begining of a Tour.
      properties:
        type:
          type: string
          description: The violation's type.
          enum:
          - begin
        wayPointIndex:
          type: integer
          description: The idx of the waypoint the violation applies to.
          example: 0
      required:
      - type
    EnvelopedErrors:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
      description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
    Position:
      type: object
      properties:
        lon:
          type: number
          minimum: -180
          maximum: 180
          description: Longitude coordinate.
        lat:
          type: number
          minimum: -90
          maximum: 90
          description: Latitude coordinate.
      required:
      - lon
      - lat
      example:
        lon: 2.3269331
        lat: 48.8812658
      description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
    RegexPrefixedIdValidation:
      type: string
      description: An id beginning with a prefix and an underscore.
      pattern: ^[A-Z]{3,6}_[a-zA-Z0-9-._~:@!$,]+$
    ResourceMode:
      type: string
      enum:
      - free
      - fixed
      default: free
      description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
    VehicleProfileBicycle:
      type: object
      properties:
        type:
          type: string
          enum:
          - bicycle
          description: 'Discriminator value: "bicycle".'
        avoidFerry:
          type: boolean
          description: When true, avoids ferry crossings when calculating routes.
        avoidSeasonalClosure:
          type: boolean
          description: When true, avoids roads that are seasonally closed.
        avoidTunnel:
          type: boolean
          description: When true, avoids tunnels.
        avoidDirtRoad:
          type: boolean
          description: When true, avoids unpaved or dirt roads.
        excludedCountries:
          $ref: '#/components/schemas/CountryCodes'
          description: The list of countries to exclude from calculated routes.
      required:
      - type
      description: A cyclist profile. Unaffected by traffic variations.
    WayPointBreak:
      type: object
      properties:
        type:
          type: string
          enum:
          - break
          description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
        status:
          example: optimized
          allOf:
          - $ref: '#/components/schemas/WayPointStatus'
        arrivalTime:
          $ref: '#/components/schemas/DateTime'
        departureTime:
          $ref: '#/components/schemas/DateTime'
        violations:
          type: array
          items:
            $ref: '#/components/schemas/WaypointViolation'
          description: List of the Waypoint's violations.
        fromPrevious:
          $ref: '#/components/schemas/FromPrevious'
      required:
      - type
      description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
    ShippedHazardousGood:
      type: string
      enum:
      - explosive
      - gas
      - flammable
      - combustible
      - organic
      - poison
      - radioactive
      - corrosive
      - poisonousInhalation
      - harmfulToWater
      - other
      description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
    EndViolation:
      type: object
      description: Violation of a warehouse Constraint at the end of a Tour.
      properties:
        type:
          type: string
          enum:
          - end
          description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
        wayPointIndex:
          type: integer
          description: The idx of the waypoint the violation applies to.
          example: 0
      required:
      - type
    SuccessiveStopsViolation:
      type: object
      description: Violation of a order's succesive stops constraint.
      properties:
        type:
          type: string
          enum:
          - successiveStops
          description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
        expectedSuccessiveStopIds:
          description: The stop ids in the expected order.
          type: array
          items:
            type: string
            allOf:
            - $ref: '#/components/schemas/RegexIdValidation'
        interleavedStopIds:
          description: The stop ids which are not expected and interleaved between the order stops.
          type: array
          items:
            type: string
            allOf:
            - $ref: '#/components/schemas/RegexIdValidation'
      required:
      - type
      - expectedSuccessiveStopIds
    VehicleProfileMotorbike:
      type: object
      properties:
        type:
          type: string
          enum:
          - motorbike
          description: 'Discriminator value: "motorbike".'
        avoidFerry:
          type: boolean
          description: When true, avoids ferry crossings when calculating routes.
        avoidSeasonalClosure:
          type: boolean
          description: When true, avoids roads that are seasonally closed.
        avoidControlledAccessHighway:
          type: boolean
          description: When true, avoids controlled-access highways (e.g. motorways).
        avoidCarShuttleTrain:
          type: boolean
          description: When true, avoids routes requiring a car shuttle train.
        avoidTunnel:
          type: boolean
          description: When true, avoids tunnels.
        avoidDirtRoad:
          type: boolean
          description: When true, avoids unpaved or dirt roads.
        excludedCountries:
          $ref: '#/components/schemas/CountryCodes'
          description: The list of countries to exclude from calculated routes.
        speedCap:
          type: number
          description: Caps the vehicle's maximum speed used in travel time calculations, in km/h.
      required:
      - type
      description: A motorized profile for vehicles over 125cc, unrestricted in terms of roads. Unaffected by traffic variations.
    WaypointViolation:
      description: Semantic violations, can be handled "generically" or specifically.
      oneOf:
      - $ref: '#/components/schemas/BeginViolation'
      - $ref: '#/components/schemas/EndViolation'
      - $ref: '#/components/schemas/SkillsViolation'
      - $ref: '#/components/schemas/ForbiddenAssignmentViolation'
      - $ref: '#/components/schemas/AuthorizedTimeWindowViolation'
      - $ref: '#/components/schemas/CapacityViolation'
      - $ref: '#/components/schemas/AtLeastOneValidCapacityViolation'
      - $ref: '#/components/schemas/MaxInterStopDistanceInKmViolation'
      - $ref: '#/components/schemas/MaxInterStopDurationViolation'
    PlanVersion:
      type: integer
      description: The plan version.
      readOnly: true
      minimum: 1
      example: 42
    AtLeastOneConstraintViolation:
      type: object
      description: Violation of a resource's AtLeastOneConstraint constraint.
      properties:
        type:
          type: string
          enum:
          - atLeastOneConstraint
          description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
        name:
          description: The name of the AtLeastOneConstraint constraint the violation is linked to.
          type: string
        violatedConstraints:
          description: Lists of sub-constraints violations.
          type: array
          items:
            allOf:
            - $ref: '#/components/schemas/TourViolation'
      required:
      - type
      - name
      - violatedConstraints
    StopTagPair:
      type: array
      description: A pair of incompatible stop tags.
      items:
        description: Stop tag.
        allOf:
        - $ref: '#/components/schemas/RegexIdValidation'
      minItems: 2
      maxItems: 2
      uniqueItems: true
      example:
      - goat
      - cabbage
    MaxDistanceInKmViolation:
      type: object
      description: Violation of a resource's MaxDistanceInKm constraint.
      properties:
        type:
          type: string
          enum:
          - maxDistanceInKm
          description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
        maxDistanceInKm:
          description: The expected maximum distance, in km.
          type: number
        exceededDistanceInKm:
          description: The distance that exceeds the maximum distance, in km.
          type: number
      required:
      - type
      - maxDistanceInKm
      - exceededDistanceInKm
    EnvelopedSolution:
      type: object
      properties:
        item:
          $ref: '#/components/schemas/Solution'
        agencyId:
          $ref: '#/components/schemas/AgencyId'
        planId:
          $ref: '#/components/schemas/PlanId'
        planVersion:
          $ref: '#/components/schemas/PlanVersion'
      description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
    RemovalStrategyViolation:
      type: object
      description: Violation of a resource's RemovalStrategy constraint.
      properties:
        type:
          type: string
          enum:
          - removalStrategy
          description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
        name:
          description: The name of the RemovalStrategy constraint the violation is linked to.
          type: string
        removalStrategyType:
          allOf:
          - $ref: '#/components/schemas/RemovalStrategyType'
          description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
      required:
      - type
      - removalStrategyType
    VehicleProfileCar:
      type: object
      properties:
        type:
          type: string
          enum:
          - car
          description: 'Discriminator value: "car".'
        withTraffic:
          type: boolean
          description: Enables the separately billed predictive traffic feature, which accounts for traffic variations by time slot and road segment so that tours remain resilient to fluctuations and road events beyond just average or live travel times.
        avoidTollRoad:
          type: boolean
          description: When true, treats toll roads as restricted.
        avoidFerry:
          type: boolean
          description: When true, avoids ferry crossings when calculating routes.
        avoidSeasonalClosure:
          type: boolean
          description: When true, avoids roads that are seasonally closed.
        avoidControlledAccessHighway:
          type: boolean
          description: When true, avoids controlled-access highways (e.g. motorways).
        avoidCarShuttleTrain:
          type: boolean
          description: When true, avoids routes requiring a car shuttle train.
        avoidTunnel:
          type: boolean
          description: When true, avoids tunnels.
        avoidDirtRoad:
          type: boolean
          description: When true, avoids unpaved or dirt roads.
        avoidUTurns:
          type: boolean
          description: When true, avoids U-turns when calculating routes.
        excludedCountries:
          $ref: '#/components/schemas/CountryCodes'
          description: The list of countries to exclude from calculated routes.
        speedCap:
          type: number
          description: Caps the vehicle's maximum speed used in travel time calculations, in km/h.
      required:
      - type
      description: A light-weight vehicle profile. Affected by traffic variations.
    VehicleProfilePedestrian:
      type: object
      properties:
        type:
          type: string
          enum:
          - pedestrian
          description: 'Discriminator value: "pedestrian".'
        avoidFerry:
          type: boolean
          description: When true, avoids ferry crossings when calculating routes.
        avoidSeasonalClosure:
          type: boolean
          description: When true, avoids roads that are seasonally closed.
        avoidDirtRoad:
          type: boolean
          description: When true, avoids unpaved or dirt roads.
        excludedCountries:
          $ref: '#/components/schemas/CountryCodes'
          description: The list of countries to exclude from calculated routes.
      required:
      - type
      description: A walking "driver" profile. Pedestrians are unaffected by traffic variations.
    GlobalViolationMaxCumulatedCost:
      type: object
      description: Violation linked to a MaxCumulatedCost global constraint.
      properties:
        type:
          type: string
          enum:
          - maxCumulatedCost
          description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
        name:
          type: string
          description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
        resourceIds:
          type: array
          uniqueItems: true
          items:
            type: string
            allOf:
            - $ref: '#/components/schemas/RegexIdValidation'
        maximum:
          type: number
          description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
        exceededCost:
          type: number
          description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
    DateTime:
      type: string
      description: 'A full calendar date time, expressed in the ISO8601 **date** format: YYYY-MM-DDThh:mm:ssZ.'
      example: '2019-11-15T12:34:56Z'
    AuthorizedTimeWindowViolation:
      type: object
      description: Violation of a stop's TimeWindow constraint.
      properties:
        type:
          type: string
          enum:
          - authorizedTimeWindow
          description: '[TO_VALIDATE] Description pending review by a Kardinal engineer.'
        wayPointIndex:
          type: integer
          description: The idx of the waypoint the violation applies to.
          example: 0
        forbiddenWindow:
          description: The violated forbidden window.
          allOf:
          - $ref: '#/components/schemas/TimeWindow'
        actualTime:
          description: The time at which the waypoint is actually executed.
          allOf:
          - $ref: '#/components/schemas/DateTime'
      required:
      - type
      - forbiddenWindow
      - actualTime
    VehicleProfileTruck:
      type: object
      properties:
        type:
          type: string
          enum:
          - truck
          description: 'Discriminator value: "truck".'
        grossWeight:
          type: number
          description: The weight of the vehicle while loaded, used to calculate impacts on road restrictions and travel times.
        withTraffic:
          type: boolean
          description: Enables the separately billed predictive traffic feature, which accounts for traffic variations by time slot and road segment so that tours remain resilient to fluctuations and road events beyond just average or live travel times.
        avoidTollRoad:
          type: boolean
          description: When true, treats toll roads as restricted.
        avoidFerry:
          type: boolean
          description: When true, avoids ferry crossings when calculating routes.
        avoidSeasonalClosure:
          type: boolean
          description: When true, avoids roads that are seasonally closed.
        avoidControlledAccessHighway:
          type: boolean
          description: When true, avoids controlled-access hi

# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/kardinal/refs/heads/main/openapi/kardinal-solution-api-openapi.yml