> ## 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 emissions

> Calculates greenhouse gas emissions for one or more transport operations. The endpoint supports the four core transport modes - `AIR`, `RAIL`, `ROAD`, and `WATER` - as well as a combination mode,  `WEIGHTED_MODES`, which allows multiple underlying modes to be prorated into a single combined operation.  Each transport operation in the request represents one leg of the cargo movement,  and you may submit a single operation or a sequence of operations within the same request.




## OpenAPI

````yaml /openapi.yaml post /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.


    **Base URL**  

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


    **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.
servers:
  - url: https://api.terratwin.com/api/v1/transportation/emissions
security: []
paths:
  /calculate:
    post:
      summary: Calculate transport emissions
      description: >
        Calculates greenhouse gas emissions for one or more transport
        operations. The endpoint supports the four core transport modes - `AIR`,
        `RAIL`, `ROAD`, and `WATER` - as well as a combination mode, 
        `WEIGHTED_MODES`, which allows multiple underlying modes to be prorated
        into a single combined operation.  Each transport operation in the
        request represents one leg of the cargo movement,  and you may submit a
        single operation or a sequence of operations within the same request.
      operationId: calculate
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CalculateRequest'
            example:
              id: '123456789'
              options:
                fallbackTransportModes:
                  - ROAD
                  - AIR
                storeResult: true
              cargo:
                category: GENERAL
                densityCharacteristics: LIGHT
                weight:
                  unit: KILOGRAM
                  value: 100
              origin:
                type: PLACE
                street: 10 Downing St
                postCode: SW1A 2AB
                city: London
                countryCode: GB
              destination:
                type: PLACE
                street: Wetstraat 175
                postCode: '1048'
                city: Brussel
                countryCode: BE
              transportChain:
                - id: 123456789-01
                  type: WATER
                  departureDateTime: '2025-12-25T00:00:00+00:00'
                  arrivalDateTime: '2026-01-01T18:12:30Z'
                  vehicle: CONTAINER
                  containerTypeCode: 22G1
                  navigationConstraints:
                    - AVOID_KIEL_CANAL
                    - AVOID_NORTHEAST_PASSAGE
                    - AVOID_NORTHWEST_PASSAGE
                  firstMile:
                    structure: ARTICULATED
                    grossWeight:
                      unit: METRIC_TONNE
                      value: 40.234
                    energyType: DIESEL
                  context:
                    additionalInformation: customWaterLegValue
                - type: HUB
                  hubType: MARITIME_TERMINAL
                  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
              context:
                reportingParty:
                  name: Acme Corp
                  organisationNumber: '12345'
                  Custom value: Custom reporting party value
                reportingTo:
                  name: Shipping Inc
                  address: 100 Example Street, Demo City, DC 10001 Exampleland
                  Extra information: Custom reporting to value
                consignor:
                  name: Apex Distribution
                  Further details: Custom consignor value
                consignee:
                  name: Globex Group
                  organisationNumber: '54321'
                transportProvider:
                  name: Atlas Logistics
                transaction:
                  project: ''
                  agreement: ''
                  incoterms: DAP Customer Warehouse, Brussels, Belgium — Incoterms® 2020
                cargo:
                  shipmentId: ABCD-123456789
                  Supplementary Information: Additional ccargo details
                customStringProperty: customPropertyValue
                customNumericProperty: 42
      responses:
        '200':
          description: Emissions calculation successfully performed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CalculateResponse'
              example:
                id: '123456789'
                origin:
                  type: PLACE
                  latitude: 51.503314
                  longitude: -0.127697
                destination:
                  type: RAIL_YARD
                  countryCode: BE
                  latitude: 50.842691
                  longitude: 4.380654
                  address: L161A
                activityDistanceKm: 432.81564963432754
                activityTonneKm: 43.281564963432764
                transportIntensities:
                  wttCo2eGramsPerTonneKm: 7.06480567200353
                  ttwCo2eGramsPerTonneKm: 23.037518111707207
                  wtwCo2eGramsPerTonneKm: 30.10232378371073
                transportEmissions:
                  wttCo2eGrams: 305.77584564684906
                  ttwCo2eGrams: 997.0998367481144
                  wtwCo2eGrams: 1302.8756823949632
                hubIntensities:
                  co2eGramsPerTonne: 3.8
                hubEmissions:
                  co2eGrams: 0.38
                totalIntensities:
                  co2eGramsPerTonneKm: 30.111103503213045
                totalEmissions:
                  co2eGrams: 1303.2556823949633
                certificateUrl: >-
                  https://www.terratwin.com/certificate/3f34c409-284f-4cc2-baa5-124a08bde490
                context:
                  reportingParty:
                    name: Acme Corp
                    organisationNumber: '12345'
                    Custom value: Custom reporting party value
                  reportingTo:
                    name: Shipping Inc
                    address: 100 Example Street, Demo City, DC 10001 Exampleland
                    Extra information: Custom reporting to value
                  consignor:
                    name: Apex Distribution
                    Further details: Custom consignor value
                  consignee:
                    name: Globex Group
                    organisationNumber: '54321'
                  transportProvider:
                    name: Atlas Logistics
                  transaction:
                    project: ''
                    agreement: ''
                    incoterms: >-
                      DAP Customer Warehouse, Brussels, Belgium — Incoterms®
                      2020
                  cargo:
                    shipmentId: ABCD-123456789
                    Supplementary Information: Additional ccargo details
                  customStringProperty: customPropertyValue
                  customNumericProperty: 42
                transportChain:
                  - type: WATER
                    id: 123456789-01
                    start:
                      type: PLACE
                      latitude: 51.503314
                      longitude: -0.127697
                    end:
                      type: HARBOR
                      countryCode: BE
                      unLoCode: BEANR
                      latitude: 51.27936713324465
                      longitude: 4.3567657470703125
                      address: Antwerp
                    activityDistanceKm: 358.24702719735023
                    activityTonneKm: 35.82470271973503
                    transportIntensities:
                      wttCo2eGramsPerTonneKm: 6.966414868380875
                      ttwCo2eGramsPerTonneKm: 27.524003700923917
                      wtwCo2eGramsPerTonneKm: 34.490418569304786
                    transportEmissions:
                      wttCo2eGrams: 249.56974168208689
                      ttwCo2eGrams: 986.0392502424861
                      wtwCo2eGrams: 1235.6089919245728
                    hubIntensities:
                      co2eGramsPerTonne: 1.9
                    hubEmissions:
                      co2eGrams: 0.19
                    totalIntensities:
                      co2eGramsPerTonneKm: 34.495722172281944
                    totalEmissions:
                      co2eGrams: 1235.7989919245729
                    context:
                      additionalInformation: customWaterLegValue
                    elements:
                      - vehicle: ARTICULATED_TRUCK_40000_TO_50000_KG
                        emissionsStandard: EURO_6AC
                        loadFactor: 72
                        emptyRunning: 30
                        loadDistribution: LTL
                        methodology: INFRAS_HBEFA_5_1
                        distanceMeasurementMethod: SHORTEST_FEASIBLE_DISTANCE
                        calculationBasis: MODEL
                        distanceAdjustmentFactor: '1.05'
                        start:
                          type: PLACE
                          latitude: 51.503314
                          longitude: -0.127697
                        end:
                          type: PLACE
                          latitude: 51.459472
                          longitude: 0.340663
                        activityDistanceKm: 44.69842583939949
                        activityTonneKm: 4.46984258393995
                        transportIntensities:
                          wttCo2eGramsPerTonneKm: 18.188259972604925
                          ttwCo2eGramsPerTonneKm: 55.634499734404805
                          wtwCo2eGramsPerTonneKm: 73.82275970700972
                        transportEmissions:
                          wttCo2eGrams: 81.29865895331996
                          ttwCo2eGrams: 248.67745604903843
                          wtwCo2eGrams: 329.97611500235837
                        resultsByEnergyType:
                          - energyType: DIESEL
                            activityDistanceKm: 44.69842583939949
                            activityTonneKm: 4.46984258393995
                            intensities:
                              wttCo2eGramsPerTonneKm: 18.188259972604925
                              ttwCo2eGramsPerTonneKm: 55.634499734404805
                              wtwCo2eGramsPerTonneKm: 73.82275970700974
                            emissions:
                              wttCo2eGrams: 81.29865895331996
                              ttwCo2eGrams: 248.67745604903843
                              wtwCo2eGrams: 329.97611500235837
                            resultsByEnergySource:
                              - energySource: BIODIESEL_FROM_RAPESEED
                                factorReference: >-
                                  ECOTRANSIT_4_0_EUROPE_BIOGENIC_FUEL_EMISSION_FACTORS
                                emissions:
                                  wttCo2eGrams: 4.729108573738301
                                  ttwCo2eGrams: 0.11573345876659132
                                  wtwCo2eGrams: 4.844842032504893
                              - energySource: BIODIESEL_FROM_UCO
                                factorReference: >-
                                  ECOTRANSIT_4_0_EUROPE_BIOGENIC_FUEL_EMISSION_FACTORS
                                emissions:
                                  wttCo2eGrams: 1.2690772375095185
                                  ttwCo2eGrams: 0.09258676701327305
                                  wtwCo2eGrams: 1.3616640045227915
                              - energySource: BIODIESEL_FROM_SOYBEAN
                                factorReference: >-
                                  ECOTRANSIT_4_0_EUROPE_BIOGENIC_FUEL_EMISSION_FACTORS
                                emissions:
                                  wttCo2eGrams: 0.8260974470580831
                                  ttwCo2eGrams: 0.023146691753318262
                                  wtwCo2eGrams: 0.8492441388114014
                              - energySource: FOSSIL_DIESEL
                                factorReference: SFC_GLEC_3_2_EUROPE_EMISSION_FACTORS
                                emissions:
                                  wttCo2eGrams: 74.47437569501406
                                  ttwCo2eGrams: 248.44598913150526
                                  wtwCo2eGrams: 322.9203648265193
                        type: ROAD
                      - hubType: MARITIME_TERMINAL
                        activityTonnes: 0.1
                        intensities:
                          co2eGramsPerTonne: 1.9000000000000001
                        emissions:
                          co2eGrams: 0.19
                        methodology: SFC_GLEC_FRAMEWORK_3_2
                        calculationBasis: DEFAULT_FACTORS
                        type: HUB
                      - vehicle: CONTAINER
                        capacityBand: POST_PANAMAX
                        containerType: TWENTY_FOOT_CONTAINER
                        methodology: SFC_GLEC_FRAMEWORK_3_2
                        distanceMeasurementMethod: SHORTEST_FEASIBLE_DISTANCE
                        distanceAdjustmentFactor: '1.15'
                        calculationBasis: DEFAULT_FACTORS
                        start:
                          type: HARBOR
                          countryCode: GB
                          unLoCode: GBTIL
                          latitude: 51.459502138725945
                          longitude: 0.3407907485961914
                          address: Tilbury
                        end:
                          type: HARBOR
                          countryCode: BE
                          unLoCode: BEANR
                          latitude: 51.27936713324465
                          longitude: 4.3567657470703125
                          address: Antwerp
                        activityDistanceKm: 313.54860135795076
                        activityTonneKm: 31.35486013579508
                        transportIntensities:
                          wttCo2eGramsPerTonneKm: 5.366666666666667
                          ttwCo2eGramsPerTonneKm: 23.516666666666666
                          wtwCo2eGramsPerTonneKm: 28.883333333333336
                        transportEmissions:
                          wttCo2eGrams: 168.27108272876694
                          ttwCo2eGrams: 737.3617941934476
                          wtwCo2eGrams: 905.6328769222146
                        resultsByEnergyType:
                          - energyType: VLSFO
                            activityDistanceKm: 313.54860135795076
                            activityTonneKm: 31.35486013579508
                            intensities:
                              wttCo2eGramsPerTonneKm: 5.366666666666667
                              ttwCo2eGramsPerTonneKm: 23.516666666666666
                              wtwCo2eGramsPerTonneKm: 28.883333333333333
                            emissions:
                              wttCo2eGrams: 168.27108272876694
                              ttwCo2eGrams: 737.3617941934476
                              wtwCo2eGrams: 905.6328769222146
                            resultsByEnergySource:
                              - energySource: FOSSIL_VLSFO
                                factorReference: SFC_GLEC_3_2_MARINE_EMISSION_FACTORS
                                emissions:
                                  wttCo2eGrams: 168.27108272876694
                                  ttwCo2eGrams: 737.3617941934476
                                  wtwCo2eGrams: 905.6328769222146
                        type: WATER
                  - hubType: MARITIME_TERMINAL
                    activityTonnes: 0.1
                    intensities:
                      co2eGramsPerTonne: 1.9000000000000001
                    emissions:
                      co2eGrams: 0.19
                    methodology: SFC_GLEC_FRAMEWORK_3_2
                    calculationBasis: DEFAULT_FACTORS
                    type: HUB
                  - type: RAIL
                    id: 123456789-02
                    start:
                      type: RAIL_YARD
                      countryCode: BE
                      latitude: 51.279002
                      longitude: 4.356769
                      address: ''
                    end:
                      type: RAIL_YARD
                      countryCode: BE
                      latitude: 50.842691
                      longitude: 4.380654
                      address: L161A
                    activityDistanceKm: 74.56862243697734
                    activityTonneKm: 7.456862243697734
                    transportIntensities:
                      wttCo2eGramsPerTonneKm: 7.537500644090015
                      ttwCo2eGramsPerTonneKm: 1.4832762285472343
                      wtwCo2eGramsPerTonneKm: 9.02077687263725
                    transportEmissions:
                      wttCo2eGrams: 56.206103964762185
                      ttwCo2eGrams: 11.060586505628242
                      wtwCo2eGrams: 67.26669047039043
                    hubIntensities:
                      co2eGramsPerTonne: 0
                    hubEmissions:
                      co2eGrams: 0
                    totalIntensities:
                      co2eGramsPerTonneKm: 9.02077687263725
                    totalEmissions:
                      co2eGrams: 67.26669047039043
                    context:
                      customProperty: customRailLegValue
                    elements:
                      - vehicle: AVERAGE_TRAIN
                        methodology: ECOTRANSIT_RAIL_4_0
                        distanceMeasurementMethod: SHORTEST_FEASIBLE_DISTANCE
                        calculationBasis: MODEL
                        distanceAdjustmentFactor: '1.0'
                        start:
                          type: RAIL_YARD
                          countryCode: BE
                          latitude: 51.279002
                          longitude: 4.356769
                          address: ''
                        end:
                          type: RAIL_YARD
                          countryCode: BE
                          latitude: 50.842691
                          longitude: 4.380654
                          address: L161A
                        activityDistanceKm: 74.56862243697734
                        activityTonneKm: 7.456862243697734
                        transportIntensities:
                          wttCo2eGramsPerTonneKm: 7.537500644090015
                          ttwCo2eGramsPerTonneKm: 1.4832762285472343
                          wtwCo2eGramsPerTonneKm: 9.02077687263725
                        transportEmissions:
                          wttCo2eGrams: 56.206103964762185
                          ttwCo2eGrams: 11.060586505628242
                          wtwCo2eGrams: 67.26669047039043
                        resultsByEnergyType:
                          - energyType: ELECTRICITY
                            activityDistanceKm: 70.71537321805414
                            activityTonneKm: 7.0715373218054145
                            intensities:
                              wttCo2eGramsPerTonneKm: 7.479360000000002
                              ttwCo2eGramsPerTonneKm: 0
                              wtwCo2eGramsPerTonneKm: 7.479360000000002
                            emissions:
                              wttCo2eGrams: 52.89057338321856
                              ttwCo2eGrams: 0
                              wtwCo2eGrams: 52.89057338321856
                            resultsByEnergySource:
                              - energySource: ELECTRICAL_GRID
                                factorReference: ECOTRANSIT_4_0_MEDIUM_VOLTAGE_EMISSION_FACTORS
                                emissions:
                                  wttCo2eGrams: 52.89057338321856
                                  ttwCo2eGrams: 0
                                  wtwCo2eGrams: 52.89057338321856
                          - energyType: DIESEL
                            activityDistanceKm: 3.8532492189231973
                            activityTonneKm: 0.38532492189231976
                            intensities:
                              wttCo2eGramsPerTonneKm: 8.604505945945949
                              ttwCo2eGramsPerTonneKm: 28.704570810810825
                              wtwCo2eGramsPerTonneKm: 37.309076756756774
                            emissions:
                              wttCo2eGrams: 3.3155305815436233
                              ttwCo2eGrams: 11.060586505628242
                              wtwCo2eGrams: 14.376117087171865
                            resultsByEnergySource:
                              - energySource: FOSSIL_DIESEL
                                factorReference: SFC_GLEC_3_2_EUROPE_EMISSION_FACTORS
                                emissions:
                                  wttCo2eGrams: 3.3155305815436233
                                  ttwCo2eGrams: 11.060586505628242
                                  wtwCo2eGrams: 14.376117087171865
                        type: RAIL
                creditCost: 3
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                title: Invalid JSON
                status: 400
                code: 2
                details:
                  - Invalid JSON at 'cargo' (line 7, byte 26)
                instance: /api/v1/transportation/emissions/calculate
                recommendation: Provide well formed JSON
        '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/emissions/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/emissions/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/emissions/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/emissions/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:
    CalculateRequest:
      type: object
      required:
        - cargo
      properties:
        id:
          type: string
          description: >
            A unique identifier for the emissions calculation, such as a
            shipment ID. The ID is returned in the response. When
            `options.storeResult` is `true`, the calculation result is stored
            against this ID and can later be retrieved using `GET
            /emissions/{id}`.  

            Requests that provide an already stored ID will apply replace
            semantics where the new result replaces the previously stored result
            for that ID.
        options:
          $ref: '#/components/schemas/CalculationOptions'
        cargo:
          $ref: '#/components/schemas/Cargo'
        origin:
          $ref: '#/components/schemas/Location'
        destination:
          $ref: '#/components/schemas/Location'
        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 `WEIGHTED_MODES`.  
              - 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. This allows a logistics hub to act as the origin or destination
                in place of the top-level `origin` and `destination` properties, enabling emissions to be attributed to those locations.
          items:
            oneOf:
              - $ref: '#/components/schemas/UnknownTransport'
              - $ref: '#/components/schemas/AirTransport'
              - $ref: '#/components/schemas/RailTransport'
              - $ref: '#/components/schemas/RoadTransport'
              - $ref: '#/components/schemas/WaterTransport'
              - $ref: '#/components/schemas/WeightedModesTransport'
              - $ref: '#/components/schemas/Hub'
        context:
          $ref: '#/components/schemas/RequestContext'
    CalculateResponse:
      type: object
      required:
        - origin
        - destination
        - activityDistanceKm
        - activityTonneKm
        - transportIntensities
        - transportEmissions
        - hubIntensities
        - hubEmissions
        - totalIntensities
        - totalEmissions
        - transportChain
        - creditCost
      properties:
        id:
          type: string
          description: >
            Returns the unique identifier supplied for the emissions calculation
            request.  This is the same value provided in the request's `id`
            field.
        origin:
          $ref: '#/components/schemas/ResponseLocation'
          description: The origin location for the transport chain.
        destination:
          $ref: '#/components/schemas/ResponseLocation'
          description: The destination location for the transport chain.
        activityDistanceKm:
          type: number
          format: double
          description: >-
            The total distance in kilometers across all transport operations in
            the request.
        activityTonneKm:
          type: number
          format: double
          description: >
            The total transport activity for all transport operations in the
            request. Measured in tonne kilometers.
        transportIntensities:
          $ref: '#/components/schemas/TransportIntensities'
          description: >-
            The combined emission intensity rates across all the transport
            operations.
        transportEmissions:
          $ref: '#/components/schemas/TransportEmissions'
          description: The total emissions for all the transport operations.
        hubIntensities:
          $ref: '#/components/schemas/HubIntensities'
          description: The combined emission intensity rates across all the logistics hubs.
        hubEmissions:
          $ref: '#/components/schemas/HubEmissions'
          description: The total emissions for all the logistics hubs.
        totalIntensities:
          $ref: '#/components/schemas/TotalIntensities'
          description: >-
            The combined emission intensity rates across the entire transport
            chain.
        totalEmissions:
          $ref: '#/components/schemas/TotalEmissions'
          description: The total emissions for the entire transport chain.
        transportChain:
          type: array
          description: >
            Array of emissions calculation results for the transport operations
            defined in the request’s transport chain, along with any
            automatically inserted logistics hub operation results. The results
            appear in the same order as in the request, with any inserted hub
            operations results placed where they occurred in the transport
            chain.
          items:
            oneOf:
              - $ref: '#/components/schemas/TransportChainResult'
              - $ref: '#/components/schemas/HubOperationResult'
        context:
          type: object
          description: >
            The top-level context object supplied in the request's `context`. 
            Any properties provided by the caller are preserved and returned in
            this object.
        certificateUrl:
          type: string
          description: >
            URL for the PDF certificate associated with the emissions
            calculation.  This field is included when the calculation result is
            stored by setting `options.storeResult` to `true` and providing an
            `id`.
        creditCost:
          type: number
          format: integer
          description: >
            Number of credits consumed to generate the emissions calculation
            results, deducted from the user’s account as part of processing the
            request.
    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.
    CalculationOptions:
      title: Calculation options
      type: object
      description: >
        Used to customize emissions calculations and to control which details
        are included in the response.
      properties:
        storeResult:
          type: boolean
          default: false
          description: >
            Indicates whether the calculation result should be stored
            permanently. When set to `true`, the result is stored and can be
            retrieved using `GET /emissions/{id}`.  

            The top-level `id` property in the request body must be provided
            when `storeResult` is set to `true`.
        hubInsertion:
          type: string
          default: AUTOMATIC_ON_ALL_TRANSITIONS
          description: >
            Controls how emissions from logistics hubs are modeled in the
            calculation. By default, logistics hubs are automatically inserted
            between every transport operation so that associated hub emissions
            are always included. Set this option to `"MANUAL"` to disable
            automatic insertion and require hubs to be added explicitly. Note
            that including hub emissions is a core requirement of ISO 14083, so
            disabling automatic hub insertion may lead to results that are not
            fully compliant.

            <enumTable>
              <enumItem>
                <enumValue>`MANUAL`</enumValue>
                <enumHeading>Manual</enumHeading>
                <enumDescription>
                  Automatic hub insertion is disabled.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`AUTOMATIC_ON_ALL_TRANSITIONS`</enumValue>
                <enumHeading>Automatic on all transitions</enumHeading>
                <enumDescription>
                  Automatically inserts a logistics hub between every transport operation.
                </enumDescription>
              </enumItem>
            </enumTable>
          enum:
            - MANUAL
            - AUTOMATIC_ON_ALL_TRANSITIONS
        defaultHubTypes:
          $ref: '#/components/schemas/DefaultHubTypes'
        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.
    Cargo:
      title: Cargo
      type: object
      description: >
        Defines the transported goods for which emissions are calculated.  Cargo
        parameters affect vehicle choice, load factors, and resulting emission
        estimates throughout the transport chain. Only the weight property is
        mandatory. Other properties will be defaulted if they are not provided. 
        However, the more detail provided, the more accurate the results will
        be.
      required:
        - weight
      properties:
        category:
          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
        densityCharacteristics:
          type: string
          description: >
            Indicates the typical mass density of the cargo. Used in emissions
            calculations for container terminal hubs, rail and road
            transportation. Defaults according to category if unspecified.
            <enumTable>
              <enumItem>
                <enumValue>`LIGHT`</enumValue>
                <enumHeading>Light</enumHeading>
                <enumDescription>
                  Low-density cargo that “cubes out before it weighs out” like furniture, clothing and footwear. Defined as 6 tonnes per TEU.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`AVERAGE_MIXED`</enumValue>
                <enumHeading>Average mixed</enumHeading>
                <enumDescription>Medium-density or mixed cargo. Defined as 10 tonnes per TEU.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`HEAVY`</enumValue>
                <enumHeading>Heavy</enumHeading>
                <enumDescription>High-density cargo that is tightly packed like metals and raw or bulk commodities. Defined as 14.5 tonnes per TEU.</enumDescription>
              </enumItem>
            </enumTable>
          enum:
            - LIGHT
            - AVERAGE_MIXED
            - HEAVY
        climateControl:
          type: string
          description: >
            Defines if the cargo must be transported under active climate
            control. When set to `REQUIRED`, emissions calculations include the
            added energy use from refrigeration or other powered temperature
            regulation systems. Defaults according to category if unspecified.
            <enumTable>
              <enumItem>
                <enumValue>`AT_AMBIENT`</enumValue>
                <enumHeading>At ambient</enumHeading>
                <enumDescription>Cargo is carried under natural temperature conditions without active cooling or heating.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`REQUIRED`</enumValue>
                <enumHeading>Required</enumHeading>
                <enumDescription>Cargo requires active temperature regulation, such as mechanical refrigeration, during transport.</enumDescription>
              </enumItem>
            </enumTable>
          enum:
            - AT_AMBIENT
            - REQUIRED
        weight:
          type: object
          description: >
            The shipment mass in air (i.e., uncorrected for buoyancy or
            displacement effects) that quantifies the amount of goods being
            transported. The weight should include the goods and the packaging
            provided for transport by the shipper,  but not any additional
            packaging or handling equipment used by the carrier or LSP, such as
            pallets or containers.
          required:
            - value
            - unit
          properties:
            value:
              type: number
              format: double
              description: Numeric value representing the cargo’s net mass in air.
            unit:
              type: string
              description: >
                Unit of measurement for the cargo’s mass, 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
    Location:
      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'
    UnknownTransport:
      title: Unknown transport
      type: object
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - UNKNOWN
          description: >
            Indicates that no transport mode or mode-specific parameters were
            provided. When this type is used, the system attempts to infer the
            operation by evaluating a predefined sequence of fallback transport
            modes.  

            #### Fallback transport mode logic ####  
              - The system evaluates each fallback mode in order, using defaulted parameters for that mode.
              - The first mode that manages to successfully route and calculate emissions is selected.
              - If all modes fail, the request will fail.

            #### Fallback mode sources ####
              - If the request specifies `options`.`fallbackTransportModes`, the system uses them in the provided order.
              - If not specified, the system will apply the built-in default fallback sequence [`ROAD`, `WATER`, `AIR`].
        id:
          type: string
          description: >
            An optional identifier for the transport chain element. The
            identifier should be unique across transport elements to support
            retrieval and correlation, although uniqueness is not enforced. When
            provided, the same identifier is returned on the corresponding
            transport chain result element in the response.
        context:
          type: object
          description: >
            Additional information related to the transport operation. 
            Properties provided in this object are returned in the emissions
            calculation response section of the  corresponding transport
            operation. 
    AirTransport:
      title: Air transport
      type: object
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - AIR
          description: >
            Transport by aircraft.  

            #### Aircraft selection ####

            When `vehicle` is omitted, a generic aircraft emissions factor is
            used.
              - Uses a generic belly freight emissions factor if `aircraftType` is `PASSENGER`.
              - Uses a generic freighter emissions factor if `aircraftType` is `FREIGHTER`.
              - Defaults to a composite emissions factor if `aircraftType` is unspecified.

            #### Generic aircraft classes ####

            The system models the maximum payload range and runway requirements
            of the three types of generic aircraft with five  standardized
            aircraft classes per type:
              1. Wide-body long-haul aircraft  
                - Requires long concrete or bitumen runways.  
                - Range representative of typical long-haul twin/quad jets.  
              2. Narrow-body medium-haul aircraft  
                - Requires at least medium-length concrete or bitumen runways.  
                - Range representative of common single-aisle jets.  
              3. Regional short-haul aircraft  
                - Requires at least short-length concrete or bitumen runways.  
                - Range representative of regional jets and turboprops.
              4. All-terrain STOL aircraft  
                - Requires at minimum short-length runways of any surface (grass, sand, coral, etc.).  
                - Range representative of short-field turboprop aircraft.
              5. All-terrain VSTOL aircraft  
                - Requires at minimum extremely short runways of any surface (grass, sand, coral, etc.).  
                - Range is very limited.

            #### Airport selection ####
              - If the start or end location is already an airport, it will be used as provided,
                even if its runway lengths cannot accommodate the specified aircraft or class
                (takeoff/landing field length constraints are not enforced).
              - If the start or end location is not an airport, an airport will be selected automatically. Selection is based on:
                - Aircraft compatibility. If a specific aircraft is selected, compatibility is determined based on that aircraft’s runway requirements.  
                  If a generic aircraft is used, all airports are considered compatible thanks to the five aircraft classes covering all types of airport.
                  After airport selection, the appropriate generic aircraft class is chosen based on the capabilities of the selected airports, 
                  using the largest class they can support.
                - Distance from the given location to candidate airports. Shorter distances are preferred.
                - Whether traveling to or from the airport would cross a customs border. 
                  Airports requiring a customs-border crossing are highly penalized in the selection process.
                - Airport size and runway length. High capacity airports with longer runways are preferred over smaller ones.
              
            #### Automatic stopovers ####

            Automatic stopovers are inserted when a direct flight cannot be
            operated due to aircraft performance limits or political
            restrictions.
              - Triggered when the great-circle distance (plus routing margin) exceeds the maximum payload range of the aircraft or aircraft class.
              - Triggered when long-term airspace closures or sanctions prevent direct travel between the departure and arrival airports 
                (e.g., post 2022 restrictions between Western Europe and Russia).
              - Selected from airports that meet aircraft or aircraft class’s runway requirements and minimize deviation from the shortest feasible route.
              - When a generic aircraft class is used, the aircraft class is re-determined at each stopover:
                - For each flight segment, the system selects the largest aircraft class supported by both the departure airport and the stopover airport.  
                - So, while the first segment might have to use a smaller class when (e.g., due to short or unpaved runways),
                  later segments may use a larger class with far greater range, reducing the number of required stopovers.
              - A logistics hub with transshipment emissions is automatically added at each stopover unless the request’s `options.intermodalHubs` is set
                to `MANUAL` or `options.defaultHubTypes.airToAir` is set to `NONE`.

            #### Automatic first and last mile connections ####
              - When the start or end location is not an airport, a road transport operation
                is automatically added to connect the location to the selected departure or arrival airport.  
              - If a `firstMile` or `lastMile` object is provided, then road vehicle configuration is taken directly from the corresponding object.
              - If `firstMile` or `lastMile` is not provided, then the system automatically selects an appropriate road vehicle based on:
                - Country of operation
                - `cargo`.`category`
                - Trip distance
                - `cargo`.`weight`

            #### Fallback on failure ####

            If an air route cannot be generated because, for example:
              - No airport can be reached from the start or end locations.
              - The aircraft does not have sufficient range to reach the destination or any stopover airport.  

            Then the system will attempt alternative modes of transport when the
            request `options`.`fallbackTransportModes` is provided.
              - Each mode except `AIR` in the `options`.`fallbackTransportModes` array will be attempted in listed order.
              - The process will stop when a mode succeeds, and the calculated emissions for that mode will be returned.
              - If every fallback attempt fails, the system returns the error produced by the final mode in the sequence.
        id:
          type: string
          description: >
            An optional identifier for the transport chain element. The
            identifier should be unique across transport elements to support
            retrieval and correlation, although uniqueness is not enforced. When
            provided, the same identifier is returned on the corresponding
            transport chain result element in the response.
        departureDateTime:
          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`              
        arrivalDateTime:
          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`              
        aircraftType:
          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
        vehicle:
          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>
        firstMile:
          $ref: '#/components/schemas/AirFirstMile'
        lastMile:
          $ref: '#/components/schemas/AirLastMile'
        context:
          type: object
          description: >
            Additional information related to the air transport operation. 
            Properties provided in this object are returned in the emissions
            calculation response section of the  corresponding transport
            operation.  If the air operation fails and a fallback transport
            operation type is used, then the contents of the context is
            preserved and returned with the replacement operation's results.
    RailTransport:
      type: object
      title: Rail transport
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - RAIL
          description: >
            Transport by train.

            #### Train consist ####

            Two types of train consists are supported:  
              - Manifest trains: general mixed-cargo services using multiple wagon types
              - Unit trains: dedicated services carrying a single commodity type

            The `vehicle` property should be supplied when the specific rail
            consist is known. If `vehicle` is not provided, the system infers
            the rail consist based on:            
              - `trainType`: distinguishes between manifest and unit trains
              - `grossTrainWeight`: determines manifest train size
              - `cargo`.`category`: determines unit train configuration
              - Region of operation: influences default manifest sizes and container stacking practices 
                (e.g., double-stacking in USA, Canada, Australia, India)

            #### Rail yard selection ####
              - The nearest rail yard to the start and end locations is selected.
              - If either location is specified as type `RAILYARD`, no connecting road transport is added for that endpoint.

            #### Automatic first and last mile connections ####
              - When the start or end location is not a rail yard, 
                a road transport operation is automatically added to connect the location with the selected start or end rail yard. 
              - If a `firstMile` or `lastMile` object is provided, then road vehicle configuration is taken directly from the corresponding object.
              - If `firstMile` or `lastMile` is not provided, then the system automatically selects an appropriate road vehicle based on:
                - Country of operation
                - `cargo`.`category`
                - Trip distance
                - `cargo`.`weight`

            #### Fallback on failure ####

            If a rail route cannot be generated because, for example:
              - No rail yards can be reached from the start or end locations.
              - No connecting route route between the selected rail yards could be found.

            Then the system will attempt alternative modes of transport when the
            request `options`.`fallbackTransportModes` is provided.
              - Each mode except `RAIL` in the `options`.`fallbackTransportModes` array will be attempted in listed order.
              - The process will stop when a mode succeeds, and the calculated emissions for that mode will be returned.
              - If every fallback attempt fails, the system returns the error produced by the final mode in the sequence.
        id:
          type: string
          description: >
            An optional identifier for the transport chain element. The
            identifier should be unique across transport elements to support
            retrieval and correlation, although uniqueness is not enforced. When
            provided, the same identifier is returned on the corresponding
            transport chain result element in the response.
        departureDateTime:
          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`              
        arrivalDateTime:
          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`              
        vehicle:
          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
        trainType:
          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
        grossTrainWeight:
          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
        energyType:
          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
        firstMile:
          $ref: '#/components/schemas/RailFirstMile'
        lastMile:
          $ref: '#/components/schemas/RailLastMile'
        context:
          type: object
          description: >
            Additional information related to the rail transport operation. 
            Properties provided in this object are returned in the emissions
            calculation response section of the  corresponding transport
            operation.  If the rail operation fails and a fallback transport
            operation type is used, then the context is preserved and returned
            with the replacement operation's results.
    RoadTransport:
      title: Road transport
      type: object
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - ROAD
          description: >
            Transport by road.  

            #### Vehicle selection ####

            The vehicle is selected based on the most informative attributes
            provided by the following properties that are evaluated in the order
            given below:

              1. `grossWeightBand`, `structure` and `cargo`.`category`
                  - If `structure` is not provided, it is inferred from the gross weight band and cargo category.
              2. `grossWeight`, `structure` and `cargo`.`category`
                  - If `structure` is not provided, it is inferred from the gross weight and cargo category.
              3. `maximumWeight`, `structure` and `cargo`.`category`
                  - The maximum weight is translated into an estimated gross weight using typical vehicle weight classes. 
                  - If structure is not provided, it is inferred from the resulting gross weight estimate and cargo category.
              4. `emptyWeight`, `structure` and `cargo`.`category`
                  - The empty weight is translated into an estimated gross weight using typical vehicle weight classes. 
                  - If structure is not provided, it is inferred from the resulting gross weight estimate and cargo category.
              5. `vehicle`
                  - If none of the above properties are available, the generic `vehicle` property is used.
                  - This generally results in a lower information, less precise result.
              6. `structure`
                  - If structure is set to `ARTICULATED`, then an articulated vehicle is selected.
                  - If structure is set to `RIGID`, then a rigid vehicle is selected.
                  - If structure is set to `DUMP` and the starting point is within China, then a dump truck is selected. Otherwise a rigid vehicle is selected.
              7. `packaging`
                  - If packaging is set to `CONTAINER`, a container capable vehicle is selected.
              8. Country of origin.
                  - If no vehicle could be selected via rules 1 to 7, the system will fall back to defaults based on the most popular transport vehicle in the country where the trip begins.

            #### Emission algorithm selection ####

            Emissions are calculated using either default emission factors or
            primary data, depending on whether energy consumption information is
            provided.  The following rules apply:  
              - Default emission factors are used when `energyConsumption` is not provided.
              - Emissions based on default factors correspond to the characteristics of the selected vehicle.
              - Primary data emissions are calculated when `energyConsumption` is provided - either as an absolute or rate based value.
              - Primary data emissions are calculated directly from the supplied consumption value combined with the `energyType`.

            #### Fallback on failure ####

            If a road route cannot be generated because, for example:
              - The start or end location is on an island with no road or ferry access.
              - No continuous road connection including roll-on/roll-off (RO-RO) ferries and trains exists between the two locations.

            Then the system will attempt alternative modes of transport when the
            request `options`.`fallbackTransportModes` is provided.
              - Each mode except `ROAD` in the `options`.`fallbackTransportModes` array will be attempted in listed order.
              - The process will stop when a mode succeeds, and the calculated emissions for that mode will be returned.
              - If every fallback attempt fails, the system returns the error produced by the final mode in the sequence.
        id:
          type: string
          description: >
            An optional identifier for the transport chain element. The
            identifier should be unique across transport elements to support
            retrieval and correlation, although uniqueness is not enforced. 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: >
            Additional information related to the road transport operation. 
            Properties provided in this object are returned in the emissions
            calculation response section of the  corresponding transport
            operation.  If the road operation fails and a fallback transport
            operation type is used, then the contents of the context is
            preserved and returned with the replacement operation's results.
    WaterTransport:
      title: Water transport
      type: object
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - WATER
          description: >
            Water (maritime) transport operation.  

            #### Vessel characteristics ####

            The vessel characteristics are determined using the most informative
            available attributes. The following properties are evaluated in the
            order shown below:    
              1. Vessel type from `vehicle`.
              2. Vessel type defaulted based on `cargo`.`category` when `vehicle` is not provided.
              3. Vessel capacity band from `capacity`
              4. Vessel capacity band from `size` when `capacity` not provided.
              5. Vessel capacity band defaulted based on the largest vessel of the determined vessel type that can be accomodated by both origin and destination harbors.
                 Harbor compatibility by vessel type and capacity was determined through a global analysis of AIS data and fleet registry databases.

            #### Harbor selection ####

            Harbors are selected based on the provided start and end locations
            and the vessel determined in the previous step.  
              - **Use of provided harbors**. If the start or end location corresponds to a known harbor, that harbor is used as provided,
                even if it is incompatible with the determined vessel type or capacity band.
              - **Automatic harbor selection**. If the start or end location is not a harbor, an appropriate harbor is automatically selected.
                Selection is based on the following criteria:
                  - Vessel compatibility.
                    Candidate harbors are evaluated against the determined vessel type based on the system’s global harbor survey.
                    If a capacity band has already been identified, it is also included in the compatibility assessment.
                  - Proximity to the provided location.
                    Distances from the given location to candidate harbors are considered, with closer harbors preferred.
                  - Customs-border considerations.
                    If traveling between the given location and a candidate harbor would require crossing a customs border,
                    that harbor is heavily penalized during selection.
              - **Cases with no compatible harbor**. 
                If no suitable harbor can be found and the vessel type was defaulted, the vessel type is overridden to `GENERAL_CARGO`,
                and the harbor selection process is reattempted. This allows service to locations where certain vessel classes do not operate.
                For example, the Norwegian archipelago of Svalbard, which does not receive container vessels.

            #### Automatic first and last mile connections ####
              - When the start or end location is not a harbor, a road transport operation
                is automatically added to connect the location to the selected start or end harbor.  
              - If a `firstMile` or `lastMile` object is provided, then road vehicle configuration is taken directly from the corresponding object.
              - If `firstMile` or `lastMile` is not provided, then the system automatically selects an appropriate road vehicle based on:
                - Country of operation
                - `cargo`.`category`
                - Trip distance
                - `cargo`.`weight`

            #### Fallback on failure ####

            If a maritime route cannot be generated because, for example:
              - No compatible harbors can be reached from the start or end locations.
              - No connecting route route between the harbors could be found.

            Then the system will attempt alternative modes of transport when the
            request `options`.`fallbackTransportModes` is provided.
              - Each mode except `WATER` in the `options`.`fallbackTransportModes` array will be attempted in listed order.
              - The process will stop when a mode succeeds, and the calculated emissions for that mode will be returned.
              - If every fallback attempt fails, the system returns the error produced by the final mode in the sequence.
        id:
          type: string
          description: >
            An optional identifier for the transport chain element. The
            identifier should be unique across transport elements to support
            retrieval and correlation, although uniqueness is not enforced. When
            provided, the same identifier is returned on the corresponding
            transport chain result element in the response.
        departureDateTime:
          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`              
        arrivalDateTime:
          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`
        vehicle:
          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
        capacity:
          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
        size:
          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
        containerTypeCode:
          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.
        energyType:
          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
        navigationConstraints:
          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
        firstMile:
          $ref: '#/components/schemas/WaterFirstMile'
        lastMile:
          $ref: '#/components/schemas/WaterLastMile'
        context:
          type: object
          description: >
            Additional information related to the water transport operation. 
            Properties provided in this object are returned in the emissions
            calculation response section of the  corresponding transport
            operation.  If the water operation fails and a fallback transport
            operation type is used, then the contents of the context is
            preserved and returned with the replacement operation's results.
    WeightedModesTransport:
      title: Weighted modes transport
      type: object
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - WEIGHTED_MODES
          description: >
            Applicable when the precise transport mode is indeterminate, but
            constrained to a known set of alternatives,  each associated with an
            established probability or weighting, enabling emissions to be
            proportionally allocated.  


            Examples include:
              - Long haul segments that could have been completed by different modes (e.g., 40% by `RAIL`, 60% by `ROAD`).
              - Pickup legs where the type of truck is probabilistic based on fleet composition (e.g., 80% by 7 tonne diesel, 20% by 10 tonne electric).
              - Ocean voyages where only the proportion of vessels taking different routes is available (e.g., 30% via Suez, 70% via the Cape route).
                The `navigationConstraints` property would be set to [`AVOID_SUEZ_CANAL`, `AVOID_NORTHEAST_PASSAGE`, `AVOID_NORTHWEST_PASSAGE`] for the Cape route transport operation.

            #### Fallback on failure ####

            If any of the weighted transport operations fails, then the system
            will attempt alternative modes of transport when the request 
            `options`.`fallbackTransportModes` is provided.
              - Each mode in the `options`.`fallbackTransportModes` array will be attempted in listed order.
              - If every fallback attempt fails, the system returns the error produced by the final mode in the sequence.
        id:
          type: string
          description: >
            An optional identifier for the transport chain element. The
            identifier should be unique across transport elements to support
            retrieval and correlation, although uniqueness is not enforced. When
            provided, the same identifier is returned on the corresponding
            transport chain result element in the response.
        weightedTransportOperations:
          type: array
          description: >
            An array of one or more transport operation objects, each with an
            associated percentage.  The same mode of transport operation may
            appear multiple times, typically with different properties. All
            percentages in the array must sum up to 100.
          items:
            type: object
            properties:
              percent:
                type: number
                format: double
                description: >
                  Percentage weighting for this transport operation’s emissions
                  in the results. Must be greater than 0 and at most 100.
              transportOperation:
                description: >
                  The transport operation object, determined by the type
                  property.  The emissions from this operation make up the given
                  `percent` of the overall results.
                oneOf:
                  - $ref: '#/components/schemas/UnknownTransport'
                  - $ref: '#/components/schemas/AirTransport'
                  - $ref: '#/components/schemas/RailTransport'
                  - $ref: '#/components/schemas/RoadTransport'
                  - $ref: '#/components/schemas/WaterTransport'
        context:
          type: object
          description: >
            Additional information related to the weighted transport
            operations.  Properties provided in this object are returned in the
            emissions calculation response section of the  corresponding
            transport operation. 
    Hub:
      type: object
      title: Hub operation
      required:
        - type
        - location
      properties:
        type:
          type: string
          enum:
            - HUB
          description: >
            Represents a site, facility, center, or depot involved in a freight
            transport chain. Hubs act as connection points between transport
            legs (within or across modes) or as the starting or ending locations
            of a transport journey.


            A hub may serve as:
              - The origin of the transport chain.
              - A transfer point where one transport operation ends and another begins.
              - The destination of the transport chain.


            Hubs also typically represent locations of energy use and emissions
            associated with freight handling and supporting equipment:
              - Fuel and electricity used for loading / unloading freight.
              - Energy used to move freight within the hub (yard tractors, forklifts, shunting, etc.)
              - Energy consumption from facility lighting, heating, and cooling and other freight-related activities.

            Emissions intensities vary by facility category, with
            transshipment-focused hubs typically having lower intensities than
            storage-focused hubs.
        hubType:
          $ref: '#/components/schemas/HubTypes'
          description: >
            Specifies the type of hub used at this location. <enumTable>
              <enumItem>
                <enumValue>`NONE`</enumValue>
                <enumHeading>None</enumHeading>
                <enumDescription>No emissions</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`TRANSSHIPMENT`</enumValue>
                <enumHeading>Transhipment</enumHeading>
                <enumDescription>
                  A facility where more than 80% of goods are transferred from one transport vehicle or mode to another with minimal or no long-term storage.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`STORAGE_AND_TRANSSHIPMENT`</enumValue>
                <enumHeading>Storage and transshipment</enumHeading>
                <enumDescription>
                  A facility that combines cargo transfer and warehousing functions, with neither transshipment-only activities nor warehousing activities 
                  accounting for more than 80% of the goods handled.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`WAREHOUSE`</enumValue>
                <enumHeading>Warehouse</enumHeading>
                <enumDescription>
                  A facility is a hub where more than 80% of goods are stored and processed focusing on inventory management, order fulfillment, packaging, 
                  and distribution rather than on cargo transfer between transport modes.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`LIQUID_BULK_TERMINAL`</enumValue>
                <enumHeading>Liquid bulk terminal</enumHeading>
                <enumDescription>
                  A specialized facility designed for handling, transferring, and storing liquid raw materials or products (e.g., oil, chemicals).
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`MARITIME_TERMINAL`</enumValue>
                <enumHeading>Maritime terminal</enumHeading>
                <enumDescription>
                  A facility located at a harbor where cargo is transshipped between ships, or between ships and land-based transport modes such as trains or trucks.
                </enumDescription>
              </enumItem>
            </enumTable>

            The selected hub type determines the emissions intensity. Emissions
            can be omitted by setting the hub type to `NONE` because either:
              - The hub simply represents a stop on a trip with the same vehicle.
              - Hub emissions are not wanted. Be aware that omitting hub emissions breaks full ISO 14083 compliance.

            If `hubType` is not provided, the following rules determine its
            value:
              - If `options`.`hubInsertion` is set to `MANUAL`, no hub emissions are applied.
              - Otherwise, if `options`.`defaultHubTypes` specifies a default for the surrounding transport operation types, that default is used.
              - Otherwise, the hub type is selected according to the table below.

              | Incoming mode | Outgoing mode | Selected hub type                                                                                         |
              |---------------|---------------|-----------------------------------------------------------------------------------------------------------|
              | `AIR`         | `AIR`         | `TRANSSHIPMENT`                                                                                           |
              | `AIR`         | `RAIL`        | `TRANSSHIPMENT`                                                                                           |
              | `AIR`         | `ROAD`        | `TRANSSHIPMENT`                                                                                           |
              | `AIR`         | `WATER`       | `MARITIME_TERMINAL`                                                                                       |
              | `RAIL`        | `AIR`         | `TRANSSHIPMENT`                                                                                           |
              | `RAIL`        | `RAIL`        | `TRANSSHIPMENT` unless `cargo`.`category` is a liquid, in which case `LIQUID_BULK_TERMINAL` is used.      | 
              | `RAIL`        | `ROAD`        | `TRANSSHIPMENT` unless `cargo`.`category` is a liquid, in which case `LIQUID_BULK_TERMINAL` is used.      | 
              | `RAIL`        | `WATER`       | `MARITIME_TERMINAL` unless `cargo`.`category` is a liquid, in which case `LIQUID_BULK_TERMINAL` is used.  |
              | `ROAD`        | `AIR`         | `TRANSSHIPMENT`                                                                                           |
              | `ROAD`        | `RAIL`        | `TRANSSHIPMENT` unless `cargo`.`category` is a liquid, in which case `LIQUID_BULK_TERMINAL` is used.      | 
              | `ROAD`        | `ROAD`        | `TRANSSHIPMENT` unless `cargo`.`category` is a liquid, in which case `LIQUID_BULK_TERMINAL` is used.      | 
              | `ROAD`        | `WATER`       | `MARITIME_TERMINAL` unless `cargo`.`category` is a liquid, in which case `LIQUID_BULK_TERMINAL` is used.  |
              | `WATER`       | `AIR`         | `MARITIME_TERMINAL`                                                                                       |
              | `WATER`       | `RAIL`        | `MARITIME_TERMINAL` unless `cargo`.`category` is a liquid, in which case `LIQUID_BULK_TERMINAL` is used.  |
              | `WATER`       | `ROAD`        | `MARITIME_TERMINAL` unless `cargo`.`category` is a liquid, in which case `LIQUID_BULK_TERMINAL` is used.  |
              | `WATER`       | `WATER`       | `MARITIME_TERMINAL` unless `cargo`.`category` is a liquid, in which case `LIQUID_BULK_TERMINAL` is used.  |

              - For `WEIGHTED_MODES` transport operations (which contain multiple underlying transport modes), 
                the default hub type is first determined for each incoming/outgoing mode pair using the rules in the table above, 
                and then the hub type with the highest emissions intensity is chosen.
        location:
          $ref: '#/components/schemas/Location'
    RequestContext:
      title: Context
      type: object
      description: >
        Additional information related to the emissions calculation. The object
        may contain any properties. The following recognized properties, when
        provided, will be displayed as sections in the emissions certificate
        generated for the calculation:
          - reportingParty
          - reportingTo
          - consignor
          - consignee
          - transportProvider
          - transaction
          - cargo

        Any additional custom properties included within these recognized
        objects will also be displayed in the corresponding section of the
        emissions certificate.
      properties:
        reportingParty:
          title: Reporting party
          type: object
          description: >
            The organization responsible for submitting the transport activity
            data used in calculation. All the properties provided in this
            object, including both the fields defined below and any additional
            custom properties,  will be displayed in the "Reporting Party"
            section of the emissions certificate.
          properties:
            name:
              type: string
              description: The name of the organization.
            organizationNumber:
              type: string
              description: A general organization identifier for the party.
            address:
              type: string
              description: Free-text postal or business address for the party.
        reportingTo:
          title: Reporting to
          type: object
          description: >
            The organization or person to which the emissions calculation is
            reported or addressed. All the properties provided in this object,
            including both the fields defined below and any additional custom
            properties,  will be displayed in the "Reporting To" section of the
            emissions certificate.
          properties:
            name:
              type: string
              description: The name of the person or organization.
            organizationNumber:
              type: string
              description: >-
                A general identifier for the organization. Should be omitted if
                reporting to a person.
            address:
              type: string
              description: >-
                Free-text postal or business address for the person or
                organization.
        consignor:
          title: Consignor
          type: object
          description: >
            The person or organization where the cargo originated. All the
            properties provided in this object, including both the fields
            defined below and any additional custom properties,  will be
            displayed in the "Consignor" section of the emissions certificate.
          properties:
            name:
              type: string
              description: The name of the person or organization.
            organizationNumber:
              type: string
              description: >-
                A general identifier for the organization. Should be omitted if
                sender was a person.
            address:
              type: string
              description: >-
                Free-text postal or business address for the person or
                organization.
        consignee:
          title: Consignee
          type: object
          description: >
            The person or organization that received the cargo. All the
            properties provided in this object, including both the fields
            defined below and any additional custom properties,  will be
            displayed in the "Consignee" section of the emissions certificate.
          properties:
            name:
              type: string
              description: The name of the person or organization.
            organizationNumber:
              type: string
              description: >-
                A general identifier for the organization. Should be omitted if
                the receiver was a person.
            address:
              type: string
              description: >-
                Free-text postal or business address for the person or
                organization.
        transportProvider:
          title: Consignee
          type: object
          description: >
            The organization responsible for performing or arranging the
            transport. All the properties provided in this object, including
            both the fields defined below and any additional custom properties, 
            will be displayed in the "Transport Provider" section of the
            emissions certificate.
          properties:
            name:
              type: string
              description: The name of the organization.
            organizationNumber:
              type: string
              description: A general identifier for the organization.
            address:
              type: string
              description: Free-text postal or business address for the organization.
        transaction:
          title: Transaction
          type: object
          description: >
            Additional commercial or contractual information related to the
            transport. All the properties provided in this object, including
            both the fields defined below and any additional custom properties, 
            will be displayed in the "Transaction" section of the emissions
            certificate.
          properties:
            incoterms:
              type: string
              description: The Incoterms rule associated with the transport, if applicable.
            agreement:
              type: string
              description: >-
                Reference to the agreement or contract associated with the
                transport.
            project:
              type: string
              description: Reference to the project associated with the transport.
        cargo:
          title: Cargo
          type: object
          description: >
            Information identifying or describing the goods being transported.
            All the properties provided in this object, including both the
            fields defined below and any additional custom properties,  will be
            displayed in the "Cargo" section of the emissions certificate.
          properties:
            shipmentId:
              type: string
              description: Identifier of the shipment.
            description:
              type: string
              description: Free text description of the goods being transported.
    ResponseLocation:
      title: Location
      type: object
      required:
        - type
        - 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.
        iataCode:
          type: string
          description: Three-letter IATA airport code. Only provided for `AIRPORT` types.
        unLoCode:
          type: string
          description: UN/LOCODE that identifies a `HARBOR`.
          minLength: 5
          maxLength: 5
        address:
          type: string
          description: Name of the `AIRPORT`, `HARBOR` or `RAIL_YARD`.
        countryCode:
          type: string
          description: ISO 3166-1 alpha-2 country code.
          minLength: 2
          maxLength: 2
    TransportIntensities:
      type: object
      required:
        - wttCo2eGramsPerTonneKm
        - ttwCo2eGramsPerTonneKm
        - wtwCo2eGramsPerTonneKm
      properties:
        wttCo2eGramsPerTonneKm:
          type: number
          format: double
          description: >
            Well-to-tank greenhouse gas emissions rate, expressed as grams
            released for each tonne-kilometer of activity.
        ttwCo2eGramsPerTonneKm:
          type: number
          format: double
          description: >
            Tank-to-wheel greenhouse gas emissions rate, expressed as grams
            released for each tonne-kilometer of activity.
        wtwCo2eGramsPerTonneKm:
          type: number
          format: double
          description: >
            Well-to-wheel greenhouse gas emissions rate, expressed as grams
            released for each tonne-kilometer of activity. This is the sum of
            the WTT and TTW rates.
    TransportEmissions:
      type: object
      required:
        - wttCo2eGrams
        - ttwCo2eGrams
        - wtwCo2eGrams
      properties:
        wttCo2eGrams:
          type: number
          format: double
          description: >
            Well-to-tank greenhouse gas emissions measured in grams. This
            represents the upstream emissions from producing, processing, and
            delivering the fuel or electricity used for the transport
            operation(s).  
        ttwCo2eGrams:
          type: number
          format: double
          description: >
            Tank-to-wheel greenhouse gas emissions measured in grams. This
            represents the operational emissions produced during the actual use
            of the fuel (electricity has zero operational emissions) to perform
            the transport operation(s).  
        wtwCo2eGrams:
          type: number
          format: double
          description: >
            Well-to-wheel greenhouse gas emissions measured in grams. This
            represents the total lifecycle emissions, combining both upstream
            fuel or electricity production (well-to-tank) and operational use
            phase emissions (tank-to-wheel) for the transport operation(s).
    HubIntensities:
      type: object
      required:
        - co2eGramsPerTonne
      properties:
        co2eGramsPerTonne:
          type: number
          format: double
          description: >-
            Logistics hub(s) greenhouse gas emissions emissions rate, expressed
            as grams released for each tonne of cargo.
    HubEmissions:
      type: object
      required:
        - co2eGrams
      properties:
        co2eGrams:
          type: number
          format: double
          description: Logistics hub(s) greenhouse gas emissions measured in grams.
    TotalIntensities:
      type: object
      required:
        - co2eGramsPerTonneKm
      properties:
        co2eGramsPerTonneKm:
          type: number
          format: double
          description: >
            Rate of greenhouse gas emissions, expressed as grams released for
            each tonne-kilometer of activity  across both the transport and hub
            operations.
    TotalEmissions:
      type: object
      required:
        - co2eGrams
      properties:
        co2eGrams:
          type: number
          format: double
          description: >-
            Greenhouse gas emissions, measured in grams released for both the
            transport and hub operations.
    TransportChainResult:
      type: object
      title: Transport chain result
      required:
        - type
        - start
        - end
        - activityDistanceKm
        - activityTonneKm
        - transportIntensities
        - transportEmissions
        - hubIntensities
        - hubEmissions
        - totalIntensities
        - totalEmissions
        - elements
      properties:
        type:
          type: string
          description: >
            The emissions calculation results for a transport operation defined
            in the request’s `transportChain`.


            The value corresponds directly to the mode specified in the
            associated transport chain element from the request, unless a
            fallback occurred, in which case it will be the chosen fallback
            transport mode.


            First and last mile `ROAD` transport operations may surround the
            primary transport operation within the `elements` of this object.
            <enumTable>
              <enumItem>
                <enumValue>`AIR`</enumValue>
                <enumHeading>Air</enumHeading>
                <enumDescription>The result is from a primary transport mode using aircraft.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RAIL`</enumValue>
                <enumHeading>Rail</enumHeading>
                <enumDescription>The result is from a primary transport mode using trains.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ROAD`</enumValue>
                <enumHeading>Road</enumHeading>
                <enumDescription>The result is from a primary transport mode using road vehicles. </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`WATER`</enumValue>
                <enumHeading>Water</enumHeading>
                <enumDescription>The result is from a primary transport mode using maritime vessels.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`WEIGHTED_MODES`</enumValue>
                <enumHeading>Weighted modes</enumHeading>
                <enumDescription>The result is from multiple primary transport operations combined.</enumDescription>
              </enumItem>
            </enumTable>
          enum:
            - AIR
            - RAIL
            - ROAD
            - WATER
            - WEIGHTED_MODES
        id:
          type: string
          description: >
            The identifier provided for the corresponding transport operation in
            the request.  This property is returned only when an `id` was
            supplied for that transport chain element in the request.
        start:
          $ref: '#/components/schemas/ResponseLocation'
          description: The starting location.
        end:
          $ref: '#/components/schemas/ResponseLocation'
          description: The ending location.
        activityDistanceKm:
          type: number
          format: double
          description: >-
            The distance in kilometers across the primary transport operation
            and any first/last mile road operations.
        activityTonneKm:
          type: number
          format: double
          description: >-
            The transport activity for the primary transport operation and any
            first/last mile road operations.
        transportIntensities:
          $ref: '#/components/schemas/TransportIntensities'
          description: >-
            The combined emission intensity rates across the primary transport
            operation and any first/last mile road operations.
        transportEmissions:
          $ref: '#/components/schemas/TransportEmissions'
          description: >-
            The total emissions for the primary transport operation and any
            first/last mile road operations.
        hubIntensities:
          $ref: '#/components/schemas/HubIntensities'
          description: >-
            The combined emission intensity rates for any hubs inserted between
            the primary transport opertion and any first/last mile road
            operations.
        hubEmissions:
          $ref: '#/components/schemas/HubEmissions'
          description: >-
            The total emissions for any hubs inserted between the primary
            transport opertion and any first/last mile road operations.
        totalIntensities:
          $ref: '#/components/schemas/TotalIntensities'
          description: >-
            The combined emission intensity rates across the primary transport
            opertion, first/last mile road operations, and any hubs inserted
            inbetween.
        totalEmissions:
          $ref: '#/components/schemas/TotalEmissions'
          description: >-
            The total emissions for the primary transport opertion, first/last
            mile road operations, and any hubs inserted inbetween.
        elements:
          type: array
          description: >
            Array of realized transport operations produced from a single
            transport chain item in the request. Each array entry contains the
            emissions calculation result for an actual transport or
            automatically inserted hub operation  that arose when the requested
            transport chain item was fully realized.


            A single requested item may expand into multiple operations such as:
              - First mile and last mile road transported.
              - Automatically inserted hub operations.
              - The *primary* transport operation that was defined in the transport chain item.

            These operations appear in the order they occur.

            #### Example ####

            A request item specifying transport from a building in London to a
            building in Stockholm by container ship may realize into the
            following operations:
              1. Road transport from the building in London to a nearby harbor (e.g., Tilbury)
              2. A marine terminal logistics hub at the London docks
              3. Water transport from the London harbor to the Stockholm harbor
              4. A marine terminal logistics hub at the Stockholm docks
              5. Road transport from the Stockholm harbor to the destination building            
          items:
            oneOf:
              - $ref: '#/components/schemas/AirTransportResult'
              - $ref: '#/components/schemas/RailTransportResult'
              - $ref: '#/components/schemas/RoadTransportResult'
              - $ref: '#/components/schemas/WaterTransportResult'
              - $ref: '#/components/schemas/WeightedTransportResult'
              - $ref: '#/components/schemas/HubOperationResult'
        context:
          type: object
          description: >
            Returns the caller-provided context for this transport operation. 
            The field is included only if the corresponding transport chain
            element contained a `context` object in the request.
    HubOperationResult:
      type: object
      title: Hub operation result
      required:
        - type
        - hubType
        - methodology
        - calculationBasis
        - activityTonnes
        - intensities
        - emissions
      properties:
        type:
          type: string
          enum:
            - HUB
          description: >
            The emissions calculation results for a logistics hub, included only
            when the hub generates emissions.
        hubType:
          type: string
          description: |
            The type of hub used. <enumTable>
              <enumItem>
                <enumValue>`NONE`</enumValue>
                <enumHeading>None</enumHeading>
                <enumDescription>No emissions</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`TRANSSHIPMENT`</enumValue>
                <enumHeading>Transhipment</enumHeading>
                <enumDescription>
                  A facility where more than 80% of goods are transferred from one transport vehicle or mode to another with minimal or no long-term storage.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`STORAGE_AND_TRANSSHIPMENT`</enumValue>
                <enumHeading>Storage and transshipment</enumHeading>
                <enumDescription>
                  A facility that combines cargo transfer and warehousing functions, with neither transshipment-only activities nor warehousing activities 
                  accounting for more than 80% of the goods handled.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`WAREHOUSE`</enumValue>
                <enumHeading>Warehouse</enumHeading>
                <enumDescription>
                  A facility is a hub where more than 80% of goods are stored and processed focusing on inventory management, order fulfillment, packaging, 
                  and distribution rather than on cargo transfer between transport modes.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`LIQUID_BULK_TERMINAL`</enumValue>
                <enumHeading>Liquid bulk terminal</enumHeading>
                <enumDescription>
                  A specialized facility designed for handling, transferring, and storing liquid raw materials or products (e.g., oil, chemicals).
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`MARITIME_TERMINAL`</enumValue>
                <enumHeading>Maritime terminal</enumHeading>
                <enumDescription>
                  A facility located at a harbor where cargo is transshipped between ships and land-based transport modes such as trains or trucks.
                </enumDescription>
              </enumItem>
            </enumTable>
          enum:
            - TRANSSHIPMENT
            - STORAGE_AND_TRANSSHIPMENT
            - WAREHOUSE
            - LIQUID_BULK_TERMINAL
            - MARITIME_TERMINAL
        methodology:
          type: string
          description: >
            The methodology used to calculate the emissions generated by
            storing, handling, and transshipping the cargo at a logistics hub.
            <enumTable>
              <enumItem>
                <enumValue>`SFC_GLEC_FRAMEWORK_3_2`</enumValue>
                <enumHeading>SFC GLEC framework version 3.2</enumHeading>
                <enumDescription>Calculations based upon the default emission intensity factors published in version 3.2 of Smart Freight Center's Global Logistics Emissions Council Framework</enumDescription>
              </enumItem>
            </enumTable>
          enum:
            - SFC_GLEC_FRAMEWORK_3_2
        calculationBasis:
          type: string
          description: >
            The input data category that forms the basis for emissions
            calculation methodology selection. <enumItem>
              <enumValue>`PRIMARY_DATA`</enumValue>
              <enumHeading>Primary data</enumHeading>
              <enumDescription>Emissions calculated using measured operational data or calculations based on direct measurements.</enumDescription>
            </enumItem> <enumItem>
              <enumValue>`MODEL`</enumValue>
              <enumHeading>Model</enumHeading>
              <enumDescription>Emissions calculated using a model based on available operational parameters.</enumDescription>
            </enumItem> <enumItem>
              <enumValue>`DEFAULT_FACTORS`</enumValue>
              <enumHeading>Default factors</enumHeading>
              <enumDescription>Emissions calculated using default emission factors or emission-intensity values when primary or modeled data is unavailable.</enumDescription>
            </enumItem>
          enum:
            - PRIMARY_DATA
            - MODEL
            - DEFAULT_FACTORS
        activityTonnes:
          type: number
          format: double
          description: Weight of cargo processed by the logistics hub, in tonnes.
        intensities:
          $ref: '#/components/schemas/HubIntensities'
          description: The emission intensity rate for this logistics hub.
        emissions:
          $ref: '#/components/schemas/HubEmissions'
          description: The emissions for this logistics hub.
    DefaultHubTypes:
      title: Default hub types
      type: object
      description: >
        The default logistics hub types to insert between transport operations
        when automatic hub insertion is enabled (which it is by default). Each
        property corresponds to a specific transition from one mode of transport
        to another and determines which hub type is used for that modal switch.
        Setting a property to `NONE` disables hub insertion for that transition,
        meaning no hub emissions will be included between those two modes.
      properties:
        airToAir:
          $ref: '#/components/schemas/HubTypes'
          default: TRANSSHIPMENT
          description: Hub type used when cargo transfers from one aircraft to another.
        airToRail:
          $ref: '#/components/schemas/HubTypes'
          default: TRANSSHIPMENT
          description: Hub type used when cargo transfers from an aircraft to a train.
        airToRoad:
          $ref: '#/components/schemas/HubTypes'
          default: TRANSSHIPMENT
          description: >-
            Hub type used when cargo transfers from an aircraft to a road
            vehicle.
        airToWater:
          $ref: '#/components/schemas/HubTypes'
          default: MARITIME_TERMINAL
          description: >-
            Hub type used when cargo transfers from an aircraft to a maritime
            vessel.
        railToAir:
          $ref: '#/components/schemas/HubTypes'
          default: TRANSSHIPMENT
          description: Hub type used when cargo transfers from a train to an aircraft.
        railToRail:
          $ref: '#/components/schemas/HubTypes'
          description: >
            Hub type used when cargo transfers from one train to another. The
            default is `TRANSSHIPMENT` except for liquid cargo, which uses
            `LIQUID_BULK_TERMINAL`.
        railToRoad:
          $ref: '#/components/schemas/HubTypes'
          description: >
            Hub type used when cargo transfers from a train to a road vehicle.
            The default is `TRANSSHIPMENT` except for liquid cargo, which uses
            `LIQUID_BULK_TERMINAL`.
        railToWater:
          $ref: '#/components/schemas/HubTypes'
          default: MARITIME_TERMINAL
          description: >
            Hub type used when cargo transfers from a road train to a maritime
            vessel. The default is `MARITIME_TERMINAL` except for liquid cargo,
            which uses `LIQUID_BULK_TERMINAL`.
        roadToAir:
          $ref: '#/components/schemas/HubTypes'
          default: TRANSSHIPMENT
          description: >-
            Hub type used when cargo transfers from a road vehicle to an
            aircraft.
        roadToRail:
          $ref: '#/components/schemas/HubTypes'
          description: >
            Hub type used when cargo transfers from a road vehicle to a train.
            The default is `TRANSSHIPMENT` except for liquid cargo, which uses
            `LIQUID_BULK_TERMINAL`.
        roadToRoad:
          $ref: '#/components/schemas/HubTypes'
          description: >
            Hub type used when cargo transfers from one road vehicle to another.
            The default is `TRANSSHIPMENT` except for liquid cargo, which uses
            `LIQUID_BULK_TERMINAL`.
        roadToWater:
          $ref: '#/components/schemas/HubTypes'
          description: >
            Hub type used when cargo transfers from a road vehicle to a maritime
            vessel. The default is `MARITIME_TERMINAL` except for liquid cargo,
            which uses `LIQUID_BULK_TERMINAL`.
        waterToAir:
          $ref: '#/components/schemas/HubTypes'
          default: MARITIME_TERMINAL
          description: >-
            Hub type used when cargo transfers from a maritime vessel to an
            aircraft.
        waterToRail:
          $ref: '#/components/schemas/HubTypes'
          description: >
            Hub type used when cargo transfers from a maritime vessel to a
            train. The default is `MARITIME_TERMINAL` except for liquid cargo,
            which uses `LIQUID_BULK_TERMINAL`.
        waterToRoad:
          $ref: '#/components/schemas/HubTypes'
          description: >
            Hub type used when cargo transfers from a maritime vessel to a road
            vehicle. The default is `MARITIME_TERMINAL` except for liquid cargo,
            which uses `LIQUID_BULK_TERMINAL`.
        waterToWater:
          $ref: '#/components/schemas/HubTypes'
          description: >
            Hub type used when cargo transfers from one maritime vessel to
            another. The default is `MARITIME_TERMINAL` except for liquid cargo,
            which uses `LIQUID_BULK_TERMINAL`.
    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
            - countryCode
    LocationStructured:
      title: Structured address
      allOf:
        - $ref: '#/components/schemas/LocationBase'
        - type: object
          required:
            - street
            - postcode
            - city
            - countryCode
    LocationStreetCity:
      title: Street & city
      allOf:
        - $ref: '#/components/schemas/LocationBase'
        - type: object
          required:
            - street
            - city
            - countryCode
    LocationStreetPostcode:
      title: Street & postcode
      allOf:
        - $ref: '#/components/schemas/LocationBase'
        - type: object
          required:
            - street
            - postcode
            - countryCode
    LocationPostcode:
      title: Postcode
      allOf:
        - $ref: '#/components/schemas/LocationBase'
        - type: object
          required:
            - postcode
            - countryCode
    LocationCity:
      title: City
      allOf:
        - $ref: '#/components/schemas/LocationBase'
        - type: object
          required:
            - city
            - countryCode
    AirFirstMile:
      type: object
      description: >
        An initial road segment used to transport cargo from the start location
        to the departure airport.  


        By default, a logistics hub with associated transshipment emissions is
        automatically inserted between the road transport operation and the
        flight.  This behaviour can be disabled by setting the request’s
        `options.intermodalHubs` to `MANUAL` or by setting
        `options.defaultHubTypes.roadToAir` to `NONE`.

        #### Vehicle selection ####

        The vehicle is selected based on the most informative attributes
        provided by the following properties that are evaluated in the order
        given below:  

          1. `grossWeightBand`, `structure` and `cargo`.`category`
              - If `structure` is not provided, it is inferred from the gross weight band and cargo category.
          2. `grossWeight`, `structure` and `cargo`.`category`
              - If `structure` is not provided, it is inferred from the gross weight and cargo category.
          3. `maximumWeight`, `structure` and `cargo`.`category`
              - The maximum weight is translated into an estimated gross weight using typical vehicle weight classes. 
              - If structure is not provided, it is inferred from the resulting gross weight estimate and cargo category.
          4. `emptyWeight`, `structure` and `cargo`.`category`
              - The empty weight is translated into an estimated gross weight using typical vehicle weight classes. 
              - If structure is not provided, it is inferred from the resulting gross weight estimate and cargo category.
          5. `vehicle`
              - If none of the above properties are available, the generic `vehicle` property is used.
              - This generally results in a lower information, less precise result.
          6. `structure`
              - If structure is set to `ARTICULATED`, then an articulated vehicle is selected.
              - If structure is set to `RIGID`, then a rigid vehicle is selected.
              - If structure is set to `DUMP` and the starting point is within China, then a dump truck is selected. Otherwise a rigid vehicle is selected.
          7. `packaging`
              - If packaging is set to `CONTAINER`, a container capable vehicle is selected.
          8. Country of origin.
              - If no vehicle could be selected via rules 1 to 7, the system will fall back to defaults based on the most popular transport vehicle in the country where this road transportation begins.

        #### Emission algorithm selection ####

        Emissions are calculated using either default emission factors or
        primary data, depending on whether energy consumption information is
        provided.  The following rules apply:  
          - Default emission factors are used when `energyConsumption` is not provided.
          - Emissions based on default factors correspond to the characteristics of the selected vehicle.
          - Primary data emissions are calculated when `energyConsumption` is provided - either as an absolute or rate based value.
          - Primary data emissions are calculated directly from the supplied consumption value combined with the `energyType`.
      properties:
        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'
    AirLastMile:
      type: object
      description: >
        A final road segment used to transport cargo from the arrival airport to
        the end location.  


        By default, a logistics hub with associated transshipment emissions is
        automatically inserted between the flight and the road transport
        operation.  This behaviour can be disabled by setting the request’s
        `options.intermodalHubs` to `MANUAL` or by setting
        `options.defaultHubTypes.airToRoad` to `NONE`.

        #### Vehicle selection ####

        The vehicle is selected based on the most informative attributes
        provided by the following properties that are evaluated in the order
        given below:  

          1. `grossWeightBand` and `structure`
              - If `structure` is not provided, it is inferred from the gross weight band.
          2. `grossWeight` and `structure`
              - If `structure` is not provided, it is inferred from the gross weight.
          3. `maximumWeight` and `structure`
              - The maximum weight is translated into an estimated gross weight using typical vehicle weight classes. 
              - If structure is not provided, it is inferred from the resulting gross weight estimate.
          4. `emptyWeight` and `structure`
              - The empty weight is translated into an estimated gross weight using typical vehicle weight classes. 
              - If structure is not provided, it is inferred from the resulting gross weight estimate.
          5. `vehicle`
              - If none of the above properties are available, the generic `vehicle` property is used.
              - This generally results in a lower information, less precise result.
          6. `structure`
              - If structure is set to `ARTICULATED`, then an articulated vehicle is selected.
              - If structure is set to `RIGID`, then a rigid vehicle is selected.
              - If structure is set to `DUMP` and the starting point is within China, then a dump truck is selected. Otherwise a rigid vehicle is selected.
          7. `packaging`
              - If packaging is set to `CONTAINER`, a container capable vehicle is selected.
          8. Country of origin.
              - If no vehicle could be selected via rules 1 to 7, the system will fall back to defaults based on the most popular transport vehicle in the country where the trip begins.

        #### Emission algorithm selection ####

        Emissions are calculated using either default emission factors or
        primary data, depending on whether energy consumption information is
        provided.  The following rules apply:  
          - Default emission factors are used when `energyConsumption` is not provided.
          - Emissions based on default factors correspond to the characteristics of the selected vehicle.
          - Primary data emissions are calculated when `energyConsumption` is provided - either as an absolute or rate based value.
          - Primary data emissions are calculated directly from the supplied consumption value combined with the `energyType`.
      properties:
        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'
    RailFirstMile:
      type: object
      description: >
        An initial road segment used to transport cargo from the start location
        to the origin railyard.  


        By default, a logistics hub with associated transshipment emissions is
        automatically inserted between the road transport operation and the rail
        freight movement.  This behaviour can be disabled by setting the
        request’s `options.intermodalHubs` to `MANUAL` or by setting
        `options.defaultHubTypes.roadToRail` to `NONE`.

        #### Vehicle selection ####

        The vehicle is selected based on the most informative attributes
        provided by the following properties that are evaluated in the order
        given below:

          1. `grossWeightBand`, `structure` and `cargo`.`category`
              - If `structure` is not provided, it is inferred from the gross weight band and cargo category.
          2. `grossWeight`, `structure` and `cargo`.`category`
              - If `structure` is not provided, it is inferred from the gross weight and cargo category.
          3. `maximumWeight`, `structure` and `cargo`.`category`
              - The maximum weight is translated into an estimated gross weight using typical vehicle weight classes. 
              - If structure is not provided, it is inferred from the resulting gross weight estimate and cargo category.
          4. `emptyWeight`, `structure` and `cargo`.`category`
              - The empty weight is translated into an estimated gross weight using typical vehicle weight classes. 
              - If structure is not provided, it is inferred from the resulting gross weight estimate and cargo category.
          5. `vehicle`
              - If none of the above properties are available, the generic `vehicle` property is used.
              - This generally results in a lower information, less precise result.
          6. `structure`
              - If structure is set to `ARTICULATED`, then an articulated vehicle is selected.
              - If structure is set to `RIGID`, then a rigid vehicle is selected.
              - If structure is set to `DUMP` and the starting point is within China, then a dump truck is selected. Otherwise a rigid vehicle is selected.
          7. `packaging`
              - If packaging is set to `CONTAINER`, a container capable vehicle is selected.
          8. Country of origin.
              - If no vehicle could be selected via rules 1 to 7, the system will fall back to defaults based on the most popular transport in the country where this road transportation begins.

        #### Emission algorithm selection ####

        Emissions are calculated using either default emission factors or
        primary data, depending on whether energy consumption information is
        provided.  The following rules apply:  
          - Default emission factors are used when `energyConsumption` is not provided.
          - Emissions based on default factors correspond to the characteristics of the selected vehicle.
          - Primary data emissions are calculated when `energyConsumption` is provided - either as an absolute or rate based value.
          - Primary data emissions are calculated directly from the supplied consumption value combined with the `energyType`.
      properties:
        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'
    RailLastMile:
      type: object
      description: >
        A final road segment used to transport cargo from the destination
        railyard to the end location.  


        By default, a logistics hub with associated transshipment emissions is
        automatically inserted between the rail freight movement and the road
        transport operation. This behaviour can be disabled by setting the
        request’s `options.intermodalHubs` to `MANUAL` or by setting
        `options.defaultHubTypes.railToRoad` to `NONE`.

        #### Vehicle selection ####

        The vehicle is selected based on the most informative attributes
        provided by the following properties that are evaluated in the order
        given below:  

          1. `grossWeightBand`, `structure` and `cargo`.`category`
              - If `structure` is not provided, it is inferred from the gross weight band and cargo category.
          2. `grossWeight`, `structure` and `cargo`.`category`
              - If `structure` is not provided, it is inferred from the gross weight and cargo category.
          3. `maximumWeight`, `structure` and `cargo`.`category`
              - The maximum weight is translated into an estimated gross weight using typical vehicle weight classes. 
              - If structure is not provided, it is inferred from the resulting gross weight estimate and cargo category.
          4. `emptyWeight`, `structure` and `cargo`.`category`
              - The empty weight is translated into an estimated gross weight using typical vehicle weight classes. 
              - If structure is not provided, it is inferred from the resulting gross weight estimate and cargo category.
          5. `vehicle`
              - If none of the above properties are available, the generic `vehicle` property is used.
              - This generally results in a lower information, less precise result.
          6. `structure`
              - If structure is set to `ARTICULATED`, then an articulated vehicle is selected.
              - If structure is set to `RIGID`, then a rigid vehicle is selected.
              - If structure is set to `DUMP` and the starting point is within China, then a dump truck is selected. Otherwise a rigid vehicle is selected.
          7. `packaging`
              - If packaging is set to `CONTAINER`, a container capable vehicle is selected.
          8. Country of origin.
              - If no vehicle could be selected via rules 1 to 7, the system will fall back to defaults based on the most popular transport in the country where this road transportation begins.

        #### Emission algorithm selection ####

        Emissions are calculated using either default emission factors or
        primary data, depending on whether energy consumption information is
        provided.  The following rules apply:  
          - Default emission factors are used when `energyConsumption` is not provided.
          - Emissions based on default factors correspond to the characteristics of the selected vehicle.
          - Primary data emissions are calculated when `energyConsumption` is provided - either as an absolute or rate based value.
          - Primary data emissions are calculated directly from the supplied consumption value combined with the `energyType`.
      properties:
        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'
    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
    WaterFirstMile:
      type: object
      description: >
        An initial road segment used to transport cargo from the start location
        to the departure harbor.  


        By default, a logistics hub with associated transshipment emissions is
        automatically inserted between the road transport operation and the
        voyage.  This behaviour can be disabled by setting the request’s
        `options.intermodalHubs` to `MANUAL` or by setting 
        `options.defaultHubTypes.roadToWater` to `NONE`.

        #### Vehicle selection ####

        The vehicle is selected based on the most informative attributes
        provided by the following properties that are evaluated in the order
        given below:  

          1. `grossWeightBand`, `structure` and `cargo`.`category`
              - If `structure` is not provided, it is inferred from the gross weight band and cargo category.
          2. `grossWeight`, `structure` and `cargo`.`category`
              - If `structure` is not provided, it is inferred from the gross weight and cargo category.
          3. `maximumWeight`, `structure` and `cargo`.`category`
              - The maximum weight is translated into an estimated gross weight using typical vehicle weight classes. 
              - If structure is not provided, it is inferred from the resulting gross weight estimate and cargo category.
          4. `emptyWeight`, `structure` and `cargo`.`category`
              - The empty weight is translated into an estimated gross weight using typical vehicle weight classes. 
              - If structure is not provided, it is inferred from the resulting gross weight estimate and cargo category.
          5. `vehicle`
              - If none of the above properties are available, the generic `vehicle` property is used.
              - This generally results in a lower information, less precise result.
          6. `structure`
              - If structure is set to `ARTICULATED`, then an articulated vehicle is selected.
              - If structure is set to `RIGID`, then a rigid vehicle is selected.
              - If structure is set to `DUMP` and the starting point is within China, then a dump truck is selected. Otherwise a rigid vehicle is selected.
          7. `packaging`
              - If packaging is set to `CONTAINER`, a container capable vehicle is selected.
          8. Country of origin.
              - If no vehicle could be selected via rules 1 to 7, the system will fall back to defaults based on the most popular transport in the country where this road transportation begins.

        #### Emission algorithm selection ####

        Emissions are calculated using either default emission factors or
        primary data, depending on whether energy consumption information is
        provided.  The following rules apply:  
          - Default emission factors are used when `energyConsumption` is not provided.
          - Emissions based on default factors correspond to the characteristics of the selected vehicle.
          - Primary data emissions are calculated when `energyConsumption` is provided - either as an absolute or rate based value.
          - Primary data emissions are calculated directly from the supplied consumption value combined with the `energyType`.
      properties:
        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'
    WaterLastMile:
      type: object
      description: >
        A final road segment used to transport cargo from the arrival harbor to
        the end location.  


        By default, a logistics hub with associated transshipment emissions is
        automatically inserted between the voyage and the road transport
        operation.  This behaviour can be disabled by setting the request’s
        `options.intermodalHubs` to `MANUAL` or by setting 
        `options.defaultHubTypes.waterToRoad` to `NONE`.

        #### Vehicle selection ####

        The vehicle is selected based on the most informative attributes
        provided by the following properties that are evaluated in the order
        given below:  

          1. `grossWeightBand`, `structure` and `cargo`.`category`
              - If `structure` is not provided, it is inferred from the gross weight band and cargo category.
          2. `grossWeight`, `structure` and `cargo`.`category`
              - If `structure` is not provided, it is inferred from the gross weight and cargo category.
          3. `maximumWeight`, `structure` and `cargo`.`category`
              - The maximum weight is translated into an estimated gross weight using typical vehicle weight classes. 
              - If structure is not provided, it is inferred from the resulting gross weight estimate and cargo category.
          4. `emptyWeight`, `structure` and `cargo`.`category`
              - The empty weight is translated into an estimated gross weight using typical vehicle weight classes. 
              - If structure is not provided, it is inferred from the resulting gross weight estimate and cargo category.
          5. `vehicle`
              - If none of the above properties are available, the generic `vehicle` property is used.
              - This generally results in a lower information, less precise result.
          6. `structure`
              - If structure is set to `ARTICULATED`, then an articulated vehicle is selected.
              - If structure is set to `RIGID`, then a rigid vehicle is selected.
              - If structure is set to `DUMP` and the starting point is within China, then a dump truck is selected. Otherwise a rigid vehicle is selected.
          7. `packaging`
              - If packaging is set to `CONTAINER`, a container capable vehicle is selected.
          8. Country of origin.
              - If no vehicle could be selected via rules 1 to 7, the system will fall back to defaults based on the most popular transport in the country where this road transportation begins.

        #### Emission algorithm selection ####

        Emissions are calculated using either default emission factors or
        primary data, depending on whether energy consumption information is
        provided.  The following rules apply:  
          - Default emission factors are used when `energyConsumption` is not provided.
          - Emissions based on default factors correspond to the characteristics of the selected vehicle.
          - Primary data emissions are calculated when `energyConsumption` is provided - either as an absolute or rate based value.
          - Primary data emissions are calculated directly from the supplied consumption value combined with the `energyType`.
      properties:
        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'
    HubTypes:
      type: string
      enum:
        - NONE
        - TRANSSHIPMENT
        - STORAGE_AND_TRANSSHIPMENT
        - WAREHOUSE
        - LIQUID_BULK_TERMINAL
        - MARITIME_TERMINAL
    AirTransportResult:
      type: object
      title: Air transport result
      required:
        - type
        - start
        - end
        - activityDistanceKm
        - activityTonneKm
        - transportIntensities
        - transportEmissions
        - resultsByEnergyType
        - flights
      properties:
        type:
          type: string
          enum:
            - AIR
          description: >-
            The emissions calculation results for the cargo transported on a
            flight between two airports.
        start:
          $ref: '#/components/schemas/ResponseLocation'
          description: The departure `AIRPORT` location.
        end:
          $ref: '#/components/schemas/ResponseLocation'
          description: The arrival `AIRPORT` location.
        activityDistanceKm:
          type: number
          format: double
          description: The distance in kilometers across the transport operation.
        activityTonneKm:
          type: number
          format: double
          description: The transport activity for the transport operation.
        transportIntensities:
          $ref: '#/components/schemas/TransportIntensities'
          description: >-
            The combined emission intensity rates across the transport
            operation.
        transportEmissions:
          $ref: '#/components/schemas/TransportEmissions'
          description: The total emissions for the transport operation.
        resultsByEnergyType:
          type: array
          items:
            $ref: '#/components/schemas/TransportOperationResultByEnergyType'
          description: >-
            A list of results by fuel or electrical energy used in the transport
            operation.
        flights:
          type: array
          items:
            $ref: '#/components/schemas/FlightTransportResult'
          description: >
            An array of flight objects returned for the requested aircraft.


            In most cases, this array will contain a single item representing
            the flight for the specified or generic aircraft type. However, if
            the request's `aircraftType` property is omitted in the request and
            a provided ICAO/IATA code corresponds to both passenger and
            freighter variants, then the array will contain two items:
              - One flight for the most commonly operated passenger variant (by global fleet count).
              - One flight for the most commonly operated freighter variant (by global fleet count).
    RailTransportResult:
      type: object
      title: Rail transport result
      required:
        - type
        - start
        - end
        - activityDistanceKm
        - activityTonneKm
        - transportIntensities
        - transportEmissions
        - resultsByEnergyType
        - vehicle
        - methodology
        - distanceMeasurementMethod
        - calculationBasis
        - distanceAdjustmentFactor
      properties:
        type:
          type: string
          enum:
            - RAIL
          description: >-
            The emissions calculation results for the cargo transported by train
            from one point/rail yard to another.
        start:
          $ref: '#/components/schemas/ResponseLocation'
          description: The starting location.
        end:
          $ref: '#/components/schemas/ResponseLocation'
          description: The ending location.
        activityDistanceKm:
          type: number
          format: double
          description: The distance in kilometers across the transport operation.
        activityTonneKm:
          type: number
          format: double
          description: The transport activity for the transport operation.
        transportIntensities:
          $ref: '#/components/schemas/TransportIntensities'
          description: >-
            The combined emission intensity rates across the transport
            operation.
        transportEmissions:
          $ref: '#/components/schemas/TransportEmissions'
          description: The total emissions for the transport operation.
        resultsByEnergyType:
          type: array
          items:
            $ref: '#/components/schemas/TransportOperationResultByEnergyType'
          description: >-
            A list of results by fuel or electrical energy used in the transport
            operation.
        vehicle:
          type: string
          description: |
            The type of train used in the transport operation. <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
        methodology:
          type: string
          description: >
            The methodology used to calculate the emissions generated by
            transporting the cargo on a train. <enumTable>
              <enumItem>
                <enumValue>`SFC_GLEC_FRAMEWORK_3_2`</enumValue>
                <enumHeading>SFC GLEC framework version 3.2</enumHeading>
                <enumDescription>Calculations based upon the default emission intensity factors published in version 3.2 of Smart Freight Center's Global Logistics Emissions Council Framework</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ECOTRANSIT_RAIL_4_0`</enumValue>
                <enumHeading>EcoTransIT rail methodology version 4.0</enumHeading>
                <enumDescription>Calculations use the EcoTransIT bottom-up rail model, estimating emissions from train energy consumption</enumDescription>
              </enumItem>
            </enumTable>
          enum:
            - SFC_GLEC_FRAMEWORK_3_2
            - ECOTRANSIT_RAIL_4_0
        distanceMeasurementMethod:
          type: string
          description: >
            The method used to measurement the distance between the origin and
            destination. <enumItem>
              <enumValue>`GREAT_CIRCLE_DISTANCE`</enumValue>
              <enumHeading>Great circle distance</enumHeading>
              <enumDescription>Distance measured as the shortest path between two points on the Earth's surface.</enumDescription>
            </enumItem> <enumItem>
              <enumValue>`SHORTEST_FEASIBLE_DISTANCE`</enumValue>
              <enumHeading>Shortest feasible distance</enumHeading>
              <enumDescription>Distance measured as the shortest feasible rail route between the origin and destination.</enumDescription>
            </enumItem>
          enum:
            - GREAT_CIRCLE_DISTANCE
            - SHORTEST_FEASIBLE_DISTANCE
        calculationBasis:
          type: string
          description: >
            The input data category that forms the basis for emissions
            calculation methodology selection. <enumItem>
              <enumValue>`PRIMARY_DATA`</enumValue>
              <enumHeading>Primary data</enumHeading>
              <enumDescription>Emissions calculated using measured operational data or calculations based on direct measurements.</enumDescription>
            </enumItem> <enumItem>
              <enumValue>`MODEL`</enumValue>
              <enumHeading>Model</enumHeading>
              <enumDescription>Emissions calculated using a model based on available operational parameters.</enumDescription>
            </enumItem> <enumItem>
              <enumValue>`DEFAULT_FACTORS`</enumValue>
              <enumHeading>Default factors</enumHeading>
              <enumDescription>Emissions calculated using default emission factors or emission-intensity values when primary or modeled data is unavailable.</enumDescription>
            </enumItem>
          enum:
            - PRIMARY_DATA
            - MODEL
            - DEFAULT_FACTORS
        distanceAdjustmentFactor:
          type: string
          description: >
            The factor used to account for the difference between the calculated
            distance and the distance basis required by the calculation
            methodology. For default factors, this adjustment may be built into
            the factor itself rather than applied to the calculated distance.
        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`.
    RoadTransportResult:
      type: object
      title: Road transport result
      required:
        - type
        - start
        - end
        - activityDistanceKm
        - activityTonneKm
        - transportIntensities
        - transportEmissions
        - resultsByEnergyType
        - vehicle
        - emptyRunning
        - loadDistribution
      properties:
        type:
          type: string
          enum:
            - ROAD
          description: >-
            The emissions calculation results for the cargo transported by road
            vehicle.
        start:
          $ref: '#/components/schemas/ResponseLocation'
          description: The starting location
        end:
          $ref: '#/components/schemas/ResponseLocation'
          description: The ending location
        activityDistanceKm:
          type: number
          format: double
          description: The distance in kilometers across the transport operation.
        activityTonneKm:
          type: number
          format: double
          description: The transport activity for the transport operation.
        transportIntensities:
          $ref: '#/components/schemas/TransportIntensities'
          description: >-
            The combined emission intensity rates across the transport
            operation.
        transportEmissions:
          $ref: '#/components/schemas/TransportEmissions'
          description: The total emissions for the transport operation.
        resultsByEnergyType:
          type: array
          items:
            $ref: '#/components/schemas/TransportOperationResultByEnergyType'
          description: >-
            A list of results by fuel or electrical energy used in the transport
            operation.
        vehicle:
          type: string
          description: >
            The type of road vehicle used in the transport operation.
            <enumTable>
              <enumItem>
                <enumValue>`N1_CLASS_I_SMALL_VAN`</enumValue>
                <enumHeading>Small van below 1,890 kg</enumHeading>
                <enumDescription>Light van derived from a car.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`N1_CLASS_II_MEDIUM_VAN`</enumValue>
                <enumHeading>Medium van 1,890 to 2,725 kg</enumHeading>
                <enumDescription>Medium van or light pickup truck.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`N1_CLASS_III_LARGE_VAN`</enumValue>
                <enumHeading>Large van 2,725 to 3,500 kg</enumHeading>
                <enumDescription>Large van or heavy pickup truck.</enumDescription>
              </enumItem>
              <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>`RIGID_TRUCK_3500_TO_4500_KG`</enumValue>
                <enumHeading>Rigid truck 3,500 to 4,500 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 3.5 and 4.5 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_3500_TO_5000_KG`</enumValue>
                <enumHeading>Rigid truck 3,500 to 5,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 3.5 and 5 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_UP_TO_7500_KG`</enumValue>
                <enumHeading>Rigid truck up to 7,500 kg</enumHeading>
                <enumDescription>Straight truck with GVW up to 7.5 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_4500_TO_5500_KG`</enumValue>
                <enumHeading>Rigid truck 4,500 to 5,500 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 4.5 and 5.5 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_5000_TO_12000_KG`</enumValue>
                <enumHeading>Rigid truck 5,000 to 12,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 5 and 12 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_5500_TO_7000_KG`</enumValue>
                <enumHeading>Rigid truck 5,500 to 7,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 5.5 and 7 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_7000_TO_8500_KG`</enumValue>
                <enumHeading>Rigid truck 7,000 to 8,500 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 7 and 8.5 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_7500_TO_12000_KG`</enumValue>
                <enumHeading>Rigid truck 7,500 to 12,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 7.5 and 12 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_8500_TO_10500_KG`</enumValue>
                <enumHeading>Rigid truck 8,500 to 10,500 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 8.5 and 10.5 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_10500_TO_12500_KG`</enumValue>
                <enumHeading>Rigid truck 10,500 to 12,500 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 10.5 and 12.5 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_12000_TO_14000_KG`</enumValue>
                <enumHeading>Rigid truck 12,000 to 14,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 12 and 14 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_12000_TO_20000_KG`</enumValue>
                <enumHeading>Rigid truck 12,000 to 20,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 12 and 20 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_12500_TO_14000_KG`</enumValue>
                <enumHeading>Rigid truck 12,500 to 14,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 12.5 and 14 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_14000_TO_16000_KG`</enumValue>
                <enumHeading>Rigid truck 14,000 to 16,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 14 and 16 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_14000_TO_20000_KG`</enumValue>
                <enumHeading>Rigid truck 14,000 to 20,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 14 and 20 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_16000_TO_20000_KG`</enumValue>
                <enumHeading>Rigid truck 16,000 to 20,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 16 and 20 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_20000_TO_25000_KG`</enumValue>
                <enumHeading>Rigid truck 20,000 to 25,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 20 and 25 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_20000_TO_26000_KG`</enumValue>
                <enumHeading>Rigid truck 20,000 to 26,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 20 and 26 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_20000_TO_30000_KG`</enumValue>
                <enumHeading>Rigid truck 20,000 to 30,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 20 and 30 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_25000_TO_29000_KG`</enumValue>
                <enumHeading>Rigid truck 25,000 to 29,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 25 and 29 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_26000_TO_28000_KG`</enumValue>
                <enumHeading>Rigid truck 26,000 to 28,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 26 and 28 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_28000_TO_32000_KG`</enumValue>
                <enumHeading>Rigid truck 28,000 to 32,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 28 and 32 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_29000_TO_31000_KG`</enumValue>
                <enumHeading>Rigid truck 29,000 to 31,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 29 and 31 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_30000_TO_50000_KG`</enumValue>
                <enumHeading>Rigid truck 30,000 to 50,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 30 and 50 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_31000_TO_60000_KG`</enumValue>
                <enumHeading>Rigid truck 31,000 to 60,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 31 and 60 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_OVER_32000_KG`</enumValue>
                <enumHeading>Rigid truck over 32,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW over 32 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_UP_TO_18000_KG`</enumValue>
                <enumHeading>Articulated truck up to 18,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW up to 18 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_UP_TO_28000_KG`</enumValue>
                <enumHeading>Articulated truck up to 28,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW up to 28 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_18000_TO_24000_KG`</enumValue>
                <enumHeading>Articulated truck 18,000 to 24,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 18 and 24 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_24000_TO_27000_KG`</enumValue>
                <enumHeading>Articulated truck 24,000 to 27,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 24 and 27 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_27000_TO_29000_KG`</enumValue>
                <enumHeading>Articulated truck 27,000 to 29,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 27 and 29 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_28000_TO_34000_KG`</enumValue>
                <enumHeading>Articulated truck 28,000 to 34,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 28 and 34 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_29000_TO_31000_KG`</enumValue>
                <enumHeading>Articulated truck 29,000 to 31,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 29 and 31 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_30000_TO_60000_KG`</enumValue>
                <enumHeading>Articulated truck 30,000 to 60,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 30 and 60 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_31000_TO_35000_KG`</enumValue>
                <enumHeading>Articulated truck 31,000 to 35,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 31 and 35 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_34000_TO_40000_KG`</enumValue>
                <enumHeading>Articulated truck 34,000 to 40,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 34 and 40 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_35000_TO_40000_KG`</enumValue>
                <enumHeading>Articulated truck 35,000 to 40,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 35 and 40 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_40000_TO_43000_KG`</enumValue>
                <enumHeading>Articulated truck 40,000 to 43,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 40 and 43 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_40000_TO_50000_KG`</enumValue>
                <enumHeading>Articulated truck 40,000 to 50,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 40 and 50 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_43000_TO_46000_KG`</enumValue>
                <enumHeading>Articulated truck 43,000 to 46,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 43 and 46 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_46000_TO_49000_KG`</enumValue>
                <enumHeading>Articulated truck 46,000 to 49,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 46 and 49 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_49000_TO_60000_KG`</enumValue>
                <enumHeading>Articulated truck 49,000 to 60,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 49 and 60 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_50000_TO_60000_KG`</enumValue>
                <enumHeading>Articulated truck 50,000 to 60,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 50 and 60 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_60000_TO_64000_KG`</enumValue>
                <enumHeading>Articulated truck 60,000 to 64,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 60 and 64 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_64000_TO_74000_KG`</enumValue>
                <enumHeading>Articulated truck 64,000 to 74,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 64 and 74 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`DUMP_TRUCK_3500_TO_4500_KG`</enumValue>
                <enumHeading>Dump truck 3,500 to 4,500 kg</enumHeading>
                <enumDescription>Dump truck with GVW between 3.5 and 4.5 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`DUMP_TRUCK_4500_TO_5500_KG`</enumValue>
                <enumHeading>Dump truck 4,500 to 5,00 kg</enumHeading>
                <enumDescription>Dump truck with GVW between 4.5 and 5.5 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`DUMP_TRUCK_5500_TO_7000_KG`</enumValue>
                <enumHeading>Dump truck 5,500 to 7,000 kg</enumHeading>
                <enumDescription>Dump truck with GVW between 5.5 and 7 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`DUMP_TRUCK_7000_TO_8500_KG`</enumValue>
                <enumHeading>Dump truck 7,000 to 8,500 kg</enumHeading>
                <enumDescription>Dump truck with GVW between 7 and 8.5 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`DUMP_TRUCK_8500_TO_10500_KG`</enumValue>
                <enumHeading>Dump truck 8,500 to 10,500 kg</enumHeading>
                <enumDescription>Dump truck with GVW between 8.5 and 10.5 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`DUMP_TRUCK_10500_TO_12500_KG`</enumValue>
                <enumHeading>Dump truck 10,500 to 12,500 kg</enumHeading>
                <enumDescription>Dump truck with GVW between 10.5 and 12.5 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`DUMP_TRUCK_12500_TO_14000_KG`</enumValue>
                <enumHeading>Dump truck 12,500 to 14,000 kg</enumHeading>
                <enumDescription>Dump truck with GVW between 12.5 and 14 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`DUMP_TRUCK_14000_TO_16000_KG`</enumValue>
                <enumHeading>Dump truck 14,000 to 16,000 kg</enumHeading>
                <enumDescription>Dump truck with GVW between 14 and 16 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`DUMP_TRUCK_16000_TO_20000_KG`</enumValue>
                <enumHeading>Dump truck 16,000 to 20,000 kg</enumHeading>
                <enumDescription>Dump truck with GVW between 16 and 20 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`DUMP_TRUCK_20000_TO_25000_KG`</enumValue>
                <enumHeading>Dump truck 20,000 to 25,000 kg</enumHeading>
                <enumDescription>Dump truck with GVW between 20 and 25 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`DUMP_TRUCK_25000_TO_29000_KG`</enumValue>
                <enumHeading>Dump truck 25,000 to 29,000 kg</enumHeading>
                <enumDescription>Dump truck with GVW between 25 and 29 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`DUMP_TRUCK_29000_TO_31000_KG`</enumValue>
                <enumHeading>Dump truck 29,000 to 31,000 kg</enumHeading>
                <enumDescription>Dump truck with GVW between 29 and 31 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`DUMP_TRUCK_31000_TO_60000_KG`</enumValue>
                <enumHeading>Dump truck 31,000 to 60,000 kg</enumHeading>
                <enumDescription>Dump truck with GVW between 31 and 60 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`LCV_BELOW_8500_LB`</enumValue>
                <enumHeading>Light commercial vehicle below 8,500 lb</enumHeading>
                <enumDescription>North American van or pickup truck with GVW under 8,500 pounds.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_8500_TO_14000_LB`</enumValue>
                <enumHeading>Rigid truck 8,500 to 14,000 lb</enumHeading>
                <enumDescription>Straight North American class 2b and 3 truck with GVW between 8,500 and 14,000 pounds.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_14000_TO_19500_LB`</enumValue>
                <enumHeading>Rigid truck 14,000 to 19,500 lb</enumHeading>
                <enumDescription>Straight North American class 4 and 5 truck with GVW between 14,000 and 19,500 pounds.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_19500_TO_33000_LB`</enumValue>
                <enumHeading>Rigid truck 19,500 to 33,000 lb</enumHeading>
                <enumDescription>Straight North American class 6 and 7 truck with GVW between 19,500 and 33,000 pounds.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_OVER_33000_LB`</enumValue>
                <enumHeading>Rigid truck over 33,000 lb</enumHeading>
                <enumDescription>Straight North American class 8a amd 8b truck with GVW over 33,000 pounds.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_19500_TO_33000_LB`</enumValue>
                <enumHeading>Articulated truck 19,500 to 33,000 lb</enumHeading>
                <enumDescription>Articulated North American class 6 and 7 truck with GVW between 19,500 and 33,000 pounds.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_OVER_33000_LB`</enumValue>
                <enumHeading>Articulated over 33,000 lb</enumHeading>
                <enumDescription>Articulated North American class 8a amd 8b truck with GVW over 33,000 pounds.</enumDescription>
              </enumItem>
            </enumTable>
          enum:
            - N1_CLASS_I_SMALL_VAN
            - N1_CLASS_II_MEDIUM_VAN
            - N1_CLASS_III_LARGE_VAN
            - RIGID_TRUCK_3500_TO_4500_KG
            - RIGID_TRUCK_4500_TO_5500_KG
            - RIGID_TRUCK_5500_TO_7000_KG
            - RIGID_TRUCK_7000_TO_8500_KG
            - RIGID_TRUCK_UP_TO_7500_KG
            - RIGID_TRUCK_7500_TO_12000_KG
            - RIGID_TRUCK_8500_TO_10500_KG
            - RIGID_TRUCK_10500_TO_12500_KG
            - RIGID_TRUCK_12000_TO_14000_KG
            - RIGID_TRUCK_12500_TO_14000_KG
            - RIGID_TRUCK_14000_TO_16000_KG
            - RIGID_TRUCK_14000_TO_20000_KG
            - RIGID_TRUCK_16000_TO_20000_KG
            - RIGID_TRUCK_20000_TO_25000_KG
            - RIGID_TRUCK_20000_TO_26000_KG
            - RIGID_TRUCK_25000_TO_29000_KG
            - RIGID_TRUCK_26000_TO_28000_KG
            - RIGID_TRUCK_28000_TO_32000_KG
            - RIGID_TRUCK_29000_TO_31000_KG
            - RIGID_TRUCK_31000_TO_60000_KG
            - RIGID_TRUCK_OVER_32000_KG
            - ARTICULATED_TRUCK_UP_TO_18000_KG
            - ARTICULATED_TRUCK_18000_TO_24000_KG
            - ARTICULATED_TRUCK_24000_TO_27000_KG
            - ARTICULATED_TRUCK_27000_TO_29000_KG
            - ARTICULATED_TRUCK_UP_TO_28000_KG
            - ARTICULATED_TRUCK_28000_TO_34000_KG
            - ARTICULATED_TRUCK_29000_TO_31000_KG
            - ARTICULATED_TRUCK_31000_TO_35000_KG
            - ARTICULATED_TRUCK_34000_TO_40000_KG
            - ARTICULATED_TRUCK_35000_TO_40000_KG
            - ARTICULATED_TRUCK_40000_TO_43000_KG
            - ARTICULATED_TRUCK_40000_TO_50000_KG
            - ARTICULATED_TRUCK_43000_TO_46000_KG
            - ARTICULATED_TRUCK_46000_TO_49000_KG
            - ARTICULATED_TRUCK_49000_TO_60000_KG
            - ARTICULATED_TRUCK_50000_TO_60000_KG
            - ARTICULATED_TRUCK_60000_TO_64000_KG
            - ARTICULATED_TRUCK_64000_TO_74000_KG
            - DUMP_TRUCK_3500_TO_4500_KG
            - DUMP_TRUCK_4500_TO_5500_KG
            - DUMP_TRUCK_5500_TO_7000_KG
            - DUMP_TRUCK_7000_TO_8500_KG
            - DUMP_TRUCK_8500_TO_10500_KG
            - DUMP_TRUCK_10500_TO_12500_KG
            - DUMP_TRUCK_12500_TO_14000_KG
            - DUMP_TRUCK_14000_TO_16000_KG
            - DUMP_TRUCK_16000_TO_20000_KG
            - DUMP_TRUCK_20000_TO_25000_KG
            - DUMP_TRUCK_25000_TO_29000_KG
            - DUMP_TRUCK_29000_TO_31000_KG
            - DUMP_TRUCK_31000_TO_60000_KG
            - LCV_BELOW_8500_LB
            - RIGID_TRUCK_8500_TO_14000_LB
            - RIGID_TRUCK_14000_TO_19500_LB
            - RIGID_TRUCK_19500_TO_33000_LB
            - RIGID_TRUCK_OVER_33000_LB
            - ARTICULATED_TRUCK_19500_TO_33000_LB
            - ARTICULATED_TRUCK_OVER_33000_LB
        yearOfManufacture:
          type: number
          format: integer
          description: >
            Year the vehicle was manufactured.  It is only included if a
            specific year was used in the calculation, and is omitted when the
            calculation is instead based on a weighted aggregation of vehicle
            years.
        emissionsStandard:
          type: string
          description: >
            The vehicle’s emissions class. This property is returned only when
            an emissions class was used in the calculation, and is omitted if no
            emissions class was used, for example when the energy type was
            `ELECTRICITY`. <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
        loadFactor:
          type: number
          format: double
          description: >
            The percentage utilisation of vehicle capacity.  It is omitted when
            `loadDistribution` is `FTL`.
        emptyRunning:
          type: number
          format: double
          description: |
            The percentage of the trip completed without carrying a load. 
        loadDistribution:
          type: string
          description: |
            The cargo's share of vehicle load. <enumTable>
              <enumItem>
                <enumValue>`FTL`</enumValue>
                <enumHeading>Full truck load</enumHeading>
                <enumDescription>
                  The shipment is allocated exclusive use of the vehicle. 
                </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 the load factor.
                </enumDescription>
              </enumItem>
            </enumTable>
          enum:
            - FTL
            - LTL
        methodology:
          type: string
          description: >
            The methodology used to calculate the emissions generated by
            transporting the cargo on a road vehicle. <enumTable>
              <enumItem>
                <enumValue>`SFC_GLEC_FRAMEWORK_3_2`</enumValue>
                <enumHeading>SFC GLEC framework version 3.2</enumHeading>
                <enumDescription>Calculations based upon the default emission intensity factors published in version 3.2 of Smart Freight Center's Global Logistics Emissions Council Framework</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`INFRAS_HBEFA_5_1`</enumValue>
                <enumHeading>INFRAS HBEFA version 5.1</enumHeading>
                <enumDescription>Calculations used the INFRAS Handbook Emission Factors for Road Transport model</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`EPA_MOVES_5_0_1`</enumValue>
                <enumHeading>EPA MOVES version 5.0.1</enumHeading>
                <enumDescription>Calculations used the Environmental Protection Agency’s Motor Vehicle Emission Simulator model</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`CONSUMPTION_BASED_CALCULATION`</enumValue>
                <enumHeading>Consumption based calculation</enumHeading>
                <enumDescription>Emissions calculated from actual consumption, such as fuel volume, fuel weight, electricity use, or vehicle efficiency</enumDescription>
              </enumItem>
            </enumTable>
          enum:
            - SFC_GLEC_FRAMEWORK_3_2
            - INFRAS_HBEFA_5_1
            - EPA_MOVES_5_0_1
            - CONSUMPTION_BASED_CALCULATION
        distanceMeasurementMethod:
          type: string
          description: >
            The method used to measurement the distance between the origin and
            destination. <enumItem>
              <enumValue>`GREAT_CIRCLE_DISTANCE`</enumValue>
              <enumHeading>Great circle distance</enumHeading>
              <enumDescription>Distance measured as the shortest path between two points on the Earth's surface.</enumDescription>
            </enumItem> <enumItem>
              <enumValue>`SHORTEST_FEASIBLE_DISTANCE`</enumValue>
              <enumHeading>Shortest feasible distance</enumHeading>
              <enumDescription>Distance measured as the shortest feasible rail route between the origin and destination.</enumDescription>
            </enumItem>
          enum:
            - GREAT_CIRCLE_DISTANCE
            - SHORTEST_FEASIBLE_DISTANCE
        calculationBasis:
          type: string
          description: >
            The input data category that forms the basis for emissions
            calculation methodology selection. <enumItem>
              <enumValue>`PRIMARY_DATA`</enumValue>
              <enumHeading>Primary data</enumHeading>
              <enumDescription>Emissions calculated using measured operational data or calculations based on direct measurements.</enumDescription>
            </enumItem> <enumItem>
              <enumValue>`MODEL`</enumValue>
              <enumHeading>Model</enumHeading>
              <enumDescription>Emissions calculated using a model based on available operational parameters.</enumDescription>
            </enumItem> <enumItem>
              <enumValue>`DEFAULT_FACTORS`</enumValue>
              <enumHeading>Default factors</enumHeading>
              <enumDescription>Emissions calculated using default emission factors or emission-intensity values when primary or modeled data is unavailable.</enumDescription>
            </enumItem>
          enum:
            - PRIMARY_DATA
            - MODEL
            - DEFAULT_FACTORS
        distanceAdjustmentFactor:
          type: string
          description: >
            The factor used to account for the difference between the calculated
            distance and the distance basis required by the calculation
            methodology. For default factors, this adjustment may be built into
            the factor itself rather than applied to the calculated distance.
        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: >
            Sub-operations that decompose this road transport operation into its
            actual executed legs when the journey includes other modes, 
            specifically roll-on/roll-off ferries and trains (e.g., the English
            Channel Tunnel), together with the road legs between them. The
            sub-operations are returned in the order they occur.  This array is
            only defined when the road journey includes at least one ferry or
            train leg.

            #### Example ####

            For a road transport operation from Paris to London, the
            sub-operations will likley be:
              1. A road sub-operation from Paris to the Coquelles terminal in Calais.
              2. A rail sub-operation (Channel Tunnel) from the Coquelles terminal to the Folkestone terminal in England.
              3. A road sub-operation from the Folkestone terminal to London.
          items:
            oneOf:
              - $ref: '#/components/schemas/SubRailTransportResult'
              - $ref: '#/components/schemas/SubRoadTransportResult'
              - $ref: '#/components/schemas/SubWaterTransportResult'
    WaterTransportResult:
      type: object
      title: Water transport result
      required:
        - type
        - start
        - end
        - activityDistanceKm
        - activityTonneKm
        - transportIntensities
        - transportEmissions
        - resultsByEnergyType
        - vehicle
        - capacityBand
        - methodology
        - distanceMeasurementMethod
        - calculationBasis
        - distanceAdjustmentFactor
      properties:
        type:
          type: string
          enum:
            - WATER
          description: >-
            The emissions calculation results for the cargo transported by
            maritime vessels travelling between harbors.
        start:
          $ref: '#/components/schemas/ResponseLocation'
          description: The starting `HARBOR` location.
        end:
          $ref: '#/components/schemas/ResponseLocation'
          description: The ending `HARBOR` location.
        activityDistanceKm:
          type: number
          format: double
          description: The distance in kilometers across the transport operation.
        activityTonneKm:
          type: number
          format: double
          description: The transport activity for the transport operation.
        transportIntensities:
          $ref: '#/components/schemas/TransportIntensities'
          description: >-
            The combined emission intensity rates across the transport
            operation.
        transportEmissions:
          $ref: '#/components/schemas/TransportEmissions'
          description: The total emissions for the transport operation.
        resultsByEnergyType:
          type: array
          items:
            $ref: '#/components/schemas/TransportOperationResultByEnergyType'
          description: >-
            A list of results by fuel or electrical energy used in the
            sub-transport operation.
        vehicle:
          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
        capacityBand:
          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
        containerType:
          type: string
          description: >
            The type of intermodal container used to transport the cargo. Only
            given for transport operations by `CONTAINER` vessel. <enumTable>
              <enumItem>
                <enumValue>`TWENTY_FOOT_CONTAINER`</enumValue>
                <enumHeading>20′ container</enumHeading>
                <enumDescription>Standard 20-foot container.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`FORTY_FOOT_CONTAINER`</enumValue>
                <enumHeading>40′ container</enumHeading>
                <enumDescription>Standard 40-foot container.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ISO_TANK`</enumValue>
                <enumHeading>ISO tank</enumHeading>
                <enumDescription>Cylindrical ISO tank container.</enumDescription>
              </enumItem>
            </enumTable>
          enum:
            - TWENTY_FOOT_CONTAINER
            - FORTY_FOOT_CONTAINER
            - ISO_TANK
        methodology:
          type: string
          description: >
            The methodology used to calculate the emissions generated by
            transporting the cargo on a maritime vessel. <enumTable>
              <enumItem>
                <enumValue>`SFC_GLEC_FRAMEWORK_3_2`</enumValue>
                <enumHeading>SFC GLEC framework version 3.2</enumHeading>
                <enumDescription>Calculations based upon the default emission intensity factors published in version 3.2 of Smart Freight Center's Global Logistics Emissions Council Framework</enumDescription>
              </enumItem>
            </enumTable>
          enum:
            - SFC_GLEC_FRAMEWORK_3_2
        distanceMeasurementMethod:
          type: string
          description: >
            The method used to measurement the distance between the origin and
            destination. <enumItem>
              <enumValue>`GREAT_CIRCLE_DISTANCE`</enumValue>
              <enumHeading>Great circle distance</enumHeading>
              <enumDescription>Distance measured as the shortest path between two points on the Earth's surface.</enumDescription>
            </enumItem> <enumItem>
              <enumValue>`SHORTEST_FEASIBLE_DISTANCE`</enumValue>
              <enumHeading>Shortest feasible distance</enumHeading>
              <enumDescription>Distance measured as the shortest feasible route between the origin and destination.</enumDescription>
            </enumItem>
          enum:
            - GREAT_CIRCLE_DISTANCE
            - SHORTEST_FEASIBLE_DISTANCE
        calculationBasis:
          type: string
          description: >
            The input data category that forms the basis for emissions
            calculation methodology selection. <enumItem>
              <enumValue>`PRIMARY_DATA`</enumValue>
              <enumHeading>Primary data</enumHeading>
              <enumDescription>Emissions calculated using measured operational data or calculations based on direct measurements.</enumDescription>
            </enumItem> <enumItem>
              <enumValue>`MODEL`</enumValue>
              <enumHeading>Model</enumHeading>
              <enumDescription>Emissions calculated using a model based on available operational parameters.</enumDescription>
            </enumItem> <enumItem>
              <enumValue>`DEFAULT_FACTORS`</enumValue>
              <enumHeading>Default factors</enumHeading>
              <enumDescription>Emissions calculated using default emission factors or emission-intensity values when primary or modeled data is unavailable.</enumDescription>
            </enumItem>
          enum:
            - PRIMARY_DATA
            - MODEL
            - DEFAULT_FACTORS
        distanceAdjustmentFactor:
          type: string
          description: >
            The factor used to account for the difference between the calculated
            distance and the distance basis required by the calculation
            methodology. For default factors, this adjustment may be built into
            the factor itself rather than applied to the calculated distance.
        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`.
    WeightedTransportResult:
      type: object
      title: Weighted transport result
      required:
        - type
        - start
        - end
        - activityDistanceKm
        - activityTonneKm
        - transportIntensities
        - transportEmissions
        - hubIntensities
        - hubEmissions
        - totalIntensities
        - totalEmissions
        - elements
      properties:
        type:
          type: string
          enum:
            - WEIGHTED_MODES
          description: >-
            The emissions calculation results for the cargo transported by
            multiple transport operations combined.
        start:
          $ref: '#/components/schemas/ResponseLocation'
          description: The starting location.
        end:
          $ref: '#/components/schemas/ResponseLocation'
          description: The ending location.
        activityDistanceKm:
          type: number
          format: double
          description: >
            The total distance in kilometers across all the included transport
            operations,  weighted according to their respective percentages in
            the request.
        activityTonneKm:
          type: number
          format: double
          description: >
            The total transport activity for all the included transport
            operations,  weighted according to their respective percentages in
            the request.
        transportIntensities:
          $ref: '#/components/schemas/TransportIntensities'
          description: >
            The combined emission intensity rates for all the included transport
            operations,  weighted according to their respective percentages in
            the request.
        transportEmissions:
          $ref: '#/components/schemas/TransportEmissions'
          description: >
            The total emissions for all the included transport operations, 
            weighted according to their respective percentages in the request.
        hubIntensities:
          $ref: '#/components/schemas/HubIntensities'
          description: >
            The combined emissions intensity rates for any hubs inserted within
            the included transport operations,  weighted according to their
            respective percentages in the request.
        hubEmissions:
          $ref: '#/components/schemas/HubEmissions'
          description: >
            The total emissions for any hubs inserted within the included
            transport operations between first and last mile road operations.
            Each one weighted according to their respective percentages in the
            request.
        totalIntensities:
          $ref: '#/components/schemas/TotalIntensities'
          description: >
            The combined emission intensity rates across all the included
            transport operations, and any hubs inserted within them. Each one
            weighted according to their respective percentages in the request.
        totalEmissions:
          $ref: '#/components/schemas/TotalEmissions'
          description: >
            The total emissions for the included transport opertions, their
            first/last mile road operations, and any hubs inserted inbetween.
            Each one weighted according to their respective percentages in the
            request.
        elements:
          type: array
          items:
            $ref: '#/components/schemas/WeightedTransportChainResult'
          description: >
            The results of the constituent transport operations weighted
            according to their respective percentages in the request.
    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 `countryCode` 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`
        countryCode:
          type: string
          description: ISO 3166-1 country code; accepts alpha-2, alpha-3, or numeric forms.
          oneOf:
            - type: string
              description: >
                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)*

                - `GB` *(United Kingdom)*
              minLength: 2
              maxLength: 2
            - type: string
              description: >
                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)*

                - `GBR` *(United Kingdom)*
              minLength: 3
              maxLength: 3
            - type: string
              description: >
                Three-digit [ISO 3166-1
                numeric](https://en.wikipedia.org/wiki/ISO_3166-1_numeric)
                country code, e.g.,

                - `840` *(United States)*

                - `250` *(France)*

                - `826` *(United Kingdom)*
              minLength: 3
              maxLength: 3
              pattern: ^[0-9]{3}$
        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`
    TransportOperationResultByEnergyType:
      type: object
      required:
        - energyType
        - activityDistanceKm
        - activityTonneKm
        - intensities
        - emissions
        - resultsByEnergySource
      properties:
        energyType:
          type: string
          description: |
            The type of fuel or electricity consumed. <enumTable>
              <enumItem>
                <enumValue>`ELECTRICITY`</enumValue>
                <enumHeading>Electricity</enumHeading>
                <enumDescription>Electrical energy</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`DIESEL`</enumValue>
                <enumHeading>Diesel</enumHeading>
                <enumDescription>
                  Diesel fuel based on fossil derived petroleum, which may include biofuel.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`GASOLINE`</enumValue>
                <enumHeading>Gasoline</enumHeading>
                <enumDescription>
                  Petrol fuel based on fossil derived petroleum, which may include biofuel.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`JET_KEROSENE`</enumValue>
                <enumHeading>Jet kerosene</enumHeading>
                <enumDescription>
                  Jet kerosene fuel based on fossil derived petroleum.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`LNG`</enumValue>
                <enumHeading>Liquefied natural gas</enumHeading>
                <enumDescription>
                  Liquefied natural gas based on fossil derived petroleum, which may include biofuel.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`LPG`</enumValue>
                <enumHeading>Liquefied petroleum gas</enumHeading>
                <enumDescription>
                  Liquefied petroleum gas based on fossil derived petroleum, which may include biofuel.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`CNG`</enumValue>
                <enumHeading>Compressed natural gas</enumHeading>
                <enumDescription>
                  Compressed natural gas based on fossil derived petroleum, which may include biofuel.
                </enumDescription>
              </enumItem>
                <enumValue>`HVO100`</enumValue>
                <enumHeading>Hydrotreated vegetable oil</enumHeading>
                <enumDescription>Pure hydrotreated vegetable oil with no fossil derived content</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`MDO`</enumValue>
                <enumHeading>Marine diesel oil</enumHeading>
                <enumDescription>Distillate marine fuel oil primarily derived from fossil petroleum.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`HFO`</enumValue>
                <enumHeading>Heavy fuel oil</enumHeading>
                <enumDescription>Residual marine fuel oil derived from fossil petroleum refining processes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`VLSFO`</enumValue>
                <enumHeading>Very low sulfur fuel oil</enumHeading>
                <enumDescription>Marine fuel oil derived from fossil petroleum with a sulfur content not exceeding 0.50% m/m.</enumDescription>
              </enumItem>
            </enumTable>
          enum:
            - ELECTRICITY
            - DIESEL
            - GASOLINE
            - JET_KEROSENE
            - LNG
            - LPG
            - CNG
            - HVO100
            - HFO
            - VLSFO
            - MDO
        activityDistanceKm:
          type: number
          format: double
          description: |
            The distance in kilometers travelled while using the energy type.
        activityTonneKm:
          type: number
          format: double
          description: >-
            Tonne-kilometers of transport activity performed while using the
            energy type.
        intensities:
          $ref: '#/components/schemas/TransportIntensities'
          description: The emission intensity rates for the energy type.
        emissions:
          $ref: '#/components/schemas/TransportEmissions'
          description: >-
            The emissions released by producing, processing, delivering and
            using the energy type.
        resultsByEnergySource:
          type: array
          items:
            $ref: '#/components/schemas/TransportOperationResultByEnergySource'
          description: >
            A breakdown of the total energy type result into its underlying
            energy sources,  typically including a fossil component and one or
            more biofuel components.          
    FlightTransportResult:
      type: object
      title: Flight transport result
      required:
        - vehicle
        - methodology
        - distanceMeasurementMethod
        - calculationBasis
        - distanceAdjustmentFactor
        - transportIntensities
        - transportEmissions
      properties:
        vehicle:
          type: string
          description: >
            Identifier of the aircraft used for the emissions calculation. When
            the exact aircraft is known, this is its system identifier. 
            Otherwise, it is a generic aircraft type identifier.

              | Unknown aircraft identifier                    |
              |------------------------------------------------|
              | `GENERIC`                                      |
              | `GENERIC_BELLY_FREIGHT`                        |
              | `GENERIC_FREIGHTER`                            |

              | Known aircraft identifier                      |
              |------------------------------------------------|
              | `AIRBUS_A220_100_BELLY_FREIGHT`                |
              | `AIRBUS_A220_300_BELLY_FREIGHT`                |
              | `AIRBUS_A300_600_BELLY_FREIGHT`                |
              | `AIRBUS_A300_600F_FREIGHTER`                   |
              | `AIRBUS_A300_B2_BELLY_FREIGHT`                 |
              | `AIRBUS_A300_B4_BELLY_FREIGHT`                 |
              | `AIRBUS_A300B4_200F_FREIGHTER`                 |
              | `AIRBUS_A310_200_BELLY_FREIGHT`                |
              | `AIRBUS_A310_200F_FREIGHTER`                   |
              | `AIRBUS_A310_300_BELLY_FREIGHT`                |
              | `AIRBUS_A310_300F_FREIGHTER`                   |
              | `AIRBUS_A318_BELLY_FREIGHT`                    |
              | `AIRBUS_A319_BELLY_FREIGHT`                    |
              | `AIRBUS_A319_NEO_BELLY_FREIGHT`                |
              | `AIRBUS_A320_BELLY_FREIGHT`                    |
              | `AIRBUS_A320_NEO_BELLY_FREIGHT`                |
              | `AIRBUS_A320_P2F_FREIGHTER`                    |
              | `AIRBUS_A320_SHARKLETS_BELLY_FREIGHT`          |
              | `AIRBUS_A321_BELLY_FREIGHT`                    |
              | `AIRBUS_A321_NEO_BELLY_FREIGHT`                |
              | `AIRBUS_A321_P2F_FREIGHTER`                    |
              | `AIRBUS_A321_SHARKLETS_BELLY_FREIGHT`          |
              | `AIRBUS_A321F_FREIGHTER`                       |
              | `AIRBUS_A330_200_BELLY_FREIGHT`                |
              | `AIRBUS_A330_200F_FREIGHTER`                   |
              | `AIRBUS_A330_300_BELLY_FREIGHT`                |
              | `AIRBUS_A330_300_P2F_FREIGHTER`                |
              | `AIRBUS_A330_800_NEO_BELLY_FREIGHT`            |
              | `AIRBUS_A330_900_NEO_BELLY_FREIGHT`            |
              | `AIRBUS_A330_P2F_FREIGHTER`                    |
              | `AIRBUS_A340_200_BELLY_FREIGHT`                |
              | `AIRBUS_A340_300_BELLY_FREIGHT`                |
              | `AIRBUS_A340_500_BELLY_FREIGHT`                |
              | `AIRBUS_A340_600_BELLY_FREIGHT`                |
              | `AIRBUS_A350_1000_BELLY_FREIGHT`               |
              | `AIRBUS_A350_900_BELLY_FREIGHT`                |
              | `AIRBUS_A380_BELLY_FREIGHT`                    |
              | `ANTONOV_AN_124_FREIGHTER`                     |
              | `ANTONOV_AN_140_FREIGHTER`                     |
              | `ANTONOV_AN_148_BELLY_FREIGHT`                 |
              | `ANTONOV_AN_24_BELLY_FREIGHT`                  |
              | `ANTONOV_AN_24_FREIGHTER`                      |
              | `ANTONOV_AN_26_FREIGHTER`                      |
              | `ANTONOV_AN_28_FREIGHTER`                      |
              | `ANTONOV_AN_32_FREIGHTER`                      |
              | `ANTONOV_AN_72_FREIGHTER`                      |
              | `ANTONOV_AN_74_FREIGHTER`                      |
              | `ATR_42_300_BELLY_FREIGHT`                     |
              | `ATR_42_320_BELLY_FREIGHT`                     |
              | `ATR_42_400_BELLY_FREIGHT`                     |
              | `ATR_42_500_BELLY_FREIGHT`                     |
              | `ATR_42_600_BELLY_FREIGHT`                     |
              | `ATR_42_FREIGHTER`                             |
              | `ATR_72_200_BELLY_FREIGHT`                     |
              | `ATR_72_210_BELLY_FREIGHT`                     |
              | `ATR_72_500_BELLY_FREIGHT`                     |
              | `ATR_72_600_BELLY_FREIGHT`                     |
              | `ATR_72_FREIGHTER`                             |
              | `AVRO_RJ100_BELLY_FREIGHT`                     |
              | `AVRO_RJ70_BELLY_FREIGHT`                      |
              | `AVRO_RJ85_BELLY_FREIGHT`                      |
              | `BOEING_717_BELLY_FREIGHT`                     |
              | `BOEING_727_200F_FREIGHTER`                    |
              | `BOEING_737_100_BELLY_FREIGHT`                 |
              | `BOEING_737_200_BELLY_FREIGHT`                 |
              | `BOEING_737_200F_FREIGHTER`                    |
              | `BOEING_737_300_BELLY_FREIGHT`                 |
              | `BOEING_737_300F_FREIGHTER`                    |
              | `BOEING_737_300SP_BELLY_FREIGHT`               |
              | `BOEING_737_400_BELLY_FREIGHT`                 |
              | `BOEING_737_400F_FREIGHTER`                    |
              | `BOEING_737_500_BELLY_FREIGHT`                 |
              | `BOEING_737_500SP_BELLY_FREIGHT`               |
              | `BOEING_737_600_BELLY_FREIGHT`                 |
              | `BOEING_737_700_BELLY_FREIGHT`                 |
              | `BOEING_737_700_WINGLETS_BELLY_FREIGHT`        |
              | `BOEING_737_700CF_FREIGHTER`                   |
              | `BOEING_737_800_BELLY_FREIGHT`                 |
              | `BOEING_737_800_WINGLETS_BELLY_FREIGHT`        |
              | `BOEING_737_800BCF_FREIGHTER`                  |
              | `BOEING_737_800SF_FREIGHTER`                   |
              | `BOEING_737_900_BELLY_FREIGHT`                 |
              | `BOEING_737_900_WINGLETS_BELLY_FREIGHT`        |
              | `BOEING_737_MAX_8_BELLY_FREIGHT`               |
              | `BOEING_737_MAX_9_BELLY_FREIGHT`               |
              | `BOEING_747_100SF_FREIGHTER`                   |
              | `BOEING_747_200_BELLY_FREIGHT`                 |
              | `BOEING_747_200F_FREIGHTER`                    |
              | `BOEING_747_200SF_FREIGHTER`                   |
              | `BOEING_747_300_BELLY_FREIGHT`                 |
              | `BOEING_747_300SF_FREIGHTER`                   |
              | `BOEING_747_400_BELLY_FREIGHT`                 |
              | `BOEING_747_400BCF_FREIGHTER`                  |
              | `BOEING_747_400BDSF_FREIGHTER`                 |
              | `BOEING_747_400ERF_FREIGHTER`                  |
              | `BOEING_747_400F_FREIGHTER`                    |
              | `BOEING_747_8F_FREIGHTER`                      |
              | `BOEING_747_8I_BELLY_FREIGHT`                  |
              | `BOEING_757_200_BELLY_FREIGHT`                 |
              | `BOEING_757_200_WINGLETS_BELLY_FREIGHT`        |
              | `BOEING_757_200F_FREIGHTER`                    |
              | `BOEING_757_200PCF_FREIGHTER`                  |
              | `BOEING_757_200PF_FREIGHTER`                   |
              | `BOEING_757_200SF_FREIGHTER`                   |
              | `BOEING_757_300_BELLY_FREIGHT`                 |
              | `BOEING_757_300_WINGLETS_BELLY_FREIGHT`        |
              | `BOEING_767_200_BELLY_FREIGHT`                 |
              | `BOEING_767_200_FREIGHTER`                     |
              | `BOEING_767_200ER_BELLY_FREIGHT`               |
              | `BOEING_767_300_BELLY_FREIGHT`                 |
              | `BOEING_767_300_FREIGHTER`                     |
              | `BOEING_767_300BCF_FREIGHTER`                  |
              | `BOEING_767_300BDSF_FREIGHTER`                 |
              | `BOEING_767_300ER_BELLY_FREIGHT`               |
              | `BOEING_767_300ER_WINGLETS_BELLY_FREIGHT`      |
              | `BOEING_767_400ER_BELLY_FREIGHT`               |
              | `BOEING_777_200_BELLY_FREIGHT`                 |
              | `BOEING_777_200ER_BELLY_FREIGHT`               |
              | `BOEING_777_200F_FREIGHTER`                    |
              | `BOEING_777_200LR_BELLY_FREIGHT`               |
              | `BOEING_777_300_BELLY_FREIGHT`                 |
              | `BOEING_777_300ER_BELLY_FREIGHT`               |
              | `BOEING_777_300ERSF_FREIGHTER`                 |
              | `BOEING_787_10_BELLY_FREIGHT`                  |
              | `BOEING_787_8_BELLY_FREIGHT`                   |
              | `BOEING_787_9_BELLY_FREIGHT`                   |
              | `BOMBARDIER_CRJ100_ER_BELLY_FREIGHT`           |
              | `BOMBARDIER_CRJ100_LR_BELLY_FREIGHT`           |
              | `BOMBARDIER_CRJ1000_BELLY_FREIGHT`             |
              | `BOMBARDIER_CRJ200_ER_BELLY_FREIGHT`           |
              | `BOMBARDIER_CRJ200_LR_BELLY_FREIGHT`           |
              | `BOMBARDIER_CRJ200PF_ER_FREIGHTER`             |
              | `BOMBARDIER_CRJ200PF_LR_FREIGHTER`             |
              | `BOMBARDIER_CRJ200SF_ER_FREIGHTER`             |
              | `BOMBARDIER_CRJ200SF_LR_FREIGHTER`             |
              | `BOMBARDIER_CRJ550_BELLY_FREIGHT`              |
              | `BOMBARDIER_CRJ700_BELLY_FREIGHT`              |
              | `BOMBARDIER_CRJ705_BELLY_FREIGHT`              |
              | `BOMBARDIER_CRJ900_BELLY_FREIGHT`              |
              | `BRITISH_AEROSPACE_ATP_BELLY_FREIGHT`          |
              | `BRITISH_AEROSPACE_BAE_146_100_BELLY_FREIGHT`  |
              | `BRITISH_AEROSPACE_BAE_146_100QC_FREIGHTER`    |
              | `BRITISH_AEROSPACE_BAE_146_100QT_FREIGHTER`    |
              | `BRITISH_AEROSPACE_BAE_146_200_BELLY_FREIGHT`  |
              | `BRITISH_AEROSPACE_BAE_146_200QC_FREIGHTER`    |
              | `BRITISH_AEROSPACE_BAE_146_200QT_FREIGHTER`    |
              | `BRITISH_AEROSPACE_BAE_146_300_BELLY_FREIGHT`  |
              | `BRITISH_AEROSPACE_BAE_146_300QC_FREIGHTER`    |
              | `BRITISH_AEROSPACE_BAE_146_300QT_FREIGHTER`    |
              | `BRITISH_AEROSPACE_JETSTREAM_31_BELLY_FREIGHT` |
              | `BRITISH_AEROSPACE_JETSTREAM_32_BELLY_FREIGHT` |
              | `BRITISH_AEROSPACE_JETSTREAM_41_BELLY_FREIGHT` |
              | `BRITTEN_NORMAN_BN_2_ISLANDER_BELLY_FREIGHT`   |
              | `BRITTEN_NORMAN_BN_2_ISLANDER_FREIGHTER`       |
              | `BRITTEN_NORMAN_TRISLANDER_BELLY_FREIGHT`      |
              | `CASA_C_212_100_BELLY_FREIGHT`                 |
              | `CASA_C_212_100_FREIGHTER`                     |
              | `CASA_C_212_200_BELLY_FREIGHT`                 |
              | `CASA_C_212_200_FREIGHTER`                     |
              | `CASA_C_212_300_BELLY_FREIGHT`                 |
              | `CASA_C_212_300_FREIGHTER`                     |
              | `CASA_C_212_400_BELLY_FREIGHT`                 |
              | `CASA_C_212_400_FREIGHTER`                     |
              | `CASA_CN_235_BELLY_FREIGHT`                    |
              | `CASA_CN_235_FREIGHTER`                        |
              | `CASA_NC_212I_BELLY_FREIGHT`                   |
              | `CASA_NC_212I_FREIGHTER`                       |
              | `CESSNA_208_BELLY_FREIGHT`                     |
              | `CESSNA_208A_FREIGHTER`                        |
              | `CESSNA_208B_BELLY_FREIGHT`                    |
              | `CESSNA_208B_FREIGHTER`                        |
              | `CESSNA_408_BELLY_FREIGHT`                     |
              | `CESSNA_408_FREIGHTER`                         |
              | `CONVAIR_CV_5800F_FREIGHTER`                   |
              | `CONVAIR_CV_580F_FREIGHTER`                    |
              | `DASSAULT_FALCON_20DC_FREIGHTER`               |
              | `DE_HAVILLAND_CANADA_DHC_2_BELLY_FREIGHT`      |
              | `DE_HAVILLAND_CANADA_DHC_2_FREIGHTER`          |
              | `DE_HAVILLAND_CANADA_DHC_2T_BELLY_FREIGHT`     |
              | `DE_HAVILLAND_CANADA_DHC_2T_FREIGHTER`         |
              | `DE_HAVILLAND_CANADA_DHC_3_BELLY_FREIGHT`      |
              | `DE_HAVILLAND_CANADA_DHC_3_FREIGHTER`          |
              | `DE_HAVILLAND_CANADA_DHC_3T_BELLY_FREIGHT`     |
              | `DE_HAVILLAND_CANADA_DHC_3T_FREIGHTER`         |
              | `DE_HAVILLAND_CANADA_DHC_6_100_BELLY_FREIGHT`  |
              | `DE_HAVILLAND_CANADA_DHC_6_100_FREIGHTER`      |
              | `DE_HAVILLAND_CANADA_DHC_6_300_BELLY_FREIGHT`  |
              | `DE_HAVILLAND_CANADA_DHC_6_300_FREIGHTER`      |
              | `DE_HAVILLAND_CANADA_DHC_6_400_BELLY_FREIGHT`  |
              | `DE_HAVILLAND_CANADA_DHC_6_400_FREIGHTER`      |
              | `DE_HAVILLAND_CANADA_DHC_7_BELLY_FREIGHT`      |
              | `DE_HAVILLAND_CANADA_DHC_8_100_BELLY_FREIGHT`  |
              | `DE_HAVILLAND_CANADA_DHC_8_100PF_FREIGHTER`    |
              | `DE_HAVILLAND_CANADA_DHC_8_200_BELLY_FREIGHT`  |
              | `DE_HAVILLAND_CANADA_DHC_8_300_BELLY_FREIGHT`  |
              | `DE_HAVILLAND_CANADA_DHC_8_400_BELLY_FREIGHT`  |
              | `DE_HAVILLAND_CANADA_DHC_8_402PF_FREIGHTER`    |
              | `DOUGLAS_DC3_FREIGHTER`                        |
              | `EMBRAER_E170_AR_BELLY_FREIGHT`                |
              | `EMBRAER_E170_LR_BELLY_FREIGHT`                |
              | `EMBRAER_E175_AR_BELLY_FREIGHT`                |
              | `EMBRAER_E175_LR_BELLY_FREIGHT`                |
              | `EMBRAER_E190_AR_BELLY_FREIGHT`                |
              | `EMBRAER_E190_LR_BELLY_FREIGHT`                |
              | `EMBRAER_E195_AR_BELLY_FREIGHT`                |
              | `EMBRAER_E195_LR_BELLY_FREIGHT`                |
              | `EMBRAER_EMB_110_BELLY_FREIGHT`                |
              | `EMBRAER_EMB_110_FREIGHTER`                    |
              | `EMBRAER_EMB_120_BELLY_FREIGHT`                |
              | `EMBRAER_EMB_120FC_FREIGHTER`                  |
              | `EMBRAER_EMB_120QC_FREIGHTER`                  |
              | `EMBRAER_ERJ_135_BELLY_FREIGHT`                |
              | `EMBRAER_ERJ_140_BELLY_FREIGHT`                |
              | `EMBRAER_ERJ_145_BELLY_FREIGHT`                |
              | `FAIRCHILD_DORNIER_328JET_BELLY_FREIGHT`       |
              | `FAIRCHILD_DORNIER_DO_228_BELLY_FREIGHT`       |
              | `FAIRCHILD_DORNIER_DO_228_FREIGHTER`           |
              | `FAIRCHILD_DORNIER_DO_328_BELLY_FREIGHT`       |
              | `FAIRCHILD_SWEARINGEN_METRO_23_BELLY_FREIGHT`  |
              | `FAIRCHILD_SWEARINGEN_METRO_II_BELLY_FREIGHT`  |
              | `FAIRCHILD_SWEARINGEN_METRO_II_FREIGHTER`      |
              | `FAIRCHILD_SWEARINGEN_METRO_III_BELLY_FREIGHT` |
              | `FAIRCHILD_SWEARINGEN_METRO_III_FREIGHTER`     |
              | `FOKKER_100_BELLY_FREIGHT`                     |
              | `FOKKER_100QC_FREIGHTER`                       |
              | `FOKKER_F27_BELLY_FREIGHT`                     |
              | `FOKKER_F27_FREIGHTER`                         |
              | `FOKKER_F50_BELLY_FREIGHT`                     |
              | `FOKKER_F50_FREIGHTER`                         |
              | `FOKKER_F70_BELLY_FREIGHT`                     |
              | `HARBIN_Y12_BELLY_FREIGHT`                     |
              | `HARBIN_Y12F_FREIGHTER`                        |
              | `HAWKER_SIDDELEY_HS_748_FREIGHTER`             |
              | `ILYUSHIN_IL_18_FREIGHTER`                     |
              | `ILYUSHIN_IL_76TD_90_FREIGHTER`                |
              | `ILYUSHIN_IL_76TD_FREIGHTER`                   |
              | `ILYUSHIN_IL_96_300_BELLY_FREIGHT`             |
              | `ILYUSHIN_IL_96_400_BELLY_FREIGHT`             |
              | `ILYUSHIN_IL_96_400T_FREIGHTER`                |
              | `ILYUSHIN_IL_96M_BELLY_FREIGHT`                |
              | `ILYUSHIN_IL_96T_FREIGHTER`                    |
              | `ILYUSHIN_IL114_BELLY_FREIGHT`                 |
              | `ILYUSHIN_IL114_FREIGHTER`                     |
              | `LET_KUNOVICE_L_410_BELLY_FREIGHT`             |
              | `LET_KUNOVICE_L_410NG_FREIGHTER`               |
              | `LET_KUNOVICE_L_410T_FREIGHTER`                |
              | `LOCKHEED_L_100_FREIGHTER`                     |
              | `LOCKHEED_L_188_FREIGHTER`                     |
              | `MCDONNELL_DOUGLAS_DC_10_30F_FREIGHTER`        |
              | `MCDONNELL_DOUGLAS_DC8_55F_FREIGHTER`          |
              | `MCDONNELL_DOUGLAS_DC8_62F_FREIGHTER`          |
              | `MCDONNELL_DOUGLAS_DC8_63F_FREIGHTER`          |
              | `MCDONNELL_DOUGLAS_DC8_73F_FREIGHTER`          |
              | `MCDONNELL_DOUGLAS_DC9_10_BELLY_FREIGHT`       |
              | `MCDONNELL_DOUGLAS_DC9_10C_FREIGHTER`          |
              | `MCDONNELL_DOUGLAS_DC9_10F_FREIGHTER`          |
              | `MCDONNELL_DOUGLAS_DC9_20_BELLY_FREIGHT`       |
              | `MCDONNELL_DOUGLAS_DC9_30_BELLY_FREIGHT`       |
              | `MCDONNELL_DOUGLAS_DC9_30F_FREIGHTER`          |
              | `MCDONNELL_DOUGLAS_DC9_40_BELLY_FREIGHT`       |
              | `MCDONNELL_DOUGLAS_DC9_50_BELLY_FREIGHT`       |
              | `MCDONNELL_DOUGLAS_MD_11_FREIGHTER`            |
              | `MCDONNELL_DOUGLAS_MD_81_BELLY_FREIGHT`        |
              | `MCDONNELL_DOUGLAS_MD_81SF_FREIGHTER`          |
              | `MCDONNELL_DOUGLAS_MD_82_BELLY_FREIGHT`        |
              | `MCDONNELL_DOUGLAS_MD_82SF_FREIGHTER`          |
              | `MCDONNELL_DOUGLAS_MD_83_BELLY_FREIGHT`        |
              | `MCDONNELL_DOUGLAS_MD_83SF_FREIGHTER`          |
              | `MCDONNELL_DOUGLAS_MD_87_BELLY_FREIGHT`        |
              | `MCDONNELL_DOUGLAS_MD_88_BELLY_FREIGHT`        |
              | `MCDONNELL_DOUGLAS_MD_88SF_FREIGHTER`          |
              | `MITSUBISHI_MU_2_FREIGHTER`                    |
              | `MITSUBISHI_MU_2_LONG_FUSELAGE_BELLY_FREIGHT`  |
              | `MITSUBISHI_MU_2_SHORT_FUSELAGE_BELLY_FREIGHT` |
              | `PZL_MIELEC_M28_FREIGHTER`                     |
              | `PILATUS_PC_12_BELLY_FREIGHT`                  |
              | `PILATUS_PC_12_FREIGHTER`                      |
              | `PILATUS_PC_6_BELLY_FREIGHT`                   |
              | `PILATUS_PC_6_FREIGHTER`                       |
              | `PIPER_PA_31_BELLY_FREIGHT`                    |
              | `PIPER_PA_31_FREIGHTER`                        |
              | `PIPER_PA_32_BELLY_FREIGHT`                    |
              | `PIPER_PA_32_FREIGHTER`                        |
              | `PIPER_PA_34_BELLY_FREIGHT`                    |
              | `PIPER_PA_34_FREIGHTER`                        |
              | `PIPER_PA_60_BELLY_FREIGHT`                    |
              | `PIPER_PA_60_FREIGHTER`                        |
              | `RAYTHEON_BEECHCRAFT_1900C_BELLY_FREIGHT`      |
              | `RAYTHEON_BEECHCRAFT_1900C_FREIGHTER`          |
              | `RAYTHEON_BEECHCRAFT_1900D_BELLY_FREIGHT`      |
              | `RAYTHEON_BEECHCRAFT_1900D_FREIGHTER`          |
              | `SAAB_2000_BELLY_FREIGHT`                      |
              | `SAAB_340A_BELLY_FREIGHT`                      |
              | `SAAB_340A_FREIGHTER`                          |
              | `SAAB_340B_BELLY_FREIGHT`                      |
              | `SAAB_340B_FREIGHTER`                          |
              | `SHORT_BROTHERS_SC_5_FREIGHTER`                |
              | `SHORT_BROTHERS_SC_7_FREIGHTER`                |
              | `SHORT_BROTHERS_SD_330_BELLY_FREIGHT`          |
              | `SHORT_BROTHERS_SD_330_FREIGHTER`              |
              | `SHORT_BROTHERS_SD_360_300F_FREIGHTER`         |
              | `SHORT_BROTHERS_SD_360_BELLY_FREIGHT`          |
              | `SUKHOI_SUPERJET_100_BELLY_FREIGHT`            |
              | `TUPOLEV_TU_204_100_BELLY_FREIGHT`             |
              | `TUPOLEV_TU_204_100C_FREIGHTER`                |
              | `TUPOLEV_TU_204_120_BELLY_FREIGHT`             |
              | `TUPOLEV_TU_204_120C_FREIGHTER`                |
              | `TUPOLEV_TU_204_300_BELLY_FREIGHT`             |
              | `TUPOLEV_TU_214_BELLY_FREIGHT`                 |
              | `XIAN_MA60_BELLY_FREIGHT`                      |
              | `XIAN_MA600_BELLY_FREIGHT`                     |
              | `XIAN_MA600F_FREIGHTER`                        |
              | `YAKOVLEV_YAK_40_BELLY_FREIGHT`                |
              | `YAKOVLEV_YAK_40K_FREIGHTER`                   |
              | `YAKOVLEV_YAK_42_BELLY_FREIGHT`                |
        icaoTypeDesignator:
          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`    |
        iataTypeDesignator:
          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`     |
        methodology:
          type: string
          description: >
            The methodology used to calculate the emissions generated by
            transporting the cargo on an aircraft. <enumTable>
              <enumItem>
                <enumValue>`SFC_GLEC_FRAMEWORK_3_2`</enumValue>
                <enumHeading>SFC GLEC framework version 3.2</enumHeading>
                <enumDescription>Calculations based upon the default emission intensity factors published in version 3.2 of Smart Freight Center's Global Logistics Emissions Council Framework</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ICAO_13_1`</enumValue>
                <enumHeading>ICAO carbon emissions calculator methodology version 13.1</enumHeading>
                <enumDescription>Belly freight emissions calculated using an enhanced algorithm derived from the ICAO passenger aircraft carbon emissions calculator methodology</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ICAO_AIR_FREIGHTER_2_0`</enumValue>
                <enumHeading>ICAO carbon emissions calculator methodology - air freighter version 2</enumHeading>
                <enumDescription>Freighter emissions calculated using the algorithm specified in the ICAO air freighter carbon emissions calculator methodology</enumDescription>
              </enumItem>
            </enumTable>
          enum:
            - SFC_GLEC_FRAMEWORK_3_2
            - ICAO_13_1
            - ICAO_AIR_FREIGHTER_2_0
        distanceMeasurementMethod:
          type: string
          description: >
            The method used to measurement the distance between the origin and
            destination. <enumItem>
              <enumValue>`GREAT_CIRCLE_DISTANCE`</enumValue>
              <enumHeading>Great circle distance</enumHeading>
              <enumDescription>Distance measured as the shortest path between two points on the Earth's surface.</enumDescription>
            </enumItem> <enumItem>
              <enumValue>`SHORTEST_FEASIBLE_DISTANCE`</enumValue>
              <enumHeading>Shortest feasible distance</enumHeading>
              <enumDescription>Distance measured as the shortest feasible aircraft route between the origin and destination.</enumDescription>
            </enumItem>
          enum:
            - GREAT_CIRCLE_DISTANCE
            - SHORTEST_FEASIBLE_DISTANCE
        calculationBasis:
          type: string
          description: >
            The input data category that forms the basis for emissions
            calculation methodology selection. <enumItem>
              <enumValue>`PRIMARY_DATA`</enumValue>
              <enumHeading>Primary data</enumHeading>
              <enumDescription>Emissions calculated using measured operational data or calculations based on direct measurements.</enumDescription>
            </enumItem> <enumItem>
              <enumValue>`MODEL`</enumValue>
              <enumHeading>Model</enumHeading>
              <enumDescription>Emissions calculated using a model based on available operational parameters.</enumDescription>
            </enumItem> <enumItem>
              <enumValue>`DEFAULT_FACTORS`</enumValue>
              <enumHeading>Default factors</enumHeading>
              <enumDescription>Emissions calculated using default emission factors or emission-intensity values when primary or modeled data is unavailable.</enumDescription>
            </enumItem>
          enum:
            - PRIMARY_DATA
            - MODEL
            - DEFAULT_FACTORS
        distanceAdjustmentFactor:
          type: string
          description: >
            The factor used to account for the difference between the calculated
            distance and the distance basis required by the calculation
            methodology. For default factors, this adjustment may be built into
            the factor itself rather than applied to the calculated distance.
        transportIntensities:
          $ref: '#/components/schemas/TransportIntensities'
          description: The emission intensity rates for the flight.
        transportEmissions:
          $ref: '#/components/schemas/TransportEmissions'
          description: The emissions for the flight.
    SubRailTransportResult:
      type: object
      title: Roll-on/roll-off rail transport result
      required:
        - type
        - start
        - end
        - activityDistanceKm
        - activityTonneKm
        - transportIntensities
        - transportEmissions
        - resultsByEnergyType
        - vehicle
        - methodology
        - distanceMeasurementMethod
        - calculationBasis
        - distanceAdjustmentFactor
      properties:
        type:
          type: string
          enum:
            - RAIL
          description: >
            A rail transport operation that functions as a sub-segment of a road
            transport operation,  using roll-on/roll-off (RO-RO) or swap-body
            capable trains where the road vehicle, trailer,  or swap body is
            loaded directly onto the train without additional logistics or cargo
            handling.
        start:
          $ref: '#/components/schemas/ResponseLocation'
          description: The starting `RAIL_YARD` location.
        end:
          $ref: '#/components/schemas/ResponseLocation'
          description: The ending `RAIL_YARD` location.
        activityDistanceKm:
          type: number
          format: double
          description: The distance in kilometers across the sub-transport operation.
        activityTonneKm:
          type: number
          format: double
          description: The transport activity for the sub-transport operation.
        transportIntensities:
          $ref: '#/components/schemas/TransportIntensities'
          description: >-
            The combined emission intensity rates across the sub-transport
            operation.
        transportEmissions:
          $ref: '#/components/schemas/TransportEmissions'
          description: The total emissions for the sub-transport operation.
        resultsByEnergyType:
          type: array
          items:
            $ref: '#/components/schemas/TransportOperationResultByEnergyType'
          description: >-
            A list of results by fuel or electrical energy used in the
            sub-transport operation.
        vehicle:
          type: string
          description: >
            The type of Roll-on/Roll-off train used in the transport operation.
            <enumTable>
              <enumItem>
                <enumValue>`ROLL_ON_ROLL_OFF_ENTIRE_TRUCK_TRAIN`</enumValue>
                <enumHeading>Roll on/roll off entire truck train</enumHeading>
                <enumDescription>
                  A dedicated (unit) freight train used within a road operation, composed of wagons that carry complete trucks, including both tractor unit and trailer.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ROLL_ON_ROLL_OFF_TRAILER_ONLY_TRAIN`</enumValue>
                <enumHeading>Roll on/roll off trailer only train</enumHeading>
                <enumDescription>
                  A dedicated (unit) freight train used within a road operation, composed of wagons that carry road trailers only, without their tractor units.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ROLL_ON_ROLL_OFF_SWAP_BODY_TRAIN`</enumValue>
                <enumHeading>Roll on/roll swap body train</enumHeading>
                <enumDescription>
                  A dedicated (unit) freight train used within road operation, composed of wagons that carry intermodal swap bodies designed for quick transfer between road vehicles and rail wagons.
                </enumDescription>
              </enumItem>
            </enumTable>
          enum:
            - ROLL_ON_ROLL_OFF_ENTIRE_TRUCK_TRAIN
            - ROLL_ON_ROLL_OFF_TRAILER_ONLY_TRAIN
            - ROLL_ON_ROLL_OFF_SWAP_BODY_TRAIN
        methodology:
          type: string
          description: >
            The methodology used to calculate the emissions generated by
            transporting the cargo on a train. <enumTable>
              <enumItem>
                <enumValue>`SFC_GLEC_FRAMEWORK_3_2`</enumValue>
                <enumHeading>SFC GLEC framework version 3.2</enumHeading>
                <enumDescription>Calculations based upon the default emission intensity factors published in version 3.2 of Smart Freight Center's Global Logistics Emissions Council Framework</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ECOTRANSIT_RAIL_4_0`</enumValue>
                <enumHeading>EcoTransIT rail methodology version 4.0</enumHeading>
                <enumDescription>Calculations use the EcoTransIT bottom-up rail model, estimating emissions from train energy consumption</enumDescription>
              </enumItem>
            </enumTable>
          enum:
            - SFC_GLEC_FRAMEWORK_3_2
            - ECOTRANSIT_RAIL_4_0
        distanceMeasurementMethod:
          type: string
          description: >
            The method used to measurement the distance between the origin and
            destination. <enumItem>
              <enumValue>`GREAT_CIRCLE_DISTANCE`</enumValue>
              <enumHeading>Great circle distance</enumHeading>
              <enumDescription>Distance measured as the shortest path between two points on the Earth's surface.</enumDescription>
            </enumItem> <enumItem>
              <enumValue>`SHORTEST_FEASIBLE_DISTANCE`</enumValue>
              <enumHeading>Shortest feasible distance</enumHeading>
              <enumDescription>Distance measured as the shortest feasible rail route between the origin and destination.</enumDescription>
            </enumItem>
          enum:
            - GREAT_CIRCLE_DISTANCE
            - SHORTEST_FEASIBLE_DISTANCE
        calculationBasis:
          type: string
          description: >
            The input data category that forms the basis for emissions
            calculation methodology selection. <enumItem>
              <enumValue>`PRIMARY_DATA`</enumValue>
              <enumHeading>Primary data</enumHeading>
              <enumDescription>Emissions calculated using measured operational data or calculations based on direct measurements.</enumDescription>
            </enumItem> <enumItem>
              <enumValue>`MODEL`</enumValue>
              <enumHeading>Model</enumHeading>
              <enumDescription>Emissions calculated using a model based on available operational parameters.</enumDescription>
            </enumItem> <enumItem>
              <enumValue>`DEFAULT_FACTORS`</enumValue>
              <enumHeading>Default factors</enumHeading>
              <enumDescription>Emissions calculated using default emission factors or emission-intensity values when primary or modeled data is unavailable.</enumDescription>
            </enumItem>
          enum:
            - PRIMARY_DATA
            - MODEL
            - DEFAULT_FACTORS
        distanceAdjustmentFactor:
          type: string
          description: >
            The factor used to account for the difference between the calculated
            distance and the distance basis required by the calculation
            methodology. For default factors, this adjustment may be built into
            the factor itself rather than applied to the calculated distance.
        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`.
    SubRoadTransportResult:
      type: object
      title: Road sub-transport result
      required:
        - type
        - start
        - end
        - activityDistanceKm
        - activityTonneKm
        - transportIntensities
        - transportEmissions
        - resultsByEnergyType
        - vehicle
        - emptyRunning
        - loadDistribution
        - methodology
        - distanceMeasurementMethod
        - calculationBasis
        - distanceAdjustmentFactor
      properties:
        type:
          type: string
          enum:
            - ROAD
          description: >
            A road transport sub-operation that forms part of a larger road
            transport operation  and occurs because the overall journey includes
            one or more roll-on/roll-off (RO-RO) ferry or rail transport
            operations.  


            This sub-operation represents the road movement directly connected
            to the RO-RO segment. No logistics hubs are inserted between the
            RO-RO operation and this road sub-operation.          
        start:
          $ref: '#/components/schemas/ResponseLocation'
          description: The starting location.
        end:
          $ref: '#/components/schemas/ResponseLocation'
          description: The ending location.
        activityDistanceKm:
          type: number
          format: double
          description: The distance in kilometers across the sub-transport operation.
        activityTonneKm:
          type: number
          format: double
          description: The transport activity for the sub-transport operation.
        transportIntensities:
          $ref: '#/components/schemas/TransportIntensities'
          description: >-
            The combined emission intensity rates across the sub-transport
            operation.
        transportEmissions:
          $ref: '#/components/schemas/TransportEmissions'
          description: The total emissions for the sub-transport operation.
        resultsByEnergyType:
          type: array
          items:
            $ref: '#/components/schemas/TransportOperationResultByEnergyType'
          description: >-
            A list of results by fuel or electrical energy used in the
            sub-transport operation.
        vehicle:
          type: string
          description: >
            The type of road vehicle used in the sub-transport operation.  It
            will always match the parent road transport operation.

            <enumTable>
              <enumItem>
                <enumValue>`N1_CLASS_I_SMALL_VAN`</enumValue>
                <enumHeading>Small van below 1,890 kg</enumHeading>
                <enumDescription>Light van derived from a car.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`N1_CLASS_II_MEDIUM_VAN`</enumValue>
                <enumHeading>Medium van 1,890 to 2,725 kg</enumHeading>
                <enumDescription>Medium van or light pickup truck.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`N1_CLASS_III_LARGE_VAN`</enumValue>
                <enumHeading>Large van 2,725 to 3,500 kg</enumHeading>
                <enumDescription>Large van or heavy pickup truck.</enumDescription>
              </enumItem>
              <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>`RIGID_TRUCK_3500_TO_4500_KG`</enumValue>
                <enumHeading>Rigid truck 3,500 to 4,500 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 3.5 and 4.5 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_3500_TO_5000_KG`</enumValue>
                <enumHeading>Rigid truck 3,500 to 5,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 3.5 and 5 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_UP_TO_7500_KG`</enumValue>
                <enumHeading>Rigid truck up to 7,500 kg</enumHeading>
                <enumDescription>Straight truck with GVW up to 7.5 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_4500_TO_5500_KG`</enumValue>
                <enumHeading>Rigid truck 4,500 to 5,500 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 4.5 and 5.5 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_5000_TO_12000_KG`</enumValue>
                <enumHeading>Rigid truck 5,000 to 12,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 5 and 12 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_5500_TO_7000_KG`</enumValue>
                <enumHeading>Rigid truck 5,500 to 7,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 5.5 and 7 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_7000_TO_8500_KG`</enumValue>
                <enumHeading>Rigid truck 7,000 to 8,500 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 7 and 8.5 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_7500_TO_12000_KG`</enumValue>
                <enumHeading>Rigid truck 7,500 to 12,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 7.5 and 12 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_8500_TO_10500_KG`</enumValue>
                <enumHeading>Rigid truck 8,500 to 10,500 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 8.5 and 10.5 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_10500_TO_12500_KG`</enumValue>
                <enumHeading>Rigid truck 10,500 to 12,500 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 10.5 and 12.5 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_12000_TO_14000_KG`</enumValue>
                <enumHeading>Rigid truck 12,000 to 14,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 12 and 14 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_12000_TO_20000_KG`</enumValue>
                <enumHeading>Rigid truck 12,000 to 20,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 12 and 20 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_12500_TO_14000_KG`</enumValue>
                <enumHeading>Rigid truck 12,500 to 14,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 12.5 and 14 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_14000_TO_16000_KG`</enumValue>
                <enumHeading>Rigid truck 14,000 to 16,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 14 and 16 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_14000_TO_20000_KG`</enumValue>
                <enumHeading>Rigid truck 14,000 to 20,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 14 and 20 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_16000_TO_20000_KG`</enumValue>
                <enumHeading>Rigid truck 16,000 to 20,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 16 and 20 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_20000_TO_25000_KG`</enumValue>
                <enumHeading>Rigid truck 20,000 to 25,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 20 and 25 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_20000_TO_26000_KG`</enumValue>
                <enumHeading>Rigid truck 20,000 to 26,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 20 and 26 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_20000_TO_30000_KG`</enumValue>
                <enumHeading>Rigid truck 20,000 to 30,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 20 and 30 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_25000_TO_29000_KG`</enumValue>
                <enumHeading>Rigid truck 25,000 to 29,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 25 and 29 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_26000_TO_28000_KG`</enumValue>
                <enumHeading>Rigid truck 26,000 to 28,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 26 and 28 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_28000_TO_32000_KG`</enumValue>
                <enumHeading>Rigid truck 28,000 to 32,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 28 and 32 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_29000_TO_31000_KG`</enumValue>
                <enumHeading>Rigid truck 29,000 to 31,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 29 and 31 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_30000_TO_50000_KG`</enumValue>
                <enumHeading>Rigid truck 30,000 to 50,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 30 and 50 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_31000_TO_60000_KG`</enumValue>
                <enumHeading>Rigid truck 31,000 to 60,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW between 31 and 60 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_OVER_32000_KG`</enumValue>
                <enumHeading>Rigid truck over 32,000 kg</enumHeading>
                <enumDescription>Straight truck with GVW over 32 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_UP_TO_18000_KG`</enumValue>
                <enumHeading>Articulated truck up to 18,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW up to 18 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_UP_TO_28000_KG`</enumValue>
                <enumHeading>Articulated truck up to 28,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW up to 28 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_18000_TO_24000_KG`</enumValue>
                <enumHeading>Articulated truck 18,000 to 24,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 18 and 24 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_24000_TO_27000_KG`</enumValue>
                <enumHeading>Articulated truck 24,000 to 27,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 24 and 27 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_27000_TO_29000_KG`</enumValue>
                <enumHeading>Articulated truck 27,000 to 29,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 27 and 29 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_28000_TO_34000_KG`</enumValue>
                <enumHeading>Articulated truck 28,000 to 34,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 28 and 34 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_29000_TO_31000_KG`</enumValue>
                <enumHeading>Articulated truck 29,000 to 31,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 29 and 31 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_30000_TO_60000_KG`</enumValue>
                <enumHeading>Articulated truck 30,000 to 60,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 30 and 60 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_31000_TO_35000_KG`</enumValue>
                <enumHeading>Articulated truck 31,000 to 35,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 31 and 35 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_34000_TO_40000_KG`</enumValue>
                <enumHeading>Articulated truck 34,000 to 40,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 34 and 40 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_35000_TO_40000_KG`</enumValue>
                <enumHeading>Articulated truck 35,000 to 40,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 35 and 40 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_40000_TO_43000_KG`</enumValue>
                <enumHeading>Articulated truck 40,000 to 43,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 40 and 43 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_40000_TO_50000_KG`</enumValue>
                <enumHeading>Articulated truck 40,000 to 50,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 40 and 50 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_43000_TO_46000_KG`</enumValue>
                <enumHeading>Articulated truck 43,000 to 46,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 43 and 46 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_46000_TO_49000_KG`</enumValue>
                <enumHeading>Articulated truck 46,000 to 49,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 46 and 49 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_49000_TO_60000_KG`</enumValue>
                <enumHeading>Articulated truck 49,000 to 60,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 49 and 60 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_50000_TO_60000_KG`</enumValue>
                <enumHeading>Articulated truck 50,000 to 60,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 50 and 60 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_60000_TO_64000_KG`</enumValue>
                <enumHeading>Articulated truck 60,000 to 64,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 60 and 64 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_64000_TO_74000_KG`</enumValue>
                <enumHeading>Articulated truck 64,000 to 74,000 kg</enumHeading>
                <enumDescription>Articulated truck with GVW between 64 and 74 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`DUMP_TRUCK_3500_TO_4500_KG`</enumValue>
                <enumHeading>Dump truck 3,500 to 4,500 kg</enumHeading>
                <enumDescription>Dump truck with GVW between 3.5 and 4.5 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`DUMP_TRUCK_4500_TO_5500_KG`</enumValue>
                <enumHeading>Dump truck 4,500 to 5,00 kg</enumHeading>
                <enumDescription>Dump truck with GVW between 4.5 and 5.5 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`DUMP_TRUCK_5500_TO_7000_KG`</enumValue>
                <enumHeading>Dump truck 5,500 to 7,000 kg</enumHeading>
                <enumDescription>Dump truck with GVW between 5.5 and 7 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`DUMP_TRUCK_7000_TO_8500_KG`</enumValue>
                <enumHeading>Dump truck 7,000 to 8,500 kg</enumHeading>
                <enumDescription>Dump truck with GVW between 7 and 8.5 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`DUMP_TRUCK_8500_TO_10500_KG`</enumValue>
                <enumHeading>Dump truck 8,500 to 10,500 kg</enumHeading>
                <enumDescription>Dump truck with GVW between 8.5 and 10.5 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`DUMP_TRUCK_10500_TO_12500_KG`</enumValue>
                <enumHeading>Dump truck 10,500 to 12,500 kg</enumHeading>
                <enumDescription>Dump truck with GVW between 10.5 and 12.5 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`DUMP_TRUCK_12500_TO_14000_KG`</enumValue>
                <enumHeading>Dump truck 12,500 to 14,000 kg</enumHeading>
                <enumDescription>Dump truck with GVW between 12.5 and 14 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`DUMP_TRUCK_14000_TO_16000_KG`</enumValue>
                <enumHeading>Dump truck 14,000 to 16,000 kg</enumHeading>
                <enumDescription>Dump truck with GVW between 14 and 16 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`DUMP_TRUCK_16000_TO_20000_KG`</enumValue>
                <enumHeading>Dump truck 16,000 to 20,000 kg</enumHeading>
                <enumDescription>Dump truck with GVW between 16 and 20 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`DUMP_TRUCK_20000_TO_25000_KG`</enumValue>
                <enumHeading>Dump truck 20,000 to 25,000 kg</enumHeading>
                <enumDescription>Dump truck with GVW between 20 and 25 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`DUMP_TRUCK_25000_TO_29000_KG`</enumValue>
                <enumHeading>Dump truck 25,000 to 29,000 kg</enumHeading>
                <enumDescription>Dump truck with GVW between 25 and 29 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`DUMP_TRUCK_29000_TO_31000_KG`</enumValue>
                <enumHeading>Dump truck 29,000 to 31,000 kg</enumHeading>
                <enumDescription>Dump truck with GVW between 29 and 31 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`DUMP_TRUCK_31000_TO_60000_KG`</enumValue>
                <enumHeading>Dump truck 31,000 to 60,000 kg</enumHeading>
                <enumDescription>Dump truck with GVW between 31 and 60 metric tonnes.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`LCV_BELOW_8500_LB`</enumValue>
                <enumHeading>Light commercial vehicle below 8,500 lb</enumHeading>
                <enumDescription>North American van or pickup truck with GVW under 8,500 pounds.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_8500_TO_14000_LB`</enumValue>
                <enumHeading>Rigid truck 8,500 to 14,000 lb</enumHeading>
                <enumDescription>Straight North American class 2b and 3 truck with GVW between 8,500 and 14,000 pounds.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_14000_TO_19500_LB`</enumValue>
                <enumHeading>Rigid truck 14,000 to 19,500 lb</enumHeading>
                <enumDescription>Straight North American class 4 and 5 truck with GVW between 14,000 and 19,500 pounds.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_19500_TO_33000_LB`</enumValue>
                <enumHeading>Rigid truck 19,500 to 33,000 lb</enumHeading>
                <enumDescription>Straight North American class 6 and 7 truck with GVW between 19,500 and 33,000 pounds.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RIGID_TRUCK_OVER_33000_LB`</enumValue>
                <enumHeading>Rigid truck over 33,000 lb</enumHeading>
                <enumDescription>Straight North American class 8a amd 8b truck with GVW over 33,000 pounds.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_19500_TO_33000_LB`</enumValue>
                <enumHeading>Articulated truck 19,500 to 33,000 lb</enumHeading>
                <enumDescription>Articulated North American class 6 and 7 truck with GVW between 19,500 and 33,000 pounds.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ARTICULATED_TRUCK_OVER_33000_LB`</enumValue>
                <enumHeading>Articulated over 33,000 lb</enumHeading>
                <enumDescription>Articulated North American class 8a amd 8b truck with GVW over 33,000 pounds.</enumDescription>
              </enumItem>
            </enumTable>
          enum:
            - N1_CLASS_I_SMALL_VAN
            - N1_CLASS_II_MEDIUM_VAN
            - N1_CLASS_III_LARGE_VAN
            - RIGID_TRUCK_3500_TO_4500_KG
            - RIGID_TRUCK_4500_TO_5500_KG
            - RIGID_TRUCK_5500_TO_7000_KG
            - RIGID_TRUCK_7000_TO_8500_KG
            - RIGID_TRUCK_UP_TO_7500_KG
            - RIGID_TRUCK_7500_TO_12000_KG
            - RIGID_TRUCK_8500_TO_10500_KG
            - RIGID_TRUCK_10500_TO_12500_KG
            - RIGID_TRUCK_12000_TO_14000_KG
            - RIGID_TRUCK_12500_TO_14000_KG
            - RIGID_TRUCK_14000_TO_16000_KG
            - RIGID_TRUCK_14000_TO_20000_KG
            - RIGID_TRUCK_16000_TO_20000_KG
            - RIGID_TRUCK_20000_TO_25000_KG
            - RIGID_TRUCK_20000_TO_26000_KG
            - RIGID_TRUCK_25000_TO_29000_KG
            - RIGID_TRUCK_26000_TO_28000_KG
            - RIGID_TRUCK_28000_TO_32000_KG
            - RIGID_TRUCK_29000_TO_31000_KG
            - RIGID_TRUCK_31000_TO_60000_KG
            - RIGID_TRUCK_OVER_32000_KG
            - ARTICULATED_TRUCK_UP_TO_18000_KG
            - ARTICULATED_TRUCK_18000_TO_24000_KG
            - ARTICULATED_TRUCK_24000_TO_27000_KG
            - ARTICULATED_TRUCK_27000_TO_29000_KG
            - ARTICULATED_TRUCK_UP_TO_28000_KG
            - ARTICULATED_TRUCK_28000_TO_34000_KG
            - ARTICULATED_TRUCK_29000_TO_31000_KG
            - ARTICULATED_TRUCK_31000_TO_35000_KG
            - ARTICULATED_TRUCK_34000_TO_40000_KG
            - ARTICULATED_TRUCK_35000_TO_40000_KG
            - ARTICULATED_TRUCK_40000_TO_43000_KG
            - ARTICULATED_TRUCK_40000_TO_50000_KG
            - ARTICULATED_TRUCK_43000_TO_46000_KG
            - ARTICULATED_TRUCK_46000_TO_49000_KG
            - ARTICULATED_TRUCK_49000_TO_60000_KG
            - ARTICULATED_TRUCK_50000_TO_60000_KG
            - ARTICULATED_TRUCK_60000_TO_64000_KG
            - ARTICULATED_TRUCK_64000_TO_74000_KG
            - DUMP_TRUCK_3500_TO_4500_KG
            - DUMP_TRUCK_4500_TO_5500_KG
            - DUMP_TRUCK_5500_TO_7000_KG
            - DUMP_TRUCK_7000_TO_8500_KG
            - DUMP_TRUCK_8500_TO_10500_KG
            - DUMP_TRUCK_10500_TO_12500_KG
            - DUMP_TRUCK_12500_TO_14000_KG
            - DUMP_TRUCK_14000_TO_16000_KG
            - DUMP_TRUCK_16000_TO_20000_KG
            - DUMP_TRUCK_20000_TO_25000_KG
            - DUMP_TRUCK_25000_TO_29000_KG
            - DUMP_TRUCK_29000_TO_31000_KG
            - DUMP_TRUCK_31000_TO_60000_KG
            - LCV_BELOW_8500_LB
            - RIGID_TRUCK_8500_TO_14000_LB
            - RIGID_TRUCK_14000_TO_19500_LB
            - RIGID_TRUCK_19500_TO_33000_LB
            - RIGID_TRUCK_OVER_33000_LB
            - ARTICULATED_TRUCK_19500_TO_33000_LB
            - ARTICULATED_TRUCK_OVER_33000_LB
        yearOfManufacture:
          type: number
          format: integer
          description: >
            Year the vehicle was manufactured.  It is only included if a
            specific year was used in the calculation, and is omitted when the
            calculation is instead based on a weighted aggregation of vehicle
            years.
        emissionsStandard:
          type: string
          description: >
            The vehicle’s emissions class. This property is returned only when
            an emissions class was used in the calculation, and is omitted if no
            emissions class was used, for example when the energy type was
            `ELECTRICITY`. <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
        loadFactor:
          type: number
          format: double
          description: >
            The percentage utilisation of vehicle capacity.  It is omitted when
            `loadDistribution` is `FTL`.
        emptyRunning:
          type: number
          format: double
          description: |
            The percentage of the trip completed without carrying a load. 
        loadDistribution:
          type: string
          description: |
            The cargo's share of vehicle load. <enumTable>
              <enumItem>
                <enumValue>`FTL`</enumValue>
                <enumHeading>Full truck load</enumHeading>
                <enumDescription>
                  The shipment is allocated exclusive use of the vehicle. 
                </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 the load factor.
                </enumDescription>
              </enumItem>
            </enumTable>
          enum:
            - FTL
            - LTL
        methodology:
          type: string
          description: >
            The methodology used to calculate the emissions generated by
            transporting the cargo on a road vehicle. <enumTable>
              <enumItem>
                <enumValue>`SFC_GLEC_FRAMEWORK_3_2`</enumValue>
                <enumHeading>SFC GLEC framework version 3.2</enumHeading>
                <enumDescription>Calculations based upon the default emission intensity factors published in version 3.2 of Smart Freight Center's Global Logistics Emissions Council Framework</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`INFRAS_HBEFA_5_1`</enumValue>
                <enumHeading>INFRAS HBEFA version 5.1</enumHeading>
                <enumDescription>Calculations used the INFRAS Handbook Emission Factors for Road Transport model</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`EPA_MOVES_5_0_1`</enumValue>
                <enumHeading>EPA MOVES version 5.0.1</enumHeading>
                <enumDescription>Calculations used the Environmental Protection Agency’s Motor Vehicle Emission Simulator model</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`CONSUMPTION_BASED_CALCULATION`</enumValue>
                <enumHeading>Consumption based calculation</enumHeading>
                <enumDescription>Emissions calculated from actual consumption, such as fuel volume, fuel weight, electricity use, or vehicle efficiency</enumDescription>
              </enumItem>
            </enumTable>
          enum:
            - SFC_GLEC_FRAMEWORK_3_2
            - INFRAS_HBEFA_5_1
            - EPA_MOVES_5_0_1
            - CONSUMPTION_BASED_CALCULATION
        distanceMeasurementMethod:
          type: string
          description: >
            The method used to measurement the distance between the origin and
            destination. <enumItem>
              <enumValue>`GREAT_CIRCLE_DISTANCE`</enumValue>
              <enumHeading>Great circle distance</enumHeading>
              <enumDescription>Distance measured as the shortest path between two points on the Earth's surface.</enumDescription>
            </enumItem> <enumItem>
              <enumValue>`SHORTEST_FEASIBLE_DISTANCE`</enumValue>
              <enumHeading>Shortest feasible distance</enumHeading>
              <enumDescription>Distance measured as the shortest feasible rail route between the origin and destination.</enumDescription>
            </enumItem>
          enum:
            - GREAT_CIRCLE_DISTANCE
            - SHORTEST_FEASIBLE_DISTANCE
        calculationBasis:
          type: string
          description: >
            The input data category that forms the basis for emissions
            calculation methodology selection. <enumItem>
              <enumValue>`PRIMARY_DATA`</enumValue>
              <enumHeading>Primary data</enumHeading>
              <enumDescription>Emissions calculated using measured operational data or calculations based on direct measurements.</enumDescription>
            </enumItem> <enumItem>
              <enumValue>`MODEL`</enumValue>
              <enumHeading>Model</enumHeading>
              <enumDescription>Emissions calculated using a model based on available operational parameters.</enumDescription>
            </enumItem> <enumItem>
              <enumValue>`DEFAULT_FACTORS`</enumValue>
              <enumHeading>Default factors</enumHeading>
              <enumDescription>Emissions calculated using default emission factors or emission-intensity values when primary or modeled data is unavailable.</enumDescription>
            </enumItem>
          enum:
            - PRIMARY_DATA
            - MODEL
            - DEFAULT_FACTORS
        distanceAdjustmentFactor:
          type: string
          description: >
            The factor used to account for the difference between the calculated
            distance and the distance basis required by the calculation
            methodology. For default factors, this adjustment may be built into
            the factor itself rather than applied to the calculated distance.
        route:
          type: string
          description: >
            An encoded polyline (Google Polyline Algorithm format) representing
            the full route, including any ferry segments.  It is only included
            when the request’s `options.includeRoutePolylines` is `TRUE`.
    SubWaterTransportResult:
      type: object
      title: Roll-on/roll-off ferry result
      required:
        - type
        - start
        - end
        - activityDistanceKm
        - activityTonneKm
        - transportIntensities
        - transportEmissions
        - resultsByEnergyType
        - vehicle
        - capacityBand
        - methodology
        - distanceMeasurementMethod
        - calculationBasis
        - distanceAdjustmentFactor
      properties:
        type:
          type: string
          enum:
            - WATER
          description: >
            A water transport operation that functions as a sub-segment of a
            road transport operation, using roll-on/roll-off (RO-RO) ferries
            where the road vehicle is driven onto the vessel,  with no logistics
            hubs added between the RO-RO operation and the surrounding road
            segments.          
        start:
          $ref: '#/components/schemas/ResponseLocation'
          description: The starting ferry terminal location.
        end:
          $ref: '#/components/schemas/ResponseLocation'
          description: The ending ferry terminal location.
        activityDistanceKm:
          type: number
          format: double
          description: The distance in kilometers across the sub-transport operation.
        activityTonneKm:
          type: number
          format: double
          description: The transport activity for the sub-transport operation.
        transportIntensities:
          $ref: '#/components/schemas/TransportIntensities'
          description: >-
            The combined emission intensity rates across the sub-transport
            operation.
        transportEmissions:
          $ref: '#/components/schemas/TransportEmissions'
          description: The total emissions for the sub-transport operation.
        resultsByEnergyType:
          type: array
          items:
            $ref: '#/components/schemas/TransportOperationResultByEnergyType'
          description: >-
            A list of results by fuel or electrical energy used in the
            sub-transport operation.
        vehicle:
          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
        capacityBand:
          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
        methodology:
          type: string
          description: >
            The methodology used to calculate the emissions generated by
            transporting the cargo on a maritime vessel. <enumTable>
              <enumItem>
                <enumValue>`SFC_GLEC_FRAMEWORK_3_2`</enumValue>
                <enumHeading>SFC GLEC framework version 3.2</enumHeading>
                <enumDescription>Calculations based upon the default emission intensity factors published in version 3.2 of Smart Freight Center's Global Logistics Emissions Council Framework</enumDescription>
              </enumItem>
            </enumTable>
          enum:
            - SFC_GLEC_FRAMEWORK_3_2
        distanceMeasurementMethod:
          type: string
          description: >
            The method used to measurement the distance between the origin and
            destination. <enumItem>
              <enumValue>`GREAT_CIRCLE_DISTANCE`</enumValue>
              <enumHeading>Great circle distance</enumHeading>
              <enumDescription>Distance measured as the shortest path between two points on the Earth's surface.</enumDescription>
            </enumItem> <enumItem>
              <enumValue>`SHORTEST_FEASIBLE_DISTANCE`</enumValue>
              <enumHeading>Shortest feasible distance</enumHeading>
              <enumDescription>Distance measured as the shortest feasible route between the origin and destination.</enumDescription>
            </enumItem>
          enum:
            - GREAT_CIRCLE_DISTANCE
            - SHORTEST_FEASIBLE_DISTANCE
        calculationBasis:
          type: string
          description: >
            The input data category that forms the basis for emissions
            calculation methodology selection. <enumItem>
              <enumValue>`PRIMARY_DATA`</enumValue>
              <enumHeading>Primary data</enumHeading>
              <enumDescription>Emissions calculated using measured operational data or calculations based on direct measurements.</enumDescription>
            </enumItem> <enumItem>
              <enumValue>`MODEL`</enumValue>
              <enumHeading>Model</enumHeading>
              <enumDescription>Emissions calculated using a model based on available operational parameters.</enumDescription>
            </enumItem> <enumItem>
              <enumValue>`DEFAULT_FACTORS`</enumValue>
              <enumHeading>Default factors</enumHeading>
              <enumDescription>Emissions calculated using default emission factors or emission-intensity values when primary or modeled data is unavailable.</enumDescription>
            </enumItem>
          enum:
            - PRIMARY_DATA
            - MODEL
            - DEFAULT_FACTORS
        distanceAdjustmentFactor:
          type: string
          description: >
            The factor used to account for the difference between the calculated
            distance and the distance basis required by the calculation
            methodology. For default factors, this adjustment may be built into
            the factor itself rather than applied to the calculated distance.
        route:
          type: string
          description: >
            An encoded polyline (Google Polyline Algorithm format) representing
            the full route taken by the ferry.  It is only included when the
            request’s `options.includeRoutePolylines` is `TRUE`.
    WeightedTransportChainResult:
      type: object
      title: Weight transport chain result
      required:
        - type
        - start
        - end
        - activityDistanceKm
        - activityTonneKm
        - transportIntensities
        - transportEmissions
        - hubIntensities
        - hubEmissions
        - totalIntensities
        - totalEmissions
        - elements
      properties:
        type:
          type: string
          description: >
            The value corresponds directly to the mode specified within a parent
            `WEIGHTED_MODES` transport operation. First and last mile `ROAD`
            transport operations may surround the primary transport operation
            within the `elements` of this object. <enumTable>
              <enumItem>
                <enumValue>`AIR`</enumValue>
                <enumHeading>Air</enumHeading>
                <enumDescription>The result is from a primary transport mode using aircraft.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`RAIL`</enumValue>
                <enumHeading>Rail</enumHeading>
                <enumDescription>The result is from a primary transport mode using trains.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ROAD`</enumValue>
                <enumHeading>Road</enumHeading>
                <enumDescription>The result is from a primary transport mode using road vehicles.</enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`WATER`</enumValue>
                <enumHeading>Water</enumHeading>
                <enumDescription>The result is from a primary transport mode using maritime vessels.</enumDescription>
              </enumItem>
            </enumTable>
          enum:
            - AIR
            - RAIL
            - ROAD
            - WATER
        start:
          $ref: '#/components/schemas/ResponseLocation'
          description: The starting location.
        end:
          $ref: '#/components/schemas/ResponseLocation'
          description: The ending location.
        activityDistanceKm:
          type: number
          format: double
          description: >
            The distance in kilometers across the *primary* transport operation
            and any first/last mile road operations. The value is prorated
            according to the percentage assigned to this transport operation
            within its parent `WEIGHTED_MODES` transport operation.
        activityTonneKm:
          type: number
          format: double
          description: >
            The transport activity for the *primary* transport operation and any
            first/last mile road operations. The value is prorated according to
            the percentage assigned to this transport operation within its
            parent `WEIGHTED_MODES` transport operation.
        transportIntensities:
          $ref: '#/components/schemas/TransportIntensities'
          description: >
            The combined emission intensity rates across the *primary* transport
            operation and any first/last mile road operations.
        transportEmissions:
          $ref: '#/components/schemas/TransportEmissions'
          description: >
            The total emissions for the *primary* transport operation and any
            first/last mile road operations. The emissions are prorated
            according to the percentage assigned to this transport operation
            within its parent `WEIGHTED_MODES` transport operation.
        hubIntensities:
          $ref: '#/components/schemas/HubIntensities'
          description: >
            Weighted modes The combined emission intensity rates for any hubs
            inserted between the *primary* transport opertion and any first/last
            mile road operations.
        hubEmissions:
          $ref: '#/components/schemas/HubEmissions'
          description: >
            Weighted modes The total emissions for any hubs inserted between the
            *primary* transport opertion and any first/last mile road
            operations. The emissions are prorated according to the percentage
            assigned to this transport operation within its parent
            `WEIGHTED_MODES` transport operation.
        totalIntensities:
          $ref: '#/components/schemas/TotalIntensities'
          description: >-
            Weighted modes The combined emission intensity rates across the
            *primary* transport opertion, first/last mile road operations, and
            any hubs inserted inbetween.
        totalEmissions:
          $ref: '#/components/schemas/TotalEmissions'
          description: >-
            The total emissions for the *primary* transport opertion, first/last
            mile road operations, and any hubs inserted inbetween.
        elements:
          type: array
          description: >
            Array of realized transport operations produced from one of the
            `weightedTransportOperations` within a `WEIGHT_MODES` transport
            chain element. Each array entry contains the emissions calculation
            result for an actual transport or automatically inserted hub
            operation  that arose when the requested weighted transport
            operation was fully realized.

            A single requested item may expand into multiple operations such
            address:
              - First mile and last mile road transported.
              - Automatically inserted hub operations.
              - The *primary* transport operation that was defined in the transport chain item.

            These operations appear in the order they occur.
          items:
            oneOf:
              - $ref: '#/components/schemas/AirTransportResult'
              - $ref: '#/components/schemas/RailTransportResult'
              - $ref: '#/components/schemas/RoadTransportResult'
              - $ref: '#/components/schemas/WaterTransportResult'
              - $ref: '#/components/schemas/HubOperationResult'
    TransportOperationResultByEnergySource:
      type: object
      required:
        - energySource
        - factorReference
        - emissions
      properties:
        energySource:
          type: string
          description: >
            Results for an individual energy source that forms part of an energy
            type result. <enumTable>
              <enumItem>
                <enumValue>`ELECTRICAL_GRID`</enumValue>
                <enumHeading>Electrical grid</enumHeading>
                <enumDescription>
                  Electricity supplied from a country's public power network.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`FOSSIL_DIESEL`</enumValue>
                <enumHeading>Fossil diesel</enumHeading>
                <enumDescription>
                  Petroleum derived fuel used in diesel engines.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`FOSSIL_GASOLINE`</enumValue>
                <enumHeading>Fossil gasoline</enumHeading>
                <enumDescription>
                  Petroleum derived gasoline (petrol) used in spark ignition engines.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`FOSSIL_JET_KEROSENE`</enumValue>
                <enumHeading>Fossil jet kerosene</enumHeading>
                <enumDescription>
                  Petroleum derived aviation fuel.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`FOSSIL_LNG`</enumValue>
                <enumHeading>Fossil LNG</enumHeading>
                <enumDescription>
                  Liquefied natural gas from fossil sources.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`FOSSIL_LPG`</enumValue>
                <enumHeading>Fossil LPG</enumHeading>
                <enumDescription>
                  Liquefied petroleum gas (propane/butane mix) from fossil sources.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`FOSSIL_CNG`</enumValue>
                <enumHeading>Fossil CNG</enumHeading>
                <enumDescription>
                  Compressed natural gas from fossil sources.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`FOSSIL_HFO`</enumValue>
                <enumHeading>Fossil HFO</enumHeading>
                <enumDescription>
                  Heavy fuel oil from fossil sources, typically used in marine engines.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`FOSSIL_VLSFO`</enumValue>
                <enumHeading>Fossil VLSFO</enumHeading>
                <enumDescription>
                  Very low sulfur fuel oil from fossil sources, used in marine applications.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`FOSSIL_MDO`</enumValue>
                <enumHeading>Fossil MDO</enumHeading>
                <enumDescription>
                  Marine diesel oil from fossil sources, used in marine engines.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`BIODIESEL_FROM_RAPESEED`</enumValue>
                <enumHeading>Biodiesel from rapeseed</enumHeading>
                <enumDescription>
                  Biodiesel produced from rapeseed (canola) oil.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`BIODIESEL_FROM_UCO`</enumValue>
                <enumHeading>Biodiesel from UCO</enumHeading>
                <enumDescription>
                  Biodiesel produced from used cooking oil (UCO).
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`BIODIESEL_FROM_SOYBEAN`</enumValue>
                <enumHeading>Biodiesel from soybean</enumHeading>
                <enumDescription>
                  Biodiesel produced from soybean oil.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`BIOETHANOL_BLEND`</enumValue>
                <enumHeading>Bioethanol blend</enumHeading>
                <enumDescription>
                  A country specific blend of bioethanol energy source components.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`BIOETHANOL_FROM_CORN`</enumValue>
                <enumHeading>Bioethanol from corn</enumHeading>
                <enumDescription>
                  Bioethanol produced from corn (maize) feedstock.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`HVO_FROM_UCO`</enumValue>
                <enumHeading>HVO from UCO</enumHeading>
                <enumDescription>
                  Hydrotreated vegetable oil (HVO) produced from used cooking oil (UCO).
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`HVO_FROM_RAPESEED`</enumValue>
                <enumHeading>HVO from rapeseed</enumHeading>
                <enumDescription>
                  Hydrotreated vegetable oil (HVO) produced from rapeseed (canola) oil.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`HVO_FROM_TALLOW`</enumValue>
                <enumHeading>HVO from tallow</enumHeading>
                <enumDescription>
                  Hydrotreated vegetable oil (HVO) produced from animal fat (tallow).
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`BIO_CNG_FROM_MAIZE`</enumValue>
                <enumHeading>Bio-CNG from maize</enumHeading>
                <enumDescription>
                  Bio-compressed natural gas (biomethane) produced from maize feedstock.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`BIO_CNG_FROM_MANURE`</enumValue>
                <enumHeading>Bio-CNG from manure</enumHeading>
                <enumDescription>
                  Bio-compressed natural gas (biomethane) produced from manure.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`BIO_CNG_FROM_BIOWASTE`</enumValue>
                <enumHeading>Bio-CNG from biowaste</enumHeading>
                <enumDescription>
                  Bio-compressed natural gas (biomethane) produced from organic waste (biowaste).
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`BIO_LNG_FROM_MAIZE`</enumValue>
                <enumHeading>Bio-LNG from maize</enumHeading>
                <enumDescription>
                  Bio-liquefied natural gas (liquefied biomethane) produced from maize feedstock.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`BIO_LNG_FROM_MANURE`</enumValue>
                <enumHeading>Bio-LNG from manure</enumHeading>
                <enumDescription>
                  Bio-liquefied natural gas (liquefied biomethane) produced from manure.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`BIO_LNG_FROM_BIOWASTE`</enumValue>
                <enumHeading>Bio-LNG from biowaste</enumHeading>
                <enumDescription>
                  Bio-liquefied natural gas (liquefied biomethane) produced from organic waste (biowaste).
                </enumDescription>
              </enumItem>
            </enumTable>
          enum:
            - ELECTRICAL_GRID
            - FOSSIL_DIESEL
            - FOSSIL_GASOLINE
            - FOSSIL_JET_KEROSENE
            - FOSSIL_LNG
            - FOSSIL_LPG
            - FOSSIL_CNG
            - FOSSIL_HFO
            - FOSSIL_VLSFO
            - FOSSIL_MDO
            - BIODIESEL_FROM_RAPESEED
            - BIODIESEL_FROM_UCO
            - BIODIESEL_FROM_SOYBEAN
            - BIOETHANOL_BLEND
            - BIOETHANOL_FROM_CORN
            - HVO_FROM_UCO
            - HVO_FROM_RAPESEED
            - HVO_FROM_TALLOW
            - BIO_CNG_FROM_MAIZE
            - BIO_CNG_FROM_MANURE
            - BIO_CNG_FROM_BIOWASTE
            - BIO_LNG_FROM_MAIZE
            - BIO_LNG_FROM_MANURE
            - BIO_LNG_FROM_BIOWASTE
        factorReference:
          type: string
          description: >
            The reference source for the emission factors, such as g CO₂e/MJ,
            used to calculate emissions for the energy source. <enumTable>
              <enumItem>
                <enumValue>`SFC_GLEC_3_0_NORTH_AMERICAN_EMISSION_FACTORS`</enumValue>
                <enumHeading>SFC GLEC 3.0 North American emission factors</enumHeading>
                <enumDescription>
                  Smart Freight Centre's GLEC Framework version 3.0 emission factors for fuels in North America.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`SFC_GLEC_3_2_AIR_FUEL_EMISSION_FACTORS`</enumValue>
                <enumHeading>SFC GLEC 3.2 air fuel emission factors</enumHeading>
                <enumDescription>
                  Smart Freight Centre's GLEC Framework version 3.2 emission factors for aircraft fuels worldwide.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`SFC_GLEC_3_2_EUROPE_EMISSION_FACTORS`</enumValue>
                <enumHeading>SFC GLEC 3.2 Europe emission factors</enumHeading>
                <enumDescription>
                  Smart Freight Centre's GLEC Framework version 3.2 emission factors for fuels in Europe.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`SFC_GLEC_3_2_NORTH_AMERICAN_EMISSION_FACTORS`</enumValue>
                <enumHeading>SFC GLEC 3.2 North American emission factors</enumHeading>
                <enumDescription>
                  Smart Freight Centre's GLEC Framework version 3.2 emission factors for fuels in North America.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`SFC_GLEC_3_2_CHINA_EMISSION_FACTORS`</enumValue>
                <enumHeading>SFC GLEC 3.2 China emission factors</enumHeading>
                <enumDescription>
                  Smart Freight Centre's GLEC Framework version 3.2 emission factors for fuels in China.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`SFC_GLEC_3_2_INDIA_EMISSION_FACTORS`</enumValue>
                <enumHeading>SFC GLEC 3.2 India emission factors</enumHeading>
                <enumDescription>
                  Smart Freight Centre's GLEC Framework version 3.2 emission factors for fuels in India.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`SFC_GLEC_3_2_MARINE_EMISSION_FACTORS`</enumValue>
                <enumHeading>SFC GLEC 3.2 marine emission factors</enumHeading>
                <enumDescription>
                  Smart Freight Centre's GLEC Framework version 3.2 emission factors for marine fuels worldwide.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ECOTRANSIT_4_0_EUROPE_FOSSIL_FUEL_EMISSION_FACTORS`</enumValue>
                <enumHeading>EcoTransIT 4.0 Europe fossil fuel emission factors</enumHeading>
                <enumDescription>
                  EcoTransIT version 4.0 emission factors for fossil fuels in Europe.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ECOTRANSIT_4_0_EUROPE_BIOGENIC_FUEL_EMISSION_FACTORS`</enumValue>
                <enumHeading>EcoTransIT 4.0 Europe biogenic fuel emission factors</enumHeading>
                <enumDescription>
                  EcoTransIT version 4.0 emission factors for biogenic fuels in Europe.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`ECOTRANSIT_4_0_MEDIUM_VOLTAGE_EMISSION_FACTORS`</enumValue>
                <enumHeading>EcoTransIT 4.0 medium voltage emission factors</enumHeading>
                <enumDescription>
                  EcoTransIT version 4.0 emission factors for medium voltage electricity use.
                </enumDescription>
              </enumItem>
              <enumItem>
                <enumValue>`EMBER_ENERGY_2024`</enumValue>
                <enumHeading>Ember Energy 2024</enumHeading>
                <enumDescription>
                  Ember Energy 2024 emissions factors for electricity generation in different countries.
                </enumDescription>
              </enumItem>
            </enumTable>
          enum:
            - SFC_GLEC_3_0_NORTH_AMERICAN_EMISSION_FACTORS
            - SFC_GLEC_3_2_AIR_FUEL_EMISSION_FACTORS
            - SFC_GLEC_3_2_EUROPE_EMISSION_FACTORS
            - SFC_GLEC_3_2_NORTH_AMERICAN_EMISSION_FACTORS
            - SFC_GLEC_3_2_CHINA_EMISSION_FACTORS
            - SFC_GLEC_3_2_INDIA_EMISSION_FACTORS
            - SFC_GLEC_3_2_MARINE_EMISSION_FACTORS
            - ECOTRANSIT_4_0_EUROPE_FOSSIL_FUEL_EMISSION_FACTORS
            - ECOTRANSIT_4_0_EUROPE_BIOGENIC_FUEL_EMISSION_FACTORS
            - ECOTRANSIT_4_0_MEDIUM_VOLTAGE_EMISSION_FACTORS
            - EMBER_ENERGY_2024
        emissions:
          $ref: '#/components/schemas/TransportEmissions'
          description: >-
            The emissions released by producing, processing, delivering and
            using the energy source.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key for authenticating requests. Include this header in all calls.

````