Ingest position pings from ELD or telematics providers (via their REST or streaming APIs) into a position-events stream; normalize fields to a common schema: asset_id, latitude, longitude, speed, heading, and UTC timestamp.
Define geofences for origin, destination, intermediate stops, and shipper-defined waypoints; evaluate each incoming position against all active geofences using a point-in-polygon algorithm, and emit ENTER/EXIT events with dwell time calculation.
Maintain a rolling actual-path record per shipment and compare cumulative distance and elapsed time against the scheduled route to detect deviations, extended dwell, or missed checkpoints.
Feed actual position, speed, and remaining distance into an ETA model — at minimum a distance/average-speed model, optionally augmented with historical lane performance data and live traffic APIs — and recompute ETA on each position update.
Publish ETA delta events (e.g., now expected N minutes late) to downstream consumers (TMS, customer notification service, dock scheduling system) only when the delta exceeds a configurable threshold to avoid notification fatigue.
Persist the full position history for each shipment to support post-delivery analytics, claims documentation (e.g., proving cold-chain breach location), and carrier performance benchmarking.
Known gotchas
ELD position ping frequency varies by regulation and device — US ELD mandate requires logging at a minimum frequency that may be insufficient for tight geofence accuracy at highway speeds; account for large position gaps in geofence entry/exit detection.
GPS coordinate accuracy in urban canyons or near loading docks degrades significantly; a naive point-in-polygon check can generate spurious ENTER/EXIT events — apply a minimum-dwell filter (e.g., require N consecutive pings inside the fence) before triggering events.
ETA models trained on historical data become inaccurate during unusual conditions (severe weather, port congestion, holidays); surface model confidence intervals alongside ETA values so downstream systems can choose to suppress notifications when uncertainty is high.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp