// route_optimization · functional_coverage · august_2026

What route optimization APIs can really model

Eleven route optimization APIs tested against 149 business constraints drawn from real operations, across eight sectors. One question per cell: is the constraint explicitly documented and enabled through the API? More than 1,600 evaluations, all traceable down to the source-file line.

Hover a cell to read the detail. Each column is a constraint, each row an engine. Click to open the full card in the explorer.
149
constraints evaluated
11
engines compared
93.3%
Kardinal coverage, top of the panel
+18.8 pts
points ahead of the runner-up (Solvice, 74.5%)
+48.7 pts
points ahead of the market average (44.6%)
// methodology

How these figures are computed

Public documentation only. A constraint counts when it is explicitly documented and enabled through the API. Two methodological points are worth reading before the numbers.

Source

Public documentation

Only the public documentation of each API counts as proof. For every constraint Kardinal covers, the implementation proof is provided in the explorer.

Scope

149 constraints, 8 sectors

149 business rules across 11 functional families. 21 belong to a generic core, 128 are tied to one of seven sectors: parcel, retail, bulky, cold-chain, long distance, waste, field services.

Scoring

Three states, not two

Each cell is covered, partial or absent. Partial counts as half a constraint, which avoids treating an incomplete implementation as a plain absence.

score = ( covered + 0.5 × partial ) / 149
Panel

11 engines

Kardinal, plus 10 market solutions: Google Route Optimization, GraphHopper, HERE Tour Planning V3, LogisticsOS, Mapbox Optimization API v2, NextBillion.ai, Routific, Solvice V2, Timefold Pickup & Delivery routing, Verso.

Two methodological points to keep in mind

The reference set is not neutral. It gathers business constraints documented and met in real operations. Kardinal covers 139 of 149, or 93.3%, and provides the implementation proof for each of those 139. The figure to read is not that score, but the gap between the other APIs and a catalogue of real business needs.

No popularity filter was applied. A constraint enters the scope because it matches a documented operational need, not because several vendors handle it. Every constraint counts for one.

Evaluated in August 2026. Every cell reflects the public documentation as consulted at that date. These APIs evolve quickly: a version released since may have closed some of the gaps shown here.

// part_1 · overall_ranking

Overall ranking across the 149 constraints

The solid bar measures fully covered constraints, the hatched band partial coverage. Kardinal leads at 93.3%; no competing engine reaches three quarters of the reference set.

01
93.3%
139 full · 0 partial · 10 none
02
74.5%
102 full · 18 partial · 29 none
03
66.1%
91 full · 15 partial · 43 none
04
59.4%
73 full · 31 partial · 45 none
05
57.4%
72 full · 27 partial · 50 none
06
51.0%
66 full · 20 partial · 63 none
07
39.9%
59 full · 1 partial · 89 none
08
32.2%
44 full · 8 partial · 97 none
09
29.2%
38 full · 11 partial · 100 none
10
22.8%
31 full · 6 partial · 112 none
11
13.8%
19 full · 3 partial · 127 none
premium > 70 % standard 50 – 70 % basic < 50 %

Calculation: (covered + 0.5 × partial) / 149.

What the ranking shows

  • Solvice1st in the competitor panel at 74.5%, i.e. 102 fully covered constraints out of 149. The only one past the two-thirds mark. Evaluated on platform V2.
  • LogisticsOS2nd in the panel at 66.1% with 91 full constraints. A broad profile, close to the top without reaching it.
  • HEREAt 59.4% with 31 partial covers, the most of the panel. Many constraints approached without being fully modeled.
  • GoogleJust behind at 57.4%, 72 full constraints and 27 partial. Position sensitive to how partial is counted.
  • GraphHopperA clear-cut profile: 59 fully covered constraints and a single partial. What it does, it does clearly, but the scope stays narrow.
  • MapboxLast at 13.8%. Coverage is limited to the universal core plus a few extensions.
// part_2 · coverage_by_family

Coverage by functional family

The 149 constraints split into 11 families. This is where profiles diverge: an engine can be strong on time windows and absent on route structure.

Functional familyKardinalGoogleGraphHopperHERELogisticsOSMapboxNextBillion.aiRoutificSolviceTimefoldVerso
Objectives & balancing36 constraints100%63%42%68%64%1%50%42%72%40%22%
Cost & fleet economics24 constraints75%50%4%40%75%0%17%0%54%0%4%
Route structure & limits23 constraints100%43%48%48%70%22%57%4%72%4%43%
Pickup, delivery & returns20 constraints95%65%60%70%45%35%70%35%90%70%35%
Capacity & load compatibility9 constraints100%56%44%44%56%11%67%11%89%44%11%
Service time9 constraints100%89%22%100%100%11%22%11%100%11%100%
Assignment, continuity & access9 constraints67%33%33%33%33%0%33%17%67%17%0%
Shifts, breaks & timing7 constraints100%71%71%43%71%36%57%43%71%36%36%
Travel time & road network6 constraints100%50%92%100%83%25%100%42%58%67%25%
Real-time & re-optimization4 constraints100%50%0%63%88%0%100%25%100%100%63%
Time windows2 constraints100%100%50%100%100%100%100%50%100%75%50%

Reading: share of the family's constraints covered by the engine, partial counted 0.5. The number of constraints in each family is shown under its name. A 2-constraint family only moves in 25% steps.

// part_3 · coverage_by_sector

Coverage by sector

Each constraint carries a scope: generic, or tied to a sector. Two readings are possible, and they do not tell the same story.

SectorKardinalGoogleGraphHopperHERELogisticsOSMapboxNextBillion.aiRoutificSolviceTimefoldVerso
Parcel & express41 constraints95%66%52%73%77%26%68%38%79%48%44%
Retail last-mile37 constraints97%70%53%72%82%31%70%41%78%46%46%
Bulky & heavy goods37 constraints95%70%50%70%80%31%68%39%78%45%46%
Cold-chain last-mile40 constraints98%73%56%74%79%29%75%40%80%50%45%
Heavy Long Distance44 constraints95%63%44%61%66%26%59%28%69%40%36%
Waste Collection40 constraints98%66%49%73%74%26%65%35%73%48%40%
Field Services36 constraints97%71%54%71%78%29%72%43%78%54%46%

Shown: generic core + sector constraints. This is the reading closest to a real need: a carrier in a sector must handle both the common core and the constraints specific to its trade.

// part_4 · blind_spots

The market's blind spots

Ten constraints in the reference set are covered, even partially, by none of the ten competing engines. Kardinal covers all ten. The cards below show seven of them: three rules repeat identically across business variants and are merged into a single card, with every constraint id listed on it. Almost all of them concern operations where a route is not a simple sequence of deliveries.

C-81 · 0 / 10 competitors · Kardinal covered

Breaks allowed mid-travel

Allow a break to be taken partway through a driving leg between two stops, not only while parked at a stop, so a required pause can be placed wherever it best fits along the road.

Shifts, breaks & timing · scope Heavy Long Distance
C-82 · 0 / 10 competitors · Kardinal covered

Breaks allowed during service

Allow a break to interrupt an ongoing on-site service, so a long task can be paused and resumed around a required break rather than forcing the entire service before or after it.

Shifts, breaks & timing · scope Field Services
C-102 · 0 / 10 competitors · Kardinal covered

Consolidation loop generation

Build grouping loops that let several orders travel together on a direct point-to-point trip, consolidating volume into line-haul legs rather than routing each order separately.

Route structure & limits · scope Heavy Long Distance
C-103 · 0 / 10 competitors · Kardinal covered

Preloaded first trip

The first trip of the day leaves the depot already loaded with a predetermined set of orders, so the optimizer plans that trip around the goods physically on board rather than choosing its contents freely, while later trips are planned normally.

Route structure & limits · scope Heavy Long Distance
C-104 · C-105 · 0 / 10 competitors · Kardinal covered

Site concurrency limit

Limit how many vehicles may be present at the same site at the same time, for safety or because loading doors are limited, spreading arrivals across the day so the on-site count never exceeds the allowed maximum.

Route structure & limits · scope Heavy Long Distance, Waste Collection · 2 business variants
C-132 · 0 / 10 competitors · Kardinal covered

Roll-off container swaps

Handle skip and roll-off operations where the vehicle drops an empty container and collects a full one at the same site or in a defined sequence, tracking empty and full containers as distinct loads carried on the vehicle.

Pickup, delivery & returns · scope Waste Collection
C-140 · C-141 · C-142 · 0 / 10 competitors · Kardinal covered

