Skip to main content

Road Obstructions

A municipality already knows where its roads are closed. It approved the works weeks ago, and the approved plan is sitting in a mailbox. What it cannot do is get that knowledge into the vehicles driving through those streets tomorrow morning.

So the postal van meets the barrier, backs out and goes round. Then the home care visit. Then the waste truck, the service car, the inspection round. A few minutes per vehicle, per round, every day the works last. Nobody logs it and it never appears as a line in a budget, but it is paid daily, by the same organisation that issued the permit.

The same closure costs far more when an ambulance meets it, or a fire truck that cannot turn around in a narrow street. There the minutes spent backing out are the minutes that mattered.

In every one of those cases the information existed. It simply never reached the vehicle.

Yggio closes that gap. It turns obstructions into roadblocks, and every route Yggio calculates is calculated with the active roadblocks already applied, so the route goes around the blockage instead of ending at it. The complete route is returned over the API, which is what lets a fleet system or a navigation service pick it up.

Routing happens in Yggio today. There is no integration yet that pushes roadblocks into a third-party navigation service, so a vehicle gets the detour by asking Yggio for the route rather than by its own navigation app knowing about the closure.

An obstruction is the thing in the road, planned or not. A roadblock is how Yggio represents it, as a device, which is what makes it usable by everything else.

Where roadblocks come from

Two sources, and they run together.

Planned works, announced by email

Road works are announced in advance, as an approved traffic arrangement plan sent by email. The decision has already been taken elsewhere; the email carries the result. It is written for a person: free text, an attachment, a street name, a date range.

The Road Maintenance connector polls that mailbox, accepts mail only from senders you have allowed, and hands each message to an LLM agent that reads it and returns the details as structured data. A roadblock is created from the result.

The value here is that nothing changes for the people doing the announcing. They keep sending the same email to the same address. The reading is what Yggio automates, and reading unstructured documents is exactly what a language model is good at.

Unplanned obstructions, detected by sensors

Not every blockage is announced. A vehicle blocks a lane, an accident closes a street, a delivery stands where it should not.

Traffic sensors on the road see this as an anomaly: counts collapse, or speeds drop to nothing. The set-road-blocked-if-traffic-anomaly translator turns that pattern into a roadblock candidate, with the road name, the location and a geofence, so an obstruction nobody reported still reaches the routing engine.

What happens to a roadblock

A roadblock is a device in Yggio, of the Road block device type, so everything that works on a device works on it: it appears on the map, in views and in reports, it can be shared, and its lifetime can be managed like any other data.

The road-obstruction flow publishes roadblocks to the routing service. Routes calculated after that avoid the blocked segment, which is how a delivery round or a fire truck is sent round a closure rather than into it.

Because the roadblocks carry a time range, a closure applies while the works are live and stops applying afterwards, without anyone having to remember to remove it.

Roadblock devices listed in a Yggio view, with columns for active state, start and end time, whether emergency vehicles may pass, the affected area, the restriction type and a description

The columns are an ordinary device view, so they are yours to choose. The one worth noting is whether emergency vehicles may pass: that is the canPass decision the parser made from the email, carried through to something an operator can read at a glance.

Routing around it

Yggio's map includes Navigation. Set a start and a destination and it returns the fastest route, calculated with the roadblocks already applied, so the route goes around a closure rather than through it.

Two things can be varied:

  • Vehicle profile, Car or Truck. A truck is routed on roads that can carry it, which matters most when a detour would otherwise send it down a street it cannot use.
  • Ignore one-way streets, for vehicles entitled to disregard them. An emergency vehicle may take a one-way street the wrong way where a delivery van may not, and that often decides whether a detour is short or long.

The same route is available to any system that can call the API, so it does not have to be read off the map. The response holds the complete route: the full list of coordinates along it, and the turn instructions. A fleet system, a dispatch tool or a navigation service can request a route and use the result directly.

Setting it up

StepWhere
Create an AI connector of type Agent, with a prompt describing what to extractAI Connector
Create the Road Maintenance connector against the mailbox, with allowed senders and the agentRoad Maintenance Connector
Add set-road-blocked-if-traffic-anomaly to traffic sensors, for unannounced obstructionsState and occupancy translators
Assign the road-obstruction flow so roadblocks reach the routing serviceData Flows, Timers and Geofences

A note on trust

Two safeguards are worth understanding, because this feature can close a road.

Only allowed senders are processed. The connector ignores mail from any address not on its list. That list is the access control for the entire feature, so it should hold the contractors and case handlers entitled to announce works, and nobody else.

The LLM reads, it does not decide. Its job is to extract details from a document that a human already wrote and a process already approved. It is not judging whether a road should close.

Background

The approach was developed with the emergency services on Gotland, where the distances are long, the road network is thin, and a detour discovered at the barrier is expensive in exactly the situations where time is scarce.