> ## Documentation Index
> Fetch the complete documentation index at: https://docs.terratwin.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Calculate transport routes

> Calculates the routes and distances of a transport chain without calculating emissions. Locations, transport modes, and fallback transport modes are handled exactly as for an emissions calculation, so the distances match those used there. The response contains the resolved locations, distances, and optionally route polylines. `WEIGHTED_MODES` transport operations are not supported.




## OpenAPI

````yaml /content/api-reference/openapi.yaml post /routes/calculate
openapi: 3.1.0
info:
  title: Calculation API
  version: 1.0.0
  description: >
    **Overview**  

    The Calculation API provides methods for estimating greenhouse gas emissions

    from transporting cargo and retrieving stored calculation results. Use the

    calculate endpoint to create a new calculation, retrieve a calculation
    result

    by client provided ID, or browse stored calculation results using a
    filtered, 

    paginated list method. Use the routes endpoint to calculate just the routes

    and distances of a transport chain, without emissions.


    **Base URL**

    https://api.terratwin.com/api/v1/transportation


    **Authentication**  

    Every request to this API requires authentication with an API key. 

    Add your key to the `x-api-key` header to identify and authorize your
    account.

    API keys can be obtained from your account dashboard at
    https://www.terratwin.com/account/settings/api-key-manager


    **Rate limits**  

    Each account is limited to 5 requests per second.

    Requests exceeding this threshold may be temporarily rejected with a `429
    Too Many Requests` response. 

    You can retry after a short delay.


    **Cost**  

    The API uses a credit-based billing model.

    Each transport operation processed counts as 1 credit, including connector
    segments such as first-mile and last-mile road operations.

    Weighted-mode operations may expand into multiple component operations; in
    these cases, each child operation is charged as a separate credit.

    Air transport operations are billed as a single credit, even when the model
    inserts multiple stopovers automatically.

    Road sub-operations occurring as part of roll-on/roll-off ferry or train
    movements are included at no extra cost.

    Emissions associated with logistics hubs don’t incur any credit charges.

    Routes requests are charged in the same way as emissions calculations.
servers:
  - url: https://api.terratwin.com/api/v1/transportation
