Trimble · Schema

Trimble PC*MILER Route

A commercial vehicle route calculated by Trimble PC*MILER

ConstructionTransportationGeospatialGPSMappingBIMFleet ManagementCollaborationAgriculture

Properties

Name Type Description
totalMiles number Total route distance in miles
totalHours number Total estimated drive time in hours
routeType string Route optimization method
vehicleType string
vehicleParameters object
stops array Ordered list of route stops
legs array Individual route legs between consecutive stops
tolls object
fuelCost number Estimated fuel cost in USD
directions array Turn-by-turn directions
View JSON Schema on GitHub

JSON Schema

trimble-route-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://pcmiler.alk.com/schemas/route",
  "title": "Trimble PC*MILER Route",
  "description": "A commercial vehicle route calculated by Trimble PC*MILER",
  "type": "object",
  "properties": {
    "totalMiles": {
      "type": "number",
      "minimum": 0,
      "description": "Total route distance in miles"
    },
    "totalHours": {
      "type": "number",
      "minimum": 0,
      "description": "Total estimated drive time in hours"
    },
    "routeType": {
      "type": "string",
      "enum": ["Practical", "Shortest", "Fastest", "Tolls", "Avoid53"],
      "description": "Route optimization method"
    },
    "vehicleType": {
      "type": "string",
      "enum": ["Truck", "LightTruck", "Auto", "Motorcycle"]
    },
    "vehicleParameters": {
      "$ref": "#/$defs/VehicleParameters"
    },
    "stops": {
      "type": "array",
      "description": "Ordered list of route stops",
      "minItems": 2,
      "items": {
        "$ref": "#/$defs/RouteStop"
      }
    },
    "legs": {
      "type": "array",
      "description": "Individual route legs between consecutive stops",
      "items": {
        "$ref": "#/$defs/RouteLeg"
      }
    },
    "tolls": {
      "$ref": "#/$defs/TollSummary"
    },
    "fuelCost": {
      "type": "number",
      "description": "Estimated fuel cost in USD"
    },
    "directions": {
      "type": "array",
      "description": "Turn-by-turn directions",
      "items": {
        "$ref": "#/$defs/DirectionStep"
      }
    }
  },
  "required": ["totalMiles", "totalHours", "stops"],
  "$defs": {
    "VehicleParameters": {
      "type": "object",
      "properties": {
        "height": {
          "type": "number",
          "description": "Vehicle height in feet"
        },
        "weight": {
          "type": "number",
          "description": "Gross vehicle weight in pounds"
        },
        "length": {
          "type": "number",
          "description": "Vehicle length in feet"
        },
        "width": {
          "type": "number",
          "description": "Vehicle width in feet"
        },
        "hazmat": {
          "type": "string",
          "enum": ["None", "General", "Explosive", "InhalationHazard", "Radioactive", "Flammable", "Corrosive", "Oxidizer", "Poisonous"]
        },
        "axles": {
          "type": "integer",
          "minimum": 2,
          "maximum": 9
        }
      }
    },
    "RouteStop": {
      "type": "object",
      "properties": {
        "address": {
          "type": "string",
          "description": "Formatted address of the stop"
        },
        "city": {
          "type": "string"
        },
        "state": {
          "type": "string"
        },
        "zip": {
          "type": "string"
        },
        "country": {
          "type": "string"
        },
        "latitude": {
          "type": "number"
        },
        "longitude": {
          "type": "number"
        },
        "stopType": {
          "type": "string",
          "enum": ["Origin", "Waypoint", "Destination"]
        }
      }
    },
    "RouteLeg": {
      "type": "object",
      "properties": {
        "legMiles": {
          "type": "number"
        },
        "legHours": {
          "type": "number"
        },
        "origin": {
          "$ref": "#/$defs/RouteStop"
        },
        "destination": {
          "$ref": "#/$defs/RouteStop"
        }
      }
    },
    "TollSummary": {
      "type": "object",
      "properties": {
        "totalCost": {
          "type": "number",
          "description": "Total toll cost in USD"
        },
        "currency": {
          "type": "string",
          "default": "USD"
        },
        "tollRoads": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "roadName": {
                "type": "string"
              },
              "cost": {
                "type": "number"
              }
            }
          }
        }
      }
    },
    "DirectionStep": {
      "type": "object",
      "properties": {
        "direction": {
          "type": "string",
          "description": "Turn instruction text"
        },
        "distance": {
          "type": "number",
          "description": "Distance to next step in miles"
        },
        "driveTime": {
          "type": "string",
          "description": "Drive time formatted string (HH:MM)"
        },
        "roadName": {
          "type": "string"
        },
        "state": {
          "type": "string"
        },
        "latitude": {
          "type": "number"
        },
        "longitude": {
          "type": "number"
        }
      }
    }
  }
}