TMS Dynamic Rating & Operations

Unpaved Road & Jobsite Accessorial Rating: Dynamic TMS Architecture

A comprehensive technical practice and implementation guide for building enterprise-grade dynamic rate matrices that automatically calculate and apply gravel road surcharges, construction jobsite accessorials, and off-road detention billing using GIS, geofencing, and telematics integration.

Commercial motor carriers and bulk haulers that regularly service construction sites, wind farm installations, mining operations, and other unpaved industrial facilities encounter significant operational and financial risk from accelerated equipment wear, reduced transit speeds, and extended dwell times. Traditional static rate sheets and manual accessorial billing create revenue leakage, billing disputes, and margin erosion.

Strong Tower Consulting, LLC has spent more than 18 years designing and implementing dynamic rating engines for complex transportation networks. This guide details the architecture, data models, business rules, integration patterns, and implementation roadmap required to build a scalable, multi-carrier unpaved road and jobsite accessorial solver inside modern Transportation Management Systems (TMS).

The Operational Challenge

Routes serving wind turbine component deliveries, frac sand hauls, or heavy civil construction projects routinely traverse:

These conditions generate incremental costs in maintenance, tires, fuel, driver time, and equipment downtime. Without automated detection and rating, carriers either absorb the cost or engage in protracted disputes over manually submitted accessorials. A dynamic TMS rate matrix eliminates both problems by calculating charges in real time based on authoritative geospatial and telematics data.

High-Level Solution Architecture

The recommended architecture consists of five loosely coupled layers that operate within or alongside the core TMS:

Figure 1: Dynamic Unpaved Road & Jobsite Accessorial Solver Architecture
[External Data Sources]
      ├── GIS Roadway Classification (DOT, USGS, HERE)
      ├── Jobsite Geofence Registry (Polygon + Metadata)
      ├── Carrier Rate Matrices (JSON / SQL)
      └── Telematics Stream (Speed, Location, Accelerometer)

                 ↓ (Event-Driven Ingestion)

[Data Enrichment & Classification Engine]
      ├── Road Segment Classifier (Surface Type, Speed Limit vs Actual)
      ├── Geofence Engine (Jobsite Entry/Exit, Dwell Calculation)
      ├── Speed Telemetry Analyzer (Off-Road Low-Speed Detection)
      └── Event Log (Immutable audit trail)

                 ↓ (Enriched Load Segment)

[Dynamic Rating Rules Engine]
      ├── Multi-Carrier Rate Matrix Lookup
      ├── Conditional Accessorial Calculator
      ├── Gravel Percentage & Distance Weighting
      ├── Jobsite Accessorial & Detention Logic
      └── Output: Line-item accessorials with confidence score

                 ↓ (Rated Segments)

[TMS Integration Layer]
      ├── Load Tender / Order Update
      ├── Carrier Rate Confirmation
      ├── Invoice Generation
      └── Dispute Resolution Dashboard

                 ↓ (Billing & Analytics)

[Monitoring & Continuous Improvement]
      └── Performance Dashboard + ML Feedback Loop
      

Core Data Models and Mapping

Roadway Classification Table

Column Type Description Source
segment_id UUID Unique road segment identifier GIS provider
geometry LINESTRING PostGIS or equivalent geometry DOT / HERE
surface_type ENUM asphalt | concrete | gravel | dirt | unimproved USGS / state DOT
gravel_index DECIMAL(3,2) 0.0 - 1.0 representing gravel severity Derived
posted_speed_limit INT MPH DOT
effective_date DATE When classification becomes active Maintenance log

Jobsite Geofence Registry

Column Type Description
site_id UUID Unique jobsite identifier
customer_id UUID Bill-to or project owner
polygon POLYGON Geographic boundary (WGS84)
access_type ENUM construction | wind_farm | mining | industrial
base_accessorial_rate DECIMAL(7,2) Flat fee per visit (carrier-specific)
detention_rate_per_hour DECIMAL(5,2) After free time threshold
free_time_minutes INT Typically 30-60 minutes

Dynamic Rate Matrix Rules Engine

The heart of the solution is a declarative rules engine that evaluates each load segment against carrier-specific matrices. Strong Tower recommends storing these matrices in a normalized JSONB column or dedicated relational tables that support rapid lookup.

Example Carrier Rate Matrix (JSON representation)

{
  "carrier_id": "CRR-7842",
  "effective_date": "2024-01-01",
  "rules": [
    {
      "type": "gravel_surcharge",
      "trigger": {
        "gravel_percentage": { "gte": 0.35 },
        "distance_miles": { "gte": 5 }
      },
      "calculation": {
        "method": "per_mile",
        "rate": 0.85,
        "cap": 425.00
      },
      "conditions": ["surface_type IN ('gravel','dirt')"]
    },
    {
      "type": "jobsite_accessorial",
      "trigger": {
        "geofence_match": true,
        "access_type": ["construction", "wind_farm"]
      },
      "calculation": {
        "method": "flat",
        "rate": 185.00
      }
    },
    {
      "type": "off_road_detention",
      "trigger": {
        "average_speed_mph": { "lte": 8 },
        "location": "inside_geofence"
      },
      "calculation": {
        "method": "per_minute",
        "rate": 2.15,
        "free_minutes": 45
      }
    }
  ]
}

During rating, the TMS executes these rules in priority order, records the decision path, and attaches a confidence score (0-100) based on data freshness and GPS accuracy.

Integration Workflows and Telematics Mapping

Real-time data ingestion is accomplished through event-driven architecture. Primary integration points include:

Telematics to Accessorial Mapping Table

Telematics Event Derived Metric Accessorial Trigger Typical Threshold
GPS + Speed telemetry Instantaneous speed & 5-minute rolling average Off-road low-speed detention < 8 mph inside geofence
Accelerometer / IMU data Rough road index Gravel severity multiplier > 1.8 g variance
Geofence enter/exit Dwell time calculation Jobsite accessorial + detention > 45 minutes
Road segment crossing Gravel distance percentage Unpaved road surcharge > 35% of total segment

Implementation Roadmap

  1. Discovery & Data Foundation (6-8 weeks): Map current accessorial revenue leakage, ingest and normalize GIS roadway layers, establish jobsite geofence library with customer participation.
  2. Rules Engine Build (8-10 weeks): Develop declarative rating matrix schema, implement segment classification microservice, integrate with existing TMS rating kernel.
  3. Telematics & Real-Time Layer (10-12 weeks): Connect ELD streams, build geofence and speed analytics pipeline, create immutable event ledger.
  4. Carrier Onboarding & Matrix Population (ongoing): Work with key carriers to codify their accessorial tariffs into the dynamic matrix format. Begin with top 20% of volume carriers.
  5. Testing, Pilot, and Go-Live (6 weeks): Parallel run against manual billing, measure accuracy and revenue capture, refine thresholds.
  6. Analytics & Continuous Improvement: Build executive dashboard showing accessorial yield, dispute reduction, and equipment maintenance correlation.

Quantifiable Outcomes

Carriers and fleets that have implemented similar dynamic rating architectures with Strong Tower Consulting guidance routinely achieve:

Enterprise Systems Advisory

Ready to modernize your transportation management software, eliminate manual spreadsheets, or optimize telematics and carrier qualification workflows? Contact Strong Tower Consulting for direct architect guidance.

Schedule Architecture Consultation