Vehicle-specific time windows

Attach time windows that apply only to certain vehicles. A driver holding the store key can deliver over a wider window than one who does not, so the same stop carries different windows depending on who serves it.

Assignment, continuity & access · scope Retail last-mile, Cold-chain last-mile, Heavy Long Distance · 3 business variants

Covered by a single competitor, besides Kardinal

  • C-01Prioritized optimization goals · HERE
  • C-19Charter out only as overflow · HERE
  • C-20Subcontract collections only as overflow · HERE
  • C-55Per-visit facility cost · Solvice
  • C-56+4Time-of-day-dependent hourly cost · Solvice · 5 business variants
  • C-113Per-site delivery/collection limit · Solvice
  • C-114Per-site throughput limit · Solvice
  • C-127+1Conditional returns pickup · Solvice · 2 business variants
  • C-134Stops bound to a PUDO · HERE
  • C-143+2Solver-decided job synchronization · Solvice · 3 business variants

Covered by all ten competitors

  • C-67Custom service time per stop · Service time
  • C-78Flexible lunch break · Shifts, breaks & timing
  • C-83Custom start/end per vehicle · Route structure & limits
  • C-106Custom capacity dimensions · Capacity & load compatibility
  • C-115+6In-route pickup and delivery · Pickup, delivery & returns · 7 business variants
  • C-135Hard time windows · Time windows
// constraint_explorer

Explorer of the 149 constraints

The entire source file, row by row. Click a row to read the original definition and the Kardinal-side implementation proof.

149 / 149 constraints shown
ConstraintFamilyScopeKar.GoogleGraphHopperHERELogisticsOSMapboxNextBillion.aiRoutificSolviceTimefoldVerso

Definitions of the 149 benchmark constraints

