Every fresh position a tracker sends is evaluated the moment it arrives. PortaPro draws a small circular geofence around every yard and every customer service address automatically, no setup, and compares each new position against them. Events are typed by who crossed: a unit entering a customer site is a *delivery*, a truck entering it is an *arrival*.
Event types
Which ones notify
Per-user routing lives under Settings → Notifications as two rows, GPS theft alerts and GPS maintenance alerts, each with an SMS switch. See Activity Feed, Alert Routing, Speed Alert, and Custom Zones.
Dedupe and freshness
One alert of a kind per device per day. Events only fire for positions that arrive within 30 minutes of when they happened; a tracker that burst-uploads six hours of backlog after a dead zone fills in history silently rather than paging you about a theft that is five hours stale. A late alert trains you to ignore the channel.
Maintenance due from the tracker's odometer
If a vehicle has a preventive-maintenance schedule with a mileage interval (Fleet → Maintenance), the tracker's odometer is compared to it every time a trusted reading lands. Within 500 miles of the interval, or past it, admins, dispatchers and mechanics get "Oil change due soon: 2019 Dodge Ram 3500, 320 mi to go" once a week per schedule. Schedules by date or engine hours are unaffected. The intervals were already in PortaPro; nothing compared them to a mileage that updates itself until the tracker did.
Fuel and odometer both depend on a vehicle tracker that publishes engine data over the OBD port; the fit verdict at purchase says whether your truck does. Trucks without engine data still get location, geofences and proof of service.