security: []
paths:
  /routes/calculate:
    post:
      summary: Calculate transport routes
      description: >
        Calculates the routes and distances of a transport chain without
        calculating emissions. Locations, transport modes, and fallback
        transport modes are handled exactly as for an emissions calculation, so
        the distances match those used there. The response contains the resolved
        locations, distances, and optionally route polylines. `WEIGHTED_MODES`
        transport operations are not supported.
      operationId: calculateRoutes
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RouteRequest'
            example:
              id: '123456789'
              options:
                fallbackTransportModes:
                  - ROAD
                  - AIR
              cargo:
                category: GENERAL
              origin:
                type: PLACE
                street: 221B Baker Street
                postCode: NW1 6XE
                city: London
                country: GB
              destination:
                type: PLACE
                street: Rue Brederode 16
                postCode: '1000'
                city: Brussel
                country: BE
              transportChain:
                - id: 123456789-01
                  type: WATER
                  departureDateTime: '2025-12-25T00:00:00+00:00'
                  arrivalDateTime: '2026-01-01T18:12:30Z'
                  vehicle: CONTAINER
                  navigationConstraints:
                    - AVOID_KIEL_CANAL
                    - AVOID_NORTHEAST_PASSAGE
                    - AVOID_NORTHWEST_PASSAGE
                  context:
                    additionalInformation: customWaterLegValue
                - type: HUB
                  location:
                    type: HARBOR
                    unLoCode: BEANR
                - id: 123456789-02
                  type: RAIL
                  departureDateTime: '2026-01-02T10:00:00+01:00'
                  arrivalDateTime: '2026-01-02T22:00:00+01:00'
                  trainType: MANIFEST
                  energyType: ELECTRICITY
                  context:
                    customProperty: customRailLegValue
      responses:
        '200':
          description: Routes successfully calculated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RouteResponse'
              example:
                id: '123456789'
                origin:
                  type: PLACE
                  countryCode: GB
                  latitude: 51.5237629
                  longitude: -0.1584743
                  region: England
                  postcode: NW1 6XE
                  city: London
                  street: 221B Baker Street
                  name: Sherlock Holmes Museum
                  formatted: |-
                    Sherlock Holmes Museum
                    221B Baker Street
                    Marylebone
                    London
                    NW1 6XE
                    United Kingdom
                destination:
                  type: PLACE
                  countryCode: BE
                  latitude: 50.8405365
                  longitude: 4.3622675
                  region: Brussels-Capital
                  postcode: '1000'
                  city: Brussels
                  street: Rue Brederode - Brederodestraat 16
                  formatted: |-
                    Rue Brederode - Brederodestraat 16
                    1000 Brussels
                    Belgium
                distanceKm: 428.17868397480544
                transportChain:
                  - type: WATER
                    id: 123456789-01
                    start:
                      type: PLACE
                      countryCode: GB
                      latitude: 51.5237629
                      longitude: -0.1584743
                      region: England
                      postcode: NW1 6XE
                      city: London
                      street: 221B Baker Street
                      name: Sherlock Holmes Museum
                      formatted: |-
                        Sherlock Holmes Museum
                        221B Baker Street
                        Marylebone
                        London
                        NW1 6XE
                        United Kingdom
                    end:
                      type: HARBOR
                      countryCode: BE
                      latitude: 51.27936713324465
                      longitude: 4.3567657470703125
                      region: Antwerp
                      postcode: '2030'
                      city: Antwerp
                      name: Port of Antwerp
                      code: BEANR
                      formatted: |-
                        Port of Antwerp
                        2030 Antwerp
                        Belgium
                    distanceKm: 361.25686120325236
                    context:
                      additionalInformation: customWaterLegValue
                    elements:
                      - type: ROAD
                        start:
                          type: PLACE
                          countryCode: GB
                          latitude: 51.5237629
                          longitude: -0.1584743
                          region: England
                          postcode: NW1 6XE
                          city: London
                          street: 221B Baker Street
                          name: Sherlock Holmes Museum
                          formatted: |-
                            Sherlock Holmes Museum
                            221B Baker Street
                            Marylebone
                            London
                            NW1 6XE
                            United Kingdom
                        end:
                          type: HARBOR
                          countryCode: GB
                          latitude: 51.459502138725945
                          longitude: 0.3407907485961914
                          region: England
                          postcode: RM18 7DP
                          city: Tilbury
                          name: Port of Tilbury
                          code: GBTIL
                          formatted: |-
                            Port of Tilbury
                            Tilbury
                            RM18 7DP
                            United Kingdom of Great Britain and Northern Ireland
                        distanceKm: 47.708259845301605
                      - vehicle: CONTAINER
                        capacityBand: POST_PANAMAX
                        type: WATER
                        start:
                          type: HARBOR
                          countryCode: GB
                          latitude: 51.459502138725945
                          longitude: 0.3407907485961914
                          region: England
                          postcode: RM18 7DP
                          city: Tilbury
                          name: Port of Tilbury
                          code: GBTIL
                          formatted: |-
                            Port of Tilbury
                            Tilbury
                            RM18 7DP
                            United Kingdom of Great Britain and Northern Ireland
                        end:
                          type: HARBOR
                          countryCode: BE
                          latitude: 51.27936713324465
                          longitude: 4.3567657470703125
                          region: Antwerp
                          postcode: '2030'
                          city: Antwerp
                          name: Port of Antwerp
                          code: BEANR
                          formatted: |-
                            Port of Antwerp
                            2030 Antwerp
                            Belgium
                        distanceKm: 313.54860135795076
                  - type: RAIL
                    id: 123456789-02
                    start:
                      type: PLACE
                      countryCode: BE
                      latitude: 51.279002
                      longitude: 4.356769
                      region: Antwerp
                      postcode: '2030'
                      city: Antwerp
                      formatted: |-
                        2030 Antwerp
                        Belgium
                    end:
                      type: PLACE
                      countryCode: BE
                      latitude: 50.8405365
                      longitude: 4.3622675
                      region: Brussels-Capital
                      postcode: '1000'
                      city: Brussels
                      street: Rue Brederode - Brederodestraat 16
                      formatted: |-
                        Rue Brederode - Brederodestraat 16
                        1000 Brussels
                        Belgium
                    distanceKm: 66.92182277155307
                    context:
                      customProperty: customRailLegValue
                    elements:
                      - type: RAIL
                        start:
                          type: PLACE
                          countryCode: BE
                          latitude: 51.279002
                          longitude: 4.356769
                          region: Antwerp
                          postcode: '2030'
                          city: Antwerp
                          formatted: |-
                            2030 Antwerp
                            Belgium
                        end:
                          type: PLACE
                          countryCode: BE
                          latitude: 50.844459
                          longitude: 4.356229
                          region: Brussels-Capital
                          postcode: '1000'
                          city: Brussels
                          formatted: |-
                            Pentagon
                            1000 Brussels
                            Brussels-Capital
                            Belgium
                        distanceKm: 65.84587562993619
                      - type: ROAD
                        start:
                          type: PLACE
                          countryCode: BE
                          latitude: 50.844459
                          longitude: 4.356229
                          region: Brussels-Capital
                          postcode: '1000'
                          city: Brussels
                          formatted: |-
                            Pentagon
                            1000 Brussels
                            Brussels-Capital
                            Belgium
                        end:
                          type: PLACE
                          countryCode: BE
                          latitude: 50.8405365
                          longitude: 4.3622675
                          region: Brussels-Capital
                          postcode: '1000'
                          city: Brussels
                          street: Rue Brederode - Brederodestraat 16
                          formatted: |-
                            Rue Brederode - Brederodestraat 16
                            1000 Brussels
                            Belgium
                        distanceKm: 1.075947141616878
                creditCost: 4
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                title: Invalid property value
                status: 400
                code: 5
                details:
                  - Property 'type' contains invalid value 'WEIGHTED_MODES'
                instance: /api/v1/transportation/routes/calculate
                recommendation: >-
                  Alter your request to use one of these values:
                  UNKNOWN,AIR,RAIL,ROAD,WATER,HUB
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                title: API key invalid
                status: 401
                code: 41
                details:
                  - '''...'' is not a valid API key'
                instance: /api/v1/transportation/routes/calculate
                recommendation: >-
                  Provide a valid API key. If you don’t have one, then apply to
                  TerraTwin
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                title: Insufficient credits
                status: 403
                code: 42
                details:
                  - Your account has no remaining credits
                instance: /api/v1/transportation/routes/calculate
                recommendation: Purchase additional credits from TerraTwin
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                title: Not routable by rail
                status: 422
                code: 33
                details:
                  - >-
                    Operation 'transportChain[0]' could not be routed by rail
                    between '50.68689,7.16285' and '-36.85209,174.76318'
                instance: /api/v1/transportation/routes/calculate
                recommendation: Review the mode of transport selected and the locations
        '429':
          description: Too many requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                title: Rate limit exceeded
                status: 429
                code: 45
                details:
                  - Too many requests. The limit is 5 requests per second
                instance: /api/v1/transportation/routes/calculate
                recommendation: Reduce your request rate to ≤ 5 requests/second
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '503':
          description: Service unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    RouteRequest:
      type: object
      properties:
        id:
          type: string
          description: >
            An identifier for the routes calculation, such as a shipment ID. It
            is returned in the response. Routes calculation results are not
            stored.
        options:
          $ref: '#/components/schemas/RouteOptions'
        cargo:
          $ref: '#/components/schemas/RouteCargo'
        origin:
          $ref: '#/components/schemas/RequestLocation'
        destination:
          $ref: '#/components/schemas/RequestLocation'
        transportChain:
          type: array
          description: >
            Represents the sequence of transport and hub operations that define
            a complete multimodal logistics chain.

            #### Structure ####

            The `transportChain` is an ordered array of elements describing how
            cargo moves between points.
              - Each transport element represents a specific operation and has a `type` value of `AIR`, `RAIL`, `ROAD`, `WATER`, or `UNKNOWN`.
              - Each hub element has a `type` of `HUB` and represents the connecting location between consecutive transport segments.

            #### Behavior ####
              - If this array is not provided or is empty, fallback transport modes are attempted instead.
                The system will cycle through the fallback modes in order, applying default parameters for each until one succeeds or all fail.
              - Hubs must appear between each pair of transport operations to define the connecting locations between them.
              - Hubs may also appear as the first and/or last elements in the array, acting as the origin or destination
                in place of the top-level `origin` and `destination` properties.
              - The road operations connecting the start and end locations to the selected airports, harbors, and rail yards are added automatically.
              - `WEIGHTED_MODES` transport operations are not supported.
          items:
            oneOf:
              - $ref: '#/components/schemas/RouteUnknownTransport'
              - $ref: '#/components/schemas/RouteAirTransport'
              - $ref: '#/components/schemas/RouteRailTransport'
              - $ref: '#/components/schemas/RouteRoadTransport'
              - $ref: '#/components/schemas/RouteWaterTransport'
              - $ref: '#/components/schemas/RouteHub'
        context:
          type: object
          description: >-
            Any information you want returned in the response. It is returned
            unchanged.
    RouteResponse:
      type: object
      required:
        - origin
        - destination
        - distanceKm
        - transportChain
        - creditCost
      properties:
        id:
          type: string
          description: The `id` provided in the request.
        origin:
          $ref: '#/components/schemas/ResponseLocation'
        destination:
          $ref: '#/components/schemas/ResponseLocation'
        distanceKm:
          type: number
          format: double
          description: >
            The total distance of the transport chain in kilometers. Distances
            are the routed distances; no distance adjustment factors are
            applied.
        context:
          type: object
          description: The `context` provided in the request.
        transportChain:
          type: array
          description: The legs of the transport chain, in order.
          items:
            $ref: '#/components/schemas/RouteLegResult'
        creditCost:
          type: number
          format: double
          description: >-
            The number of credits charged for the request. Credits are charged
            in the same way as for an emissions calculation.
    ErrorResponse:
      type: object
      required:
        - title
        - status
        - code
        - details
        - instance
        - recommendation
      properties:
        title:
          type: string
          description: Short, human readable summary of the error.
        status:
          type: number
          format: integer
          description: >-
            HTTP status code associated with the error, indicating the type of
            failure.
        code:
          type: number
          description: >
            Application-specific numeric error code that identifies the exact
            error condition. Error codes 10000 and above represent internal
            errors.

              | Code | Description                                        |
              |------|----------------------------------------------------|
              | 1    | API key missing                                    |
              | 2    | Invalid JSON                                       |
              | 3    | API property missing                               |
              | 4    | Invalid weight                                     |
              | 5    | Invalid property value                             |
              | 6    | Invalid transport chain element JSON               |
              | 7    | Insufficient location information                  |
              | 8    | Unknown airport IATA code                          |
              | 9    | Missing coordinate                                 |
              | 10   | Invalid coordinate                                 |
              | 11   | Coordinates outside country borders                |
              | 12   | Invalid country code                               |
              | 13   | Unknown UN/LOCODE                                  |
              | 14   | Invalid UN/LOCODE                                  |
              | 15   | Missing country code with address                  |
              | 16   | Unresolvable location                              |
              | 17   | Missing location                                   |
              | 18   | Missing hub                                        |
              | 19   | Invalid volume                                     |
              | 20   | Invalid container count                            |
              | 21   | Incompatible capacity unit for water vessel        |
              | 22   | Invalid load factor percentage                     |
              | 23   | Invalid empty running percentage                   |
              | 24   | Invalid energy consumption                         |
              | 25   | Invalid date/time                                  |
              | 26   | Invalid container type code                        |
              | 27   | Unknown aircraft identifier                        |
              | 28   | Location not routable to airport                   |
              | 29   | Location not routable to rail yard                 |
              | 30   | Location not routable to harbor                    |
              | 31   | No rail system in country                          |
              | 32   | Not routable by air                                |
              | 33   | Not routable by rail                               |
              | 34   | Not routable by road                               |
              | 35   | Unknown rail yard identifier                       |
              | 36   | Fallback transport modes routing failure           |
              | 37   | Invalid percentage                                 |
              | 38   | Invalid percentage summation                       |
              | 39   | Energy type incompatible with consumption unit     |
              | 40   | Energy type not supported for road transport       |
              | 41   | Invalid API key                                    |
              | 42   | Insufficient credits                               |
              | 43   | Account not found                                  |
              | 44   | Service unavailable                                |
              | 45   | Rate limit exceeded                                |
              | 46   | Payload too large                                  |
              | 47   | Invalid HTTP request                               |
              | 48   | Missing request id                                 |
              | 49   | Invalid cursor                                     |
              | 50   | Emissions result not found                         |
          enum:
            - 1
            - 2
            - 3
            - 4
            - 5
            - 6
            - 7
            - 8
            - 9
            - 10
            - 11
            - 12
            - 13
            - 14
            - 15
            - 16
            - 17
            - 18
            - 19
            - 20
            - 21
            - 22
            - 23
            - 24
            - 25
            - 26
            - 27
            - 28
            - 29
            - 30
            - 31
            - 32
            - 33
            - 34
            - 35
            - 36
            - 37
            - 38
            - 39
            - 40
            - 41
            - 42
            - 43
            - 44
            - 45
            - 46
            - 47
            - 48
            - 49
            - 50
        details:
          type: array
          description: >
            One or more strings providing additional details about the error. 
            For internal errors (error codes 10000 and above), this includes a
            tracking code that users can provide to  TerraTwin tech support for
            diagnosis and resolution.
          items:
            type: string
        instance:
          type: string
          description: Path of the API endpoint where the error occurred.
        recommendation:
          type: string
          description: Guidance on how to resolve the error.
    RouteOptions:
      title: Routes options
      type: object
      description: >
        Used to customize routes calculations and to control which details are
        included in the response.
      properties:
        fallbackTransportModes:
          $ref: '#/components/schemas/FallbackTransportModes'
        includeRoutePolylines:
          $ref: '#/components/schemas/IncludeRoutePolylines'
    RouteCargo:
      title: Cargo
      type: object
      description: >
        Optionally describes the transported goods. Only the cargo category is
        used: it determines the default vessel type for `WATER` transport
        operations, and so which harbors are selected. When not provided, the
        `GENERAL` category is used.
      properties:
        category:
          $ref: '#/components/schemas/CargoCategory'
    RequestLocation:
      anyOf:
        - $ref: '#/components/schemas/LocationCoordinates'
        - $ref: '#/components/schemas/LocationIata'
        - $ref: '#/components/schemas/LocationUnlocode'
        - $ref: '#/components/schemas/LocationUnstructured'
        - $ref: '#/components/schemas/LocationStructured'
        - $ref: '#/components/schemas/LocationStreetCity'
        - $ref: '#/components/schemas/LocationStreetPostcode'
        - $ref: '#/components/schemas/LocationPostcode'
        - $ref: '#/components/schemas/LocationCity'
    RouteUnknownTransport:
      title: Unknown transport
      type: object
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - UNKNOWN
          description: >
            Indicates that no transport mode was provided. The fallback
            transport modes are attempted in order, using defaulted parameters
            for each mode, and the first mode that can be routed is used. The
            modes are taken from `options`.`fallbackTransportModes`, or default
            to [`ROAD`, `WATER`, `AIR`].
        id:
          type: string
          description: >
            An optional identifier for the transport chain element. When
            provided, the same identifier is returned on the corresponding
            transport chain result element in the response.
        context:
          type: object
          description: >
            Any information you want returned in the response. It is returned
            unchanged on the corresponding transport chain result element.
    RouteAirTransport:
      title: Air transport
      type: object
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - AIR
          description: >
            Transport by aircraft.


            Departure and arrival airports are selected, and stopovers inserted,
            exactly as for an emissions calculation. The aircraft (`vehicle` and
            `aircraftType`) determines the runway requirements and range used
            for airport and stopover selection. When the start or end location
            is not an airport, a road transport operation is automatically added
            to connect it to the selected airport.


            If an air route cannot be generated, the modes in the request
            `options`.`fallbackTransportModes` (except `AIR`) are attempted in
            listed order.
        id:
          type: string
          description: >
            An optional identifier for the transport chain element. When
            provided, the same identifier is returned on the corresponding
            transport chain result element in the response.
        departureDateTime:
          $ref: '#/components/schemas/AirTransportDepartureDateTime'
        arrivalDateTime:
          $ref: '#/components/schemas/AirTransportArrivalDateTime'
        aircraftType:
          $ref: '#/components/schemas/AirTransportAircraftType'
        vehicle:
          $ref: '#/components/schemas/AirTransportVehicle'
        context:
          type: object
          description: >
            Any information you want returned in the response. It is returned
            unchanged on the corresponding transport chain result element.
    RouteRailTransport:
      title: Rail transport
      type: object
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - RAIL
          description: >
            Transport by train.


            The nearest rail yards to the start and end locations are selected,
            exactly as for an emissions calculation. When the start or end
            location is not a rail yard, a road transport operation is
            automatically added to connect it to the selected rail yard.


            If a rail route cannot be generated, the modes in the request
            `options`.`fallbackTransportModes` (except `RAIL`) are attempted in
            listed order.
        id:
          type: string
          description: >
            An optional identifier for the transport chain element. When
            provided, the same identifier is returned on the corresponding
            transport chain result element in the response.
        departureDateTime:
          $ref: '#/components/schemas/RailTransportDepartureDateTime'
        arrivalDateTime:
          $ref: '#/components/schemas/RailTransportArrivalDateTime'
        vehicle:
          $ref: '#/components/schemas/RailTransportVehicle'
        trainType:
          $ref: '#/components/schemas/RailTransportTrainType'
        grossTrainWeight:
          $ref: '#/components/schemas/RailTransportGrossTrainWeight'
        energyType:
          $ref: '#/components/schemas/RailTransportEnergyType'
        context:
          type: object
          description: >
            Any information you want returned in the response. It is returned
            unchanged on the corresponding transport chain result element.
    RouteRoadTransport:
      title: Road transport
      type: object
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - ROAD
          description: >
            Transport by road. Roll-on/roll-off ferry and train crossings are
            included where the route requires them.


            If a road route cannot be generated, the modes in the request
            `options`.`fallbackTransportModes` (except `ROAD`) are attempted in
            listed order.
        id:
          type: string
          description: >
            An optional identifier for the transport chain element. When
            provided, the same identifier is returned on the corresponding
            transport chain result element in the response.
        departureDateTime:
          $ref: '#/components/schemas/RoadTransportDepartureDateTime'
        arrivalDateTime:
          $ref: '#/components/schemas/RoadTransportArrivalDateTime'
        vehicle:
          $ref: '#/components/schemas/RoadTransportVehicle'
        structure:
          $ref: '#/components/schemas/RoadTransportStructure'
        grossWeightBand:
          $ref: '#/components/schemas/RoadTransportGrossWeightBand'
        grossWeight:
          $ref: '#/components/schemas/RoadTransportGrossWeight'
        emptyWeight:
          $ref: '#/components/schemas/RoadTransportEmptyWeight'
        maximumWeight:
          $ref: '#/components/schemas/RoadTransportMaximumWeight'
        yearOfManufacture:
          $ref: '#/components/schemas/RoadTransportYearOfManufacture'
        emissionsStandard:
          $ref: '#/components/schemas/RoadTransportEmissionsStandard'
        loadFactor:
          $ref: '#/components/schemas/RoadTransportLoadFactor'
        emptyRunning:
          $ref: '#/components/schemas/RoadTransportEmptyRunning'
        packaging:
          $ref: '#/components/schemas/RoadTransportPackaging'
        energyType:
          $ref: '#/components/schemas/RoadTransportEnergyType'
        loadDistribution:
          $ref: '#/components/schemas/RoadTransportLoadDistribution'
        energyConsumption:
          $ref: '#/components/schemas/RoadTransportEnergyConsumption'
        context:
          type: object
          description: >
            Any information you want returned in the response. It is returned
            unchanged on the corresponding transport chain result element.
    RouteWaterTransport:
      title: Water transport
      type: object
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - WATER
          description: >
            Transport by ship.


            Harbors are selected, and the voyage routed, exactly as for an
            emissions calculation. The vessel (`vehicle`, `capacity`, `size`, or
            the default vessel for the `cargo`.`category`) determines which
            harbors can be used, and `navigationConstraints` determines which
            canals and passages can be used. When the start or end location is
            not a harbor, a road transport operation is automatically added to
            connect it to the selected harbor.


            If a sea route cannot be generated, the modes in the request
            `options`.`fallbackTransportModes` (except `WATER`) are attempted in
            listed order.
        id:
          type: string
          description: >
            An optional identifier for the transport chain element. When
            provided, the same identifier is returned on the corresponding
            transport chain result element in the response.
        departureDateTime:
          $ref: '#/components/schemas/WaterTransportDepartureDateTime'
        arrivalDateTime:
          $ref: '#/components/schemas/WaterTransportArrivalDateTime'
        vehicle:
          $ref: '#/components/schemas/WaterTransportVehicle'
        capacity:
          $ref: '#/components/schemas/WaterTransportCapacity'
        size:
          $ref: '#/components/schemas/WaterTransportSize'
        containerTypeCode:
          $ref: '#/components/schemas/WaterTransportContainerTypeCode'
        energyType:
          $ref: '#/components/schemas/WaterTransportEnergyType'
        navigationConstraints:
          $ref: '#/components/schemas/WaterTransportNavigationConstraints'
        context:
          type: object
          description: >
            Any information you want returned in the response. It is returned
            unchanged on the corresponding transport chain result element.
    RouteHub:
      type: object
      title: Hub
      required:
        - type
        - location
      properties:
        type:
          type: string
          enum:
            - HUB
          description: >
            A location connecting transport legs, or the starting or ending
            location of the transport chain. Hubs act as connection points
            between transport operations (within or across modes), splitting the
            transport chain into legs.
        location:
          $ref: '#/components/schemas/RequestLocation'
    ResponseLocation:
      title: Location
      type: object
      required:
        - type
        - countryCode
        - latitude
        - longitude
      properties:
        type:
          type: string
          description: >
            Defines the category of the location, distinguishing between
            transport facilities such as airports, harbors, and rail yards,  and
            general places such as buildings, streets, postcodes, or cities.
            <enumTable>
              <enumItem>
                <enumValue>`PLACE`</enumValue>
                <enumHeading>Place</enumHeading>
                <enumDescription>
                  A general geographic point such as a building, street, postcode area, or city, rather than to a transport facility.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`AIRPORT`</enumValue>
                <enumHeading>Airport</enumHeading>
                <enumDescription>An airport.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RAIL_YARD`</enumValue>
                <enumHeading>Rail yard</enumHeading>
                <enumDescription>A rail yard.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`HARBOR`</enumValue>
                <enumHeading>Harbor</enumHeading>
                <enumDescription>A maritime port.</enumDescription>
              </enumItem>
            </enumTable>
          enum:
            - PLACE
            - AIRPORT
            - RAIL_YARD
            - HARBOR
        latitude:
          type: number
          format: double
          description: Latitude in decimal degrees (WGS 84 - EPSG:4326), range -90 to 90.
        longitude:
          type: number
          format: double
          description: >-
            Longitude in decimal degrees (WGS 84 - EPSG:4326), range -180 to
            180.
        countryCode:
          type: string
          description: ISO 3166-1 alpha-2 country code.
          minLength: 2
          maxLength: 2
        region:
          type: string
          description: |
            Administrative area (state/province/county/territory), e.g.,
            - `Bretagne`
            - `Ontario`
            - `Bavaria`
        postcode:
          type: string
          description: >
            Postal or ZIP code identifying the area of the location. Format
            varies by country, e.g.,

            - `90210` *(Beverly Hills)*

            - `WC2N 5DU` *(Trafalgar Square)*
        city:
          type: string
          description: |
            City, town, or municipality where the location is situated, e.g.,
            - `Berlin`
            - `Paris`
            - `New York`
        street:
          type: string
          description: >
            Street name and number, when available, formatted in the order
            commonly used in the location’s country. E.g.,
              - `1600 Pennsylvania Ave NW`
              - `Platz der Republik 1`
        name:
          type: string
          description: |
            The name of a recognized landmark for the location, e.g.,
              - `Château de Versailles`
              - `The White House`
        formatted:
          type: string
          description: >
            Full multi-line address, including line breaks, formatted according
            to the addressing rules of the location’s country. E.g.,
              - `White House`  
                `1600 Pennsylvania Avenue Northwest`  
                `Ward 2`  
                `Washington, District of Columbia 20500`  
                `United States`  
              - `Sherlock Holmes Museum`  
                `221B Baker Street`  
                `Marylebone`  
                `London`  
                `NW1 6XE`  
                `United Kingdom`
        code:
          type: string
          description: >
            Airport or harbor code, returned only when the location type is
            `AIRPORT` or `HARBOR`. 

            For airports, this is a 3 character IATA considerations.

            For harbors, this is the 5 character UN/LOCODE.
          minLength: 3
          maxLength: 5
    RouteLegResult:
      type: object
      required:
        - type
        - start
        - end
        - distanceKm
        - elements
      properties:
        type:
          type: string
          description: >-
            The transport mode of the leg. For an `UNKNOWN` operation, this is
            the fallback mode that was used.
          enum:
            - AIR
            - RAIL
            - ROAD
            - WATER
        id:
          type: string
          description: >-
            The `id` provided on the corresponding transport operation in the
            request.
        start:
          $ref: '#/components/schemas/ResponseLocation'
        end:
          $ref: '#/components/schemas/ResponseLocation'
        distanceKm:
          type: number
          format: double
          description: >-
            The total distance of the leg in kilometers, including its
            connecting road operations.
        context:
          type: object
          description: >-
            The `context` provided on the corresponding transport operation in
            the request.
        elements:
          type: array
          description: >
            The operations making up the leg, in order. For example, a `WATER`
            leg starting from an address consists of a `ROAD` operation to the
            selected harbor followed by the `WATER` voyage. A flight with
            stopovers consists of consecutive `AIR` operations.
          items:
            oneOf:
              - $ref: '#/components/schemas/RouteAirOperationResult'
              - $ref: '#/components/schemas/RouteRailOperationResult'
              - $ref: '#/components/schemas/RouteRoadOperationResult'
              - $ref: '#/components/schemas/RouteWaterOperationResult'
    FallbackTransportModes:
      type: array
      description: >
        Fallback transport modes are evaluated sequentially.  Each mode in the
        array is attempted one after another until one succeeds or all have
        failed.  Every attempt uses a fully defaulted configuration for the mode
        being tried.  If all modes fail, the error returned is the one produced
        by the final mode attempted.  

        This fallback mechanism is applied in the following situations:  
          - When a transport operation is configured with an `UNKNOWN` transport type.  
          - When a transport operation fails. Each mode in the array is attempted in order (excluding the mode that failed).
      items:
        type: string
        description: |
          The fallback mode of transport.
          <enumTable>
            <enumItem>
              <enumValue>`AIR`</enumValue>
              <enumHeading>Air</enumHeading>
              <enumDescription>Attempt to transport the cargo using aircraft.</enumDescription>
            </enumItem>
            <enumItem>
              <enumValue>`RAIL`</enumValue>
              <enumHeading>Rail</enumHeading>
              <enumDescription>Attempt to transport the cargo using rail infrastructure.</enumDescription>
            </enumItem>
            <enumItem>
              <enumValue>`ROAD`</enumValue>
              <enumHeading>Road</enumHeading>
              <enumDescription>Attempt to transport the cargo using road infrastructure.</enumDescription>
            </enumItem>
            <enumItem>
              <enumValue>`WATER`</enumValue>
              <enumHeading>Water</enumHeading>
              <enumDescription>Attempt to transport the cargo using maritime transport.</enumDescription>
            </enumItem>
          </enumTable>
        enum:
          - AIR
          - RAIL
          - ROAD
          - WATER
    IncludeRoutePolylines:
      type: boolean
      default: false
      description: >
        Whether to include route polylines in the results of `ROAD`, `RAIL` and
        `WATER` transport operations. When enabled, polylines are encoded using
        the Google Encoded Polyline Algorithm Format.
    CargoCategory:
      type: string
      description: >
        Aids in selecting default vehicle classes and sizes when specific
        transport details are not provided.  It is also used to determine
        default climate control requirements and cargo density properties.
        <enumTable>
          <enumItem>
            <enumValue>`AUTOMOBILES`</enumValue>
            <enumHeading>Automobiles</enumHeading>
            <enumDescription>
              Finished vehicles transported by specialized carriers.
              Climate control is `AT_AMBIENT` by default.
              The cargo density is characterized as `AVERAGE_MIXED` by default.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`BUILDING_MATERIALS`</enumValue>
            <enumHeading>Building materials</enumHeading>
            <enumDescription>
              Construction materials like cement, sand and gravel, bricks, stone, and lumber.
              Climate control is `AT_AMBIENT` by default.
              The cargo density is characterized as `HEAVY` by default.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`CEREALS`</enumValue>
            <enumHeading>Cereals</enumHeading>
            <enumDescription>
              Grain crops and similar agricultural bulk goods. 
              Climate control is `AT_AMBIENT` by default. 
              The cargo density is characterized as `HEAVY` by default. 
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`COAL_AND_STEEL`</enumValue>
            <enumHeading>Coal and steel</enumHeading>
            <enumDescription>
              Extra heavy bulk where empty returns are almost always required. 
              Climate control is `AT_AMBIENT` by default. 
              The cargo density is characterized as `HEAVY` by default. 
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`GENERAL`</enumValue>
            <enumHeading>General</enumHeading>
            <enumDescription>
              Default category for unspecified or miscellaneous cargo types. 
              Climate control is `AT_AMBIENT` by default. 
              The cargo density is characterized as `AVERAGE_MIXED` by default.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`LIQUEFIED_GAS`</enumValue>
            <enumHeading>Liquefied gas</enumHeading>
            <enumDescription>
              Gases liquefied for transport, such as LNG and LPG, carried in insulated or pressurized vessels. 
              Climate control is `AT_AMBIENT` by default as road tankers do not typically use active refrigeration systems. 
              The cargo density is characterized as `HEAVY` by default.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`LIQUID_CHEMICALS`</enumValue>
            <enumHeading>Liquid chemicals</enumHeading>
            <enumDescription>
              Materials in liquid form, typically transported in bulk using specialized tanks.
              Climate control is `AT_AMBIENT` by default. 
              The cargo density is characterized as `HEAVY` by default.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`MANUFACTURED_PRODUCTS`</enumValue>
            <enumHeading>Manufactured products</enumHeading>
            <enumDescription>
              Consumer or industrial goods produced by manufacturing, as opposed to raw materials. 
              Climate control is `AT_AMBIENT` by default. 
              The cargo density is characterized as `AVERAGE_MIXED` by default. 
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`OIL`</enumValue>
            <enumHeading>Oil</enumHeading>
            <enumDescription>
              Crude oil or refined petroleum products typically transported in bulk. 
              Climate control is `AT_AMBIENT` by default. 
              The cargo density is characterized as `HEAVY` by default. 
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`REFRIGERATED_BULK`</enumValue>
            <enumHeading>Refrigerated bulk</enumHeading>
            <enumDescription>
              Perishable goods that must be kept cold during transit. 
              Climate control is `REQUIRED` by default. 
              The cargo density is characterized as `AVERAGE_MIXED` by default.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`SOLID_CHEMICALS`</enumValue>
            <enumHeading>Solid chemicals</enumHeading>
            <enumDescription>
              Powders, granules, pellets, or other solid packaged chemicals typically handled and shipped as dry bulk materials. 
              Climate control is `AT_AMBIENT` by default. 
              The cargo density is characterized as `HEAVY` by default.
            </enumDescription>
          </enumItem>
        </enumTable>
      default: GENERAL
      enum:
        - AUTOMOBILES
        - BUILDING_MATERIALS
        - CEREALS
        - COAL_AND_STEEL
        - GENERAL
        - LIQUEFIED_GAS
        - LIQUID_CHEMICALS
        - MANUFACTURED_PRODUCTS
        - OIL
        - REFRIGERATED_BULK
        - SOLID_CHEMICALS
    LocationCoordinates:
      title: Coordinates
      allOf:
        - $ref: '#/components/schemas/LocationBase'
        - type: object
          required:
            - latitude
            - longitude
    LocationIata:
      title: IATA code
      allOf:
        - $ref: '#/components/schemas/LocationBase'
        - type: object
          required:
            - iataCode
    LocationUnlocode:
      title: UN/LOCODE
      allOf:
        - $ref: '#/components/schemas/LocationBase'
        - type: object
          required:
            - unLoCode
    LocationUnstructured:
      title: Unstructured address
      allOf:
        - $ref: '#/components/schemas/LocationBase'
        - type: object
          required:
            - address
            - country
    LocationStructured:
      title: Structured address
      allOf:
        - $ref: '#/components/schemas/LocationBase'
        - type: object
          required:
            - street
            - postcode
            - city
            - country
    LocationStreetCity:
      title: Street & city
      allOf:
        - $ref: '#/components/schemas/LocationBase'
        - type: object
          required:
            - street
            - city
            - country
    LocationStreetPostcode:
      title: Street & postcode
      allOf:
        - $ref: '#/components/schemas/LocationBase'
        - type: object
          required:
            - street
            - postcode
            - country
    LocationPostcode:
      title: Postcode
      allOf:
        - $ref: '#/components/schemas/LocationBase'
        - type: object
          required:
            - postcode
            - country
    LocationCity:
      title: City
      allOf:
        - $ref: '#/components/schemas/LocationBase'
        - type: object
          required:
            - city
            - country
    AirTransportDepartureDateTime:
      type: string
      format: date-time
      description: >
        When the aircraft departed its origin airport.

        #### Format ####

        ISO 8601 extended format date/time string in one of the following
        formats.
          - Local date/time (no offset), e.g. `2024-11-17T14:32`
          - UTC (Zulu) time, e.g. `2024-11-17T14:32`
          - Offset time, e.g. `2024-11-17T14:32+01:00`

        #### Offset management ####
          - Local times are automatically converted to offset times based on the origin airport's timezone.
            Example (origin JFK): `2025-03-28T09:00` → `2025-03-28T09:00-04:00`  
          - UTC times are automatically converted to offset times based on the origin airport's timezone.
            Example (origin JFK): `2025-03-28T13:00Z` → `2025-03-28T09:00-04:00`  

        #### Supported precision ####
          - Milliseconds: `2025-04-17T14:32:45.123+01:00`
          - Seconds: `2025-04-17T14:32:45+01:00`
          - Minutes: `2025-04-17T14:32+01:00`
          - Hours: `2025-04-17T14+01:00`
          - Date only: `2025-04-17`              
    AirTransportArrivalDateTime:
      type: string
      format: date-time
      description: >
        When the aircraft arrived at its destination airport.

        #### Format ####

        ISO 8601 extended format date/time string in one of the following
        formats.
          - Local date/time (no offset), e.g. `2024-11-17T14:32`
          - UTC (Zulu) time, e.g. `2024-11-17T14:32`
          - Offset time, e.g. `2024-11-17T14:32+01:00`

        #### Offset management ####
          - Local times are automatically converted to offset times based on the destination airport's timezone.
            Example (destination JFK): `2025-03-28T09:00` → `2025-03-28T09:00-04:00`  
          - UTC times are automatically converted to offset times based on the destination airport's timezone.
            Example (destination JFK): `2025-03-28T13:00Z` → `2025-03-28T09:00-04:00`  

        #### Supported precision ####
          - Milliseconds: `2025-04-17T14:32:45.123+01:00`
          - Seconds: `2025-04-17T14:32:45+01:00`
          - Minutes: `2025-04-17T14:32+01:00`
          - Hours: `2025-04-17T14+01:00`
          - Date only: `2025-04-17`              
    AirTransportAircraftType:
      type: string
      description: >
        Identifies the category of aircraft operation used for emissions
        estimation. Distinct ICAO computational methodologies are applied for
        passenger and freighter aircraft, yielding materially different
        emissions results.


        Used in conjunction with the `vehicle` property when the aircraft is
        referenced by  ICAO or IATA code as these often do not distinguish
        between passenger and freighter configurations. <enumTable>
          <enumItem>
            <enumValue>`PASSENGER`</enumValue>
            <enumHeading>Passenger</enumHeading>
            <enumDescription>
              An aircraft that carries freight in its belly hold alongside passengers.
              Calculations use the ICAO freighter algorithm, adjusted for belly-freight characteristics.
              When no `vehicle` is specified, a representative belly-freight emissions factor is used.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`FREIGHTER`</enumValue>
            <enumHeading>Freighter</enumHeading>
            <enumDescription>
              An aircraft that is purpose-built to carry freight or converted from a passenger aircraft.
              Calculations use the ICAO freighter algorithm, and default to a generic freighter emissions factor when `vehicle` is not provided.
            </enumDescription>
          </enumItem>
        </enumTable>
      enum:
        - PASSENGER
        - FREIGHTER
    AirTransportVehicle:
      type: string
      description: |
        Identifies the aircraft used for emissions and performance calculations.
        #### Accepted identifiers ####
          - **System identifier**: A unique model id from this system.
          - **ICAO code**: A 4-character (occasionally 3-character) alphanumeric aircraft type designator (Doc 8643) 
            that identifies an aircraft type or closely related sub-types.
          - **IATA code**: A 3-character alphanumeric equipment code that identifies an aircraft type or group of variants.

        #### Disambiguation ####
          - When an ICAO or IATA code is supplied that maps to both passenger and freighter variants, `aircraftType` can be used to disambiguate.
          - If an ICAO or IATA code still maps to multiple aircraft models after applying `aircraftType`, the system selects the most commonly
            operated model based on global fleet counts.
          - If `aircraftType` is omitted and a given ICAO/IATA code corresponds to both passenger and freighter variants, emissions will be calculated for
            both variants.
            The final emissions result will be produced by combining the passenger and freighter outputs and weighting them according to the IATA
            Global International Available Cargo Tonne-Kilometers (ACTK) shares by cargo business type for:  
              - the year of departure, or  
              - the year of arrival if departure is not provided, or  
              - the current year if neither date is available.

        <details>
          <summary style="font-weight: bold;">Airbus aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `AIRBUS_A220_100_BELLY_FREIGHT`                | `BCS1`    | `221`     |
          | `AIRBUS_A220_300_BELLY_FREIGHT`                | `BCS3`    | `223`     |
          | `AIRBUS_A300_600_BELLY_FREIGHT`                | `A306`    | `AB6`     |
          | `AIRBUS_A300_600F_FREIGHTER`                   | `A306`    | `ABY`     |
          | `AIRBUS_A300_B2_BELLY_FREIGHT`                 | `A30B`    | `AB4`     |
          | `AIRBUS_A300_B4_BELLY_FREIGHT`                 | `A30B`    | `AB4`     |
          | `AIRBUS_A300B4_200F_FREIGHTER`                 | `A30B`    | `ABX`     |
          | `AIRBUS_A310_200_BELLY_FREIGHT`                | `A310`    | `312`     |
          | `AIRBUS_A310_200F_FREIGHTER`                   | `A310`    | `31X`     |
          | `AIRBUS_A310_300_BELLY_FREIGHT`                | `A310`    | `313`     |
          | `AIRBUS_A310_300F_FREIGHTER`                   | `A310`    | `31Y`     |
          | `AIRBUS_A318_BELLY_FREIGHT`                    | `A318`    | `318`     |
          | `AIRBUS_A319_BELLY_FREIGHT`                    | `A319`    | `319`     |
          | `AIRBUS_A319_NEO_BELLY_FREIGHT`                | `A19N`    | `31N`     |
          | `AIRBUS_A320_BELLY_FREIGHT`                    | `A320`    | `320`     |
          | `AIRBUS_A320_NEO_BELLY_FREIGHT`                | `A20N`    | `32N`     |
          | `AIRBUS_A320_P2F_FREIGHTER`                    | `A320`    | `32A`     |
          | `AIRBUS_A320_SHARKLETS_BELLY_FREIGHT`          | `A320`    | `32A`     |
          | `AIRBUS_A321_BELLY_FREIGHT`                    | `A321`    | `321`     |
          | `AIRBUS_A321_NEO_BELLY_FREIGHT`                | `A21N`    | `32Q`     |
          | `AIRBUS_A321_P2F_FREIGHTER`                    | `A321`    | `32B`     |
          | `AIRBUS_A321_SHARKLETS_BELLY_FREIGHT`          | `A321`    | `32B`     |
          | `AIRBUS_A321F_FREIGHTER`                       | `A321`    | `32B`     |
          | `AIRBUS_A330_200_BELLY_FREIGHT`                | `A332`    | `332`     |
          | `AIRBUS_A330_200F_FREIGHTER`                   | `A332`    | `33X`     |
          | `AIRBUS_A330_300_BELLY_FREIGHT`                | `A333`    | `333`     |
          | `AIRBUS_A330_300_P2F_FREIGHTER`                | `A333`    | `33Y`     |
          | `AIRBUS_A330_800_NEO_BELLY_FREIGHT`            | `A338`    | `338`     |
          | `AIRBUS_A330_900_NEO_BELLY_FREIGHT`            | `A339`    | `339`     |
          | `AIRBUS_A330_P2F_FREIGHTER`                    | `A332`    | `33X`     |
          | `AIRBUS_A340_200_BELLY_FREIGHT`                | `A342`    | `342`     |
          | `AIRBUS_A340_300_BELLY_FREIGHT`                | `A343`    | `343`     |
          | `AIRBUS_A340_500_BELLY_FREIGHT`                | `A345`    | `345`     |
          | `AIRBUS_A340_600_BELLY_FREIGHT`                | `A346`    | `346`     |
          | `AIRBUS_A350_900_BELLY_FREIGHT`                | `A359`    | `359`     |
          | `AIRBUS_A350_1000_BELLY_FREIGHT`               | `A35K`    | `351`     |
          | `AIRBUS_A380_BELLY_FREIGHT`                    | `A388`    | `380`     |

        </details>
        <details>
          <summary style="font-weight: bold">Antonov aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `ANTONOV_AN_24_BELLY_FREIGHT`                  | `AN24`    | `AN4`     |
          | `ANTONOV_AN_24_FREIGHTER`                      | `AN24`    | `AN4`     |
          | `ANTONOV_AN_26_FREIGHTER`                      | `AN26`    | `A26`     |
          | `ANTONOV_AN_28_FREIGHTER`                      | `AN28`    | `A28`     |
          | `ANTONOV_AN_32_FREIGHTER`                      | `AN32`    | `A32`     |
          | `ANTONOV_AN_72_FREIGHTER`                      | `AN72`    | `AN7`     |
          | `ANTONOV_AN_74_FREIGHTER`                      | `AN72`    | `AN7`     |
          | `ANTONOV_AN_124_FREIGHTER`                     | `A124`    | `A4F`     |
          | `ANTONOV_AN_140_FREIGHTER`                     | `A140`    | `A40`     |
          | `ANTONOV_AN_148_BELLY_FREIGHT`                 | `A148`    | `A81`     |

        </details>
        <details>
          <summary style="font-weight: bold">ATR aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `ATR_42_300_BELLY_FREIGHT`                     | `AT43`    | `AT4`     |
          | `ATR_42_320_BELLY_FREIGHT`                     | `AT43`    | `AT4`     |
          | `ATR_42_400_BELLY_FREIGHT`                     | `AT44`    | `ATD`     |
          | `ATR_42_500_BELLY_FREIGHT`                     | `AT45`    | `AT5`     |
          | `ATR_42_600_BELLY_FREIGHT`                     | `AT46`    | `ATR`     |
          | `ATR_42_FREIGHTER`                             | `AT43`    | `AT4`     |
          | `ATR_72_200_BELLY_FREIGHT`                     | `AT72`    | `AT7`     |
          | `ATR_72_210_BELLY_FREIGHT`                     | `AT73`    | `ATR`     |
          | `ATR_72_500_BELLY_FREIGHT`                     | `AT75`    | `ATR`     |
          | `ATR_72_600_BELLY_FREIGHT`                     | `AT76`    | `ATR`     |
          | `ATR_72_FREIGHTER`                             | `AT72`    | `ATF`     |

        </details>
        <details>
          <summary style="font-weight: bold">Avro aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `AVRO_RJ70_BELLY_FREIGHT`                      | `RJ70`    | `AR7`     |
          | `AVRO_RJ85_BELLY_FREIGHT`                      | `RJ85`    | `AR8`     |
          | `AVRO_RJ100_BELLY_FREIGHT`                     | `RJ1H`    | `AR1`     |

        </details>
        <details>
          <summary style="font-weight: bold">Boeing aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `BOEING_717_BELLY_FREIGHT`                     | `B712`    | `717`     |
          | `BOEING_727_200F_FREIGHTER`                    | `B722`    | `72Y`     |
          | `BOEING_737_100_BELLY_FREIGHT`                 | `B731`    | `731`     |
          | `BOEING_737_200_BELLY_FREIGHT`                 | `B732`    | `732`     |
          | `BOEING_737_200F_FREIGHTER`                    | `B732`    | `73X`     |
          | `BOEING_737_300_BELLY_FREIGHT`                 | `B733`    | `733`     |
          | `BOEING_737_300F_FREIGHTER`                    | `B733`    | `73Y`     |
          | `BOEING_737_300SP_BELLY_FREIGHT`               | `B733`    | `73C`     |
          | `BOEING_737_400_BELLY_FREIGHT`                 | `B734`    | `734`     |
          | `BOEING_737_400F_FREIGHTER`                    | `B734`    | `73P`     |
          | `BOEING_737_500_BELLY_FREIGHT`                 | `B735`    | `735`     |
          | `BOEING_737_500SP_BELLY_FREIGHT`               | `B735`    | `73E`     |
          | `BOEING_737_600_BELLY_FREIGHT`                 | `B736`    | `736`     |
          | `BOEING_737_700_BELLY_FREIGHT`                 | `B737`    | `73G`     |
          | `BOEING_737_700_WINGLETS_BELLY_FREIGHT`        | `B737`    | `73W`     |
          | `BOEING_737_700CF_FREIGHTER`                   | `B737`    | `73R`     |
          | `BOEING_737_800_BELLY_FREIGHT`                 | `B738`    | `738`     |
          | `BOEING_737_800_WINGLETS_BELLY_FREIGHT`        | `B738`    | `73H`     |
          | `BOEING_737_800BCF_FREIGHTER`                  | `B738`    | `7F8`     |
          | `BOEING_737_800SF_FREIGHTER`                   | `B738`    | `73K`     |
          | `BOEING_737_900_BELLY_FREIGHT`                 | `B739`    | `739`     |
          | `BOEING_737_900_WINGLETS_BELLY_FREIGHT`        | `B739`    | `73J`     |
          | `BOEING_737_MAX_8_BELLY_FREIGHT`               | `B38M`    | `7M8`     |
          | `BOEING_737_MAX_9_BELLY_FREIGHT`               | `B39M`    | `7M9`     |
          | `BOEING_747_100SF_FREIGHTER`                   | `B741`    | `74T`     |
          | `BOEING_747_200_BELLY_FREIGHT`                 | `B742`    | `742`     |
          | `BOEING_747_200F_FREIGHTER`                    | `B742`    | `74X`     |
          | `BOEING_747_200SF_FREIGHTER`                   | `B742`    | `74X`     |
          | `BOEING_747_300_BELLY_FREIGHT`                 | `B743`    | `743`     |
          | `BOEING_747_300SF_FREIGHTER`                   | `B743`    | `74U`     |
          | `BOEING_747_400_BELLY_FREIGHT`                 | `B744`    | `744`     |
          | `BOEING_747_400BCF_FREIGHTER`                  | `B744`    | `74Y`     |
          | `BOEING_747_400BDSF_FREIGHTER`                 | `B744`    | `74Y`     |
          | `BOEING_747_400ERF_FREIGHTER`                  | `B744`    | `74Y`     |
          | `BOEING_747_400F_FREIGHTER`                    | `B744`    | `74Y`     |
          | `BOEING_747_8F_FREIGHTER`                      | `B748`    | `74N`     |
          | `BOEING_747_8I_BELLY_FREIGHT`                  | `B748`    | `74H`     |
          | `BOEING_757_200_BELLY_FREIGHT`                 | `B752`    | `752`     |
          | `BOEING_757_200_WINGLETS_BELLY_FREIGHT`        | `B752`    | `75W`     |
          | `BOEING_757_200F_FREIGHTER`                    | `B752`    | `75F`     |
          | `BOEING_757_200PCF_FREIGHTER`                  | `B752`    | `75F`     |
          | `BOEING_757_200PF_FREIGHTER`                   | `B752`    | `75F`     |
          | `BOEING_757_200SF_FREIGHTER`                   | `B752`    | `75F`     |
          | `BOEING_757_300_BELLY_FREIGHT`                 | `B753`    | `753`     |
          | `BOEING_757_300_WINGLETS_BELLY_FREIGHT`        | `B753`    | `75T`     |
          | `BOEING_767_200_BELLY_FREIGHT`                 | `B762`    | `762`     |
          | `BOEING_767_200_FREIGHTER`                     | `B762`    | `76X`     |
          | `BOEING_767_200ER_BELLY_FREIGHT`               | `B762`    | `762`     |
          | `BOEING_767_300_BELLY_FREIGHT`                 | `B763`    | `763`     |
          | `BOEING_767_300_FREIGHTER`                     | `B763`    | `76Y`     |
          | `BOEING_767_300BCF_FREIGHTER`                  | `B763`    | `76Y`     |
          | `BOEING_767_300BDSF_FREIGHTER`                 | `B763`    | `76Y`     |
          | `BOEING_767_300ER_BELLY_FREIGHT`               | `B763`    | `76T`     |
          | `BOEING_767_300ER_WINGLETS_BELLY_FREIGHT`      | `B763`    | `76W`     |
          | `BOEING_767_400ER_BELLY_FREIGHT`               | `B764`    | `764`     |
          | `BOEING_777_200_BELLY_FREIGHT`                 | `B772`    | `772`     |
          | `BOEING_777_200ER_BELLY_FREIGHT`               | `B772`    | `772`     |
          | `BOEING_777_200F_FREIGHTER`                    | `B77L`    | `77X`     |
          | `BOEING_777_200LR_BELLY_FREIGHT`               | `B77L`    | `77L`     |
          | `BOEING_777_300_BELLY_FREIGHT`                 | `B773`    | `773`     |
          | `BOEING_777_300ER_BELLY_FREIGHT`               | `B77W`    | `77W`     |
          | `BOEING_777_300ERSF_FREIGHTER`                 | `B773`    | `77W`     |
          | `BOEING_787_8_BELLY_FREIGHT`                   | `B788`    | `788`     |
          | `BOEING_787_9_BELLY_FREIGHT`                   | `B789`    | `789`     |
          | `BOEING_787_10_BELLY_FREIGHT`                  | `B78X`    | `781`     |

        </details>
        <details>
          <summary style="font-weight: bold">Bombardier aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `BOMBARDIER_CRJ100_ER_BELLY_FREIGHT`           | `CRJ1`    | `CR1`     |
          | `BOMBARDIER_CRJ100_LR_BELLY_FREIGHT`           | `CRJ1`    | `CR1`     |
          | `BOMBARDIER_CRJ200_ER_BELLY_FREIGHT`           | `CRJ2`    | `CR2`     |
          | `BOMBARDIER_CRJ200_LR_BELLY_FREIGHT`           | `CRJ2`    | `CR2`     |
          | `BOMBARDIER_CRJ200PF_ER_FREIGHTER`             | `CRJ2`    | `CRF`     |
          | `BOMBARDIER_CRJ200PF_LR_FREIGHTER`             | `CRJ2`    | `CRF`     |
          | `BOMBARDIER_CRJ200SF_ER_FREIGHTER`             | `CRJ2`    | `CRF`     |
          | `BOMBARDIER_CRJ200SF_LR_FREIGHTER`             | `CRJ2`    | `CRF`     |
          | `BOMBARDIER_CRJ550_BELLY_FREIGHT`              | `CRJ7`    | `CR7`     |
          | `BOMBARDIER_CRJ700_BELLY_FREIGHT`              | `CRJ7`    | `CR7`     |
          | `BOMBARDIER_CRJ705_BELLY_FREIGHT`              | `CRJ9`    | `CRA`     |
          | `BOMBARDIER_CRJ900_BELLY_FREIGHT`              | `CRJ9`    | `CR9`     |
          | `BOMBARDIER_CRJ1000_BELLY_FREIGHT`             | `CRJX`    | `CRK`     |

        </details>
        <details>
          <summary style="font-weight: bold">British Aerospace aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `BRITISH_AEROSPACE_ATP_BELLY_FREIGHT`          | `ATP`     | `ATP`     |
          | `BRITISH_AEROSPACE_BAE_146_100_BELLY_FREIGHT`  | `B461`    | `141`     |
          | `BRITISH_AEROSPACE_BAE_146_100QC_FREIGHTER`    | `B461`    | `14X`     |
          | `BRITISH_AEROSPACE_BAE_146_100QT_FREIGHTER`    | `B461`    | `14X`     |
          | `BRITISH_AEROSPACE_BAE_146_200_BELLY_FREIGHT`  | `B462`    | `142`     |
          | `BRITISH_AEROSPACE_BAE_146_200QC_FREIGHTER`    | `B462`    | `14Y`     |
          | `BRITISH_AEROSPACE_BAE_146_200QT_FREIGHTER`    | `B462`    | `14Y`     |
          | `BRITISH_AEROSPACE_BAE_146_300_BELLY_FREIGHT`  | `B463`    | `143`     |
          | `BRITISH_AEROSPACE_BAE_146_300QC_FREIGHTER`    | `B463`    | `14Z`     |
          | `BRITISH_AEROSPACE_BAE_146_300QT_FREIGHTER`    | `B463`    | `14Z`     |
          | `BRITISH_AEROSPACE_JETSTREAM_31_BELLY_FREIGHT` | `JS31`    | `J31`     |
          | `BRITISH_AEROSPACE_JETSTREAM_32_BELLY_FREIGHT` | `JS32`    | `J32`     |
          | `BRITISH_AEROSPACE_JETSTREAM_41_BELLY_FREIGHT` | `JS41`    | `J41`     |

        </details>
        <details>
          <summary style="font-weight: bold">Britten-Norman aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `BRITTEN_NORMAN_BN_2_ISLANDER_BELLY_FREIGHT`   | `BN2P`    | `BNI`     |
          | `BRITTEN_NORMAN_BN_2_ISLANDER_FREIGHTER`       | `BN2P`    | `BNI`     |
          | `BRITTEN_NORMAN_TRISLANDER_BELLY_FREIGHT`      | `TRIS`    | `BNT`     |

        </details>
        <details>
          <summary style="font-weight: bold">CASA / IPTN aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `CASA_C_212_100_BELLY_FREIGHT`                 | `C212`    | `CS2`     |
          | `CASA_C_212_100_FREIGHTER`                     | `C212`    | `CS2`     |
          | `CASA_C_212_200_BELLY_FREIGHT`                 | `C212`    | `CS2`     |
          | `CASA_C_212_200_FREIGHTER`                     | `C212`    | `CS2`     |
          | `CASA_C_212_300_BELLY_FREIGHT`                 | `C212`    | `CS2`     |
          | `CASA_C_212_300_FREIGHTER`                     | `C212`    | `CS2`     |
          | `CASA_C_212_400_BELLY_FREIGHT`                 | `C212`    | `CS2`     |
          | `CASA_C_212_400_FREIGHTER`                     | `C212`    | `CS2`     |
          | `CASA_NC_212I_BELLY_FREIGHT`                   | `C212`    | `CS2`     |
          | `CASA_NC_212I_FREIGHTER`                       | `C212`    | `CS2`     |
          | `CASA_CN_235_BELLY_FREIGHT`                    | `CN35`    | `CS5`     |
          | `CASA_CN_235_FREIGHTER`                        | `CN35`    | `CS5`     |

        </details>
        <details>
          <summary style="font-weight: bold">Cessna aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `CESSNA_208_BELLY_FREIGHT`                     | `C208`    | `CNC`     |
          | `CESSNA_208A_FREIGHTER`                        | `C208`    | `CNC`     |
          | `CESSNA_208B_BELLY_FREIGHT`                    | `C208`    | `CNC`     |
          | `CESSNA_208B_FREIGHTER`                        | `C208`    | `CNC`     |
          | `CESSNA_408_BELLY_FREIGHT`                     | `C408`    | `CNT`     |
          | `CESSNA_408_FREIGHTER`                         | `C408`    | `CNT`     |

        </details>
        <details>
          <summary style="font-weight: bold">Convair aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `CONVAIR_CV_580F_FREIGHTER`                    | `CVLT`    | `CVF`     |
          | `CONVAIR_CV_5800F_FREIGHTER`                   | `CVLT`    | `CVF`     |

        </details>
        <details>
          <summary style="font-weight: bold">Dassault aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `DASSAULT_FALCON_20DC_FREIGHTER`               | `FA20`    | `DF2`     |

        </details>
        <details>
          <summary style="font-weight: bold">De Havilland Canada aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `DE_HAVILLAND_CANADA_DHC_2_BELLY_FREIGHT`      | `DHC2`    | `DHP`     |
          | `DE_HAVILLAND_CANADA_DHC_2_FREIGHTER`          | `DHC2`    | `DHP`     |
          | `DE_HAVILLAND_CANADA_DHC_2T_BELLY_FREIGHT`     | `DH2T`    | `DHR`     |
          | `DE_HAVILLAND_CANADA_DHC_2T_FREIGHTER`         | `DH2T`    | `DHR`     |
          | `DE_HAVILLAND_CANADA_DHC_3_BELLY_FREIGHT`      | `DHC3`    | `DHS`     |
          | `DE_HAVILLAND_CANADA_DHC_3_FREIGHTER`          | `DHC3`    | `DHS`     |
          | `DE_HAVILLAND_CANADA_DHC_3T_BELLY_FREIGHT`     | `DH3T`    | `DHL`     |
          | `DE_HAVILLAND_CANADA_DHC_3T_FREIGHTER`         | `DH3T`    | `DHL`     |
          | `DE_HAVILLAND_CANADA_DHC_6_100_BELLY_FREIGHT`  | `DHC6`    | `DHT`     |
          | `DE_HAVILLAND_CANADA_DHC_6_100_FREIGHTER`      | `DHC6`    | `DHT`     |
          | `DE_HAVILLAND_CANADA_DHC_6_300_BELLY_FREIGHT`  | `DHC6`    | `DHT`     |
          | `DE_HAVILLAND_CANADA_DHC_6_300_FREIGHTER`      | `DHC6`    | `DHT`     |
          | `DE_HAVILLAND_CANADA_DHC_6_400_BELLY_FREIGHT`  | `DHC6`    | `DHT`     |
          | `DE_HAVILLAND_CANADA_DHC_6_400_FREIGHTER`      | `DHC6`    | `DHT`     |
          | `DE_HAVILLAND_CANADA_DHC_7_BELLY_FREIGHT`      | `DHC7`    | `DH7`     |
          | `DE_HAVILLAND_CANADA_DHC_8_100_BELLY_FREIGHT`  | `DH8A`    | `DH1`     |
          | `DE_HAVILLAND_CANADA_DHC_8_100PF_FREIGHTER`    | `DH8A`    | `DH1`     |
          | `DE_HAVILLAND_CANADA_DHC_8_200_BELLY_FREIGHT`  | `DH8B`    | `DH2`     |
          | `DE_HAVILLAND_CANADA_DHC_8_300_BELLY_FREIGHT`  | `DH8C`    | `DH3`     |
          | `DE_HAVILLAND_CANADA_DHC_8_400_BELLY_FREIGHT`  | `DH8D`    | `DH4`     |
          | `DE_HAVILLAND_CANADA_DHC_8_402PF_FREIGHTER`    | `DH8D`    | `DH4`     |

        </details>
        <details>
          <summary style="font-weight: bold">Douglas aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `DOUGLAS_DC3_FREIGHTER`                        | `DC3`     | `D3F`     |

        </details>
        <details>
          <summary style="font-weight: bold">Embraer aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `EMBRAER_E170_AR_BELLY_FREIGHT`                | `E170`    | `E70`     |
          | `EMBRAER_E170_LR_BELLY_FREIGHT`                | `E170`    | `E70`     |
          | `EMBRAER_E175_AR_BELLY_FREIGHT`                | `E75L`    | `E75`     |
          | `EMBRAER_E175_LR_BELLY_FREIGHT`                | `E75L`    | `E75`     |
          | `EMBRAER_E190_AR_BELLY_FREIGHT`                | `E290`    | `290`     |
          | `EMBRAER_E190_LR_BELLY_FREIGHT`                | `E190`    | `E90`     |
          | `EMBRAER_E195_AR_BELLY_FREIGHT`                | `E295`    | `295`     |
          | `EMBRAER_E195_LR_BELLY_FREIGHT`                | `E195`    | `E95`     |
          | `EMBRAER_EMB_110_BELLY_FREIGHT`                | `E110`    | `EMB`     |
          | `EMBRAER_EMB_110_FREIGHTER`                    | `E110`    | `EMB`     |
          | `EMBRAER_EMB_120_BELLY_FREIGHT`                | `E120`    | `EM2`     |
          | `EMBRAER_EMB_120FC_FREIGHTER`                  | `E120`    | `EM2`     |
          | `EMBRAER_EMB_120QC_FREIGHTER`                  | `E120`    | `EM2`     |
          | `EMBRAER_ERJ_135_BELLY_FREIGHT`                | `E135`    | `ER3`     |
          | `EMBRAER_ERJ_140_BELLY_FREIGHT`                | `E135`    | `ERD`     |
          | `EMBRAER_ERJ_145_BELLY_FREIGHT`                | `E145`    | `ER4`     |

        </details>
        <details>
          <summary style="font-weight: bold">Fairchild Dornier aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `FAIRCHILD_DORNIER_DO_228_BELLY_FREIGHT`       | `D228`    | `D28`     |
          | `FAIRCHILD_DORNIER_DO_228_FREIGHTER`           | `D228`    | `D28`     |
          | `FAIRCHILD_DORNIER_DO_328_BELLY_FREIGHT`       | `D328`    | `D38`     |
          | `FAIRCHILD_DORNIER_328JET_BELLY_FREIGHT`       | `J328`    | `FRJ`     |

        </details>
        <details>
          <summary style="font-weight: bold">Fairchild Swearingen aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `FAIRCHILD_SWEARINGEN_METRO_II_BELLY_FREIGHT`  | `SW2`     | `SWM`     |
          | `FAIRCHILD_SWEARINGEN_METRO_II_FREIGHTER`      | `SW2`     | `SWM`     |
          | `FAIRCHILD_SWEARINGEN_METRO_III_BELLY_FREIGHT` | `SW3`     | `SWM`     |
          | `FAIRCHILD_SWEARINGEN_METRO_III_FREIGHTER`     | `SW3`     | `SWM`     |
          | `FAIRCHILD_SWEARINGEN_METRO_23_BELLY_FREIGHT`  | `SW4`     | `SWM`     |

        </details>
        <details>
          <summary style="font-weight: bold">Fokker aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `FOKKER_F27_BELLY_FREIGHT`                     | `F27`     | `F27`     |
          | `FOKKER_F27_FREIGHTER`                         | `F27`     | `F27`     |
          | `FOKKER_F50_BELLY_FREIGHT`                     | `F50`     | `F50`     |
          | `FOKKER_F50_FREIGHTER`                         | `F50`     | `F5F`     |
          | `FOKKER_F70_BELLY_FREIGHT`                     | `F70`     | `F70`     |
          | `FOKKER_100_BELLY_FREIGHT`                     | `F100`    | `100`     |
          | `FOKKER_100QC_FREIGHTER`                       | `F100`    | `100`     |

        </details>
        <details>
          <summary style="font-weight: bold">Harbin aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `HARBIN_Y12_BELLY_FREIGHT`                     | `Y12`     | `YN2`     |
          | `HARBIN_Y12F_FREIGHTER`                        | `Y12`     | `YN2`     |

        </details>
        <details>
          <summary style="font-weight: bold">Hawker Siddeley aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `HAWKER_SIDDELEY_HS_748_FREIGHTER`             | `A748`    | `HS7`     |

        </details>
        <details>
          <summary style="font-weight: bold">Ilyushin aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `ILYUSHIN_IL_18_FREIGHTER`                     | `IL18`    | `IL8`     |
          | `ILYUSHIN_IL_76TD_90_FREIGHTER`                | `IL76`    | `IL7`     |
          | `ILYUSHIN_IL_76TD_FREIGHTER`                   | `IL76`    | `IL7`     |
          | `ILYUSHIN_IL_96_300_BELLY_FREIGHT`             | `IL96`    | `I93`     |
          | `ILYUSHIN_IL_96_400_BELLY_FREIGHT`             | `IL96`    | `I93`     |
          | `ILYUSHIN_IL_96_400T_FREIGHTER`                | `IL96`    | `I9F`     |
          | `ILYUSHIN_IL_96M_BELLY_FREIGHT`                | `IL96`    | `I9M`     |
          | `ILYUSHIN_IL_96T_FREIGHTER`                    | `IL96`    | `I9Y`     |
          | `ILYUSHIN_IL114_BELLY_FREIGHT`                 | `I114`    | `I14`     |
          | `ILYUSHIN_IL114_FREIGHTER`                     | `I114`    | `I14`     |

        </details>
        <details>
          <summary style="font-weight: bold">Let Kunovice aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `LET_KUNOVICE_L_410_BELLY_FREIGHT`             | `L410`    | `L4T`     |
          | `LET_KUNOVICE_L_410NG_FREIGHTER`               | `L410`    | `L4T`     |
          | `LET_KUNOVICE_L_410T_FREIGHTER`                | `L410`    | `L4T`     |

        </details>
        <details>
          <summary style="font-weight: bold">Lockheed aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `LOCKHEED_L_100_FREIGHTER`                     | `C130`    | `LOH`     |
          | `LOCKHEED_L_188_FREIGHTER`                     | `L188`    | `LOF`     |

        </details>
        <details>
          <summary style="font-weight: bold">McDonnell Douglas aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `MCDONNELL_DOUGLAS_DC_10_30F_FREIGHTER`        | `DC10`    | `D1Y`     |
          | `MCDONNELL_DOUGLAS_DC8_55F_FREIGHTER`          | `DC85`    | `D8T`     |
          | `MCDONNELL_DOUGLAS_DC8_62F_FREIGHTER`          | `DC86`    | `D8X`     |
          | `MCDONNELL_DOUGLAS_DC8_63F_FREIGHTER`          | `DC86`    | `D8X`     |
          | `MCDONNELL_DOUGLAS_DC8_73F_FREIGHTER`          | `DC87`    | `D8Y`     |
          | `MCDONNELL_DOUGLAS_DC9_10_BELLY_FREIGHT`       | `DC91`    | `D91`     |
          | `MCDONNELL_DOUGLAS_DC9_10C_FREIGHTER`          | `DC91`    | `D9X`     |
          | `MCDONNELL_DOUGLAS_DC9_10F_FREIGHTER`          | `DC91`    | `D9X`     |
          | `MCDONNELL_DOUGLAS_DC9_20_BELLY_FREIGHT`       | `DC92`    | `D92`     |
          | `MCDONNELL_DOUGLAS_DC9_30_BELLY_FREIGHT`       | `DC93`    | `D93`     |
          | `MCDONNELL_DOUGLAS_DC9_30F_FREIGHTER`          | `DC93`    | `D9C`     |
          | `MCDONNELL_DOUGLAS_DC9_40_BELLY_FREIGHT`       | `DC94`    | `D94`     |
          | `MCDONNELL_DOUGLAS_DC9_50_BELLY_FREIGHT`       | `DC95`    | `D95`     |
          | `MCDONNELL_DOUGLAS_MD_11_FREIGHTER`            | `MD11`    | `M1F`     |
          | `MCDONNELL_DOUGLAS_MD_81_BELLY_FREIGHT`        | `MD81`    | `M81`     |
          | `MCDONNELL_DOUGLAS_MD_81SF_FREIGHTER`          | `MD81`    | `M81`     |
          | `MCDONNELL_DOUGLAS_MD_82_BELLY_FREIGHT`        | `MD82`    | `M82`     |
          | `MCDONNELL_DOUGLAS_MD_82SF_FREIGHTER`          | `MD82`    | `M82`     |
          | `MCDONNELL_DOUGLAS_MD_83_BELLY_FREIGHT`        | `MD83`    | `M83`     |
          | `MCDONNELL_DOUGLAS_MD_83SF_FREIGHTER`          | `MD83`    | `M83`     |
          | `MCDONNELL_DOUGLAS_MD_87_BELLY_FREIGHT`        | `MD87`    | `M87`     |
          | `MCDONNELL_DOUGLAS_MD_88_BELLY_FREIGHT`        | `MD88`    | `M88`     |
          | `MCDONNELL_DOUGLAS_MD_88SF_FREIGHTER`          | `MD88`    | `M88`     |

        </details>
        <details>
          <summary style="font-weight: bold">Mitsubishi aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `MITSUBISHI_MU_2_FREIGHTER`                    | `MU2`     | `MU2`     |
          | `MITSUBISHI_MU_2_LONG_FUSELAGE_BELLY_FREIGHT`  | `MU2`     | `MU2`     |
          | `MITSUBISHI_MU_2_SHORT_FUSELAGE_BELLY_FREIGHT` | `MU2`     | `MU2`     |

        </details>
        <details>
          <summary style="font-weight: bold">PZL Mielec aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `PZL_MIELEC_M28_FREIGHTER`                     | `AN28`    | `A28`     |

        </details>
        <details>
          <summary style="font-weight: bold">Pilatus aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `PILATUS_PC_6_BELLY_FREIGHT`                   | `PC6T`    | `PL6`     |
          | `PILATUS_PC_6_FREIGHTER`                       | `PC6T`    | `PL6`     |
          | `PILATUS_PC_12_BELLY_FREIGHT`                  | `PC12`    | `PL2`     |
          | `PILATUS_PC_12_FREIGHTER`                      | `PC12`    | `PL2`     |

        </details>
        <details>
          <summary style="font-weight: bold">Piper aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `PIPER_PA_31_BELLY_FREIGHT`                    | `PA31`    | `PA2`     |
          | `PIPER_PA_31_FREIGHTER`                        | `PA31`    | `PA2`     |
          | `PIPER_PA_32_BELLY_FREIGHT`                    | `PA32`    | `PA1`     |
          | `PIPER_PA_32_FREIGHTER`                        | `PA32`    | `PA1`     |
          | `PIPER_PA_34_BELLY_FREIGHT`                    | `PA34`    | `PA2`     |
          | `PIPER_PA_34_FREIGHTER`                        | `PA34`    | `PA2`     |
          | `PIPER_PA_60_BELLY_FREIGHT`                    | `AEST`    | `PA2`     |
          | `PIPER_PA_60_FREIGHTER`                        | `AEST`    | `PA2`     |

        </details>
        <details>
          <summary style="font-weight: bold">Raytheon Beechcraft aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `RAYTHEON_BEECHCRAFT_1900C_BELLY_FREIGHT`      | `B190`    | `BES`     |
          | `RAYTHEON_BEECHCRAFT_1900C_FREIGHTER`          | `B190`    | `BES`     |
          | `RAYTHEON_BEECHCRAFT_1900D_BELLY_FREIGHT`      | `B190`    | `BEH`     |
          | `RAYTHEON_BEECHCRAFT_1900D_FREIGHTER`          | `B190`    | `BEH`     |

        </details>
        <details>
          <summary style="font-weight: bold">Saab AB aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `SAAB_2000_BELLY_FREIGHT`                      | `SB20`    | `S20`     |
          | `SAAB_340A_BELLY_FREIGHT`                      | `SF34`    | `SF3`     |
          | `SAAB_340A_FREIGHTER`                          | `SF34`    | `SFF`     |
          | `SAAB_340B_BELLY_FREIGHT`                      | `SF34`    | `SF3`     |
          | `SAAB_340B_FREIGHTER`                          | `SF34`    | `SFF`     |

        </details>
        <details>
          <summary style="font-weight: bold">Short Brothers aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `SHORT_BROTHERS_SC_5_FREIGHTER`                | `BELF`    | `SHB`     |
          | `SHORT_BROTHERS_SC_7_FREIGHTER`                | `SC7`     | `SHS`     |
          | `SHORT_BROTHERS_SD_330_BELLY_FREIGHT`          | `SH33`    | `SH3`     |
          | `SHORT_BROTHERS_SD_330_FREIGHTER`              | `SH33`    | `SH3`     |
          | `SHORT_BROTHERS_SD_360_300F_FREIGHTER`         | `SH36`    | `SH6`     |
          | `SHORT_BROTHERS_SD_360_BELLY_FREIGHT`          | `SH36`    | `SH6`     |

        </details>
        <details>
          <summary style="font-weight: bold">Sukhoi aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `SUKHOI_SUPERJET_100_BELLY_FREIGHT`            | `SU95`    | `SU9`     |

        </details>
        <details>
          <summary style="font-weight: bold">Tupolev aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `TUPOLEV_TU_204_100_BELLY_FREIGHT`             | `T204`    | `T20`     |
          | `TUPOLEV_TU_204_100C_FREIGHTER`                | `T204`    | `T20`     |
          | `TUPOLEV_TU_204_120_BELLY_FREIGHT`             | `T204`    | `T20`     |
          | `TUPOLEV_TU_204_120C_FREIGHTER`                | `T204`    | `T20`     |
          | `TUPOLEV_TU_204_300_BELLY_FREIGHT`             | `T204`    | `T20`     |
          | `TUPOLEV_TU_214_BELLY_FREIGHT`                 | `T204`    | `T20`     |

        </details>
        <details>
          <summary style="font-weight: bold">Xi'an aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `XIAN_MA60_BELLY_FREIGHT`                      | `MA60`    | `MA6`     |
          | `XIAN_MA600_BELLY_FREIGHT`                     | `MA60`    | `MA6`     |
          | `XIAN_MA600F_FREIGHTER`                        | `MA60`    | `MA6`     |

        </details>
        <details>
          <summary style="font-weight: bold">Yakovlev aircraft</summary>

          | System Identifier                              | ICAO code | IATA code |
          |------------------------------------------------|-----------|-----------|
          | `YAKOVLEV_YAK_40_BELLY_FREIGHT`                | `YK40`    | `YK4`     |
          | `YAKOVLEV_YAK_40K_FREIGHTER`                   | `YK40`    | `YK4`     |
          | `YAKOVLEV_YAK_42_BELLY_FREIGHT`                | `YK42`    | `YK2`     |

        </details>
    RailTransportDepartureDateTime:
      type: string
      format: date-time
      description: >
        When the train departed its origin railyard.

        #### Format ####

        ISO 8601 extended format date/time string in one of the following
        formats.
          - Local date/time (no offset), e.g. `2024-11-17T14:32`
          - UTC (Zulu) time, e.g. `2024-11-17T14:32`
          - Offset time, e.g. `2024-11-17T14:32+01:00`

        #### Offset management ####
          - Local times are automatically converted to offset times based on the origin railyard's timezone.
              Example (origin Paris): `2025-03-28T09:00` → `2025-03-28T09:00+01:00`  
          - UTC times are automatically converted to offset times based on the origin railyard's timezone.
              Example (origin Paris): `2025-03-28T08:00Z` → `2025-03-28T09:00+01:00`  

        #### Supported precision ####
          - Milliseconds: `2025-04-17T14:32:45.123+01:00`
          - Seconds: `2025-04-17T14:32:45+01:00`
          - Minutes: `2025-04-17T14:32+01:00`
          - Hours: `2025-04-17T14+01:00`
          - Date only: `2025-04-17`              
    RailTransportArrivalDateTime:
      type: string
      format: date-time
      description: >
        When the train arrived at its destination railyard.

        #### Format ####

        ISO 8601 extended format date/time string in one of the following
        formats.
          - Local date/time (no offset), e.g. `2024-11-17T14:32`
          - UTC (Zulu) time, e.g. `2024-11-17T14:32`
          - Offset time, e.g. `2024-11-17T14:32+01:00`

        #### Offset management ####
          - Local times are automatically converted to offset times based on the destination railyard's timezone.
              Example (destination London): `2025-03-28T09:00` → `2025-03-28T09:00+00:00`  
          - UTC times are automatically converted to offset times based on the destination railyard's timezone.
              Example (destination London): `2025-03-28T09:00Z` → `2025-03-28T09:00+00:00`  

        #### Supported precision ####
          - Milliseconds: `2025-04-17T14:32:45.123+01:00`
          - Seconds: `2025-04-17T14:32:45+01:00`
          - Minutes: `2025-04-17T14:32+01:00`
          - Hours: `2025-04-17T14+01:00`
          - Date only: `2025-04-17`              
    RailTransportVehicle:
      description: >
        The type of train used.  When this property is set, the `trainType`,
        `grossTrainWeight`, and `cargo`.`category` properties are ignored.
        <enumTable>
          <enumItem>
            <enumValue>`LIGHT_TRAIN`</enumValue>
            <enumHeading>Light train</enumHeading>
            <enumDescription>A mixed cargo (manifest) freight train with a gross weight less than 750 tonnes.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`AVERAGE_TRAIN`</enumValue>
            <enumHeading>Average train</enumHeading>
            <enumDescription>A mixed cargo (manifest) freight train with a gross weight between 750 and 1,250 tonnes.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`LARGE_TRAIN`</enumValue>
            <enumHeading>Large train</enumHeading>
            <enumDescription>A mixed cargo (manifest) freight train with a gross weight between 1,250 and 1,750 tonnes.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`EXTRA_LARGE_TRAIN`</enumValue>
            <enumHeading>Extra large train</enumHeading>
            <enumDescription>A mixed cargo (manifest) freight train with a gross weight between 1,750 and 2,250 tonnes.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`HEAVY_TRAIN`</enumValue>
            <enumHeading>Heavy train</enumHeading>
            <enumDescription>A mixed cargo (manifest) freight train with a gross weight greater than 2,250 tonnes.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`AUTOMOBILE_TRAIN`</enumValue>
            <enumHeading>Automobile</enumHeading>
            <enumDescription>A dedicated (unit) freight train composed solely of autorack wagons used for transporting road vehicles.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`CHEMICALS_TRAIN`</enumValue>
            <enumHeading>Chemicals train</enumHeading>
            <enumDescription>
              A dedicated (unit) freight train composed solely of tank or specialized wagons used for transporting chemical products, 
              including oil, petroleum derivatives, and liquefied gases.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`CONTAINER_TRAIN`</enumValue>
            <enumHeading>Container train</enumHeading>
            <enumDescription>A dedicated (unit) freight train composed solely of flat or well wagons used for transporting containers.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`DOUBLE_CONTAINER_TRAIN`</enumValue>
            <enumHeading>Double container train</enumHeading>
            <enumDescription>A dedicated (unit) freight train composed solely of well wagons used for transporting double-stacked containers.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`COAL_AND_STEEL_TRAIN`</enumValue>
            <enumHeading>Coal and steel train</enumHeading>
            <enumDescription>A dedicated (unit) freight train composed solely of hopper and gondola wagons used for transporting coal and steel products.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`BUILDING_MATERIALS_TRAIN`</enumValue>
            <enumHeading>Building materials train</enumHeading>
            <enumDescription>
              A dedicated (unit) freight train composed solely of appropriate wagons used for transporting bulk and palletized building materials.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`MANUFACTURED_PRODUCTS_TRAIN`</enumValue>
            <enumHeading>Manufactured products train</enumHeading>
            <enumDescription>
              A dedicated (unit) freight train composed solely of covered or specialized wagons used for transporting manufactured goods.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`CEREALS_TRAIN`</enumValue>
            <enumHeading>Cereals train</enumHeading>
            <enumDescription>
              A dedicated (unit) freight train composed solely of covered hopper wagons used for transporting cereal grains.
            </enumDescription>
          </enumItem>
        </enumTable>
      enum:
        - LIGHT_TRAIN
        - AVERAGE_TRAIN
        - LARGE_TRAIN
        - EXTRA_LARGE_TRAIN
        - HEAVY_TRAIN
        - AUTOMOBILE_TRAIN
        - CHEMICALS_TRAIN
        - CONTAINER_TRAIN
        - DOUBLE_CONTAINER_TRAIN
        - COAL_AND_STEEL_TRAIN
        - BUILDING_MATERIALS_TRAIN
        - MANUFACTURED_PRODUCTS_TRAIN
        - CEREALS_TRAIN
    RailTransportTrainType:
      description: |
        Indicates the type of train. <enumTable>
          <enumItem>
            <enumValue>`MANIFEST`</enumValue>
            <enumHeading>Manifest</enumHeading>
            <enumDescription>
              A general or mixed-cargo train for which emissions are calculated based on the train’s gross tonnage.
              <enumBullet>The `grossTrainWeight` (when provided) is used to determine the train size.</enumBullet>
              <enumBullet>
                If `grossTrainWeight` is not provided, the size defaults based on the region of operation (e.g., `AVERAGE_TRAIN` in Europe, and `HEAVY_TRAIN` in USA).
              </enumBullet>
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`UNIT`</enumValue>
            <enumHeading>Unit</enumHeading>
            <enumDescription>
              A freight train dedicated to a single type of cargo, with emissions calculated based on that cargo category.
              <enumBullet>`grossTrainWeight` is ignored.</enumBullet>
              <enumBullet>The `cargo`.`category` is used to determine the train type.</enumBullet>
              <enumBullet>
                The `GENERAL` and `REFRIGERATED_BULK` cargo categories are treated as containerized, with wagon size varying by region (e.g., single-stacked containers in Europe, double-stacked in the USA).
              </enumBullet>
            </enumDescription>
          </enumItem>
        </enumTable>
      enum:
        - MANIFEST
        - UNIT
    RailTransportGrossTrainWeight:
      type: object
      description: >
        Gross weight of the train. For `MANIFEST` trains, this value is used to
        select the appropriate train size according to the following weight
        ranges

        | Gross Weight              | Manifest Train Type   |

        |---------------------------|-----------------------|

        | < 750 tonnes              | `LIGHT_TRAIN`         |

        | 750 to 1,250 tonnes       | `AVERAGE_TRAIN`       |

        | 1,250 to 1,750 tonnes     | `LARGE_TRAIN`         |

        | 1,750 to 2,250 tonnes     | `EXTRA_LARGE_TRAIN`   |

        | > 2,250 tonnes            | `HEAVY_TRAIN`         |            
      required:
        - value
        - unit
      properties:
        value:
          type: number
          format: double
          description: Numeric value representing the train's gross weight.
        unit:
          type: string
          description: >
            Unit of measurement for the train's gross weight, in either metric
            or U.S. customary units. <enumTable>
              <enumItem>
                <enumValue>`KILOGRAM`</enumValue>
                <enumHeading>Kilogram</enumHeading>
                <enumDescription>Measure in kilograms.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`POUND`</enumValue>
                <enumHeading>Pound</enumHeading>
                <enumDescription>Measure in U.S. customary / imperial pounds.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`METRIC_TONNE`</enumValue>
                <enumHeading>Metric tonne</enumHeading>
                <enumDescription>Measure in metric tonnes (1000 kg).</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`US_SHORT_TON`</enumValue>
                <enumHeading>US short ton</enumHeading>
                <enumDescription>Measure in U.S. customary short tons (two thousand pounds).</enumDescription>
              </enumItem>
            </enumTable>
          enum:
            - KILOGRAM
            - POUND
            - METRIC_TONNE
            - US_SHORT_TON
    RailTransportEnergyType:
      type: string
      description: |
        The form of energy used to power the train’s traction system.
        <enumTable>
          <enumItem>
            <enumValue>`ELECTRICITY`</enumValue>
            <enumHeading>Electricity</enumHeading>
            <enumDescription>
              Energy supplied from the national electrical grid in the country of operation,
              with emissions based on the grid’s generation mix and including transmission, distribution, and pantograph connection losses.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`DIESEL`</enumValue>
            <enumHeading>Diesel</enumHeading>
            <enumDescription>
              Energy supplied by petroleum (fossil-derived) diesel fuel, with biofuel content, if any, determined by the country of operation.
            </enumDescription>
          </enumItem>
        </enumTable>
      enum:
        - ELECTRICITY
        - DIESEL
    RoadTransportDepartureDateTime:
      type: string
      format: date-time
      description: >
        When the road vehicle departed its start location.

        #### Format ####

        ISO 8601 extended format date/time string in one of the following
        formats.
          - Local date/time (no offset), e.g. `2024-11-17T14:32`
          - UTC (Zulu) time, e.g. `2024-11-17T14:32`
          - Offset time, e.g. `2024-11-17T14:32+01:00`

        #### Offset management ####
          - Local times are automatically converted to offset times based on the start location's timezone.
              Example (origin Sydney): `2025-03-28T09:00` → `2025-03-28T09:00+11:00`  
          - UTC times are automatically converted to offset times based on the start location's timezone.
              Example (origin Sydney): `2025-03-27T22:00Z` → `2025-03-28T09:00+11:00`  

        #### Supported precision ####
          - Milliseconds: `2025-04-17T14:32:45.123+01:00`
          - Seconds: `2025-04-17T14:32:45+01:00`
          - Minutes: `2025-04-17T14:32+01:00`
          - Hours: `2025-04-17T14+01:00`
          - Date only: `2025-04-17`              
    RoadTransportArrivalDateTime:
      type: string
      format: date-time
      description: >
        When the road vehicle arrived at its end location.


        #### Format ####


        ISO 8601 extended format date/time string in one of the following
        formats.
          - Local date/time (no offset), e.g. `2024-11-17T14:32`
          - UTC (Zulu) time, e.g. `2024-11-17T14:32`
          - Offset time, e.g. `2024-11-17T14:32+01:00`

        #### Offset management ####
          - Local times are automatically converted to offset times based on the destination location's timezone.
              Example (destination Perth): `2025-03-28T09:00` → `2025-03-28T09:00+08:00`  
          - UTC times are automatically converted to offset times based on the destination location's timezone.
              Example (destination Perth): `2025-03-28T01:00Z` → `2025-03-28T09:00+08:00`  

        #### Supported precision ####
          - Milliseconds: `2025-04-17T14:32:45.123+01:00`
          - Seconds: `2025-04-17T14:32:45+01:00`
          - Minutes: `2025-04-17T14:32+01:00`
          - Hours: `2025-04-17T14+01:00`
          - Date only: `2025-04-17`              
    RoadTransportVehicle:
      type: string
      description: >
        Indicates a general category of vehicle used in the operation when only
        limited information is available. This value acts as a broad placeholder
        that the system will refine into a more specific vehicle classification 
        based on other properties provided in this object and the
        `cargo`.`category`. <enumTable>
          <enumItem>
            <enumValue>`LCV_BELOW_3500_KG`</enumValue>
            <enumHeading>Light commercial vehicle below 3,500kg</enumHeading>
            <enumDescription>
              Van or light commercial vehicle with gross vehicle weight (GVW) under 3.5 metric tonnes.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`LCV_BELOW_8500_LB`</enumValue>
            <enumHeading>Light commercial vehicle below 8,500lb</enumHeading>
            <enumDescription>
              Van or light commercial vehicle with gross vehicle weight (GVW) under 8,500 pounds.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`LIGHT_DUTY_VEHICLE`</enumValue>
            <enumHeading>Light duty vehicle</enumHeading>
            <enumDescription>
              Light truck used as a generic representation of small distribution or service vehicles typically operating 
              over short distances in urban, suburban, or similar local environments.            
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`MEDIUM_DUTY_VEHICLE`</enumValue>
            <enumHeading>Medium duty vehicle</enumHeading>
            <enumDescription>
              Medium sized truck serving as a generic representation of vehicles typically used for medium haul freight
              movement with moderate cargo capacity.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`HEAVY_DUTY_VEHICLE`</enumValue>
            <enumHeading>Heavy duty vehicle</enumHeading>
            <enumDescription>
              High capacity vehicle used as a generic representation of vehicles typically operating over long haul routes
              carrying heavy cargo.
            </enumDescription>
          </enumItem>
        </enumTable>
      enum:
        - LCV_BELOW_3500_KG
        - LCV_BELOW_8500_LB
        - LIGHT_DUTY_VEHICLE
        - MEDIUM_DUTY_VEHICLE
        - HEAVY_DUTY_VEHICLE
    RoadTransportStructure:
      type: string
      description: >
        The structural configuration of the vehicle. This property is used as an
        additional input to refine vehicle classification. <enumTable>
          <enumItem>
            <enumValue>`ARTICULATED`</enumValue>
            <enumHeading>Articulated truck</enumHeading>
            <enumDescription>The vehicle consists of a towing unit connected to one or more trailers through pivoting joints.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`RIGID`</enumValue>
            <enumHeading>Rigid truck</enumHeading>
            <enumDescription>The vehicle is a single, fixed unit with no separate trailer sections.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`DUMP`</enumValue>
            <enumHeading>Dump truck</enumHeading>
            <enumDescription>The vehicle is equipped with an open bed that can be raised to unload bulk materials, typically used for transporting construction materials.</enumDescription>
          </enumItem>
        </enumTable>
      enum:
        - ARTICULATED
        - RIGID
        - DUMP
    RoadTransportGrossWeightBand:
      type: string
      description: >
        The gross vehicle weight range for the vehicle, used together with the
        structure property (if provided,  otherwise defaulted) to derive a
        vehicle classification.  Some weight bands are specific to Chinese
        vehicles and will be automatically mapped to the most appropriate 
        equivalent when used for vehicles operating outside China.  Likewise,
        certain bands apply only to Indian vehicles and will be converted when
        used elsewhere.  All other bands are intended for global use and may
        also be converted as needed. When both `grossWeight` and
        `grossWeightBand` are supplied, this banded value takes precedence.
        <enumTable>
          <enumItem>
            <enumValue>`BELOW_1890_KG`</enumValue>
            <enumHeading>Below 1,890kg</enumHeading>
            <enumDescription>
              Light vans derived from cars, such as the Peugeot Bipper and Citroën Nemo.
              Converted when used in China, India and North America.
              By default, classified as a N1 Class I vehicle.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`1890_TO_2725_KG`</enumValue>
            <enumHeading>1,890 to 2,725kg</enumHeading>
            <enumDescription>
              Medium vans and light pickup trucks. For example, the Toyota Proace City and Ford Maverick.
              Converted when used in China, India and North America.
              By default, classified as a N1 Class II vehicle.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`2725_TO_3500_KG`</enumValue>
            <enumHeading>2,725 to 3,500kg</enumHeading>
            <enumDescription>
              Large vans and heavy pickup trucks. For example, the Volkswagen Crafter, Mercedes Sprinter and Ford F-350.
              Converted when used in China, India and North America.
              By default, classified as a N1 Class III vehicle.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`3500_TO_4500_KG`</enumValue>
            <enumHeading>3,500 to 4,500kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 3.5 and 4.5 tonnes.
              Converted when used outside of China.
              By default, classified as a `RIGID` vehicle for all cargo categories, except building materials, where it is classified as a `DUMP` truck.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`3500_TO_5000_KG`</enumValue>
            <enumHeading>3,500 to 5,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 3.5 and 5.0 tonnes.
              Converted when used outside of India.
              By default, classified as a `RIGID` vehicle.  
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`3500_TO_7500_KG`</enumValue>
            <enumHeading>3,500 to 7,500kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 3.5 and 7.5 tonnes.
              Converted when used in China, India and North America.
              By default, classified as a `RIGID` vehicle.  
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`4500_TO_5500_KG`</enumValue>
            <enumHeading>4,500 to 5,500kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 4.5 and 5.5 tonnes.
              Converted when used outside of China.
              By default, classified as a `RIGID` vehicle for all cargo categories, except building materials, where it is classified as a `DUMP` truck.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`5000_TO_12000_KG`</enumValue>
            <enumHeading>5,000 to 12,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 5.0 and 12.0 tonnes.
              Converted when used outside of India.
              By default, classified as a `RIGID` vehicle.  
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`5500_TO_7000_KG`</enumValue>
            <enumHeading>5,500 to 7,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 5.5 and 7.0 tonnes.
              Converted when used outside of China.
              By default, classified as a `RIGID` vehicle for all cargo categories, except building materials, where it is classified as a `DUMP` truck.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`7000_TO_8500_KG`</enumValue>
            <enumHeading>7,000 to 8,500kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 7.0 and 8.5 tonnes.
              Converted when used outside of China.
              By default, classified as a `RIGID` vehicle for all cargo categories, except building materials, where it is classified as a `DUMP` truck.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`7500_TO_12000_KG`</enumValue>
            <enumHeading>7,500 to 12,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 7.5 and 12.0 tonnes.
              Converted when used in China, India and North America.
              By default, classified as a `RIGID` vehicle.  
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`8500_TO_10500_KG`</enumValue>
            <enumHeading>8,500 to 10,500kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 8.5 and 10.5 tonnes.
              Converted when used outside of China.
              By default, classified as a `RIGID` vehicle for all cargo categories, except building materials, where it is classified as a `DUMP` truck.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`10500_TO_12500_KG`</enumValue>
            <enumHeading>10,500 to 12,500kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 10.5 and 12.5 tonnes.
              Converted when used outside of China.
              By default, classified as a `RIGID` vehicle for all cargo categories, except building materials, where it is classified as a `DUMP` truck.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`12000_TO_14000_KG`</enumValue>
            <enumHeading>12,000 to 14,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 12.0 and 14.0 tonnes.
              Converted when used in China, India and North America.
              By default, classified as a `RIGID` vehicle.  
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`12000_TO_20000_KG`</enumValue>
            <enumHeading>12,000 to 20,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 12.0 and 20.0 tonnes.
              Converted when used outside of India.
              By default, classified as a `RIGID` vehicle.  
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`12500_TO_14000_KG`</enumValue>
            <enumHeading>12,500 to 14,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 12.5 and 14.0 tonnes.
              Converted when used outside of China.
              By default, classified as a `RIGID` vehicle for all cargo categories, except building materials, where it is classified as a `DUMP` truck.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`14000_TO_16000_KG`</enumValue>
            <enumHeading>14,000 to 16,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 14.0 and 16.0 tonnes.
              Converted when used outside of China.
              By default, classified as a `RIGID` vehicle for all cargo categories, except building materials, where it is classified as a `DUMP` truck.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`14000_TO_18000_KG`</enumValue>
            <enumHeading>14,000 to 18,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 14.0 and 18.0 tonnes.
              Converted when used outside of China.
              By default, classified as a `RIGID` vehicle for all cargo categories, except building materials, where it is classified as a `DUMP` truck.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`14000_TO_20000_KG`</enumValue>
            <enumHeading>14,000 to 20,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 14.0 and 20.0 tonnes.
              Converted when used in China, India and North America.
              By default, classified as a `RIGID` vehicle.  
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`16000_TO_20000_KG`</enumValue>
            <enumHeading>16,000 to 20,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 16.0 and 20.0 tonnes.
              Converted when used outside of China.
              By default, classified as a `RIGID` vehicle for all cargo categories, except building materials, where it is classified as a `DUMP` truck.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`18000_TO_24000_KG`</enumValue>
            <enumHeading>18,000 to 24,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 18.0 and 24.0 tonnes.
              Converted when used outside of China.
              By default, classified as a `RIGID` vehicle for all cargo categories, except building materials, where it is classified as a `DUMP` truck.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`20000_TO_25000_KG`</enumValue>
            <enumHeading>20,000 to 25,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 20.0 and 25.0 tonnes.
              Converted when used outside of China.
              By default, classified as a `RIGID` vehicle for all cargo categories, except building materials, where it is classified as a `DUMP` truck.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`20000_TO_26000_KG`</enumValue>
            <enumHeading>20,000 to 26,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 20.0 and 26.0 tonnes.
              Converted when used in China, India and North America.
              By default, classified as a `RIGID` vehicle. 
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`20000_TO_30000_KG`</enumValue>
            <enumHeading>20,000 to 30,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 20.0 and 30.0 tonnes.
              Converted when used outside of India.
              By default, classified as a `RIGID` vehicle.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`24000_TO_27000_KG`</enumValue>
            <enumHeading>24,000 to 27,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 24.0 and 27.0 tonnes.
              Converted when used outside of China.
              By default, classified as a `RIGID` vehicle for all cargo categories, except building materials, where it is classified as a `DUMP` truck.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`25000_TO_29000_KG`</enumValue>
            <enumHeading>25,000 to 29,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 25.0 and 29.0 tonnes.
              Converted when used outside of China.
              By default, classified as a `RIGID` vehicle for all cargo categories, except building materials, where it is classified as a `DUMP` truck.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`26000_TO_28000_KG`</enumValue>
            <enumHeading>26,000 to 28,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 26.0 and 28.0 tonnes.
              Converted when used in China, India and North America.
              By default, classified as a `RIGID` vehicle. 
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`27000_TO_29000_KG`</enumValue>
            <enumHeading>27,000 to 29,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 27.0 and 29.0 tonnes.
              Converted when used outside of China.
              By default, classified as a `RIGID` vehicle for all cargo categories, except building materials, where it is classified as a `DUMP` truck.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`28000_TO_32000_KG`</enumValue>
            <enumHeading>28,000 to 32,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 28.0 and 32.0 tonnes.
              Converted when used in China, India and North America.
              By default, classified as a `RIGID` vehicle. 
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`29000_TO_31000_KG`</enumValue>
            <enumHeading>29,000 to 31,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 29.0 and 31.0 tonnes.
              Converted when used outside of China.
              By default, classified as a `RIGID` vehicle for all cargo categories, except building materials, where it is classified as a `DUMP` truck.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`30000_TO_50000_KG`</enumValue>
            <enumHeading>30,000 to 50,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 30.0 and 50.0 tonnes.
              Converted when used outside of India.
              By default, classified as an `RIGID` vehicle. 
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`30000_TO_60000_KG`</enumValue>
            <enumHeading>30,000 to 60,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 30.0 and 60.0 tonnes.
              Converted when used outside of India.
              By default, classified as an `ARTICULATED` vehicle. 
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`31000_TO_35000_KG`</enumValue>
            <enumHeading>31,000 to 35,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 31.0 and 35.0 tonnes.
              Converted when used outside of China.
              By default, classified as an `ARTICULATED` vehicle for all cargo categories, except building materials, where it is classified as a `DUMP` truck.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`31000_TO_60000_KG`</enumValue>
            <enumHeading>31,000 to 60,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 31.0 and 60.0 tonnes.
              Converted when used outside of China.
              By default, classified as an `ARTICULATED` vehicle for all cargo categories, except building materials, where it is classified as a `DUMP` truck.                  
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`32000_TO_34000_KG`</enumValue>
            <enumHeading>32,000 to 34,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 32.0 and 34.0 tonnes.
              Converted when used in China, India and North America.
              By default, classified as an `ARTICULATED` vehicle.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`34000_TO_40000_KG`</enumValue>
            <enumHeading>34,000 to 40,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 34.0 and 40.0 tonnes.
              Converted when used in China, India and North America.
              By default, classified as an `ARTICULATED` vehicle. 
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`35000_TO_40000_KG`</enumValue>
            <enumHeading>35,000 to 40,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 35.0 and 40.0 tonnes.
              Converted when used outside of China.
              By default, classified as an `ARTICULATED` vehicle for all cargo categories, except building materials, where it is classified as a `DUMP` truck.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`40000_TO_43000_KG`</enumValue>
            <enumHeading>40,000 to 43,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 40.0 and 43.0 tonnes.
              Converted when used outside of China.
              By default, classified as an `ARTICULATED` vehicle for all cargo categories, except building materials, where it is classified as a `DUMP` truck.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`40000_TO_50000_KG`</enumValue>
            <enumHeading>40,000 to 50,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 40.0 and 50.0 tonnes.
              Converted when used in China, India and North America.
              By default, classified as an `ARTICULATED` vehicle. 
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`43000_TO_46000_KG`</enumValue>
            <enumHeading>43,000 to 46,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 43.0 and 46.0 tonnes.
              Converted when used outside of China.
              By default, classified as an `ARTICULATED` vehicle for all cargo categories, except building materials, where it is classified as a `DUMP` truck.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`50000_TO_60000_KG`</enumValue>
            <enumHeading>50,000 to 60,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 50.0 and 60.0 tonnes.
              Converted when used in China, India and North America.
              By default, classified as an `ARTICULATED` vehicle.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`46000_TO_49000_KG`</enumValue>
            <enumHeading>46,000 to 49,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 46.0 and 49.0 tonnes.
              Converted when used outside of China.
              By default, classified as an `ARTICULATED` vehicle for all cargo categories, except building materials, where it is classified as a `DUMP` truck.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`49000_TO_60000_KG`</enumValue>
            <enumHeading>49,000 to 60,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 49.0 and 60.0 tonnes.
              Converted when used outside of China.
              By default, classified as an `ARTICULATED` vehicle for all cargo categories, except building materials, where it is classified as a `DUMP` truck.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`60000_TO_64000_KG`</enumValue>
            <enumHeading>60,000 to 64,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 60.0 and 64.0 tonnes.
              Converted when used in China, India and North America.
              By default, classified as an `ARTICULATED` vehicle. 
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`64000_TO_72000_KG`</enumValue>
            <enumHeading>64,000 to 72,000kg</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 64.0 and 72.0 tonnes.
              Converted when used in China, India and North America.
              By default, classified as an `ARTICULATED` vehicle. 
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`BELOW_8500_LB`</enumValue>
            <enumHeading>Below 8,500lb</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight below 8,500 pounds.
              Converted when used outside of North America.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`8500_TO_14000_LB`</enumValue>
            <enumHeading>8,500 to 14,000lb</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 8,500 and 14,000 pounds.
              Converted when used outside of North America.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`14000_TO_19500_LB`</enumValue>
            <enumHeading>14,000 to 19,500lb</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 14,000 and 19,500 pounds.
              Converted when used outside of North America.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`19500_TO_33000_LB`</enumValue>
            <enumHeading>19,500 to 33,000lb</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight between 19,500 and 33,000 pounds.
              Converted when used outside of North America.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`OVER_33000_LB`</enumValue>
            <enumHeading>Over 33,000lb</enumHeading>
            <enumDescription>
              Vehicles with a gross vehicle weight that exceeds 33,000 pounds.
              Converted when used outside of North America.
            </enumDescription>
          </enumItem>
      enum:
        - BELOW_1890_KG
        - 1890_TO_2725_KG
        - 2725_TO_3500_KG
        - 3500_TO_4500_KG
        - 3500_TO_5000_KG
        - 3500_TO_7500_KG
        - 4500_TO_5500_KG
        - 5000_TO_12000_KG
        - 5500_TO_7000_KG
        - 7000_TO_8500_KG
        - 7500_TO_12000_KG
        - 8500_TO_10500_KG
        - 10500_TO_12500_KG
        - 12000_TO_14000_KG
        - 12000_TO_20000_KG
        - 12500_TO_14000_KG
        - 14000_TO_16000_KG
        - 14000_TO_18000_KG
        - 14000_TO_20000_KG
        - 16000_TO_20000_KG
        - 18000_TO_24000_KG
        - 20000_TO_25000_KG
        - 20000_TO_26000_KG
        - 20000_TO_30000_KG
        - 24000_TO_27000_KG
        - 25000_TO_29000_KG
        - 26000_TO_28000_KG
        - 27000_TO_29000_KG
        - 28000_TO_32000_KG
        - 29000_TO_31000_KG
        - 30000_TO_50000_KG
        - 30000_TO_60000_KG
        - 31000_TO_35000_KG
        - 31000_TO_60000_KG
        - 32000_TO_34000_KG
        - 34000_TO_40000_KG
        - 35000_TO_40000_KG
        - 40000_TO_43000_KG
        - 40000_TO_50000_KG
        - 43000_TO_46000_KG
        - 46000_TO_49000_KG
        - 49000_TO_60000_KG
        - 50000_TO_60000_KG
        - 60000_TO_64000_KG
        - 64000_TO_72000_KG
        - BELOW_8500_LB
        - 8500_TO_14000_LB
        - 14000_TO_19500_LB
        - 19500_TO_33000_LB
        - OVER_33000_LB
    RoadTransportGrossWeight:
      type: object
      description: >
        The total weight of the vehicle at the time of measurement, including
        the vehicle itself, its load, and any additional equipment.  


        This value is used, together with the structure property (if supplied,
        otherwise defaulted), to derive the appropriate vehicle classification.
      required:
        - value
        - unit
      properties:
        value:
          type: number
          format: double
          description: Numeric value representing the vehicle's gross weight.
        unit:
          type: string
          description: >
            Unit of measurement for the vehicle's gross weight, in either metric
            or U.S. customary units. <enumTable>
              <enumItem>
                <enumValue>`KILOGRAM`</enumValue>
                <enumHeading>Kilogram</enumHeading>
                <enumDescription>Measure in kilograms.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`POUND`</enumValue>
                <enumHeading>Pound</enumHeading>
                <enumDescription>Measure in U.S. customary / imperial pounds.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`METRIC_TONNE`</enumValue>
                <enumHeading>Metric tonne</enumHeading>
                <enumDescription>Measure in metric tonnes (1000 kg).</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`US_SHORT_TON`</enumValue>
                <enumHeading>US short ton</enumHeading>
                <enumDescription>Measure in U.S. customary short tons (two thousand pounds).</enumDescription>
              </enumItem>
            </enumTable>
          enum:
            - KILOGRAM
            - POUND
            - METRIC_TONNE
            - US_SHORT_TON
    RoadTransportEmptyWeight:
      type: object
      description: >
        The empty weight of the vehicle (also called the unladen weight or tare
        weight) is the weight of a vehicle by itself, without any cargo,
        passengers, or additional load.  


        This value is converted into an estimated gross vehicle weight using a
        lookup table of empty-to-gross relationships derived from typical
        vehicle classes  and their associated load factors.  

          
        This inferred gross weight is then combined with the structure property
        (if supplied, otherwise defaulted) to derive a vehicle classification.
      required:
        - value
        - unit
      properties:
        value:
          type: number
          format: double
          description: Numeric value representing the vehicle's empty weight.
        unit:
          type: string
          description: >
            Unit of measurement for the vehicle's empty weight, in either metric
            or U.S. customary units. <enumTable>
              <enumItem>
                <enumValue>`KILOGRAM`</enumValue>
                <enumHeading>Kilogram</enumHeading>
                <enumDescription>Measure in kilograms.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`POUND`</enumValue>
                <enumHeading>Pound</enumHeading>
                <enumDescription>Measure in U.S. customary / imperial pounds.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`METRIC_TONNE`</enumValue>
                <enumHeading>Metric tonne</enumHeading>
                <enumDescription>Measure in metric tonnes (1000 kg).</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`US_SHORT_TON`</enumValue>
                <enumHeading>US short ton</enumHeading>
                <enumDescription>Measure in U.S. customary short tons (two thousand pounds).</enumDescription>
              </enumItem>
            </enumTable>
          enum:
            - KILOGRAM
            - POUND
            - METRIC_TONNE
            - US_SHORT_TON
    RoadTransportMaximumWeight:
      type: object
      description: >
        The maximum vehicle weight (also called the maximum permitted or gross
        allowable weight)  is the highest total weight a vehicle is allowed to
        operate at, including the vehicle itself, its load, and any additional
        equipment.  


        This value is converted into an estimated gross vehicle weight using a
        lookup table of maximum-to-gross relationships derived from typical
        vehicle classes  and their associated load factors.  


        This inferred gross weight is then combined with the structure property
        (if supplied, otherwise defaulted) to derive a vehicle classification.
      required:
        - value
        - unit
      properties:
        value:
          type: number
          format: double
          description: Numeric value representing the vehicle's maximum weight.
        unit:
          type: string
          description: >
            Unit of measurement for the vehicle's maximum weight, in either
            metric or U.S. customary units. <enumTable>
              <enumItem>
                <enumValue>`KILOGRAM`</enumValue>
                <enumHeading>Kilogram</enumHeading>
                <enumDescription>Measure in kilograms.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`POUND`</enumValue>
                <enumHeading>Pound</enumHeading>
                <enumDescription>Measure in U.S. customary / imperial pounds.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`METRIC_TONNE`</enumValue>
                <enumHeading>Metric tonne</enumHeading>
                <enumDescription>Measure in metric tonnes (1000 kg).</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`US_SHORT_TON`</enumValue>
                <enumHeading>US short ton</enumHeading>
                <enumDescription>Measure in U.S. customary short tons (two thousand pounds).</enumDescription>
              </enumItem>
            </enumTable>
          enum:
            - KILOGRAM
            - POUND
            - METRIC_TONNE
            - US_SHORT_TON
    RoadTransportYearOfManufacture:
      type: number
      format: integer
      description: >
        Year the vehicle was manufactured.  If the specified year is not
        supported, then the system falls back to a country level weighted
        aggregation of vehicle years based on a national age distribution.


        If a year is not provided, them system falls back to the weighted
        aggregation.
    RoadTransportEmissionsStandard:
      type: string
      description: >
        The vehicle’s emissions class. If the specified class is unsupported for
        the vehicle type, energy type, and year of manufacture, then the closest
        supported class is used instead.


        If no value is provided, the class is defaulted based on the country
        where the trip originates, the type of vehicle, and the type of energy
        used. <enumTable>
          <enumItem>
            <enumValue>`EURO_1`</enumValue>
            <enumHeading>Euro I</enumHeading>
            <enumDescription>Emissions class corresponding to Euro I</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`EURO_2`</enumValue>
            <enumHeading>Euro II</enumHeading>
            <enumDescription>Emissions class corresponding to Euro II</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`EURO_3`</enumValue>
            <enumHeading>Euro III</enumHeading>
            <enumDescription>Emissions class corresponding to Euro III</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`EURO_4`</enumValue>
            <enumHeading>Euro IV</enumHeading>
            <enumDescription>Emissions class corresponding to Euro IV</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`EURO_5`</enumValue>
            <enumHeading>Euro V</enumHeading>
            <enumDescription>Emissions class corresponding to Euro V</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`EURO_6`</enumValue>
            <enumHeading>Euro VI</enumHeading>
            <enumDescription>Emissions class corresponding to Euro VI</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`EURO_6AB`</enumValue>
            <enumHeading>Euro VI step A / step B </enumHeading>
            <enumDescription>Emissions class corresponding to Euro VI step A or step B</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`EURO_6AC`</enumValue>
            <enumHeading>Euro VI step A / step C</enumHeading>
            <enumDescription>Emissions class corresponding to Euro VI step A or step C</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`EURO_6C`</enumValue>
            <enumHeading>Euro VI step C</enumHeading>
            <enumDescription>Emissions class corresponding to Euro VI step C</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`EURO_6D_TEMP`</enumValue>
            <enumHeading>Euro VI step D-TEMP</enumHeading>
            <enumDescription>Emissions class corresponding to Euro VI step D-TEMP</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`EURO_6DE`</enumValue>
            <enumHeading>Euro VI step D / step E</enumHeading>
            <enumDescription>Emissions class corresponding to Euro VI step D or step E</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`EURO_7`</enumValue>
            <enumHeading>Euro VII</enumHeading>
            <enumDescription>Emissions class corresponding to Euro VII</enumDescription>
          </enumItem>
        </enumTable>
      enum:
        - EURO_1
        - EURO_2
        - EURO_3
        - EURO_4
        - EURO_5
        - EURO_6
        - EURO_6AB
        - EURO_6AC
        - EURO_6C
        - EURO_6D_TEMP
        - EURO_6DE
        - EURO_7
    RoadTransportLoadFactor:
      type: number
      format: double
      description: >
        Percentage utilisation of vehicle capacity.  Must be greater than 0. If
        not provided, it is defaulted based on the vehicle classification and
        energy type.
    RoadTransportEmptyRunning:
      type: number
      format: double
      description: >
        Percentage of the trip completed without carrying a load.  A value of 0
        means no empty running occurred.  Values between 0 and 100 indicate a
        mix of loaded and empty distance.  Must be greater than or equal to 0
        and less than 100, as 100 would imply the entire trip was empty.
    RoadTransportPackaging:
      type: string
      description: >
        The packaging format used for the cargo.  This value is used, together
        with the structure property (if supplied, otherwise defaulted),  to help
        determine the appropriate vehicle classification. <enumTable>
          <enumItem>
            <enumValue>`CONTAINER`</enumValue>
            <enumHeading>Container</enumHeading>
            <enumDescription>Cargo is packed in a standard (e.g., TEU, FEU) shipping container.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`PALLET`</enumValue>
            <enumHeading>Pallet</enumHeading>
            <enumDescription>Cargo is packed on a standard (e.g., GMA, EUR, ISO) pallet.</enumDescription>
          </enumItem>
        </enumTable>
      enum:
        - CONTAINER
        - PALLET
    RoadTransportEnergyType:
      type: string
      description: >
        Specifies the type of energy that provides propulsion for the vehicle.
        This value plays a significant role in determining the vehicle’s
        emissions profile. If not specified, `DIESEL` is used by default.
        <enumTable>
          <enumItem>
            <enumValue>`DIESEL`</enumValue>
            <enumHeading>Diesel</enumHeading>
            <enumDescription>
              Petroleum (fossil-derived) diesel used in road transport, with biofuel content, if any, determined by the country of operation.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`GASOLINE`</enumValue>
            <enumHeading>Gasoline</enumHeading>
            <enumDescription>
              Petrol (fossil-derived) diesel used in road transport, with biofuel content, if any, determined by the country of operation.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`ELECTRICITY`</enumValue>
            <enumHeading>Electricity</enumHeading>
            <enumDescription>Electrical energy</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`LNG`</enumValue>
            <enumHeading>LNG</enumHeading>
            <enumDescription>
              Liquefied natural gas (fossil-derived) diesel used in road transport, with biofuel content, if any, determined by the country of operation.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`LPG`</enumValue>
            <enumHeading>LPG</enumHeading>
            <enumDescription>
              Liquefied petroleum gas (fossil-derived) diesel used in road transport, with biofuel content, if any, determined by the country of operation.            
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`CNG`</enumValue>
            <enumHeading>CNG</enumHeading>
            <enumDescription>
              Compressed natural gas (fossil-derived) diesel used in road transport, with biofuel content, if any, determined by the country of operation.            
            </enumDescription>
          </enumItem>
            <enumValue>`HVO100`</enumValue>
            <enumHeading>HVO100</enumHeading>
            <enumDescription>Pure hydrotreated vegetable oil with no fossil derived content</enumDescription>
          </enumItem>
        </enumTable>
      enum:
        - DIESEL
        - GASOLINE
        - ELECTRICITY
        - LNG
        - LPG
        - CNG
        - HVO100
    RoadTransportLoadDistribution:
      type: string
      description: >
        The cargo's share of vehicle load. If not specified, `LTL` is used by
        default. <enumTable>
          <enumItem>
            <enumValue>`FTL`</enumValue>
            <enumHeading>Full truck load</enumHeading>
            <enumDescription>
              The shipment is allocated exclusive use of the vehicle. 
              If the cargo exceeds the vehicle’s capacity, multiple fully loaded trips are assumed.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`LTL`</enumValue>
            <enumHeading>Less than truckload</enumHeading>
            <enumDescription>
              The shipment uses only part of the vehicle’s capacity, and the remaining space is shared with other loads up to a provided or defaulted load factor.
            </enumDescription>
          </enumItem>
        </enumTable>
      enum:
        - FTL
        - LTL
    RoadTransportEnergyConsumption:
      type: object
      description: >
        The energy consumption of the vehicle. Values may represent absolute
        quantities (volumetric, gravimetric, or electrical values) or
        consumption rates (fuel or electricity used per unit distance, or
        distance achieved per unit of fuel or electricity).

        #### Electrical energy unit (watts / watt-hours / kilowatt-hours) energy
        type compatibility ####
          - `ELECTRICITY`

        #### Gravimetric unit (kilograms / pounds) energy type compatibility
        ####
          - `DIESEL`
          - `GASOLINE`
          - `LPG`
          - `CNG`
          - `LNG`
          - `HVO100`

        #### Volumetric unit (liters / gallons) energy type compatibility ####
          - `DIESEL`
          - `GASOLINE`
          - `LPG`
          - `HVO100`
      required:
        - value
        - unit
      properties:
        value:
          type: number
          format: double
          description: >-
            The numeric fuel or electrical energy consumption value in the
            specified `unit`.
        unit:
          type: string
          description: >
            Specifies the unit of fuel or electrical energy consumption.
            <enumTable>
              <enumItem>
                <enumValue>`LITER`</enumValue>
                <enumHeading>Liter</enumHeading>
                <enumDescription>The absolute consumed fuel quantity measured in liters.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`US_GALLON`</enumValue>
                <enumHeading>US gallon</enumHeading>
                <enumDescription>The absolute consumed fuel quantity measured in U.S. gallons.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`UK_GALLON`</enumValue>
                <enumHeading>UK gallon</enumHeading>
                <enumDescription>The absolute consumed fuel quantity measured in U.K. gallons.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`KILOGRAM`</enumValue>
                <enumHeading>Kilogram</enumHeading>
                <enumDescription>The absolute consumed fuel quantity measured in kilograms.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`POUND`</enumValue>
                <enumHeading>Pound</enumHeading>
                <enumDescription>The absolute consumed fuel quantity measured in pounds.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`LITERS_PER_KILOMETER`</enumValue>
                <enumHeading>Liters per kilometer</enumHeading>
                <enumDescription>Fuel consumption rate in liters per kilometer.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`LITERS_PER_100_KILOMETER`</enumValue>
                <enumHeading>Liters per 100 kilometer</enumHeading>
                <enumDescription>Fuel consumption rate in liters per 100 kilometers.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`KILOMETERS_PER_LITER`</enumValue>
                <enumHeading>Kilometers per liter</enumHeading>
                <enumDescription>Kilometers travelled per liter of fuel consumption rate.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`MILES_PER_US_GALLON`</enumValue>
                <enumHeading>Miles per US gallon</enumHeading>
                <enumDescription>Miles (~1.6km) travelled per U.S. gallon of fuel consumption rate.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`MILES_PER_UK_GALLON`</enumValue>
                <enumHeading>Miles per UK gallon</enumHeading>
                <enumDescription>Miles (~1.6km) travelled per U.K. gallon of fuel consumption rate.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`US_GALLONS_PER_100_MILE`</enumValue>
                <enumHeading>US gallons per 100 mile</enumHeading>
                <enumDescription>Fuel consumption rate in U.S. gallons per 100 miles (~161km).</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`UK_GALLONS_PER_100_MILE`</enumValue>
                <enumHeading>UK gallons per 100 mile</enumHeading>
                <enumDescription>Fuel consumption rate in U.K. gallons per 100 miles (~161km).</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`KILOGRAMS_PER_KILOMETER`</enumValue>
                <enumHeading>Kilograms per kilometer</enumHeading>
                <enumDescription>Fuel consumption rate in kilograms per kilometer.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`KILOGRAMS_PER_100_KILOMETER`</enumValue>
                <enumHeading>Kilograms per 100 kilometer</enumHeading>
                <enumDescription>Fuel consumption rate in kilograms per 100 kilometers.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`KILOMETERS_PER_KILOGRAM`</enumValue>
                <enumHeading>Kilometers per kilogram</enumHeading>
                <enumDescription>Kilometers travelled per kilogram of fuel consumption rate.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`POUNDS_PER_MILE`</enumValue>
                <enumHeading>Pounds per mile</enumHeading>
                <enumDescription>Fuel consumption rate in pounds per mile (~1.6km).</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`POUNDS_PER_100_MILE`</enumValue>
                <enumHeading>Pounds per 100 mile</enumHeading>
                <enumDescription>Fuel consumption rate in pounds per 100 miles (~161km).</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`MILES_PER_POUND`</enumValue>
                <enumHeading>Miles per pound</enumHeading>
                <enumDescription>Miles (~1.6km) travelled per pound of fuel consumption rate.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`KILOWATT_HOURS`</enumValue>
                <enumHeading>Kilowatt hours</enumHeading>
                <enumDescription>The absolute consumed electrical energy measured in kilowatt-hours.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`KILOWATT_HOURS_PER_KILOMETER`</enumValue>
                <enumHeading>Kilowatt hours per kilometer</enumHeading>
                <enumDescription>Electrical energy consumption rate in kilowatt-hours per kilometer.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`KILOWATT_HOURS_PER_100_KILOMETER`</enumValue>
                <enumHeading>Kilowatt hours per 100 kilometer</enumHeading>
                <enumDescription>Electrical energy consumption rate in kilowatt-hours per 100 kilometers.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`WATT_HOURS_PER_KILOMETER`</enumValue>
                <enumHeading>Watt hours per kilometer</enumHeading>
                <enumDescription>Electrical energy consumption rate in watt-hours per kilometer.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`KILOMETERS_PER_KILOWATT_HOUR`</enumValue>
                <enumHeading>Kilometers per kilowatt hour</enumHeading>
                <enumDescription>Kilometers travelled per kilowatt hour of electrical energy consumption rate.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`KILOWATT_HOURS_PER_MILE`</enumValue>
                <enumHeading>Kilowatt hours per mile</enumHeading>
                <enumDescription>Electrical energy consumption rate in kilowatt-hours per mile (~1.6km).</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`KILOWATT_HOURS_PER_100_MILE`</enumValue>
                <enumHeading>Kilowatt hours per 100 mile</enumHeading>
                <enumDescription>Electrical energy consumption rate in kilowatt-hours per 100 miles (~161km).</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`WATT_HOURS_PER_MILE`</enumValue>
                <enumHeading>Watt hours per mile</enumHeading>
                <enumDescription>Electrical energy consumption rate in watt-hours per mile (~1.6km).</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`MILES_PER_KILOWATT_HOUR`</enumValue>
                <enumHeading>Miles per kilowatt hour</enumHeading>
                <enumDescription>Miles (~1.6km) travelled per kilowatt-hour of electrical energy consumption rate.</enumDescription>
              </enumItem>
            </enumTable>
          enum:
            - LITER
            - US_GALLON
            - UK_GALLON
            - KILOGRAM
            - POUND
            - LITERS_PER_KILOMETER
            - LITERS_PER_100_KILOMETER
            - KILOMETERS_PER_LITER
            - MILES_PER_US_GALLON
            - MILES_PER_UK_GALLON
            - US_GALLONS_PER_100_MILE
            - UK_GALLONS_PER_100_MILE
            - KILOGRAMS_PER_KILOMETER
            - KILOGRAMS_PER_100_KILOMETER
            - KILOMETERS_PER_KILOGRAM
            - POUNDS_PER_MILE
            - POUNDS_PER_100_MILE
            - MILES_PER_POUND
            - KILOWATT_HOURS
            - KILOWATT_HOURS_PER_100_KILOMETER
            - KILOWATT_HOURS_PER_KILOMETER
            - WATT_HOURS_PER_KILOMETER
            - KILOMETERS_PER_KILOWATT_HOUR
            - KILOWATT_HOURS_PER_MILE
            - KILOWATT_HOURS_PER_100_MILE
            - WATT_HOURS_PER_MILE
            - MILES_PER_KILOWATT_HOUR
    WaterTransportDepartureDateTime:
      type: string
      format: date-time
      description: >
        When the vessel departed its start location.

        #### Format ####

        ISO 8601 extended format date/time string in one of the following
        formats.
          - Local date/time (no offset), e.g. `2024-11-17T14:32`
          - UTC (Zulu) time, e.g. `2024-11-17T14:32`
          - Offset time, e.g. `2024-11-17T14:32+01:00`

        #### Offset management ####
          - Local times are automatically converted to offset times based on the start location's timezone.
              Example (origin Shanghai): `2025-03-28T09:00` → `2025-03-28T09:00+08:00`  
          - UTC times are automatically converted to offset times based on the start location's timezone.
              Example (origin Shanghai): `2025-03-28T01:00Z` → `2025-03-28T09:00+08:00`  

        #### Supported precision ####
          - Milliseconds: `2025-04-17T14:32:45.123+01:00`
          - Seconds: `2025-04-17T14:32:45+01:00`
          - Minutes: `2025-04-17T14:32+01:00`
          - Hours: `2025-04-17T14+01:00`
          - Date only: `2025-04-17`              
    WaterTransportArrivalDateTime:
      type: string
      format: date-time
      description: >
        When the vessel arrived at its end location.


        #### Format ####


        ISO 8601 extended format date/time string in one of the following
        formats.
          - Local date/time (no offset), e.g. `2024-11-17T14:32`
          - UTC (Zulu) time, e.g. `2024-11-17T14:32`
          - Offset time, e.g. `2024-11-17T14:32+01:00`

        #### Offset management ####
          - Local times are automatically converted to offset times based on the destination location's timezone.
              Example (destination Rotterdam): `2025-03-28T09:00` → `2025-03-28T09:00+01:00`  
          - UTC times are automatically converted to offset times based on the destination location's timezone.
              Example (destination Rotterdam): `2025-03-28T08:00Z` → `2025-03-28T09:00+01:00`  

        #### Supported precision ####
          - Milliseconds: `2025-04-17T14:32:45.123+01:00`
          - Seconds: `2025-04-17T14:32:45+01:00`
          - Minutes: `2025-04-17T14:32+01:00`
          - Hours: `2025-04-17T14+01:00`
          - Date only: `2025-04-17`
    WaterTransportVehicle:
      type: string
      description: |
        The type of vessel used. <enumTable>
          <enumItem>
            <enumValue>`CONTAINER`</enumValue>
            <enumHeading>Container</enumHeading>
            <enumDescription>
              Transports standardized shipping containers.
              The default for `GENERAL` and `MANUFACTURED_PRODUCTS` cargo.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`BULKER`</enumValue>
            <enumHeading>Bulker</enumHeading>
            <enumDescription>
              Transports unpackaged bulk goods. 
              The default for `BUILDING_MATERIALS`, `CEREALS`, `COAL_AND_STEEL` and `SOLID_CHEMICALS` cargo.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`GENERAL_CARGO`</enumValue>
            <enumHeading>General cargo</enumHeading>
            <enumDescription>
              Transports varied packaged or breakbulk goods. 
              The fallback when candidate ports show no historical AIS activity for the requested type.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`LIQUEFIED_GAS_TANKER`</enumValue>
            <enumHeading>Liquefied gas tanker</enumHeading>
            <enumDescription>
              Specialized tanker for transporting liquefied gases like LNG or LPG at very low temperatures or under pressure within insulated tanks.
              The default for `LIQUEFIED_GAS` cargo.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`OIL_TANKER`</enumValue>
            <enumHeading>Oil tanker</enumHeading>
            <enumDescription>
              Tanker that taransports crude oil or refined petroleum products in segregated liquid cargo tanks.
              The default for `OIL` cargo.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`CHEMICAL_TANKER`</enumValue>
            <enumHeading>Chemical tanker</enumHeading>
            <enumDescription>
              Tanker equipped with segregated tanks to transport liquid chemicals.
              The default for `LIQUID_CHEMICALS` cargo.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`OTHER_LIQUIDS_TANKER`</enumValue>
            <enumHeading>Other liquids tanker</enumHeading>
            <enumDescription>
              Tanker that transports liquids outside the oil, gas, and regulated chemical categories such as wine, or fruit juices.            
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`REFRIGERATED_BULKER`</enumValue>
            <enumHeading>Refrigerated bulker</enumHeading>
            <enumDescription>
              Bulk carrier with cooling systems for perishable goods.
              The default for `REFRIGERATED_BULK` cargo.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`AUTOMOBILE_CARRIER`</enumValue>
            <enumHeading>Automobile carrier</enumHeading>
            <enumDescription>
              A roll-on/roll-off vessel that transports cars and other wheeled vehicles.
              The default for `AUTOMOBILES` cargo.
            </enumDescription>
          </enumItem>
        </enumTable>
      enum:
        - CONTAINER
        - BULKER
        - GENERAL_CARGO
        - LIQUEFIED_GAS_TANKER
        - OIL_TANKER
        - CHEMICAL_TANKER
        - OTHER_LIQUIDS_TANKER
        - REFRIGERATED_BULKER
        - AUTOMOBILE_CARRIER
    WaterTransportCapacity:
      type: object
      description: >
        Capacity of the vessel.


        If the supplied unit matches the vessel type’s native capacity unit, 
        the value is assigned to a capacity band through a straightforward
        numeric comparison.


        If the unit differs, the value is first converted to the native capacity
        unit using regression-based formulas developed from the global shipping
        fleet.  The converted value is then classified into the appropriate
        capacity band.


        For example, if a `GENERAL_CARGO` vessel’s capacity is provided in
        `GROSS_TONNE`,  the value is transformed into an equivalent
        `DEAD_WEIGHT_TONNE` estimate using  a regression-derived conversion
        function specific to `GENERAL_CARGO` vessels.
      required:
        - value
        - unit
      properties:
        value:
          type: number
          format: double
          description: Vessel's numeric capacity value, interpreted according to the unit.
        unit:
          type: string
          description: |
            The measurement unit for the vessel’s capacity. <enumTable>
              <enumItem>
                <enumValue>`DEAD_WEIGHT_TONNE`</enumValue>
                <enumHeading>Dead weight tonne</enumHeading>
                <enumDescription>
                  Total weight a vessel can safely carry, including cargo, fuel, provisions, and crew.
                  This is the native unit used to classify capacity on `BULKER`, `GENERAL_CARGO`, `OIL_TANKER`, `CHEMICAL_TANKER`, `OTHER_LIQUIDS_TANKER`, and `REFRIGERATED_BULKER` vessels.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`GROSS_TONNE`</enumValue>
                <enumHeading>Gross tonne</enumHeading>
                <enumDescription>
                  A measure of the vessel’s total internal volume.
                  This is the native unit used to classify capacity on `AUTOMOBILE_CARRIER` vessels.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`CONTAINER`</enumValue>
                <enumHeading>Container</enumHeading>
                <enumDescription>
                  The number of standard twenty-foot (TEU) shipping containers the vessel can carry.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`CUBIC_METER`</enumValue>
                <enumHeading>Cubic meter</enumHeading>
                <enumDescription>
                  The volume capacity available for liquid or bulk cargo, measured in cubic meters.
                  This is the native unit used to classify capacity on `LIQUEFIED_GAS_TANKER` vessels.
                </enumDescription>
              </enumItem>
            </enumTable>
          enum:
            - DEAD_WEIGHT_TONNE
            - GROSS_TONNE
            - CONTAINER
            - CUBIC_METER
    WaterTransportSize:
      type: string
      description: >
        The vessel’s size classification.   A size class is converted to the
        vessel type's native capacity band.  

        The size classes listed below are grouped by the vessel types they are
        most commonly associated with,  though some classes overlap across
        types.  

        If a size class is used with a different vessel type, for example, using
        the `VLCC` class on a `BULKER` vessel, the system will still perform a
        valid conversion to a `DEAD_WEIGHT_TONNE` capacity band using
        regression-based formulas developed from the global shipping fleet.  

        #### Dry bulk size classes ####
          | Class Name    | Description                   |
          |---------------|-------------------------------| 
          | `MINI_BULKER` | Very small bulk carrier       |
          | `SMALL_HANDY` | Small regional carrier        |
          | `HANDY`       | Versatile mid-size carrier    |
          | `HANDYMAX`    | Larger handy-size carrier     |
          | `SUPRAMAX`    | Medium bulk carrier           |
          | `ULTRAMAX`    | Large capacity bulk carrier   |
          | `CAPESIZE`    | Large deep sea carrier        |
          | `CHINAMAX`    | Very large deep draft carrier |
          | `VALEMAX`     | Ultra large ore carrier       |

        #### Tanker size classes ####
          | Class Name        | Description                               |
          |-------------------|-------------------------------------------|
          | `GENERAL_PURPOSE` | Small product tanker                      |
          | `MEDIUM_RANGE`    | Medium product tanker                     |
          | `LR1`             | Long range product tanker                 |
          | `LR2`             | Large long range tanker                   |
          | `AFRAMAX`         | Large global reach petroleum tanker       |
          | `SUEZMAX`         | Large Suez Canal capable petroleum tanker |
          | `VLCC`            | Very large crude tanker                   |
          | `ULCC`            | Ultra large crude tanker                  |

        #### LNG carrier size classes ####
          | Class Name | Description            |
          |------------|------------------------|
          | `Q_FLEX`   | Large LNG carrier      |
          | `Q_MAX`    | Very large LNG carrier |

        #### Container vessel size classes ####
          | Class Name     | Description                                     |
          |----------------|-------------------------------------------------|
          | `SMALL_FEEDER` | Very small regional ship                        |
          | `FEEDER`       | Regional connector ship                         |
          | `FEEDERMAX`    | Large regional feeder ship                      |
          | `PANAMAX`      | Built to fit the original Panama Canal          |
          | `POST_PANAMAX` | Larger than original Panama Canal limits        |
          | `NEO_PANAMAX`  | Built to fit the expanded Panama Canal locks    |
          | `ULTRA_LARGE`  | Ultra high capacity ships for major trade lanes |
      enum:
        - MINI_BULKER
        - SMALL_HANDY
        - HANDY
        - HANDYMAX
        - SUPRAMAX
        - ULTRAMAX
        - CAPESIZE
        - CHINAMAX
        - VALEMAX
        - GENERAL_PURPOSE
        - MEDIUM_RANGE
        - LR1
        - LR2
        - AFRAMAX
        - SUEZMAX
        - VLCC
        - ULCC
        - Q_FLEX
        - Q_MAX
        - SMALL_FEEDER
        - FEEDER
        - FEEDERMAX
        - PANAMAX
        - POST_PANAMAX
        - NEO_PANAMAX
        - ULTRA_LARGE
    WaterTransportContainerTypeCode:
      type: string
      minLength: 3
      maxLength: 4
      description: >
        ISO 6346 (https://en.wikipedia.org/wiki/ISO_6346) container size/type
        code.  


        The code is mapped to one of three different container categories which
        each have different emissions intensities when transported on container
        vessels:
          - 20 foot containers. For example, *22G1* and *22G* map to this category.
          - 40 foot containers. For example, *42R1* maps to this category.
          - ISO tank containers. For example,  *22T1* maps to this category.
    WaterTransportEnergyType:
      type: string
      description: >
        Specifies the type of energy that provides propulsion for the vessel.
        <enumTable>
          <enumItem>
            <enumValue>`MDO`</enumValue>
            <enumHeading>Marine diesel oil</enumHeading>
            <enumDescription>Used by smaller commercial vessels, ferries, offshore ships, and most inland waterway vessels.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`HFO`</enumValue>
            <enumHeading>Heavy fuel oil</enumHeading>
            <enumDescription>Used mainly by large ocean going ships like container vessels, bulk carriers, and tankers on long routes.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`VLSFO`</enumValue>
            <enumHeading>Very low sulfur fuel oil</enumHeading>
            <enumDescription>Used by most modern deep sea vessels to meet IMO 2020 sulfur limits.</enumDescription>
          </enumItem>
        </enumTable>

        If not provided, it is automatically defaulted based on:
          1. The type of vessel.
          2. The capacity of the vessel.
          3. The region in which the voyage occurs. Different areas impose different sulfur-emission limits, which restrict which marine fuels can be legally used.            
      enum:
        - HFO
        - VLSFO
        - MDO
    WaterTransportNavigationConstraints:
      type: array
      description: >
        List of navigation constraints specifying canals and passages to avoid
        when routing the voyage.  


        Routes through any waterways listed here will never be used. 
        Independently of these constraints, physical limits such as vessel size
        or draft may still prevent transit through certain waterways  (e.g.,
        ULCC supertankers cannot traverse the Suez Canal even if
        `AVOID_SUEZ_CANAL` is not specified).


        Default: [`AVOID_NORTHEAST_PASSAGE`, `AVOID_NORTHWEST_PASSAGE`]
      items:
        type: string
        description: >-
          <enumTable> <enumItem> <enumValue>`AVOID_SUEZ_CANAL`</enumValue>
          <enumHeading>Avoid Suez canal</enumHeading> <enumDescription>Do not
          use the Suez Canal in the voyage.</enumDescription> </enumItem>
          <enumItem> <enumValue>`AVOID_PANAMA_CANAL`</enumValue>
          <enumHeading>Avoid Panama canal</enumHeading> <enumDescription>Do not
          use the Panama Canal in the voyage.</enumDescription> </enumItem>
          <enumItem> <enumValue>`AVOID_KIEL_CANAL`</enumValue>
          <enumHeading>Avoid Kiel canal</enumHeading> <enumDescription>Do not
          use the Kiel Canal in the voyage.</enumDescription> </enumItem>
          <enumItem> <enumValue>`AVOID_CORINTH_CANAL`</enumValue>
          <enumHeading>Avoid Corinth canal</enumHeading> <enumDescription>Do not
          use the Corinth Canal in the voyage.</enumDescription> </enumItem>
          <enumItem> <enumValue>`AVOID_NORTHEAST_PASSAGE`</enumValue>
          <enumHeading>Avoid Northeast Passage</enumHeading> <enumDescription>Do
          not route through the Arctic Ocean, along the northern coast of Russia
          to connect Europe and Asia.</enumDescription> </enumItem> <enumItem>
          <enumValue>`AVOID_NORTHWEST_PASSAGE`</enumValue> <enumHeading>Avoid
          Northwest Passage</enumHeading> <enumDescription> Do not route through
          the Arctic Ocean, along the northern coasts of Canada and Alaska to
          connect the Pacific with the Atlantic. </enumDescription> </enumItem>
          </enumTable>
        enum:
          - AVOID_SUEZ_CANAL
          - AVOID_PANAMA_CANAL
          - AVOID_KIEL_CANAL
          - AVOID_CORINTH_CANAL
          - AVOID_NORTHEAST_PASSAGE
          - AVOID_NORTHWEST_PASSAGE
    RouteAirOperationResult:
      type: object
      title: Air operation
      required:
        - type
        - start
        - end
        - distanceKm
      properties:
        type:
          type: string
          enum:
            - AIR
          description: A flight between two airports.
        start:
          $ref: '#/components/schemas/ResponseLocation'
        end:
          $ref: '#/components/schemas/ResponseLocation'
        distanceKm:
          type: number
          format: double
          description: The distance of the flight in kilometers.
        vehicle:
          type: string
          description: >
            The system identifier of the aircraft used. Only included when a
            specific aircraft was requested; omitted when a generic aircraft
            class is used.
        icaoTypeDesignator:
          $ref: '#/components/schemas/FlightIcaoTypeDesignator'
        iataTypeDesignator:
          $ref: '#/components/schemas/FlightIataTypeDesignator'
    RouteRailOperationResult:
      type: object
      title: Rail operation
      required:
        - type
        - start
        - end
        - distanceKm
      properties:
        type:
          type: string
          enum:
            - RAIL
          description: >-
            A rail journey between two rail yards, or a roll-on/roll-off train
            crossing within a road operation.
        start:
          $ref: '#/components/schemas/ResponseLocation'
        end:
          $ref: '#/components/schemas/ResponseLocation'
        distanceKm:
          type: number
          format: double
          description: The distance of the rail journey in kilometers.
        route:
          type: string
          description: >
            An encoded polyline (Google Polyline Algorithm format) representing
            the full train route. It is only included when the request’s
            `options.includeRoutePolylines` is `TRUE`.
    RouteRoadOperationResult:
      type: object
      title: Road operation
      required:
        - type
        - start
        - end
        - distanceKm
      properties:
        type:
          type: string
          enum:
            - ROAD
          description: A road journey.
        start:
          $ref: '#/components/schemas/ResponseLocation'
        end:
          $ref: '#/components/schemas/ResponseLocation'
        distanceKm:
          type: number
          format: double
          description: >-
            The distance of the road journey in kilometers, including any
            sub-operations.
        route:
          type: string
          description: >
            An encoded polyline (Google Polyline Algorithm format) representing
            the full route, including any sub-operation segments. It is only
            included when the request’s `options.includeRoutePolylines` is
            `TRUE`.
        subOperations:
          type: array
          description: >
            The roll-on/roll-off ferry (`WATER`) and train (`RAIL`) crossings
            the vehicle takes on its journey, in order. Only included when the
            journey has such crossings.
          items:
            oneOf:
              - $ref: '#/components/schemas/RouteRailOperationResult'
              - $ref: '#/components/schemas/RouteSubWaterOperationResult'
    RouteWaterOperationResult:
      type: object
      title: Water operation
      required:
        - type
        - start
        - end
        - distanceKm
        - vehicle
        - capacityBand
      properties:
        type:
          type: string
          enum:
            - WATER
          description: A voyage between two harbors.
        start:
          $ref: '#/components/schemas/ResponseLocation'
        end:
          $ref: '#/components/schemas/ResponseLocation'
        distanceKm:
          type: number
          format: double
          description: The distance of the voyage in kilometers.
        vehicle:
          $ref: '#/components/schemas/WaterTransportResultVehicle'
        capacityBand:
          $ref: '#/components/schemas/WaterTransportResultCapacityBand'
        route:
          type: string
          description: >
            An encoded polyline (Google Polyline Algorithm format) representing
            the full route between harbors. It is only included when the
            request’s `options.includeRoutePolylines` is `TRUE`.
    LocationBase:
      title: Location
      type: object
      description: >
        Locations resolve either to a transport facility (airport, harbor, or
        rail yard) or  to a general geographic area such as a building, street,
        postcode, or city.  For larger areas, centroids are used to represent
        the approximate position.  

        #### Identification and geocoding ####  
          - Airports and harbors can be identified directly by code (`iataCode` for airports, `unLoCode` for harbors). 
          - Otherwise, the location is geocoded based on the available address components,
            and if the `type` is not `PLACE`, the closest transport facility of the indicated
            type is selected.  

        #### Geocoding priority ####  

        When multiple data sources are provided, they are evaluated in the
        following order of preference:
          1. Geographic coordinates (latitude and longitude)  
          2. IATA code (for non-airport locations)  
          3. Structured address components  
          4. UN/LOCODE (for non-harbor locations)  
          5. Unstructured address text  

        Geocoding accuracy depends on the quality and completeness of the input.
        Structured addresses  almost always yield better results and are
        tolerant of minor data-entry errors, such as postcodes appearing in
        street fields. For both structured and unstructured inputs, the most
        probable match is selected based on lexicographical similarity to known
        locations.  

        #### Operational behavior ####  

        When a transport facility is specified directly, it will be used
        regardless of any transport vehicle  specified. The system does not
        enforce suitability constraints. For example, a large aircraft such as 
        a Boeing 747-8F may be routed to Gibraltar International (LXGB) despite
        its short runways.  If the airport were not explicitly chosen, the
        system would instead select a nearby suitable airport such  as
        Málaga-Costa del Sol (AGP).  
          
        Similarly, a container vessel may be routed to Plymouth (GBPLY) even
        though the port lacks container handling  facilities. If the port were
        not specified explicitly, a capable alternative such as Southampton
        (GBSOU)  would be selected automatically.
      required:
        - type
      properties:
        type:
          type: string
          description: >
            Defines the category of the location, distinguishing between
            transport facilities such as airports, harbors, and rail yards,  and
            general places such as buildings, streets, postcodes, or cities.

            <enumTable>
              <enumItem>
                <enumValue>`PLACE`</enumValue>
                <enumHeading>General place</enumHeading>
                <enumDescription>
                  The location is resolved to a general geographic point such as a building, street, postcode area, or city, rather than to a transport facility.
                  For transport modes other than road, first and last-mile routing will typically occur between this place and an automatically selected airport, harbor, or rail yard.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`AIRPORT`</enumValue>
                <enumHeading>Airport</enumHeading>
                <enumDescription>
                  <enumBullet>If an IATA code (`iataCode`) is provided, the corresponding airport is looked up directly.</enumBullet>
                  <enumBullet>If a UN/LOCODE (`unLoCode`) is provided, it is resolved to its published coordinates, and the nearest eligible airport to that point is selected.</enumBullet>
                  <enumBullet>Otherwise, the location is geocoded and matched to the nearest eligible airport - typically a commercial or regional airport of reasonable size, not a small private airstrip.</enumBullet>
                  For locations set to this type, there is no first or last-mile routing to or from the airport.
                  Aircraft selection is unrestricted, even if the system deems the airport's runways unsuitable for the selected aircraft.
                  This enables the explicit override of built-in runway suitability assessments, typically for cases where the aircraft is operating below its maximum payload or fuel capacity.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RAIL_YARD`</enumValue>
                <enumHeading>Rail yard</enumHeading>
                <enumDescription>
                  <enumBullet>The location is geocoded and matched to the nearest rail facility or network connection point.</enumBullet>
                  <enumBullet>If a UN/LOCODE (`unLoCode`) or IATA airport code (`iataCode`) is provided, it is resolved to coordinates, and the nearest rail facility or network connection to that point is selected.</enumBullet>
                  For locations set to this type, there is no first or last-mile routing to or from the rail yard.
                  Rail yards are not identified by a specific code; to reference one directly, provide a structured address or geographic coordinates.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`HARBOR`</enumValue>
                <enumHeading>Harbor</enumHeading>
                <enumDescription>
                  <enumBullet>If a UN/LOCODE (`unLoCode`) is provided, the harbor is looked up directly.</enumBullet>
                  <enumBullet>If an IATA airport code (`iataCode`) is provided, it is resolved to coordinates, and the nearest harbor to that point is selected.</enumBullet>
                  <enumBullet>Otherwise, the location is geocoded and matched to the nearest harbor in the system.</enumBullet>
                  For locations set to this type, there is no first or last-mile routing to or from the harbor.
                  Vessel selection is unrestricted, even if the system determines that the harbor cannot accommodate the vessel’s class or size.
                  This enables the explicit override of built-in harbor capability constraints, typically for special operational circumstances such as partial-load, repositioning, or coastal operations.
                </enumDescription>
              </enumItem>
            </enumTable>
          enum:
            - PLACE
            - AIRPORT
            - RAIL_YARD
            - HARBOR
        latitude:
          type: number
          format: double
          description: Latitude in decimal degrees (WGS 84 - EPSG:4326), range -90 to 90.
        longitude:
          type: number
          format: double
          description: >-
            Longitude in decimal degrees (WGS 84 - EPSG:4326), range -180 to
            180.
        iataCode:
          type: string
          description: >
            Three-letter IATA airport code. Case-insensitive; normalized to
            uppercase, e.g., 

            - `LAX`

            - `LHR`
        unLoCode:
          type: string
          description: >
            UN/LOCODE for the location. Accepts either a 3-letter (will be
            prefixed with the country code) or a full 5-letter code.
            Case-insensitive; normalized to uppercase.
          oneOf:
            - type: string
              description: |
                The full 5-character code, e.g., 
                - `USNYC`
                - `FRPAR`
              minLength: 5
              maxLength: 5
            - type: string
              description: >
                3-letter location code. Prefixed with the ISO 3166-1 alpha-2
                country code derived from the `country` to build the full
                5-character code, e.g., 

                - `NYC` (paired with `US` to give `USNYC`)

                - `PAR` (paired with `FR` to give `FRPAR`)
              minLength: 3
              maxLength: 3
        street:
          type: string
          description: >
            Street name and number (if available), or the name of a recognized
            landmark for the location, e.g.,

            - `1600 Pennsylvania Ave NW`

            - `Château de Versailles`

            - `Platz der Republik 1`
        postcode:
          type: string
          description: >
            Postal or ZIP code identifying the area of the location. Format
            varies by country, e.g.,

            - `90210` *(Beverly Hills)*

            - `WC2N 5DU` *(Trafalgar Square)*
        city:
          type: string
          description: |
            City, town, or municipality where the location is situated, e.g.,
            - `Berlin`
            - `Paris`
            - `New York`
        region:
          type: string
          description: >
            Administrative area (state/province/county/territory); optional, but
            can improve geocoding accuracy, e.g.,

            - `Bretagne`

            - `Ontario`

            - `Bavaria`
        country:
          type: string
          description: >
            Country identifier. Accepts any of the following:


            - Two-letter [ISO 3166-1
            alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country
            code, e.g.:
              - `US` *(United States)*
              - `FR` *(France)*
              - `DE` *(Germany)*

            - Three-letter [ISO 3166-1
            alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) country
            code, e.g.:
              - `USA` *(United States)*
              - `FRA` *(France)*
              - `DEU` *(Germany)*

            - Three-digit [ISO 3166-1
            numeric](https://en.wikipedia.org/wiki/ISO_3166-1_numeric) country
            code, e.g.:
              - `840` *(United States)*
              - `250` *(France)*
              - `276` *(Germany)*

            - Full country name, including localized or alternative names in
            different languages and scripts. The examples below are only a small
            sample of the names that may be recognized for a country:
              - `Germany` *(English)*
              - `Deutschland` *(German)*
              - `Allemagne` *(French)*
              - `德国` or `德國` *(Chinese, simplified or traditional)*
              - `ألمانيا` *(Arabic)*
        address:
          type: string
          description: >
            Full unstructured address string containing the complete location as
            written (street/number, postcode, city, region).  Commonly derived
            from shipping documents, customer records, or other unstructured
            data sources where the address was not captured in separate fields.
            Country need not be included - it will be appended automatically,
            e.g.,  

            - `1600 Pennsylvania Avenue NW Washington DC 20500`

            - `Platz der Republik 1 11011 Berlin`

            - `Calle de Bailén, s/n, 28071 Madrid`
    FlightIcaoTypeDesignator:
      type: string
      description: >
        ICAO type designator for the aircraft when available. This property is
        omitted if no ICAO code applies.

          | ICAO code |
          |-----------|
          | `A124`    |
          | `A140`    |
          | `A148`    |
          | `A19N`    |
          | `A20N`    |
          | `A21N`    |
          | `A306`    |
          | `A30B`    |
          | `A310`    |
          | `A318`    |
          | `A319`    |
          | `A320`    |
          | `A321`    |
          | `A332`    |
          | `A333`    |
          | `A338`    |
          | `A339`    |
          | `A342`    |
          | `A343`    |
          | `A345`    |
          | `A346`    |
          | `A359`    |
          | `A35K`    |
          | `A388`    |
          | `A748`    |
          | `AEST`    |
          | `AN24`    |
          | `AN26`    |
          | `AN28`    |
          | `AN32`    |
          | `AN72`    |
          | `AT43`    |
          | `AT44`    |
          | `AT45`    |
          | `AT46`    |
          | `AT72`    |
          | `AT73`    |
          | `AT75`    |
          | `AT76`    |
          | `ATP`     |
          | `B190`    |
          | `B38M`    |
          | `B39M`    |
          | `B461`    |
          | `B462`    |
          | `B463`    |
          | `B712`    |
          | `B722`    |
          | `B731`    |
          | `B732`    |
          | `B733`    |
          | `B734`    |
          | `B735`    |
          | `B736`    |
          | `B737`    |
          | `B738`    |
          | `B739`    |
          | `B741`    |
          | `B742`    |
          | `B743`    |
          | `B744`    |
          | `B748`    |
          | `B752`    |
          | `B753`    |
          | `B762`    |
          | `B763`    |
          | `B764`    |
          | `B772`    |
          | `B773`    |
          | `B77L`    |
          | `B77W`    |
          | `B788`    |
          | `B789`    |
          | `B78X`    |
          | `BCS1`    |
          | `BCS3`    |
          | `BELF`    |
          | `BN2P`    |
          | `C130`    |
          | `C208`    |
          | `C212`    |
          | `C408`    |
          | `CN35`    |
          | `CRJ1`    |
          | `CRJ2`    |
          | `CRJ7`    |
          | `CRJ9`    |
          | `CRJX`    |
          | `CVLT`    |
          | `D228`    |
          | `D328`    |
          | `DC10`    |
          | `DC3`     |
          | `DC85`    |
          | `DC86`    |
          | `DC87`    |
          | `DC91`    |
          | `DC92`    |
          | `DC93`    |
          | `DC94`    |
          | `DC95`    |
          | `DH2T`    |
          | `DH3T`    |
          | `DH8A`    |
          | `DH8B`    |
          | `DH8C`    |
          | `DH8D`    |
          | `DHC2`    |
          | `DHC3`    |
          | `DHC6`    |
          | `DHC7`    |
          | `E110`    |
          | `E120`    |
          | `E135`    |
          | `E145`    |
          | `E170`    |
          | `E190`    |
          | `E195`    |
          | `E290`    |
          | `E295`    |
          | `E75L`    |
          | `F100`    |
          | `F27`     |
          | `F50`     |
          | `F70`     |
          | `FA20`    |
          | `I114`    |
          | `IL18`    |
          | `IL76`    |
          | `IL96`    |
          | `J328`    |
          | `JS31`    |
          | `JS32`    |
          | `JS41`    |
          | `L188`    |
          | `L410`    |
          | `MA60`    |
          | `MD11`    |
          | `MD81`    |
          | `MD82`    |
          | `MD83`    |
          | `MD87`    |
          | `MD88`    |
          | `MU2`     |
          | `PA31`    |
          | `PA32`    |
          | `PA34`    |
          | `PC12`    |
          | `PC6T`    |
          | `RJ1H`    |
          | `RJ70`    |
          | `RJ85`    |
          | `SB20`    |
          | `SC7`     |
          | `SF34`    |
          | `SH33`    |
          | `SH36`    |
          | `SU95`    |
          | `SW2`     |
          | `SW3`     |
          | `SW4`     |
          | `T204`    |
          | `TRIS`    |
          | `Y12`     |
          | `YK40`    |
          | `YK42`    |
    FlightIataTypeDesignator:
      type: string
      description: >
        IATA aircraft type code when available. This property is omitted if no
        IATA code applies.

          | IATA code |
          |-----------|
          | `100`     |
          | `141`     |
          | `142`     |
          | `143`     |
          | `14X`     |
          | `14Y`     |
          | `14Z`     |
          | `221`     |
          | `223`     |
          | `290`     |
          | `295`     |
          | `312`     |
          | `313`     |
          | `318`     |
          | `319`     |
          | `31N`     |
          | `31X`     |
          | `31Y`     |
          | `320`     |
          | `321`     |
          | `32A`     |
          | `32B`     |
          | `32N`     |
          | `32Q`     |
          | `332`     |
          | `333`     |
          | `338`     |
          | `339`     |
          | `33X`     |
          | `33Y`     |
          | `342`     |
          | `343`     |
          | `345`     |
          | `346`     |
          | `351`     |
          | `359`     |
          | `380`     |
          | `717`     |
          | `72Y`     |
          | `731`     |
          | `732`     |
          | `733`     |
          | `734`     |
          | `735`     |
          | `736`     |
          | `738`     |
          | `739`     |
          | `73C`     |
          | `73E`     |
          | `73G`     |
          | `73H`     |
          | `73J`     |
          | `73K`     |
          | `73P`     |
          | `73R`     |
          | `73W`     |
          | `73X`     |
          | `73Y`     |
          | `742`     |
          | `743`     |
          | `744`     |
          | `74H`     |
          | `74N`     |
          | `74T`     |
          | `74U`     |
          | `74X`     |
          | `74Y`     |
          | `752`     |
          | `753`     |
          | `75F`     |
          | `75T`     |
          | `75W`     |
          | `762`     |
          | `763`     |
          | `764`     |
          | `76T`     |
          | `76W`     |
          | `76X`     |
          | `76Y`     |
          | `772`     |
          | `773`     |
          | `77L`     |
          | `77W`     |
          | `77X`     |
          | `781`     |
          | `788`     |
          | `789`     |
          | `7F8`     |
          | `7M8`     |
          | `7M9`     |
          | `A26`     |
          | `A28`     |
          | `A32`     |
          | `A40`     |
          | `A4F`     |
          | `A81`     |
          | `AB4`     |
          | `AB6`     |
          | `ABX`     |
          | `ABY`     |
          | `AN4`     |
          | `AN7`     |
          | `AR1`     |
          | `AR7`     |
          | `AR8`     |
          | `AT4`     |
          | `AT5`     |
          | `AT7`     |
          | `ATD`     |
          | `ATF`     |
          | `ATP`     |
          | `ATR`     |
          | `BEH`     |
          | `BES`     |
          | `BNI`     |
          | `BNT`     |
          | `CNC`     |
          | `CNT`     |
          | `CR1`     |
          | `CR2`     |
          | `CR7`     |
          | `CR9`     |
          | `CRA`     |
          | `CRF`     |
          | `CRK`     |
          | `CS2`     |
          | `CS5`     |
          | `CVF`     |
          | `D1Y`     |
          | `D28`     |
          | `D38`     |
          | `D3F`     |
          | `D8T`     |
          | `D8X`     |
          | `D8Y`     |
          | `D91`     |
          | `D92`     |
          | `D93`     |
          | `D94`     |
          | `D95`     |
          | `D9C`     |
          | `D9X`     |
          | `DF2`     |
          | `DH1`     |
          | `DH2`     |
          | `DH3`     |
          | `DH4`     |
          | `DH7`     |
          | `DHL`     |
          | `DHP`     |
          | `DHR`     |
          | `DHS`     |
          | `DHT`     |
          | `E70`     |
          | `E75`     |
          | `E90`     |
          | `E95`     |
          | `EM2`     |
          | `EMB`     |
          | `ER3`     |
          | `ER4`     |
          | `ERD`     |
          | `F27`     |
          | `F50`     |
          | `F5F`     |
          | `F70`     |
          | `FRJ`     |
          | `HS7`     |
          | `I14`     |
          | `I93`     |
          | `I9F`     |
          | `I9M`     |
          | `I9Y`     |
          | `IL7`     |
          | `IL8`     |
          | `J31`     |
          | `J32`     |
          | `J41`     |
          | `L4T`     |
          | `LOF`     |
          | `LOH`     |
          | `M1F`     |
          | `M81`     |
          | `M82`     |
          | `M83`     |
          | `M87`     |
          | `M88`     |
          | `MA6`     |
          | `MU2`     |
          | `PA1`     |
          | `PA2`     |
          | `PL2`     |
          | `PL6`     |
          | `S20`     |
          | `SF3`     |
          | `SFF`     |
          | `SH3`     |
          | `SH6`     |
          | `SHB`     |
          | `SHS`     |
          | `SU9`     |
          | `SWM`     |
          | `T20`     |
          | `YK2`     |
          | `YK4`     |
          | `YN2`     |
    RouteSubWaterOperationResult:
      type: object
      title: Ferry operation
      required:
        - type
        - start
        - end
        - distanceKm
        - vehicle
        - capacityBand
      properties:
        type:
          type: string
          enum:
            - WATER
          description: A roll-on/roll-off ferry crossing within a road operation.
        start:
          $ref: '#/components/schemas/ResponseLocation'
        end:
          $ref: '#/components/schemas/ResponseLocation'
        distanceKm:
          type: number
          format: double
          description: The distance of the ferry crossing in kilometers.
        vehicle:
          $ref: '#/components/schemas/SubWaterTransportResultVehicle'
        capacityBand:
          $ref: '#/components/schemas/SubWaterTransportResultCapacityBand'
    WaterTransportResultVehicle:
      type: string
      description: |
        The type of vessel used in the water transport operation. <enumTable>
          <enumItem>
            <enumValue>`CONTAINER`</enumValue>
            <enumHeading>Container</enumHeading>
            <enumDescription>
              Transports standardized shipping containers.
              The default for `GENERAL` and `MANUFACTURED_PRODUCTS` cargo.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`BULKER`</enumValue>
            <enumHeading>Bulker</enumHeading>
            <enumDescription>
              Transports unpackaged bulk goods. 
              The default for `BUILDING_MATERIALS`, `CEREALS`, `COAL_AND_STEEL` and `SOLID_CHEMICALS` cargo.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`GENERAL_CARGO`</enumValue>
            <enumHeading>General cargo</enumHeading>
            <enumDescription>
              Transports varied packaged or breakbulk goods. 
              The fallback when candidate ports show no historical AIS activity for the requested type.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`LIQUEFIED_GAS_TANKER`</enumValue>
            <enumHeading>Liquefied gas tanker</enumHeading>
            <enumDescription>
              Specialized tanker for transporting liquefied gases like LNG or LPG at very low temperatures or under pressure within insulated tanks.
              The default for `LIQUEFIED_GAS` cargo.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`OIL_TANKER`</enumValue>
            <enumHeading>Oil tanker</enumHeading>
            <enumDescription>
              Tanker that taransport crude oil or refined petroleum products in segregated liquid cargo tanks.
              The default for `OIL` cargo.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`CHEMICAL_TANKER`</enumValue>
            <enumHeading>Chemical tanker</enumHeading>
            <enumDescription>
              Tanker equipped with segregated tanks to transport liquid chemicals.
              The default for `LIQUID_CHEMICALS` cargo.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`OTHER_LIQUIDS_TANKER`</enumValue>
            <enumHeading>Other liquids tanker</enumHeading>
            <enumDescription>
              Tanker that transports liquids outside the oil, gas, and regulated chemical categories such as wine, or fruit juices.            
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`REFRIGERATED_BULKER`</enumValue>
            <enumHeading>Refrigerated bulker</enumHeading>
            <enumDescription>
              Bulk carrier with cooling systems for perishable goods.
              The default for `REFRIGERATED_BULK` cargo.
            </enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`AUTOMOBILE_CARRIER`</enumValue>
            <enumHeading>Automobile carrier</enumHeading>
            <enumDescription>
              A roll-on/roll-off vessel that transports cars and other wheeled vehicles.
              The default for `AUTOMOBILES` cargo.
            </enumDescription>
          </enumItem>
        </enumTable>
      enum:
        - CONTAINER
        - BULKER
        - GENERAL_CARGO
        - LIQUEFIED_GAS_TANKER
        - OIL_TANKER
        - CHEMICAL_TANKER
        - OTHER_LIQUIDS_TANKER
        - REFRIGERATED_BULKER
        - AUTOMOBILE_CARRIER
    WaterTransportResultCapacityBand:
      type: string
      description: >
        The vessel’s carrying-capacity category in bands measured by deadweight
        tonnage (DWT), cargo volume (CBM), gross tonnage (GT), or container
        vessel class. The measurement unit depends on the vessel type (`vehicle`
        property). <enumTable>
          <enumItem>
            <enumValue>`DWT_0_TO_999`</enumValue>
            <enumHeading>0 ≤ DWT < 1,000</enumHeading>
            <enumDescription>Vessel with carrying capacity below 1,000 DWT.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`DWT_0_TO_1999`</enumValue>
            <enumHeading>0 ≤ DWT < 2,000</enumHeading>
            <enumDescription>Vessel with carrying capacity below 2,000 DWT.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`DWT_0_TO_4999`</enumValue>
            <enumHeading>0 ≤ DWT < 5,000</enumHeading>
            <enumDescription>Vessel with carrying capacity below 5,000 DWT.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`DWT_0_TO_9999`</enumValue>
            <enumHeading>0 ≤ DWT < 10,000</enumHeading>
            <enumDescription>Vessel with carrying capacity below 10,000 DWT.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`DWT_2000_TO_4999`</enumValue>
            <enumHeading>2,000 ≤ DWT < 5,000</enumHeading>
            <enumDescription>Vessel with carrying capacity between 2,000 and 4,999 DWT.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`DWT_2000_TO_5999`</enumValue>
            <enumHeading>2,000 ≤ DWT < 6,000</enumHeading>
            <enumDescription>Vessel with carrying capacity between 2,000 and 5,999 DWT.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`DWT_5000_TO_9999`</enumValue>
            <enumHeading>5,000 ≤ DWT < 10,000</enumHeading>
            <enumDescription>Vessel with carrying capacity between 5,000 and 9,999 DWT.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`DWT_6000_TO_9999`</enumValue>
            <enumHeading>6,000 ≤ DWT < 10,000</enumHeading>
            <enumDescription>Vessel with carrying capacity between 6,000 and 9,999 DWT.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`DWT_10000_TO_14999`</enumValue>
            <enumHeading>10,000 ≤ DWT < 15,000</enumHeading>
            <enumDescription>Vessel with carrying capacity between 10,000 and 14,999 DWT.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`DWT_10000_TO_19999`</enumValue>
            <enumHeading>10,000 ≤ DWT < 20,000</enumHeading>
            <enumDescription>Vessel with carrying capacity between 10,000 and 19,999 DWT.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`DWT_10000_TO_34999`</enumValue>
            <enumHeading>10,000 ≤ DWT < 35,000</enumHeading>
            <enumDescription>Vessel with carrying capacity between 10,000 and 34,999 DWT.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`DWT_20000_TO_39999`</enumValue>
            <enumHeading>20,000 ≤ DWT < 40,000</enumHeading>
            <enumDescription>Vessel with carrying capacity between 20,000 and 39,999 DWT.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`DWT_20000_TO_59999`</enumValue>
            <enumHeading>20,000 ≤ DWT < 60,000</enumHeading>
            <enumDescription>Vessel with carrying capacity between 20,000 and 59,999 DWT.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`DWT_35000_TO_59999`</enumValue>
            <enumHeading>35,000 ≤ DWT < 60,000</enumHeading>
            <enumDescription>Vessel with carrying capacity between 35,000 and 59,999 DWT.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`DWT_60000_TO_79999`</enumValue>
            <enumHeading>60,000 ≤ DWT < 80,000</enumHeading>
            <enumDescription>Vessel with carrying capacity between 60,000 and 79,999 DWT.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`DWT_60000_TO_99999`</enumValue>
            <enumHeading>60,000 ≤ DWT < 100,000</enumHeading>
            <enumDescription>Vessel with carrying capacity between 60,000 and 99,999 DWT.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`DWT_80000_TO_119999`</enumValue>
            <enumHeading>80,000 ≤ DWT < 120,000</enumHeading>
            <enumDescription>Vessel with carrying capacity between 80,000 and 119,999 DWT.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`DWT_100000_TO_119999`</enumValue>
            <enumHeading>100,000 ≤ DWT < 120,000</enumHeading>
            <enumDescription>Vessel with carrying capacity between 100,000 and 119,999 DWT.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`DWT_120000_TO_199999`</enumValue>
            <enumHeading>120,000 ≤ DWT < 200,000</enumHeading>
            <enumDescription>Vessel with carrying capacity between 120,000 and 199,999 DWT.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`DWT_200000_TO_319999`</enumValue>
            <enumHeading>200,000 ≤ DWT < 320,000</enumHeading>
            <enumDescription>Vessel with carrying capacity between 200,000 and 319,999 DWT.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`DWT_1000_AND_ABOVE`</enumValue>
            <enumHeading>DWT ≥ 1,000</enumHeading>
            <enumDescription>Vessel with carrying capacity of 1,000 DWT or more.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`DWT_10000_AND_ABOVE`</enumValue>
            <enumHeading>DWT ≥ 10,000</enumHeading>
            <enumDescription>Vessel with carrying capacity of 10,000 DWT or more.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`DWT_15000_AND_ABOVE`</enumValue>
            <enumHeading>DWT ≥ 15,000</enumHeading>
            <enumDescription>Vessel with carrying capacity of 15,000 DWT or more.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`DWT_20000_AND_ABOVE`</enumValue>
            <enumHeading>DWT ≥ 20,000</enumHeading>
            <enumDescription>Vessel with carrying capacity of 20,000 DWT or more.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`DWT_40000_AND_ABOVE`</enumValue>
            <enumHeading>DWT ≥ 40,000</enumHeading>
            <enumDescription>Vessel with carrying capacity of 40,000 DWT or more.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`DWT_200000_AND_ABOVE`</enumValue>
            <enumHeading>DWT ≥ 200,000</enumHeading>
            <enumDescription>Vessel with carrying capacity of 200,000 DWT or more.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`DWT_320000_AND_ABOVE`</enumValue>
            <enumHeading>DWT ≥ 320,000</enumHeading>
            <enumDescription>Vessel with carrying capacity of 320,000 DWT or more.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`CBM_0_TO_9999`</enumValue>
            <enumHeading>0 ≤ CBM < 10,000</enumHeading>
            <enumDescription>Vessel with cargo volume capacity below 10,000 m³.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`CBM_10000_TO_49999`</enumValue>
            <enumHeading>10,000 ≤ CBM < 50,000</enumHeading>
            <enumDescription>Vessel with cargo volume capacity between 10,000 and 49,999 m³.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`CBM_50000_TO_99999`</enumValue>
            <enumHeading>50,000 ≤ CBM < 100,000</enumHeading>
            <enumDescription>Vessel with cargo volume capacity between 50,000 and 99,999 m³.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`CBM_100000_TO_199999`</enumValue>
            <enumHeading>100,000 ≤ CBM < 200,000</enumHeading>
            <enumDescription>Vessel with cargo volume capacity between 100,000 and 199,999 m³.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`CBM_200000_AND_ABOVE`</enumValue>
            <enumHeading>CBM ≥ 200,000</enumHeading>
            <enumDescription>Vessel with cargo volume capacity of 200,000 m³ or more.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`GT_0_TO_29999`</enumValue>
            <enumHeading>0 ≤ GT < 30,000</enumHeading>
            <enumDescription>Vessel with gross tonnage below 30,000 GT.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`GT_30000_TO_49999`</enumValue>
            <enumHeading>30,000 ≤ GT < 50,000</enumHeading>
            <enumDescription>Vessel with gross tonnage between 30,000 and 49,999 GT.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`GT_50000_AND_ABOVE`</enumValue>
            <enumHeading>GT ≥ 50,000</enumHeading>
            <enumDescription>Vessel with gross tonnage of 50,000 GT or more.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`SMALL_FEEDER`</enumValue>
            <enumHeading>Small feeder</enumHeading>
            <enumDescription>Small feeder container vessel with capacity up to 1,000 TEU.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`FEEDER`</enumValue>
            <enumHeading>Feeder</enumHeading>
            <enumDescription>Feeder container vessel typically carrying 1,001 to 2,000 TEU.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`FEEDERMAX`</enumValue>
            <enumHeading>Feedermax</enumHeading>
            <enumDescription>Upper-end feeder container vessel usually around 2,001 to 3,000 TEU.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`PANAMAX`</enumValue>
            <enumHeading>Panamax</enumHeading>
            <enumDescription>Container vessel sized to fit the original Panama Canal locks (3,001 to 5,100 TEU).</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`POST_PANAMAX`</enumValue>
            <enumHeading>Poast panamax</enumHeading>
            <enumDescription>Larger container vessel exceeding original Panama Canal dimensions (5,101 to 10,000 TEU).</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`NEO_PANAMAX`</enumValue>
            <enumHeading>Neopanamax</enumHeading>
            <enumDescription>Container vessel sized for the expanded Panama Canal (10,000 to 14,500 TEU).</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`ULTRA_LARGE`</enumValue>
            <enumHeading>Ultra large</enumHeading>
            <enumDescription>Ultra large container vessel (ULCV), typically 14,501+ TEU.</enumDescription>
          </enumItem>
        </enumTable>
      enum:
        - DWT_0_TO_999
        - DWT_0_TO_1999
        - DWT_0_TO_4999
        - DWT_0_TO_9999
        - DWT_2000_TO_4999
        - DWT_2000_TO_5999
        - DWT_5000_TO_9999
        - DWT_6000_TO_9999
        - DWT_10000_TO_14999
        - DWT_10000_TO_19999
        - DWT_10000_TO_34999
        - DWT_20000_TO_39999
        - DWT_20000_TO_59999
        - DWT_35000_TO_59999
        - DWT_60000_TO_79999
        - DWT_60000_TO_99999
        - DWT_80000_TO_119999
        - DWT_100000_TO_119999
        - DWT_120000_TO_199999
        - DWT_200000_TO_319999
        - DWT_1000_AND_ABOVE
        - DWT_10000_AND_ABOVE
        - DWT_15000_AND_ABOVE
        - DWT_20000_AND_ABOVE
        - DWT_40000_AND_ABOVE
        - DWT_200000_AND_ABOVE
        - DWT_320000_AND_ABOVE
        - CBM_0_TO_9999
        - CBM_10000_TO_49999
        - CBM_50000_TO_99999
        - CBM_100000_TO_199999
        - CBM_200000_AND_ABOVE
        - GT_0_TO_29999
        - GT_30000_TO_49999
        - GT_50000_AND_ABOVE
        - SMALL_FEEDER
        - FEEDER
        - FEEDERMAX
        - PANAMAX
        - POST_PANAMAX
        - NEO_PANAMAX
        - ULTRA_LARGE
    SubWaterTransportResultVehicle:
      type: string
      description: >
        The type of Roll-on/Roll-off ferry used in the sub-transport operation.
        <enumTable>
          <enumItem>
            <enumValue>`ROLL_ON_ROLL_OFF`</enumValue>
            <enumHeading>Roll on/roll off</enumHeading>
            <enumDescription>A RO-RO freight ferry used within a parent road operation.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`ROLL_ON_ROLL_OFF_PASSENGERS`</enumValue>
            <enumHeading>Roll on/roll off passengers</enumHeading>
            <enumDescription>A RO-RO passenger ferry used within a parent road operation.</enumDescription>
          </enumItem>
        </enumTable>
      enum:
        - ROLL_ON_ROLL_OFF
        - ROLL_ON_ROLL_OFF_PASSENGERS
    SubWaterTransportResultCapacityBand:
      type: string
      description: >
        The vessel’s carrying-capacity category in bands measured by deadweight
        tonnage (DWT), or gross tonnage (GT). The measurement unit depends on
        the vessel type (`vehicle` property). <enumTable>
          <enumItem>
            <enumValue>`DWT_0_TO_4999`</enumValue>
            <enumHeading>0 ≤ DWT < 5,000</enumHeading>
            <enumDescription>Vessel with carrying capacity below 5,000 DWT.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`DWT_5000_TO_9999`</enumValue>
            <enumHeading>5,000 ≤ DWT < 10,000</enumHeading>
            <enumDescription>Vessel with carrying capacity between 5,000 and 9,999 DWT.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`DWT_10000_TO_14999`</enumValue>
            <enumHeading>10,000 ≤ DWT < 15,000</enumHeading>
            <enumDescription>Vessel with carrying capacity between 10,000 and 14,999 DWT.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`DWT_15000_AND_ABOVE`</enumValue>
            <enumHeading>DWT ≥ 15,000</enumHeading>
            <enumDescription>Vessel with carrying capacity of 15,000 DWT or more.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`GT_0_TO_1999`</enumValue>
            <enumHeading>0 ≤ GT < 2,000</enumHeading>
            <enumDescription>Vessel with gross tonnage below 2,000 GT.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`GT_5000_TO_9999`</enumValue>
            <enumHeading>5,000 ≤ GT < 10,000</enumHeading>
            <enumDescription>Vessel with gross tonnage between 5,000 and 9,999 GT.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`GT_10000_TO_19999`</enumValue>
            <enumHeading>10,000 ≤ GT < 20,000</enumHeading>
            <enumDescription>Vessel with gross tonnage between 10,000 and 19,999 GT.</enumDescription>
          </enumItem>
          <enumItem>
            <enumValue>`GT_20000_AND_ABOVE`</enumValue>
            <enumHeading>GT ≥ 20,000</enumHeading>
            <enumDescription>Vessel with gross tonnage of 20,000 GT or more.</enumDescription>
          </enumItem>
        </enumTable>
      enum:
        - DWT_0_TO_4999
        - DWT_5000_TO_9999
        - DWT_10000_TO_14999
        - DWT_15000_AND_ABOVE
        - GT_0_TO_1999
        - GT_2000_TO_4999
        - GT_5000_TO_9999
        - GT_10000_TO_19999
        - GT_20000_AND_ABOVE
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key for authenticating requests. Include this header in all calls.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.