Schedule Deliveries Around Real Customer Availability

One job. Eight delivery windows. Zero guesswork. Define multiple availability windows per stop and let the optimizer build tighter routes around real schedules.

app.cigotracker.com/routes
Route Optimizer
StandardAvailability Times
Optimize Route
© CARTO © OSM
Smith Residence
Job #4821 · 4 availability windows
Customer Availability
8:00 – 10:30 AMAssigned 12:00 – 1:00 PM 2:00 – 4:00 PM 5:30 – 7:00 PM
Optimized Route4 stops
1
Smith Residence
Window 8:00 – 10:30 AM
9:14
2
Downtown Clinic
Window 12:00 – 1:00 PM
12:22
3
Maple St. Retail
Window 2:00 – 4:00 PM
2:45
4
Park Ave. Office
Window 5:30 – 7:00 PM
5:48
Stops4Distance31 kmOn time100%

Over 1000+ Brands

Proudly Partnered Up With Cigo Tracker

JYSK Matelas Bonheur The Brick Leon's Pharmacy
JYSK Matelas Bonheur The Brick Leon's Pharmacy
The Problem

Single Time Windows Don't Match Real Life

Your customers have complex schedules. Your dispatch system only has room for one window per job. The gap between the two costs you failed deliveries every single day.

Guessing at the Right Time Window

A customer says "mornings before 11, or after 2." Your dispatcher can only enter one window, so they pick one and hope for the best.

Wide Windows That Mean Nothing

Setting "8 AM to 6 PM" covers every option but helps nobody. The optimizer routes drivers to times the customer never agreed to.

Failed Deliveries and Redeliveries

Driver arrives, customer is unavailable. Now you have burned fuel, wasted a stop, and need to reschedule. The cost compounds across every route.

The Solution

How Availability Times Work

Define multiple delivery windows per job. The optimizer evaluates each one and builds the tightest route possible around real customer schedules.

Availability Windows

Set Up to Eight Availability Windows Per Job

Add the customer's actual available times when creating or editing a job. Morning before 11, a gap at lunch, after 4. Each window is a valid option for the optimizer to consider.

Availability Time Frames
8:00 AM – 10:30 AM ✓ Selected
12:00 PM – 1:00 PM Available
2:00 PM – 4:00 PM Available
5:30 PM – 7:00 PM Available

Optimization Modes

Pick the Optimization Mode That Fits

Choose "Availability Times" to schedule each job inside any acceptable window. Or choose "Availability Times & Time Window" to combine availability with a broader delivery window. Both modes degrade gracefully for jobs without multiple windows.

Optimization Mode
Availability Times
Schedule each job inside any of its acceptable windows.
Availability Times & Time Window
Use acceptable windows that also fall inside the job's broader delivery window.

Tighter Routes

The Optimizer Builds a Tighter Route

The system evaluates every window across every stop and picks the combination that produces the most efficient route overall. If a job's windows create an impossible constraint, it gets flagged as Pending so nothing slips through.

Optimized Route
1
Smith Residence
8:00 – 10:30 AM window selected
2
Downtown Clinic
12:00 – 1:00 PM window selected
3
Maple St. Retail
2:00 – 4:00 PM window selected
!
Park Ave. Office
No valid window - held as Pending
3 of 4 stops optimized across best windows
The Benefits

What This Means for Your Operation

More flexibility for the optimizer means tighter routes, fewer failed stops, and happier customers across the board.

Higher First-Attempt Success

Drivers arrive when customers are actually available. Fewer locked doors, fewer "sorry we missed you" slips, fewer wasted trips.

Fewer Redeliveries, Lower Costs

Every successful first attempt means less wasted fuel, fewer support tickets, and less driver downtime. The savings compound daily.

Happier End Customers

Recipients feel respected when their actual schedule is honored. Not a vague four-hour block they never agreed to.

Built In Everywhere

Works Across Every Workflow You Already Use

Availability Times are woven into the places your dispatchers and integrators already work. No separate tool. No extra steps.

Pending Jobs 3 Vehicles All Active
Alerts
!

1 job held as Pending

Job #203 - no valid window overlap.

Auto-Dispatch Complete

4 jobs sent to 2 vehicles honoring all windows.
Live Status
Active3/3
Stops18
Pending1
ETA Acc96.5%
Vehicle 1En Route
Marc Tremblay
MTL-0247 | 8 stops
Distance67 km
Next ETA2:45 PM
Route Progress
Kulikowski R.Done
Gratton RuthNext
Thomason K.3:20 PM
Osundiji M.3:55 PM

Route Builder

Two new optimization modes available at the account-wide default level and per individual route. Pick the mode that fits the job mix.

Last Mile Dashboard

All Zones Zone A Zone B Zone C Zone D
© CARTO © OSM

3 New Orders Placed

Zone A (2) · Zone C (1) · just now

Assign
48Total Deliveries
31Delivered
14In Transit

Active Drivers

6 drivers on route

Driver #22
Marc Tremblay
Hours Active5h 12m
Total Hours8h 30m
Deliveries8 / 12
View Details
Driver #34
Sophie Gagnon
Hours Active4h 45m
Total Hours8h 00m
Deliveries7 / 10
View Details
Driver #17
Luc Pelletier
Hours Active3h 30m
Total Hours8h 00m
Deliveries5 / 8
View Details
Driver #41
Julie Bouchard
Hours Active6h 05m
Total Hours8h 30m
Deliveries10 / 11
View Details
Driver #08
Antoine Roy
Hours Active2h 50m
Total Hours7h 30m
Deliveries4 / 9
View Details
Driver #53
Nadia Chen
Hours Active4h 20m
Total Hours8h 00m
Deliveries6 / 8
View Details

Auto-Dispatch & Auto-Split

Zones and vehicle splits honor availability windows automatically. Impossible constraints are held as Pending with clear warnings.

POST /v1/jobs
1// Create job with availability times 2const job = await cigo.jobs.create({ 3 customer: "Smith Residence", 4 availability_times: [ 5 { start: "08:00", end: "10:30" }, 6 { start: "14:00", end: "16:00" }, 7 { start: "17:30", end: "19:00" } 8 ], 9 optimization: "availability_times" 10});
Response201 Created
1{ 2 "id": "job_8f2a4c", 3 "status": "scheduled", 4 "windows": 3, 5 "assigned_window": "08:00-10:30" 6}

Public API & Import Tool

Send availability_times on job payloads. Choose new optimization modes for itineraries. Batch imports via the API staging path supported.

14-Day Free Trial
No credit card required No commitment

Stop Forcing Real Schedules Into a Single Time Slot

Give your dispatchers the tools to capture when customers are actually available. Give your optimizer the flexibility to build better routes.

Learn More

Frequently Asked Questions

No. The current behavior is preserved by default. Jobs without availability windows fall back to the regular time window, then to time-of-day preference. Nothing changes until your team starts using the new field.
Up to eight windows per job, with no overlap allowed between them.
For Auto-Dispatch and Auto-Split, the job is held back as Pending. Dispatchers get a warning with a count and a list of affected jobs. No silent failures.
Yes. Availability windows carry over automatically. The new job inherits the original customer schedule.
Yes. Job create/update and itinerary create/preview/update endpoints all support availability times. Pass an availability_times array with up to eight windows per job and choose the new optimization modes. Swagger documentation is updated.
It is an additive section in the Job Form and two new entries in the optimization dropdown. Existing workflows continue to work without retraining.