Documentation Index
Fetch the complete documentation index at: https://maps.solvice.io/llms.txt
Use this file to discover all available pages before exploring further.
Changelog
Real-time Traffic Routing
New TOMTOM_REAL_TIME Engine
A new routing engine that reflects live traffic conditions at the moment of the request, powered by TomTom’s real-time feed.- Available on
POST /routeandPOST /table/sync. departureTimeis ignored — every request uses now as the departure time.- Not supported on
POST /route/batchor the asyncPOST /table(real-time matrices are sync-only and not cacheable).
Usage
Set"engine": "TOMTOM_REAL_TIME" on the request:Matrix Constraints (/table/sync)
sourcesis required and must be contiguous starting from0.- The result has shape
sources × (coordinates − sources)— sources first, destinations next; no square padding. annotationsmust not include"distance"; the real-time feed does not return distances.- The
destinationsfilter field is not supported. - Billing is per actual destination count.
New Engines, Synchronous Cube & Road Exclusions
New Routing Engines
Support for additional routing engines beyond the default OSM-based engine:- Google — leverage Google’s routing for comparison or production use
- Anymap — Solvice’s proprietary engine with advanced traffic modeling
- Custom — bring your own engine via a custom integration
Synchronous /cube/sync Endpoint
A new synchronous cube endpoint for smaller, real-time cube requests — no polling required. Ideal for on-the-fly time-dependent matrix lookups.Road Type Exclusions
Fine-grained control over which road types to avoid:toll— avoid toll roadsmotorway— avoid motorways / highwaysferry— avoid ferry crossingstunnel— avoid tunnelsbridge— avoid bridges
departureTime & interpolate Parameters
Route and table endpoints now accept departureTime to incorporate time-dependent traffic data, and an interpolate flag for smooth linear interpolation between traffic time slices.Richer OpenAPI Metadata
The OpenAPI specification has been updated with improved endpoint descriptions, contact information, and semantic tags for better discoverability and tooling support.Batch Route Processing & Performance Enhancements
🚀 New Batch Route Endpoint
Introducing the new/route/batch endpoint for processing multiple route requests efficiently in a single API call. This enables:- Reduced API overhead for multiple route calculations
- Optimized network usage and faster processing
⚡ Performance Breakthroughs
Major performance improvements across all routing services:- Sub-50ms response times for simple route calculations
- Sub-quadratic scaling for large distance matrices - up to 3,836 table cells processed per millisecond
- Production-grade reliability with 99.9% uptime SLA
🔄 Advanced Traffic Interpolation
Enhanced time-dependent routing with decimal slice support:- Granular traffic modeling using decimal slices (e.g., 2.5, 4.7) for smooth transitions
- Linear interpolation between time periods for more accurate travel time predictions
- Simplified architecture reduces processing complexity while improving accuracy
Demo page
Added a demo page to showcase the new features and performance improvements.
📊 Performance Scaling
Performance demonstrates exceptional sub-quadratic scaling: as matrix size increases 100x, throughput increases 225xIntroducing the /cube endpoint
We all know about distance matrices (our /table endpoint), but Route Optimization systems require multiple slices throughout the day.
Ideally one for every 5 minutes in the day in order to get the travel time as granular and accurately as possible.
However, if you would want to solve a 1000-jobs VRP request, you would need 288 matrices of 1000x1000 elements.
That would be quite cumbersome to first calculate and then secondly hold in memory during the solve.That is why we are introducing a /cube endpoint to fetch the entire 3-D matrix or what we call cube. 288 slices is too much but what if we can approximate it with a function?
A polynomial that reduces the necessary slices. Read more in the /cube introduction
Predictive traffic integration
