{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/carbonara-co2-org/json-schema/carbonara-co2-org-recommend-settings-schema.json",
  "title": "RecommendSettings",
  "x-generated": "2026-11-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/carbonara-co2-org-openapi.yaml#/components/schemas/RecommendSettings",
  "type": "object",
  "properties": {
    "kinds": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "road_to_rail",
          "road_to_waterway",
          "road_to_short_sea",
          "air_to_sea",
          "air_to_rail",
          "other_port",
          "fuller_loads",
          "larger_truck",
          "electric_truck",
          "bio_lng_truck"
        ]
      },
      "description": "Kinds to try; empty means all (fuller_loads only with a load)"
    },
    "min_road_km": {
      "type": "number",
      "description": "Road legs longer than this are tried on rail, waterway and short sea (default 300)"
    },
    "min_main_km": {
      "type": "number",
      "description": "The rail, waterway or sea part must be longer than this in a straight line (default 100)"
    },
    "max_port_road_km": {
      "type": "number",
      "description": "Road to and from a waterway or sea port within this of it in a straight line (default 150)"
    },
    "terminal": {
      "type": "string",
      "enum": [
        "nearest",
        "best_trip"
      ]
    },
    "rail_vehicle": {
      "type": "string",
      "description": "default freight_train"
    },
    "waterway_vehicle": {
      "type": "string",
      "description": "default container_barge"
    },
    "short_sea_vehicle": {
      "type": "string",
      "description": "default roro"
    },
    "sea_vehicle": {
      "type": "string",
      "description": "default container_ship (air to sea)"
    },
    "port_radius_km": {
      "type": "number",
      "description": "Other ports within this of the port used now (default 800)"
    },
    "max_ports": {
      "type": "integer",
      "description": "Other ports to try per port (default 4)"
    },
    "load_tonnes": {
      "type": "number"
    },
    "load_factor": {
      "type": "number"
    },
    "empty_trip_factor": {
      "type": "number"
    },
    "load_vehicle": {
      "type": "string"
    },
    "source": {
      "type": "string",
      "description": "Where the load values come from"
    }
  }
}