result = client.gati.optimize_routes(
vehicles=[
{
"id": "v1",
"capacity": 50,
"start_location": {"lat": 12.9716, "lng": 77.5946},
"shift_start": "08:00",
"shift_end": "18:00"
},
{
"id": "v2",
"capacity": 50,
"start_location": {"lat": 12.9716, "lng": 77.5946},
"shift_start": "08:00",
"shift_end": "18:00"
}
],
orders=[
{
"id": "order_1",
"location": {"lat": 12.9352, "lng": 77.6245},
"demand": 5,
"time_window": ["09:00", "12:00"],
"service_time_min": 10
},
{
"id": "order_2",
"location": {"lat": 12.9698, "lng": 77.7500},
"demand": 8,
"time_window": ["10:00", "14:00"]
}
],
options={
"optimize_for": "time",
"traffic": True
}
)
{
"id": "opt_abc123",
"status": "completed",
"summary": {
"total_vehicles_used": 2,
"total_orders": 15,
"orders_assigned": 15,
"orders_unassigned": 0,
"total_distance_km": 45.2,
"total_duration_min": 180,
"estimated_cost_inr": 450
},
"routes": [
{
"vehicle_id": "v1",
"stops": [
{
"type": "start",
"location": {"lat": 12.9716, "lng": 77.5946},
"arrival": "08:00",
"departure": "08:00"
},
{
"type": "delivery",
"order_id": "order_1",
"location": {"lat": 12.9352, "lng": 77.6245},
"arrival": "08:35",
"departure": "08:45",
"demand": 5
},
{
"type": "delivery",
"order_id": "order_3",
"location": {"lat": 12.9256, "lng": 77.6389},
"arrival": "09:05",
"departure": "09:15",
"demand": 12
},
{
"type": "end",
"location": {"lat": 12.9716, "lng": 77.5946},
"arrival": "12:30"
}
],
"distance_km": 22.5,
"duration_min": 270,
"load": 35,
"polyline": "encoded_polyline_string..."
},
{
"vehicle_id": "v2",
"stops": [...],
"distance_km": 22.7,
"duration_min": 255,
"load": 42
}
],
"created_at": "2026-02-01T10:30:00Z"
}
Find optimal routes for vehicle fleet
result = client.gati.optimize_routes(
vehicles=[
{
"id": "v1",
"capacity": 50,
"start_location": {"lat": 12.9716, "lng": 77.5946},
"shift_start": "08:00",
"shift_end": "18:00"
},
{
"id": "v2",
"capacity": 50,
"start_location": {"lat": 12.9716, "lng": 77.5946},
"shift_start": "08:00",
"shift_end": "18:00"
}
],
orders=[
{
"id": "order_1",
"location": {"lat": 12.9352, "lng": 77.6245},
"demand": 5,
"time_window": ["09:00", "12:00"],
"service_time_min": 10
},
{
"id": "order_2",
"location": {"lat": 12.9698, "lng": 77.7500},
"demand": 8,
"time_window": ["10:00", "14:00"]
}
],
options={
"optimize_for": "time",
"traffic": True
}
)
{
"id": "opt_abc123",
"status": "completed",
"summary": {
"total_vehicles_used": 2,
"total_orders": 15,
"orders_assigned": 15,
"orders_unassigned": 0,
"total_distance_km": 45.2,
"total_duration_min": 180,
"estimated_cost_inr": 450
},
"routes": [
{
"vehicle_id": "v1",
"stops": [
{
"type": "start",
"location": {"lat": 12.9716, "lng": 77.5946},
"arrival": "08:00",
"departure": "08:00"
},
{
"type": "delivery",
"order_id": "order_1",
"location": {"lat": 12.9352, "lng": 77.6245},
"arrival": "08:35",
"departure": "08:45",
"demand": 5
},
{
"type": "delivery",
"order_id": "order_3",
"location": {"lat": 12.9256, "lng": 77.6389},
"arrival": "09:05",
"departure": "09:15",
"demand": 12
},
{
"type": "end",
"location": {"lat": 12.9716, "lng": 77.5946},
"arrival": "12:30"
}
],
"distance_km": 22.5,
"duration_min": 270,
"load": 35,
"polyline": "encoded_polyline_string..."
},
{
"vehicle_id": "v2",
"stops": [...],
"distance_km": 22.7,
"duration_min": 255,
"load": 42
}
],
"created_at": "2026-02-01T10:30:00Z"
}
Show vehicle properties
Show order properties
result = client.gati.optimize_routes(
vehicles=[
{
"id": "v1",
"capacity": 50,
"start_location": {"lat": 12.9716, "lng": 77.5946},
"shift_start": "08:00",
"shift_end": "18:00"
},
{
"id": "v2",
"capacity": 50,
"start_location": {"lat": 12.9716, "lng": 77.5946},
"shift_start": "08:00",
"shift_end": "18:00"
}
],
orders=[
{
"id": "order_1",
"location": {"lat": 12.9352, "lng": 77.6245},
"demand": 5,
"time_window": ["09:00", "12:00"],
"service_time_min": 10
},
{
"id": "order_2",
"location": {"lat": 12.9698, "lng": 77.7500},
"demand": 8,
"time_window": ["10:00", "14:00"]
}
],
options={
"optimize_for": "time",
"traffic": True
}
)
{
"id": "opt_abc123",
"status": "completed",
"summary": {
"total_vehicles_used": 2,
"total_orders": 15,
"orders_assigned": 15,
"orders_unassigned": 0,
"total_distance_km": 45.2,
"total_duration_min": 180,
"estimated_cost_inr": 450
},
"routes": [
{
"vehicle_id": "v1",
"stops": [
{
"type": "start",
"location": {"lat": 12.9716, "lng": 77.5946},
"arrival": "08:00",
"departure": "08:00"
},
{
"type": "delivery",
"order_id": "order_1",
"location": {"lat": 12.9352, "lng": 77.6245},
"arrival": "08:35",
"departure": "08:45",
"demand": 5
},
{
"type": "delivery",
"order_id": "order_3",
"location": {"lat": 12.9256, "lng": 77.6389},
"arrival": "09:05",
"departure": "09:15",
"demand": 12
},
{
"type": "end",
"location": {"lat": 12.9716, "lng": 77.5946},
"arrival": "12:30"
}
],
"distance_km": 22.5,
"duration_min": 270,
"load": 35,
"polyline": "encoded_polyline_string..."
},
{
"vehicle_id": "v2",
"stops": [...],
"distance_km": 22.7,
"duration_min": 255,
"load": 42
}
],
"created_at": "2026-02-01T10:30:00Z"
}