C-01 · Prioritized optimization goals (Objectives & balancing, Generic)
Optimize several goals in strict priority order rather than as a weighted blend: first minimize the number of routes, then total distance, then total working time. A lower-priority goal is only improved when it does not degrade a higher-priority one. Covered by : Kardinal, HERE.
C-02 · Minimize lateness on booked appointments (Objectives & balancing, Bulky & heavy goods)
Complex bulky deliveries are always made by appointment, so hitting the agreed slot is the primary SLA. Minimize any lateness against each booked appointment window, since arriving late is the main service failure customers experience. Covered by : Kardinal, Routific, Timefold, NextBillion.ai, Solvice, Google, HERE, LogisticsOS.
C-03 · Minimize lateness on technician appointments (Objectives & balancing, Field Services)
Field-service visits are scheduled appointments the customer sets aside time to receive. Minimize lateness against the agreed arrival time so the technician is on site when the customer is expecting them and their reserved time is not wasted. Covered by : Kardinal, Routific, Timefold, NextBillion.ai, Solvice, Google, HERE, LogisticsOS.
C-04 · Minimize lateness against the announced ETA (Objectives & balancing, Parcel & express)
At the start of the route a delivery slot or predictive ETA is communicated to the end customer. Minimize lateness against what was announced, so that traffic or delays erode the promised time as little as possible. Covered by : Kardinal, Routific, Timefold, NextBillion.ai, Solvice, Google, HERE, LogisticsOS.
C-05 · Minimize lateness on preferred store windows (Objectives & balancing, Retail last-mile)
Some B2B customers have preferred delivery windows to be served before their working day starts (opticians, shops, and similar). Minimize lateness against these preferred windows so stores are stocked before they open. Covered by : Kardinal, Routific, Timefold, NextBillion.ai, Solvice, Google, HERE, LogisticsOS.
C-06 · Minimize lateness before service opening (Objectives & balancing, Cold-chain last-mile)
Some venues (restaurants, bars, hotels) want to be delivered as far ahead of their own service opening as possible. Minimize lateness relative to that opening time so cold-chain goods arrive with the most margin before service begins. Covered by : Kardinal, Routific, Timefold, NextBillion.ai, Solvice, Google, HERE, LogisticsOS.
C-07 · Even out working time across courier routes (Objectives & balancing, Parcel & express)
Limit the differences in working time between courier routes, so rounds finish at broadly comparable times and no courier is left with a disproportionately long day while others finish early. Covered by : Kardinal, Routific, NextBillion.ai, Solvice, GraphHopper, LogisticsOS.
C-08 · Even out working time across retail rounds (Objectives & balancing, Retail last-mile)
Limit the differences in working time between store rounds, so each round takes a comparable share of the day and no vehicle serving the area ends up with a disproportionately long day. Covered by : Kardinal, Routific, NextBillion.ai, Solvice, GraphHopper, LogisticsOS.
C-09 · Even out working time across crews (Objectives & balancing, Bulky & heavy goods)
Limit the differences in working time between routes, so no crew is left with an excessively long day relative to the others across the fleet. Covered by : Kardinal, Routific, NextBillion.ai, Solvice, GraphHopper, LogisticsOS.
C-10 · Even out working time across cold-chain routes (Objectives & balancing, Cold-chain last-mile)
Limit the differences in working time between routes, so no single route runs disproportionately long, which also helps keep time-on-vehicle in check on the busiest route. Covered by : Kardinal, Routific, NextBillion.ai, Solvice, GraphHopper, LogisticsOS.
C-11 · Even out working time across technicians (Objectives & balancing, Field Services)
Limit the differences in working time between technicians within a plan, so each technician's day stays broadly in line with the others and assignments feel fair across the team. Covered by : Kardinal, Routific, NextBillion.ai, Solvice, GraphHopper, LogisticsOS.
C-12 · Minimize and report fleet-mix CO2 (Objectives & balancing, Parcel & express)
With a mixed fleet of cargo bikes and vans spanning electric and combustion engines, optimize which orders go on which vehicle type to minimize total combined CO2, and compute emissions at both route and parcel level so each drop carries an accurate footprint. Covered by : Kardinal, Google, HERE (partial).
C-13 · Minimize CO2 and allocate it per delivery unit (Objectives & balancing, Retail last-mile)
Optimize total CO2 across routes and, above all, compute it so emissions can be allocated per delivery, per customer, per pallet, or per tonne for reporting to B2B clients. Covered by : Kardinal, Google, HERE (partial).
C-14 · Minimize CO2 across a heterogeneous van fleet with reporting (Objectives & balancing, Bulky & heavy goods)
The fleet mixes several van types with different emission factors, in a segment where shippers have strong green-delivery expectations. Minimize total CO2 using the per-vehicle factors and compute a defensible footprint per route and per shipment for reporting. Covered by : Kardinal, Google, HERE (partial).
C-15 · Minimize and report cold-chain CO2 (Objectives & balancing, Cold-chain last-mile)
Optimize total CO2 across a heterogeneous fleet and compute it per delivery, customer, pallet, or tonne, so both the optimization and the reporting hold up for demanding cold-chain clients. Covered by : Kardinal, Google, HERE (partial).
C-16 · Minimize load-weighted CO2 on long hauls (Objectives & balancing, Heavy Long Distance)
On long, heavily loaded hauls, fuel and emissions are a major cost that is both ecological and economic. Account for the load carried on each leg so the plan favors dropping the heaviest goods earliest, keeping the vehicle from carrying heavy loads over long distances. Covered by : Kardinal, Google, HERE (partial).
C-17 · Minimize load-weighted CO2 on collection routes (Objectives & balancing, Waste Collection)
As on long hauls, account for the load accumulated on each leg so the route performs its largest collections closest to the disposal facility, avoiding carrying a heavy load over long distances and cutting fuel use and emissions. Covered by : Kardinal, Google, HERE (partial).
C-18 · Report distance-based CO2 (Objectives & balancing, Field Services)
With no goods carried, the footprint reduces to distance travelled, optionally weighted by vehicle type (electric versus combustion). Optimization is close to plain distance minimization, so the value here is mainly computing CO2 per technician or per visit for reporting. Covered by : Kardinal, Google, HERE (partial).
C-19 · Charter out only as overflow (Objectives & balancing, Heavy Long Distance)
Keep the owned fleet the cheaper choice by rule, not by tuning. Minimize spot-haulage spend first, owned running cost second, in strict priority order: no spot truck is chartered while an owned truck sits idle, even when a clever plan would shave kilometers by doing so. Spot is chartered per trip, sometimes plus a per-kilometer variable; the owned fleet carries a blended fuel-and-maintenance per-kilometer cost. Covered by : Kardinal, HERE.
C-20 · Subcontract collections only as overflow (Objectives & balancing, Waste Collection)
Treat external collection as overflow capacity, never as a cheaper substitute. Minimize subcontracted-collection spend first, owned running cost second, in strict priority order: owned trucks are kept working before any round is handed to a subcontractor, regardless of the kilometer gain. Subcontracted collection is billed per trip or per tonne; the owned fleet runs on a base per-kilometer cost. Covered by : Kardinal, HERE.
C-21 · Use backup vehicles only as a last resort (Objectives & balancing, Parcel & express)
Rank vehicle categories and use the less-preferred ones as little as possible before touching the rest. Here, minimize reliance on backup and emergency vehicles first, then optimize use of the regular fleet, so overflow capacity is only tapped when the standard fleet genuinely cannot absorb the load. Covered by : Kardinal, NextBillion.ai (partial), Solvice, Google (partial), HERE (partial), Verso (partial), LogisticsOS (partial).
C-22 · Rank providers by preference, across as many tiers as needed (Objectives & balancing, Retail last-mile)
Express a preference order across provider categories rather than a single owned-versus-subcontracted split: prefer subcontractors over internal where that is the operating model, and rank subcontractors among themselves so the better-performing partners are used before the weaker ones. The optimizer minimizes use of lower-ranked categories before higher-ranked ones, over an arbitrary number of tiers. Covered by : Kardinal, NextBillion.ai (partial), Solvice, Google (partial), HERE (partial), Verso (partial), LogisticsOS (partial).
C-23 · Rank vehicle categories by footprint and emissions (Objectives & balancing, Bulky & heavy goods)
Rank vehicle categories and minimize the use of the less-preferred ones first, along whichever axis matters. Two common cases: minimize the use of wider vehicles before more standard light ones, to avoid clogging narrow or busy streets; and prefer clean vehicles over polluting ones, using electric or low-emission vans before combustion vehicles. The less-preferred category is only brought in when the preferred one cannot carry the load, and several such priorities can be combined. Covered by : Kardinal, NextBillion.ai (partial), Solvice, Google (partial), HERE (partial), Verso (partial), LogisticsOS (partial).
C-24 · Rank providers by preference, across as many tiers as needed (Objectives & balancing, Cold-chain last-mile)
Express a preference order across provider categories rather than a single owned-versus-subcontracted split: prefer the chosen carriers, and rank refrigerated subcontractors among themselves so the better-performing ones are used before the weaker ones. The optimizer minimizes use of lower-ranked categories first, over an arbitrary number of tiers. Covered by : Kardinal, NextBillion.ai (partial), Solvice, Google (partial), HERE (partial), Verso (partial), LogisticsOS (partial).
C-25 · Use backup trucks only as a last resort (Objectives & balancing, Heavy Long Distance)
Rank truck categories and minimize reliance on backup and emergency trucks first, then optimize use of the regular fleet, so overflow trucks are only brought in when the standard fleet cannot cover the hauls. Covered by : Kardinal, NextBillion.ai (partial), Solvice, Google (partial), HERE (partial), Verso (partial), LogisticsOS (partial).
C-26 · Use backup trucks only as a last resort (Objectives & balancing, Waste Collection)
Rank truck categories and minimize reliance on backup and emergency trucks first, then optimize use of the regular fleet, so overflow trucks are only brought in when the standard fleet cannot cover the collections. Covered by : Kardinal, NextBillion.ai (partial), Solvice, Google (partial), HERE (partial), Verso (partial), LogisticsOS (partial).
C-27 · Preferred assignment by zone (Objectives & balancing, Parcel & express)
Steer deliveries toward preferred resources by zone as a soft preference, so a courier who knows an area is favored for it without being forced, and the optimizer trades the preference off against efficiency rather than treating it as a hard rule. Covered by : Kardinal, Timefold, Solvice, GraphHopper, Google (partial), HERE, LogisticsOS.
C-28 · Preferred assignment by zone and customer (Objectives & balancing, Retail last-mile)
Steer deliveries toward preferred resources by zone and, additionally, by customer, since some driver-store pairs work better than others. Both remain soft preferences the optimizer favors when it can, not constraints it must satisfy. Covered by : Kardinal, Timefold, Solvice, GraphHopper, Google (partial), HERE, LogisticsOS.
C-29 · Preferred crew for heavy or high-value deliveries (Objectives & balancing, Bulky & heavy goods)
Favor, without requiring, a stronger setup for the deliveries that sit in the gray zone: a two-person crew or a tail-lift vehicle when items get heavy but not to the point of being mandatory, or a senior crew for high-value goods to reduce the risk of damage. The optimizer prefers these pairings when feasible and falls back otherwise. Covered by : Kardinal, Timefold, Solvice, GraphHopper, Google (partial), HERE, LogisticsOS.
C-30 · Preferred carrier for the usual customer book (Objectives & balancing, Cold-chain last-mile)
Steer deliveries toward the resource that usually serves a given zone or customer, keeping continuity with the habitual carrier as a soft preference the optimizer favors when it can, without making it a hard assignment. Covered by : Kardinal, Timefold, Solvice, GraphHopper, Google (partial), HERE, LogisticsOS.
C-31 · Preferred technician by seniority or continuity (Objectives & balancing, Field Services)
Favor a specific technician without requiring them: anyone with the skill can perform the job, but a senior is preferred when it is complex, or the technician who usually visits is preferred to preserve continuity (typical in healthcare, keeping the link with the patient). These are soft preferences layered on top of the hard skill match. Covered by : Kardinal, Timefold, Solvice, GraphHopper, Google (partial), HERE, LogisticsOS.
C-32 · Core routing objectives (Objectives & balancing, Generic)
The baseline goals: minimize the number of resources used, total working time, and total distance traveled. Covered by : Kardinal, Routific, Timefold (partial), NextBillion.ai, Solvice, GraphHopper, Google, HERE, Mapbox (partial), Verso, LogisticsOS.
C-33 · Prioritize recovered and premium parcels (Objectives & balancing, Parcel & express)
Rank parcels for service when not everything fits: previous days' failed deliveries take precedence over same-day parcels, and higher product tiers outrank lower ones (24h express before 48h express). Lower-priority parcels are the ones deferred when capacity runs short. Covered by : Kardinal, Routific, Timefold, NextBillion.ai, Solvice, GraphHopper, Google, HERE, Verso, LogisticsOS.
C-34 · Prioritize customers in shortage (Objectives & balancing, Cold-chain last-mile)
Rank orders so customers who are running out are served before orders placed ahead of need, ensuring scarce capacity goes to shortage situations first and advance-phase orders yield when not everything fits. Covered by : Kardinal, Routific, Timefold, NextBillion.ai, Solvice, GraphHopper, Google, HERE, Verso, LogisticsOS.
C-35 · Prioritize full containers (Objectives & balancing, Waste Collection)
Rank collections so full containers are emptied before those with spare capacity, directing limited resources to the sites closest to overflowing first. Covered by : Kardinal, Routific, Timefold, NextBillion.ai, Solvice, GraphHopper, Google, HERE, Verso, LogisticsOS.
C-36 · Prioritize urgent over planned over discretionary (Objectives & balancing, Field Services)
Rank jobs across tiers: urgent requests take precedence over scheduled visits, which in turn take precedence over free or discretionary visits. Lower tiers are deferred first when the day cannot hold everything. Covered by : Kardinal, Routific, Timefold, NextBillion.ai, Solvice, GraphHopper, Google, HERE, Verso, LogisticsOS.
C-37 · Standard transport cost model (Cost & fleet economics, Generic)
Minimize total transport cost built from a fixed cost per route used, a per-kilometer cost, and a per-hour cost. Covered by : Kardinal, NextBillion.ai, Solvice, GraphHopper, Google, HERE, Verso, LogisticsOS.
C-38 · Package and overtime thresholds (Cost & fleet economics, Parcel & express)
Model the thresholds that matter in parcel operations. For subcontractors, a flat fee covers a bundle (x parcels delivered or y kilometers driven) and a negotiated rate applies only beyond it. For the owned fleet, hours are free within the weekly working-time limit and billed at a premium overtime rate only past it. Covered by : Kardinal, Solvice (partial), Google (partial), HERE (partial), LogisticsOS.
C-39 · Package and overtime thresholds (Cost & fleet economics, Retail last-mile)
Subcontracted rounds carry a flat fee for an included volume of drops or distance, with a negotiated rate beyond, while owned-fleet time is billed at a premium only past the weekly working-time limit. Covered by : Kardinal, Solvice (partial), Google (partial), HERE (partial), LogisticsOS.
C-40 · Package and overtime thresholds (Cost & fleet economics, Bulky & heavy goods)
Subcontracted crews or trips carry a flat fee for an included number of deliveries or distance, with a negotiated rate beyond, and owned crews are billed at a premium overtime rate only past their working-time limit. Covered by : Kardinal, Solvice (partial), Google (partial), HERE (partial), LogisticsOS.
C-41 · Package and overtime thresholds (Cost & fleet economics, Cold-chain last-mile)
Subcontracted refrigerated carriers carry a flat fee for an included volume of drops or distance, with a negotiated rate beyond, while owned reefer-fleet time is billed at a premium only past the weekly working-time limit. Covered by : Kardinal, Solvice (partial), Google (partial), HERE (partial), LogisticsOS.
C-42 · Overtime thresholds (Cost & fleet economics, Heavy Long Distance)
Primarily an overtime concern: driving and duty hours are covered within the legal or contractual working-time limit and billed at a premium rate only beyond it, so the plan weighs the cost of pushing a driver into overtime against alternatives. Covered by : Kardinal, Solvice (partial), Google (partial), HERE (partial), LogisticsOS.
C-43 · Package and overtime thresholds (Cost & fleet economics, Waste Collection)
Subcontracted collection carries a flat fee for an included number of trips, tonnage, or distance, with a negotiated rate beyond, and owned-fleet time is billed at a premium only past the working-time limit. Covered by : Kardinal, Solvice (partial), Google (partial), HERE (partial), LogisticsOS.
C-44 · Optimize the combined fleet bill (Cost & fleet economics, Parcel & express)
Plan across a mixed fleet in one pass: owned couriers costed mainly by distance through a blended fuel-and-maintenance rate, and subcontractors paid per parcel or per round, flat or flat-plus-variable. The optimizer minimizes the total bill across both rather than optimizing each in isolation, deciding what to keep in-house and what to hand out on pure economics. Covered by : Kardinal, NextBillion.ai (partial), Solvice (partial), Google (partial), HERE (partial), LogisticsOS.
C-45 · Optimize the combined fleet bill (Cost & fleet economics, Retail last-mile)
Plan owned rounds and subcontracted rounds together: the owned fleet costed by distance through a blended fuel-and-maintenance rate, subcontractors billed per drop or per round, flat or flat-plus-variable. The optimizer minimizes the total cost of serving all stores across both fleets in a single plan. Covered by : Kardinal, NextBillion.ai (partial), Solvice (partial), Google (partial), HERE (partial), LogisticsOS.
C-46 · Optimize the combined fleet bill (Cost & fleet economics, Bulky & heavy goods)
Balance owned crews against specialized subcontractors in one plan: owned vehicles costed by distance through a blended fuel-and-maintenance rate, external crews or trips paid per delivery or per trip, flat or flat-plus-variable. The optimizer minimizes the overall bill, choosing where a chartered specialist beats an owned crew and where it does not. Covered by : Kardinal, NextBillion.ai (partial), Solvice (partial), Google (partial), HERE (partial), LogisticsOS.
C-47 · Optimize the combined fleet bill (Cost & fleet economics, Cold-chain last-mile)
Plan the owned reefer fleet and subcontracted refrigerated carriers together: owned vehicles costed by distance through a blended fuel-and-maintenance rate, external carriers billed per drop, flat or flat-plus-variable. The optimizer minimizes the total cost of covering the cold-chain plan across both. Covered by : Kardinal, NextBillion.ai (partial), Solvice (partial), Google (partial), HERE (partial), LogisticsOS.
C-48 · Optimize the combined haulage bill (Cost & fleet economics, Heavy Long Distance)
Weigh the owned fleet against spot haulage in one plan: owned trucks costed by distance through a blended fuel-and-maintenance rate, spot charters paid per trip, sometimes plus a per-kilometer variable. The optimizer minimizes the total haulage bill, deciding trip by trip whether to run owned or charter out. Covered by : Kardinal, NextBillion.ai (partial), Solvice (partial), Google (partial), HERE (partial), LogisticsOS.
C-49 · Optimize the combined collection bill (Cost & fleet economics, Waste Collection)
Plan owned collection trucks and subcontracted collection together: owned trucks costed by distance through a blended fuel-and-maintenance rate, subcontractors billed per trip or per tonne, flat or flat-plus-variable. The optimizer minimizes the total cost of covering all collections across both fleets. Covered by : Kardinal, NextBillion.ai (partial), Solvice (partial), Google (partial), HERE (partial), LogisticsOS.
C-50 · Minimum revenue per subcontracted resource (Cost & fleet economics, Parcel & express)
A subcontractor paid per parcel will not mobilize a courier for a handful of drops that do not pay for the day. Guarantee a minimum revenue per assigned resource, computed as the sum of a per-stop variable revenue over its stops: the optimizer either loads the resource enough to clear that floor or leaves it entirely unused, never assigning it a token round. Covered by : Kardinal, Google, HERE (partial), LogisticsOS.
C-51 · Minimum revenue per subcontracted resource (Cost & fleet economics, Bulky & heavy goods)
A specialized two-person crew billed per delivery will not commit a day for one or two heavy items. Guarantee a minimum revenue per assigned crew, summed from a per-delivery variable revenue: the optimizer gives the crew enough work to clear the floor or does not use it at all. Covered by : Kardinal, Google, HERE (partial), LogisticsOS.
C-52 · Minimum revenue per subcontracted resource (Cost & fleet economics, Heavy Long Distance)
A subcontractor paid per collection or per tonne will not send a truck out for a couple of containers. Guarantee a minimum revenue per assigned truck, summed from a per-site variable revenue: the optimizer routes enough collections through it to clear the floor or leaves it idle. Covered by : Kardinal, Google, HERE (partial), LogisticsOS.
C-53 · Minimum revenue per subcontracted resource (Cost & fleet economics, Waste Collection)
A spot haulier will not commit a truck-day for a light partial load that does not cover the trip. Guarantee a minimum revenue per chartered truck, summed from a per-trip or per-stop variable revenue: the optimizer fills it enough to clear the floor or does not charter it. Covered by : Kardinal, Google, HERE (partial), LogisticsOS.
C-54 · Minimum revenue per subcontracted resource (Cost & fleet economics, Field Services)
An independent technician paid per intervention will not block a day for a single short job that does not cover it. Guarantee a minimum revenue per assigned technician, summed from a per-job variable revenue over the visits routed to them: the optimizer either fills their day enough to clear the floor or does not engage them at all. Covered by : Kardinal, Google, HERE (partial), LogisticsOS.
C-55 · Per-visit facility cost (Cost & fleet economics, Waste Collection)
Charge a disposal facility as a per-visit cost rather than per drop, so several loads offloaded in one visit are counted only once. Gate and tipping fees at an exutoire are billed by entry, not by the number of collections emptied, so the optimizer weighs the cost of entering the facility once and is not penalized for consolidating multiple drops into a single visit. Covered by : Solvice.
C-56 · Time-of-day-dependent hourly cost (Cost & fleet economics, Parcel & express)
Apply a higher hourly cost during defined windows, such as a premium on the congested 7am-9am morning peak or on night operations, so the optimizer weighs when work happens and shifts effort out of expensive hours where it can. Covered by : Solvice.
C-57 · Time-of-day-dependent hourly cost (Cost & fleet economics, Retail last-mile)
Apply a premium hourly cost to early-morning or night hours, common where stores are served before opening, so the plan accounts for the higher cost of working outside standard hours rather than treating every hour the same. Covered by : Solvice.
C-58 · Time-of-day-dependent hourly cost (Cost & fleet economics, Bulky & heavy goods)
Apply a premium hourly cost to hours worked in defined windows, such as early slots or evening deliveries around customer availability, so the optimizer factors the higher cost of those hours into how it schedules the day. Covered by : Solvice.
C-59 · Time-of-day-dependent hourly cost (Cost & fleet economics, Cold-chain last-mile)
Apply a premium hourly cost to night and early-morning hours, frequent in cold-chain where venues are served before service opens, so working those hours carries its real cost in the optimization. Covered by : Solvice.
C-60 · Time-of-day-dependent hourly cost (Cost & fleet economics, Heavy Long Distance)
Apply a premium hourly cost to night driving or to peak-hour windows, so the optimizer can favor shifting long runs into cheaper hours, balancing night premiums against daytime congestion. Covered by : Solvice.
C-61 · Traffic-aware travel time (Travel time & road network, Generic)
Feed predicted traffic into travel-time estimates before optimizing, so the plan reflects expected congestion rather than free-flow speeds. Covered by : Kardinal, NextBillion.ai, Solvice, GraphHopper, Google, HERE, Mapbox, LogisticsOS (partial).
C-62 · Vehicle-specific speed profiles (Travel time & road network, Generic)
Use a distinct speed model per travel mode so travel times are realistic for each: cargo bike, pedestrian, van, and heavy goods vehicle. Covered by : Kardinal, Routific (partial), Timefold (partial), NextBillion.ai, Solvice (partial), GraphHopper, Google (partial), HERE, Mapbox (partial), Verso (partial), LogisticsOS (partial).
C-63 · Toll road policy (Travel time & road network, Generic)
Allow or forbid the use of toll roads when computing routes, per operator policy or per vehicle. Covered by : Kardinal, Routific, Timefold, NextBillion.ai, GraphHopper (partial), Google (partial), HERE, LogisticsOS.
C-64 · Per-resource travel-time adjustment (Travel time & road network, Generic)
Scale travel times up or down for a given resource relative to defaults, to reflect a junior driver, a cautious driving style, or adverse weather such as rain or snow. Covered by : Kardinal, Routific, Timefold (partial), NextBillion.ai, GraphHopper, Google, HERE, Verso, LogisticsOS.
C-65 · Hazardous-material road restrictions (Travel time & road network, Heavy Long Distance)
Route dangerous-goods hauls only over roads permitted for the class carried. Forbid or require specific road types per vehicle (only ADR-equipped trucks on certain axes) or per load (a given hazard class barred from tunnels, city crossings, or sensitive zones), on top of the general road-network policy, so the plan is legally drivable for what is actually on board. Covered by : Kardinal, Timefold, NextBillion.ai, Solvice, GraphHopper, HERE, LogisticsOS.
C-66 · Hazardous-material road restrictions (Travel time & road network, Waste Collection)
Route hazardous-waste collections only over roads permitted for the waste class carried. Forbid or require specific road types per vehicle or per load (medical, chemical, or hydrocarbon waste kept off restricted axes, tunnels, or protected water and residential zones), alongside the general road-network policy, so the collection route stays compliant for the loads picked up along it. Covered by : Kardinal, Timefold, NextBillion.ai, Solvice, GraphHopper, HERE, LogisticsOS.
C-67 · Custom service time per stop (Service time, Generic)
Each stop carries its own configurable service duration. This is the baseline; the driver- and equipment-dependent variants adjust it further. Covered by : Kardinal, Routific, Timefold, NextBillion.ai, Solvice, GraphHopper, Google, HERE, Mapbox, Verso, LogisticsOS.
C-68 · Driver-dependent service time (Service time, Parcel & express)
Service time at a stop varies with the assigned courier: a junior takes longer than a senior, and a courier working outside their usual zone gets extra time added to reflect the trouble of parking or finding the right entrance. The optimizer uses the right duration for the driver-stop pairing rather than one fixed value. Covered by : Kardinal, Solvice, Google, HERE, Verso, LogisticsOS.
C-69 · Driver-dependent service time (Service time, Retail last-mile)
Service time varies with the assigned driver: junior versus senior, and an extra allowance on stores outside the driver's habitual area to account for unfamiliar access and parking. The optimizer applies the duration that fits the driver actually assigned. Covered by : Kardinal, Solvice, Google, HERE, Verso, LogisticsOS.
C-70 · Equipment- and crew-dependent service time (Service time, Bulky & heavy goods)
Handling time varies with the setup performing the delivery: a tail-lift or a hand-truck speeds up handling, and a two-person crew is faster than a solo driver on heavy items. The optimizer uses the duration matching the vehicle equipment and crew assigned, not a single average. Covered by : Kardinal, Solvice, Google, HERE, Verso, LogisticsOS.
C-71 · Equipment-dependent service time (Service time, Cold-chain last-mile)
Handling time varies with the vehicle setup: a tail-lift speeds unloading, while multiple temperature compartments slow it down because goods must be picked from the right compartment. The optimizer applies the duration matching the vehicle actually assigned. Covered by : Kardinal, Solvice, Google, HERE, Verso, LogisticsOS.
C-72 · Equipment-dependent service time (Service time, Heavy Long Distance)
Handling time at a stop varies with what the truck carries to help: an onboard pallet truck or a tail-lift materially cuts loading and unloading time versus a truck without them. The optimizer uses the duration matching the equipment on the assigned vehicle. Covered by : Kardinal, Solvice, Google, HERE, Verso, LogisticsOS.
C-73 · Equipment-dependent service time (Service time, Waste Collection)
Collection time at a site varies with the truck's equipment and generation: an onboard crane or a modern truck handles a container faster than older or less-equipped vehicles. The optimizer applies the duration matching the truck assigned. Covered by : Kardinal, Solvice, Google, HERE, Verso, LogisticsOS.
C-74 · Technician-dependent service time (Service time, Field Services)
Job duration varies with the technician's seniority: a senior completes a given task faster than a junior. The optimizer uses the duration matching the technician actually assigned rather than a single nominal time. Covered by : Kardinal, Solvice, Google, HERE, Verso, LogisticsOS.
C-75 · Shared parking, per-drop service time (Service time, Parcel & express)
When several deliveries share one location, count the parking and setup time once, then add a per-delivery handling time on top, rather than repeating the full service time for each. Covered by : Kardinal, NextBillion.ai, Solvice, GraphHopper, HERE, Verso, LogisticsOS.
C-76 · Dynamic route start time (Shifts, breaks & timing, Generic)
Compute each route's departure time from the depot dynamically, based on traffic and on when delivery points open, rather than fixing it in advance. Covered by : Kardinal, Routific, Timefold (partial), NextBillion.ai, Solvice, GraphHopper, Google, HERE, Mapbox, Verso, LogisticsOS.
C-77 · Mandatory driving breaks (Shifts, breaks & timing, Generic)
Insert legally required breaks automatically, e.g. 45 minutes after 4h30 of driving or 6h of work, placed at feasible points along the route. Covered by : Kardinal, NextBillion.ai (partial), Solvice, GraphHopper, Google, LogisticsOS.
C-78 · Flexible lunch break (Shifts, breaks & timing, Generic)
Schedule a break of a set length within a permitted window (e.g. one hour between 12:00 and 14:00), letting the optimizer pick the exact timing. Covered by : Kardinal, Routific, Timefold, NextBillion.ai, Solvice, GraphHopper, Google, HERE, Mapbox, Verso, LogisticsOS.
C-79 · Shift bounds per resources (Shifts, breaks & timing, Generic)
Set earliest departure, latest return, and maximum working time for each resource, applied as hard limits or as soft targets exceedable at a penalty. Covered by : Kardinal, Routific, Timefold, NextBillion.ai, Solvice, GraphHopper, Google, HERE, Mapbox (partial), Verso (partial), LogisticsOS.
C-80 · Multi-day rest scheduling (Shifts, breaks & timing, Heavy Long Distance)
For routes that span several days, insert the mandatory long rest periods (daily and weekly rests, including overnight stays) and let the optimizer decide when and where along the route they occur, so legally required rest is always guaranteed. Covered by : Kardinal, NextBillion.ai (partial), Solvice, GraphHopper, Google, LogisticsOS.
C-81 · Breaks allowed mid-travel (Shifts, breaks & timing, Heavy Long Distance)
Allow a break to be taken partway through a driving leg between two stops, not only while parked at a stop, so a required pause can be placed wherever it best fits along the road. Covered by : Kardinal.
C-82 · Breaks allowed during service (Shifts, breaks & timing, Field Services)
Allow a break to interrupt an ongoing on-site service, so a long task can be paused and resumed around a required break rather than forcing the entire service before or after it. Covered by : Kardinal.
C-83 · Custom start/end per vehicle (Route structure & limits, Generic)
Each vehicle can have its own start and end points, which may differ from each other or be left open, in which case the route begins at the first stop and/or ends at the last stop. Covered by : Kardinal, Routific, Timefold, NextBillion.ai, Solvice, GraphHopper, Google, HERE, Mapbox, Verso, LogisticsOS.
C-84 · Maximum route distance (Route structure & limits, Parcel & express)
Cap the total distance of a route to fit vehicle range: the battery range of an electric van, or the physical limit of a cargo bike, so a bike is never given an oversized round even when it is electrically assisted. Covered by : Kardinal, NextBillion.ai, Solvice, GraphHopper, Google, HERE, Verso, LogisticsOS.
C-85 · Maximum route distance (Route structure & limits, Retail last-mile)
Cap the total distance of a store round to fit vehicle range: electric-van battery range, or cargo-bike physical limits, keeping bike rounds within a workable distance whether or not they are assisted. Covered by : Kardinal, NextBillion.ai, Solvice, GraphHopper, Google, HERE, Verso, LogisticsOS.
C-86 · Maximum route distance (Route structure & limits, Bulky & heavy goods)
Cap the total distance of a route to the battery range of an electric vehicle, so an electric van is never planned beyond what it can complete on a charge. Covered by : Kardinal, NextBillion.ai, Solvice, GraphHopper, Google, HERE, Verso, LogisticsOS.
C-87 · Maximum route distance (Route structure & limits, Cold-chain last-mile)
Cap the total distance of a route to the battery range of an electric refrigerated vehicle, accounting for the fact that cooling draws on the same battery, so the round stays within what the vehicle can actually finish. Covered by : Kardinal, NextBillion.ai, Solvice, GraphHopper, Google, HERE, Verso, LogisticsOS.
C-88 · Maximum route distance (Route structure & limits, Field Services)
Cap the total distance of a technician's route as a matter of principle, avoiding days with excessive driving so technicians spend their time on jobs rather than on the road. Covered by : Kardinal, NextBillion.ai, Solvice, GraphHopper, Google, HERE, Verso, LogisticsOS.
C-89 · Multiple trips per day (Route structure & limits, Retail last-mile)
Let a vehicle run several rounds in one day, returning to the warehouse to reload between them, with the first round already loaded at the start. Common in store replenishment where a van does two or three rounds from the same DC across the day. Covered by : Kardinal, NextBillion.ai, Solvice, GraphHopper, Google, HERE, Mapbox, Verso, LogisticsOS.
C-90 · Multiple trips per day (Route structure & limits, Bulky & heavy goods)
Let a vehicle run several trips in one day, returning to reload between them, with the first trip preloaded. Natural in bulky operations where volume limits how many items fit per trip, so a vehicle empties and comes back for the next batch. Covered by : Kardinal, NextBillion.ai, Solvice, GraphHopper, Google, HERE, Mapbox, Verso, LogisticsOS.
C-91 · Multiple trips per day (Route structure & limits, Cold-chain last-mile)
Let a refrigerated vehicle run several rounds in one day, returning to the cold store to reload between them, with the first round preloaded. Lets a limited reefer fleet cover more drops while keeping goods in temperature-controlled storage between trips. Covered by : Kardinal, NextBillion.ai, Solvice, GraphHopper, Google, HERE, Mapbox, Verso, LogisticsOS.
C-92 · Multiple trips per day (Route structure & limits, Heavy Long Distance)
Let a truck run several hauls in one day from the same hub, returning to reload between them, with the first haul preloaded. Fits regional shuttle and drayage patterns where a truck cycles multiple loads out of a terminal rather than doing one long one-way run. Covered by : Kardinal, NextBillion.ai, Solvice, GraphHopper, Google, HERE, Mapbox, Verso, LogisticsOS.
C-93 · Zone-by-zone sequencing (Route structure & limits, Parcel & express)
Assign stops to groups (e.g. neighborhoods) and require one group to be fully completed before the next starts, so a driver clears an area before moving on. Covered by : Kardinal, NextBillion.ai (partial), Solvice, GraphHopper, HERE, LogisticsOS (partial).
C-94 · Route compactness (Route structure & limits, Parcel & express)
Keep each route geographically compact and limit crossings and overlap between routes, using a per-resource maximum inter-stop distance. This enforces that once a courier is working an area they stay within it as much as possible, without any zone having to be formally defined, and keeps cargo-bike rounds tight. Covered by : Kardinal, Solvice, LogisticsOS.
C-95 · Route compactness (Route structure & limits, Retail last-mile)
Keep each store round geographically compact and limit overlap between rounds, using a per-resource maximum inter-stop distance. This enforces staying within an area once a driver is working it, without formally defining zones, and keeps cargo-bike rounds tight. Covered by : Kardinal, Solvice, LogisticsOS.
C-96 · Route compactness (Route structure & limits, Field Services)
Keep a technician's route compact once the day is underway, so they never face an oversized leg between two jobs, apart from the start and end of shift where reaching or leaving the working area is expected. Covered by : Kardinal, Solvice, LogisticsOS.
C-97 · Maximum distance from depot (Route structure & limits, Retail last-mile)
Bound how far a round may range from its starting site by limiting the leg to the first stop and the leg from the last stop back. On a regional scale with several starting points, this lets the optimizer break the silos between sites while keeping each round anchored near its base, avoiding a vehicle driving far out to rescue an overloaded site and then returning empty. Covered by : Kardinal, NextBillion.ai (partial), Solvice (partial), LogisticsOS (partial).
C-98 · Maximum distance from depot (Route structure & limits, Bulky & heavy goods)
Bound how far a route may range from its depot by capping the outbound leg to the first stop and the return leg from the last. Across a regional network of depots, this allows cross-site optimization while limiting the radius of action, so a crew is not sent 300 km out for a single job before heading home. Covered by : Kardinal, NextBillion.ai (partial), Solvice (partial), LogisticsOS (partial).
C-99 · Maximum distance from depot (Route structure & limits, Cold-chain last-mile)
Bound how far a refrigerated round may range from its cold store by capping the leg to the first stop and the leg from the last stop back. Across a regional network of cold stores, this lets the optimizer share load between sites while keeping each round anchored near its base, avoiding a reefer driving far out to cover an overloaded site then returning, which would waste both range and runtime under refrigeration. Covered by : Kardinal, NextBillion.ai (partial), Solvice (partial), LogisticsOS (partial).
C-100 · Maximum distance from depot (Route structure & limits, Waste Collection)
Bound how far a collection route may range from its depot by capping the first and last legs. On a regional scale with several depots, this lets the optimizer share load across sites while keeping each truck's radius of action in check, rather than dispatching one far out and back for little. Covered by : Kardinal, NextBillion.ai (partial), Solvice (partial), LogisticsOS (partial).
C-101 · Maximum distance from home base (Route structure & limits, Field Services)
Bound how far a technician ranges from their starting point by capping the leg to the first job and the leg home from the last. With technicians starting from home across a region, this contains side effects, so no one is sent far out for a single job when leaving it unplanned for manual handling is the better call. Covered by : Kardinal, NextBillion.ai (partial), Solvice (partial), LogisticsOS (partial).
C-102 · Consolidation loop generation (Route structure & limits, Heavy Long Distance)
Build grouping loops that let several orders travel together on a direct point-to-point trip, consolidating volume into line-haul legs rather than routing each order separately. Covered by : Kardinal.
C-103 · Preloaded first trip (Route structure & limits, Heavy Long Distance)
The first trip of the day leaves the depot already loaded with a predetermined set of orders, so the optimizer plans that trip around the goods physically on board rather than choosing its contents freely, while later trips are planned normally. Covered by : Kardinal.
C-104 · Site concurrency limit (Route structure & limits, Heavy Long Distance)
Limit how many vehicles may be present at the same site at the same time, for safety or because loading doors are limited, spreading arrivals across the day so the on-site count never exceeds the allowed maximum. Covered by : Kardinal.
C-105 · Site concurrency limit at facilities (Route structure & limits, Waste Collection)
Limit how many trucks may be at the same facility at once, spreading their arrivals across the day so the on-site count never exceeds the maximum. Applies at disposal facilities, where tipping bays and weighbridges are limited, and at collection sites such as civic amenity centers, where yard space and safety rules cap simultaneous vehicles. Covered by : Kardinal.
C-106 · Custom capacity dimensions (Capacity & load compatibility, Generic)
Define any number of capacity dimensions using free-form tags, not just weight and volume, and track each independently per resource. Covered by : Kardinal, Routific, Timefold, NextBillion.ai, Solvice, GraphHopper, Google, HERE, Mapbox, Verso, LogisticsOS.
C-107 · Soft capacity limits (Capacity & load compatibility, Generic)
Some capacity limits may be exceeded only when necessary and are then minimized, e.g. no more than X high-value parcels per vehicle for security, but if unavoidable, exceed by as little as possible. Covered by : Kardinal, Google, LogisticsOS.
C-108 · Incompatible goods together (Capacity & load compatibility, Cold-chain last-mile)
Prevent goods that cannot travel together from sharing a vehicle. In mono-temperature operations, frozen, chilled, and ambient items are mutually exclusive on the same route, so each round carries only one temperature class. Covered by : Kardinal, Timefold, NextBillion.ai, Solvice, GraphHopper, Google, HERE, LogisticsOS.
C-109 · Incompatible goods together (Capacity & load compatibility, Heavy Long Distance)
Prevent incompatible products from sharing a vehicle, common in bulk and tanker transport where certain substances must never travel in the same tank or trailer. On long hauls this also covers keeping hazardous materials from being combined with other product types on the same truck. Covered by : Kardinal, Timefold, NextBillion.ai, Solvice, GraphHopper, Google, HERE, LogisticsOS.
C-110 · Incompatible goods together (Capacity & load compatibility, Waste Collection)
Prevent incompatible waste streams from sharing a vehicle, for example keeping toxic or hazardous waste from being collected together with recyclable materials on the same route. Covered by : Kardinal, Timefold, NextBillion.ai, Solvice, GraphHopper, Google, HERE, LogisticsOS.
C-111 · Temperature compartment configuration (Capacity & load compatibility, Cold-chain last-mile)
Choose how a temperature-controlled vehicle is configured across a trip (all chilled, all ambient, split, and so on), picking the setup that best fits the assigned load. Covered by : Kardinal, NextBillion.ai, Solvice.
C-112 · Vehicle compartment configuration (Capacity & load compatibility, Heavy Long Distance)
Choose how a multi-compartment vehicle is configured for a trip, picking the setup that best fits the assigned load. Common in bulk transport: a compartmented tanker or hopper can run a single product across all compartments, or split several products between them (multiple grain types out of a mill, different liquids in a tanker, and bulk goods generally). The optimizer selects, among the allowed configurations, the one that matches what the trip actually carries. Covered by : Kardinal, NextBillion.ai, Solvice.
C-113 · Per-site delivery/collection limit (Capacity & load compatibility, Waste Collection)
Cap how much can be delivered to or collected from a given site, in parcels, weight, or volume, per visit or across the day; the optimizer respects the site's intake or output limit even when demand is spread over several visits or vehicles. Covered by : Kardinal, Solvice.
C-114 · Per-site throughput limit (Capacity & load compatibility, Heavy Long Distance)
Cap how much a production site can take in or ship out, in weight, volume, or loads, per visit or across the day. When hauling to or from industrial sites (plants, mills, terminals), each site has a limited daily intake or output driven by storage, processing rate, or dock capacity. The optimizer respects that ceiling even when the flow is spread across several trucks and trips through the day. Covered by : Kardinal, Solvice.
C-115 · In-route pickup and delivery (Pickup, delivery & returns, Parcel & express)
Collect an item somewhere on the round and deliver it later on the same round that also runs regular drops, keeping the pickup before its matching delivery. Occasional in parcel but real: some operators handle ad hoc point-to-point requests inside an ordinary delivery route. Covered by : Kardinal, Routific, Timefold, NextBillion.ai, Solvice, GraphHopper, Google, HERE, Mapbox, Verso, LogisticsOS.
C-116 · In-route pickup and delivery (Pickup, delivery & returns, Retail last-mile)
Collect an item on the round and deliver it later on the same round alongside regular drops, keeping pickup before delivery. Occasional but used by some retail operators for point-to-point moves folded into a delivery round. Covered by : Kardinal, Routific, Timefold, NextBillion.ai, Solvice, GraphHopper, Google, HERE, Mapbox, Verso, LogisticsOS.
C-117 · In-route pickup and delivery (Pickup, delivery & returns, Cold-chain last-mile)
Occasional but real in cold-chain: collect a temperature-controlled item on the round and deliver it later on the same round alongside regular drops, keeping the pickup before its matching delivery. Typically a transfer between two sites needing the cold chain, or a chilled return, handled inside an ordinary refrigerated round. Covered by : Kardinal, Routific, Timefold, NextBillion.ai, Solvice, GraphHopper, Google, HERE, Mapbox, Verso, LogisticsOS.
C-118 · In-route pickup and delivery (Pickup, delivery & returns, Bulky & heavy goods)
Mainly for reverse logistics: pick up a returned item during the round and carry it to a drop-off point that differs from the route's own start, keeping the pickup before that delivery. Lets returns be collected in the field and routed to the right site within the same plan. Covered by : Kardinal, Routific, Timefold, NextBillion.ai, Solvice, GraphHopper, Google, HERE, Mapbox, Verso, LogisticsOS.
C-119 · In-route pickup and delivery (Pickup, delivery & returns, Heavy Long Distance)
The classic warehouse-to-customer haul: load at the origin site and deliver at the destination, pickup before delivery, as the core movement rather than an add-on to a delivery round. Covered by : Kardinal, Routific, Timefold, NextBillion.ai, Solvice, GraphHopper, Google, HERE, Mapbox, Verso, LogisticsOS.
C-120 · In-route pickup and delivery (Pickup, delivery & returns, Waste Collection)
The classic collection pattern: pick up waste at each site along the round and deliver it to a disposal facility, pickup before drop-off, with all collected loads carried to the tipping point. Covered by : Kardinal, Routific, Timefold, NextBillion.ai, Solvice, GraphHopper, Google, HERE, Mapbox, Verso, LogisticsOS.
C-121 · In-route pickup and delivery (Pickup, delivery & returns, Field Services)
Pick up a spare part at a PUDO point before heading to the job, so the technician collects what the intervention needs and then performs it, with the part pickup kept before the service stop on the same route. Covered by : Kardinal, Routific, Timefold, NextBillion.ai, Solvice, GraphHopper, Google, HERE, Mapbox, Verso, LogisticsOS.
C-122 · Pickup-to-delivery detour limit (Pickup, delivery & returns, Parcel & express)
Bound the time allowed between a pickup and its delivery, up to forcing a direct run. Classic in courier work, where the SLA is precisely the maximum time to deliver after collection, so the plan never lets a picked-up item sit too long before drop-off. Covered by : Kardinal, Timefold, NextBillion.ai, Solvice, GraphHopper, Google, HERE.
C-123 · Pickup-to-delivery detour limit (Pickup, delivery & returns, Cold-chain last-mile)
Bound the time a picked-up item spends on the vehicle before delivery, to protect the cold chain on particularly fragile goods. Caps time in transit so temperature-sensitive items are dropped within their safe window, up to forcing a direct run. Covered by : Kardinal, Timefold, NextBillion.ai, Solvice, GraphHopper, Google, HERE.
C-124 · Pickup-to-delivery detour limit (Pickup, delivery & returns, Heavy Long Distance)
Bound the time between pickup and delivery for special cases such as dangerous-goods hauls, where the load should not remain in transit longer than allowed, up to requiring a direct trip with no intermediate stops. Covered by : Kardinal, Timefold, NextBillion.ai, Solvice, GraphHopper, Google, HERE.
C-125 · Pickup-to-delivery detour limit (Pickup, delivery & returns, Waste Collection)
Bound the time between collecting toxic or hazardous waste and delivering it to the disposal facility, so dangerous loads are not carried around longer than permitted, up to forcing a direct run to the tipping point. Covered by : Kardinal, Timefold, NextBillion.ai, Solvice, GraphHopper, Google, HERE.
C-126 · Pickup-to-delivery detour limit (Pickup, delivery & returns, Field Services)
Bound the time between pickup and delivery for special cases, notably in healthcare where biological samples (blood draws and similar) must reach the lab within a strict window, up to requiring a direct run after collection. Covered by : Kardinal, Timefold, NextBillion.ai, Solvice, GraphHopper, Google, HERE.
C-127 · Conditional returns pickup (Pickup, delivery & returns, Parcel & express)
Handle first-mile PUDO collection during a delivery round with a rule such as not starting a pickup while more than X parcels or Y kg remain onboard. Collected bags are bulky and get in the way when many deliveries remain, so pickups are pushed toward the end of the round, but softly: it stays fine to collect at a relay before a small village with two or three drops on the way back to the depot, rather than forbidding any collection until the van is nearly empty. Covered by : Kardinal, Solvice.
C-128 · Conditional returns pickup (Pickup, delivery & returns, Bulky & heavy goods)
Handle bulky customer returns (sofas, furniture) with a rule such as not starting a collection while more than X items or Y kg remain onboard. Large returns are best collected near the end of the round to keep space for deliveries, without being rigid, since it is common to pick up a return at the very address where a delivery is made. Covered by : Kardinal, Solvice.
C-129 · Optional (best-effort) stops (Pickup, delivery & returns, Field Services)
Mark some jobs as optional so they are scheduled only if they fit without adding resources, and dropped otherwise without making the plan infeasible. Typical for preventive maintenance, meter readings, and surveys that have time to spare: the fleet is sized for the mandatory work, and these fill-in jobs ride along only when a technician has room. Covered by : Kardinal, Timefold, NextBillion.ai, Solvice.
C-130 · Optional (best-effort) stops (Pickup, delivery & returns, Parcel & express)
Mark loose-deadline parcels (D+2 and similar) as optional so they are delivered today only if they fit without adding a vehicle, and deferred otherwise without breaking the plan. The fleet is optimized for today's mandatory drops, and D+2 parcels are folded in only where there is genuine slack. Covered by : Kardinal, Timefold, NextBillion.ai, Solvice.
C-131 · Alternative disposal facilities (Pickup, delivery & returns, Waste Collection)
A collection route can offload at any one of several eligible facilities (tips, transfer stations, treatment sites); the optimizer chooses which facility to use and when, based on route efficiency and site availability. Covered by : Kardinal, Solvice, HERE, LogisticsOS.
C-132 · Roll-off container swaps (Pickup, delivery & returns, Waste Collection)
Handle skip and roll-off operations where the vehicle drops an empty container and collects a full one at the same site or in a defined sequence, tracking empty and full containers as distinct loads carried on the vehicle. Covered by : Kardinal.
C-133 · FIFO loading and unloading (Pickup, delivery & returns, Heavy Long Distance)
Respect a first-in-first-out loading discipline, so the first items picked up are the first delivered, constraining the order of pickups and deliveries to match how the vehicle is physically loaded and unloaded. Covered by : Kardinal, Solvice, Google, LogisticsOS.
C-134 · Stops bound to a PUDO (Pickup, delivery & returns, Parcel & express)
Bind a set of stops to a PUDO (relay point or locker) and force them all to be served before or after that PUDO on the route. Two directions: parcels collected at the PUDO must be picked up there before their home deliveries can happen, so those deliveries are forced after the PUDO; parcels collected from customers or returns must be handed in at the PUDO, so those pickups are forced before it. The bound stops and the PUDO are served on the same route, in the required order. Covered by : HERE.
C-135 · Hard time windows (Time windows, Generic)
Each stop can carry one or several mandatory opening windows; service must occur within one of them. Covered by : Kardinal, Routific, Timefold, NextBillion.ai, Solvice, GraphHopper, Google, HERE, Mapbox, Verso, LogisticsOS.
C-136 · Preferred (soft) time windows (Time windows, Generic)
Each stop can also carry one or several preferred windows the optimizer tries to hit but may miss at a penalty, combinable with the hard windows. Covered by : Kardinal, Timefold (partial), NextBillion.ai, Solvice, Google, HERE, Mapbox, LogisticsOS.
C-137 · Key-holder exclusivity (Assignment, continuity & access, Cold-chain last-mile)
Some venues are served through a secured airlock or cold room whose physical keys sit on a single keyring. Whoever carries that keyring is the only driver able to serve those bars and restaurants, so all their stops are forced onto one route. The optimizer either decides who gets the keyring or respects a pre-assigned holder. Covered by : Kardinal, Routific (partial), Timefold (partial), NextBillion.ai, Solvice, GraphHopper, Google, HERE, LogisticsOS.
C-138 · Key-holder exclusivity (Assignment, continuity & access, Retail last-mile)
Some deliveries go into a secured airlock or lockers whose keys sit on one keyring, typically garages and similar sites. The keyring holder is the only driver who can serve them, so those stops are pinned to a single route, with the holder chosen by the optimizer or fixed in advance. Covered by : Kardinal, Routific (partial), Timefold (partial), NextBillion.ai, Solvice, GraphHopper, Google, HERE, LogisticsOS.
C-139 · Key-holder exclusivity (Assignment, continuity & access, Waste Collection)
Industrial collection often requires physical keys or badges to reach protected areas, held on one keyring. Only the driver carrying it can collect at those sites, so their stops are forced onto a single route, either with the holder decided by the optimizer or set from a known allocation. Covered by : Kardinal, Routific (partial), Timefold (partial), NextBillion.ai, Solvice, GraphHopper, Google, HERE, LogisticsOS.
C-140 · Vehicle-specific time windows (Assignment, continuity & access, Retail last-mile)
Attach time windows that apply only to certain vehicles. A driver holding the store key can deliver over a wider window than one who does not, so the same stop carries different windows depending on who serves it. Covered by : Kardinal.
C-141 · Vehicle-specific time windows (Assignment, continuity & access, Cold-chain last-mile)
Attach time windows that apply only to certain vehicles. A driver with badge access to the airlock can deliver over a wider window than one without, so the stop's effective window depends on the assigned driver's access. Covered by : Kardinal.
C-142 · Vehicle-specific time windows (Assignment, continuity & access, Heavy Long Distance)
Attach time windows that apply only to certain vehicles or carriers. Some warehouses reserve distinct loading slots per company, so in a multi-subcontractor optimization each subcontractor has its own pickup windows for the very same orders, and the applicable window depends on which carrier is assigned. Covered by : Kardinal.
C-143 · Solver-decided job synchronization (Assignment, continuity & access, Bulky & heavy goods)
For particularly difficult installations, require two crews to be on site at the same time to perform the delivery together, with the optimizer choosing the shared slot that best fits both routes rather than a time fixed upstream. Covered by : Solvice.
C-144 · Solver-decided job synchronization (Assignment, continuity & access, Heavy Long Distance)
Support cross-docking, where one resource drops a load at a warehouse and another picks it up in the flow to carry it onward. The two movements are coupled in time (the pickup cannot happen before the drop, and both routes must line up at the transshipment point), with the optimizer deciding the shared timing rather than a slot fixed in advance. Covered by : Solvice.
C-145 · Solver-decided job synchronization (Assignment, continuity & access, Field Services)
For particularly complex interventions, require two technicians to meet on site at the same time to carry out the work together, or in healthcare require a doctor and a nurse both present, with the optimizer deciding the common time slot that fits both schedules. Covered by : Solvice.
C-146 · Live problem updates (Real-time & re-optimization, Generic)
Apply create, update, and delete operations to any element of the problem while it is live, either by resubmitting the full problem and letting the API compute the diff, or through atomic per-element changes. Covered by : Kardinal, Routific (partial), Timefold, NextBillion.ai, Solvice, Verso (partial), LogisticsOS (partial).
C-147 · Lock route contents (Real-time & re-optimization, Generic)
Force a given set of stops onto a route, overriding conflicting constraints if needed; any resulting violations are surfaced rather than silently dropped. Covered by : Kardinal, Timefold, NextBillion.ai, Solvice, Google (partial), HERE, Verso (partial), LogisticsOS.
C-148 · Lock route contents and sequence (Real-time & re-optimization, Generic)
Force both the exact set of stops and their exact order on a route, again overriding conflicting constraints and reporting any violations. Covered by : Kardinal, Routific (partial), Timefold, NextBillion.ai, Solvice, Google, HERE, Verso, LogisticsOS.
C-149 · Freeze part of a route (Real-time & re-optimization, Generic)
Mark a portion of a route as non-modifiable, e.g. because picking and sorting are already done for some orders and their vehicle assignment must no longer change, while the rest stays open to optimization. Covered by : Kardinal, Timefold, NextBillion.ai, Solvice, Google (partial), HERE (partial), Verso (partial), LogisticsOS.
// limits_and_traceability

Limits and traceability

What this benchmark measures, what it does not, and what to know before using it to pick a tool.

Coverage, not performance

No measure of compute speed, solution quality or cost. An engine that models a constraint may solve it badly; an engine that does not model it cannot solve it at all.

Documentation, not product

A capability that exists but is not publicly documented is counted absent. The result measures documented coverage at a given date, not everything an engine can do.

Versions evaluated

The source-file labels state the versions tested: Solvice V2, Google Route Optimization, HERE Tour Planning V3, Mapbox Optimization API v2, Timefold Pickup & Delivery routing. A later version may have closed some gaps.