Detecting route point visits
Visits to route points (orders and depots) are detected automatically. This helps to log violations of the delivery sequence (if the Delivery by order statuses option is off) and to automatically detect deliveries.
Note
Depot visits are detected only if you set up depot export to Track & Trace or if depots are added to routes as separate locations via the API (for such locations, type
= depot
). For more information, see Courier visits to depots.
Detection parameter settings
- Detection radius, m
-
The detection radius for delivering the order can be adjusted:
-
For the entire company. The parameter applies to all company orders if there are no individual parameters set for them. The default is 500 m. To specify a different value in the company settings, enable the automatic delivery detection feature or contact support (if you don't want to enable automatic delivery detection). The maximum detection radius is 2000 m.
-
For a depot. The parameter applies to all orders on the route that starts at this depot. To set the detection radius for a depot, use the
mark_delivered_radius
parameter in the API method when creating a depot or editing one or multiple depots. The priority of this radius supercedes the company-level radius. -
For an order. To set it, use the
mark_delivered_radius
parameter in the API method when creating an order or editing one or multiple orders. This radius takes priority over the company-level and depot-level radiuses.
You can set the depot visit detection radius (different from the company-level setting) via the interface in the depot settings or using the API method when creating one or multiple depots in the parameter
mark_route_started_radius
. -
- Detection coefficient
-
The default value is 0.5. You can specify a different value in the company settings yourself (only if automatic delivery detection is enabled) or by contacting support (if you don't want to enable automatic delivery detection).
- Time to spend in the radius for detection, s
-
A visit is detected after the period of , during which the courier must remain within the detection radius (in the delivery area).
Note
If you don't specify the time parameters, the visit will be detected when the courier enters the radius.
For the order, the time when the courier is in the delivery area is calculated using the formula:
, where
- is a detection coefficient.
- is the handling time per order
service_duration_s
. - is the handling time per address
shared_service_duration_s
.
The calculation for the depot uses the
service_duration_s
loading/unloading time. You can also set this value using the API method for creating one or multiple depots. You have to set this parameter if you use depot detection. - ETA calculation influence
-
The moment when visit detection is triggered depends on the ETA calculation method:
- For
arrival_time
: seconds after the courier enters the delivery area. - For
delivery_time
: seconds from the start of delivery, but not earlier than the delivery window.
- For
- Detection of the next point in sequence
-
You can enable the option Detection is only allowed for the next point in sequence in the company settings. Use this option if you need to adhere to the order delivery sequence on the route.
If the option is enabled:
- Detection is allowed only for the point that's next in the sequence.
- Detection doesn't trigger when the courier enters the radius of another point.
There's an exception: you can fictitiously mark the visit of the starting depot along with the detection of the order that comes first in sequence after the depot.
If the option is disabled:
- The algorithm marks the completion of orders one by one.
- Only the orders that follow one another and multi-orders can be marked as completed simultaneously at one location.
- The algorithm takes into account the order handling time and matches it with the time spent within the radius.
Example 1
A courier delivers medical supplies with different temperature requirements. To do this, you set the order delivery sequence (sequence_order
): Order 1 → Order 2 → Order 3 → Order 4 → Order 5 → Order 6 → Order 7. The option Detection is only allowed for the next point in sequence is enabled.
Orders 1 and 3 are located at the same address but should be delivered in a different sequence. As a result, the detection of order 3 won't be triggered when completing order 1, even if the courier spends enough time in the delivery zone.
{{ api-request }} ⋅ {{ api-response }} ⋅ {{ open-map }}
Example 2
The same as in example 1, but the option Automatic delivery detection is enabled. The sequence for orders 1 and 3 (sequence_order
) is not set. Handling time for each order is 20 minutes, with detection rate at 0.5.
Time to spend in the radius to trigger a visit is 10 minutes. Order 1 will be marked as completed 10 minutes after the courier enters its radius. The algorithm takes into account the order handling time, so order 3 won't be marked for another 10 minutes — while the courier is still handling order 1. For order 3 to be marked as completed, the courier needs to spend at least 30 minutes in the delivery zone. This includes the handling time for order 1 and the time spent within the radius for order 3.
{{ api-request }} ⋅ {{ api-response }} ⋅ {{ open-map }}
How visit time is recorded
The point visit is detected using the time on the courier's device.
For example, the courier visited the order at 17:00, but the internet connection on their device was lost and only restored at 17:10. At 17:05, the Routing Workspace dashboard won't show that the order has been visited. The manager will receive information about the order visit only at 17:10 after the courier's internet connection was restored and the device sent data to the Track & Trace server. In this case, the order visit time will be recorded as 17:00.