Skills¶
The Skills system allows you to perform specialized matching between vehicles and jobs.
What are Skills?¶
Skills match the capabilities that vehicles possess with the capabilities that jobs require. This ensures that appropriate vehicles are assigned to jobs with specific requirements.
Basic Usage¶
Vehicle Skills¶
{
"vehicles": [
{
"id": "vehicle_1",
"start": {"latitude": 41.0082, "longitude": 28.9784},
"skills": [1, 2, 3]
}
]
}
Job Skills¶
{
"jobs": [
{
"id": "job_1",
"start": {"latitude": 41.0100, "longitude": 28.9800},
"end": {"latitude": 41.0150, "longitude": 28.9850},
"skills": [1, 2]
}
]
}
Matching Logic¶
All skills of a job must be present in the assigned vehicle's skills list.
Example:
- Job skills: [1, 2]
- Vehicle skills: [1, 2, 3] → ✅ Match
- Vehicle skills: [1, 3] → ❌ No match (2 is missing)
Use Cases¶
1. Cold Chain Transport¶
{
"vehicles": [
{"id": "refrigerated_truck", "skills": [1]}
],
"jobs": [
{"id": "frozen_goods", "skills": [1]}
]
}
Skill 1 = Refrigerated vehicle
2. Crane-Equipped Vehicle¶
{
"vehicles": [
{"id": "crane_truck", "skills": [2]}
],
"jobs": [
{"id": "heavy_equipment", "skills": [2]}
]
}
Skill 2 = Crane equipment
3. Hazardous Materials Certification¶
{
"vehicles": [
{"id": "hazmat_truck", "skills": [3]}
],
"jobs": [
{"id": "chemical_delivery", "skills": [3]}
]
}
Skill 3 = Hazardous materials certification
Configuration¶
Skill IDs¶
Skill IDs are integer values. Their meaning is left to the user.
| Skill ID | Example Meaning |
|---|---|
| 1 | Refrigerated vehicle |
| 2 | Crane equipment |
| 3 | Hazardous materials |
| 4 | Zone permit (Istanbul) |
| 5 | Zone permit (Ankara) |
Python Example¶
import requests
API_BASE_URL = "https://api.flio.ai"
API_KEY = "YOUR-API-KEY"
payload = {
"vehicles": [
{
"id": "vehicle_1",
"start": {"latitude": 41.0082, "longitude": 28.9784},
"skills": [1, 2]
}
],
"jobs": [
{
"id": "job_1",
"start": {"latitude": 41.0100, "longitude": 28.9800},
"end": {"latitude": 41.0150, "longitude": 28.9850},
"skills": [1]
}
],
"options": {"minimize": "cost"}
}
url = f"{API_BASE_URL}/solver/optimize?apiKey={API_KEY}"
response = requests.post(url, json=payload)
result = response.json()
Skills system — Flio.ai