Shipment

Schema for an Echo Global Logistics shipment (LTL, TL, or PL)

FreightLogisticsShippingLTLTruckloadFreight BrokerageTransportationSupply Chain

Properties

Name Type Description
shipmentId string Echo-assigned shipment identifier
proNumber string PRO number assigned to the shipment
mode string Shipment mode
status string Current shipment status
pickupDate string Requested or confirmed pickup date (YYYY-MM-DD)
origin object
destination object
commodities array
accessorials array List of accessorial service codes
referenceNumbers array
View JSON Schema on GitHub

JSON Schema

shipment.json Raw ↑
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/echo-global/main/json-schema/shipment.json",
  "title": "Shipment",
  "description": "Schema for an Echo Global Logistics shipment (LTL, TL, or PL)",
  "type": "object",
  "required": ["origin", "destination", "pickupDate", "mode"],
  "properties": {
    "shipmentId": {
      "type": "string",
      "description": "Echo-assigned shipment identifier"
    },
    "proNumber": {
      "type": "string",
      "description": "PRO number assigned to the shipment"
    },
    "mode": {
      "type": "string",
      "description": "Shipment mode",
      "enum": ["LTL", "TL", "PL"]
    },
    "status": {
      "type": "string",
      "description": "Current shipment status"
    },
    "pickupDate": {
      "type": "string",
      "format": "date",
      "description": "Requested or confirmed pickup date (YYYY-MM-DD)"
    },
    "origin": {
      "$ref": "#/definitions/Location"
    },
    "destination": {
      "$ref": "#/definitions/Location"
    },
    "commodities": {
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "#/definitions/Commodity"
      }
    },
    "accessorials": {
      "type": "array",
      "description": "List of accessorial service codes",
      "items": {
        "type": "string"
      }
    },
    "referenceNumbers": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/ReferenceNumber"
      }
    }
  },
  "definitions": {
    "Location": {
      "type": "object",
      "description": "Shipment location (origin or destination)",
      "required": ["companyName", "address1", "city", "stateOrProvince", "postalCode", "country", "locationType"],
      "properties": {
        "companyName": {
          "type": "string",
          "maxLength": 60
        },
        "address1": {
          "type": "string",
          "maxLength": 60
        },
        "address2": {
          "type": "string",
          "maxLength": 60
        },
        "city": {
          "type": "string",
          "minLength": 2,
          "maxLength": 60
        },
        "stateOrProvince": {
          "type": "string",
          "minLength": 2,
          "maxLength": 2,
          "description": "Two-letter state or province code"
        },
        "postalCode": {
          "type": "string",
          "minLength": 5
        },
        "country": {
          "type": "string",
          "enum": ["US", "CA", "MX"]
        },
        "locationType": {
          "type": "string",
          "enum": ["BUSINESS", "CONSTRUCTIONSITE", "RESIDENTIAL", "TRADESHOW"],
          "description": "Type of location for accessorial assessment"
        },
        "contact": {
          "$ref": "#/definitions/Contact"
        }
      }
    },
    "Contact": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        },
        "email": {
          "type": "string",
          "format": "email"
        }
      }
    },
    "Commodity": {
      "type": "object",
      "description": "Freight commodity line item",
      "required": ["description", "pieces", "weight"],
      "properties": {
        "description": {
          "type": "string",
          "maxLength": 100
        },
        "pieces": {
          "type": "integer",
          "minimum": 1
        },
        "packageType": {
          "type": "string",
          "description": "Type of packaging (e.g., PLT, BOX, CRT)"
        },
        "weight": {
          "type": "number",
          "minimum": 0.1
        },
        "weightUnit": {
          "type": "string",
          "enum": ["LB", "KG"],
          "default": "LB"
        },
        "length": {
          "type": "number",
          "description": "Length in inches"
        },
        "width": {
          "type": "number",
          "description": "Width in inches"
        },
        "height": {
          "type": "number",
          "description": "Height in inches"
        },
        "freightClass": {
          "type": "string",
          "description": "NMFC freight class",
          "enum": ["50", "55", "60", "65", "70", "77.5", "85", "92.5", "100", "110", "125", "150", "175", "200", "250", "300", "400", "500"]
        },
        "nmfcNumber": {
          "type": "string",
          "description": "NMFC item number"
        },
        "isHazmat": {
          "type": "boolean",
          "default": false
        }
      }
    },
    "ReferenceNumber": {
      "type": "object",
      "required": ["type", "value"],
      "properties": {
        "type": {
          "type": "string",
          "enum": ["purchase_order", "bill_of_lading", "order", "customer_reference", "pro_number"]
        },
        "value": {
          "type": "string"
        }
      }
    }
  }
}