Product Guides
Step 1: Transport operations and TOC mapping
How to create transport legs, choose the right TOC for each shipment, and handle multi-modal routes.
What is a transport leg?
A transport leg is one segment of a shipment using one vehicle type. A delivery from Madrid to Hamburg might have three legs:
| Leg | Mode | Vehicle | Route |
|---|---|---|---|
| 1 | Road | Articulated truck | Madrid to Barcelona port |
| 2 | Maritime | General cargo vessel | Barcelona to Hamburg |
| 3 | Road | Van | Hamburg port to warehouse |
Each leg gets its own emission calculation.
What is a TOC?
A TOC (Transport Operation Category) is the combination of vehicle type + fuel that determines the emission factor. Think of it as a label that tells Dcycle how polluting that type of transport is.
Examples:
| TOC | Mode | Vehicle | Fuel | Emission factor |
|---|---|---|---|---|
van_diesel | Road | Van | Diesel | 1.270 kgCO2e/tkm |
articulated_truck_diesel | Road | Articulated truck | Diesel | 0.196 kgCO2e/tkm |
generic_average_rail | Rail | Freight train | Mixed | 0.025 kgCO2e/tkm |
general_cargo | Maritime | Cargo vessel | HFO | 0.012 kgCO2e/tkm |
freighter | Air | Cargo plane | Jet fuel | 0.600 kgCO2e/tkm |
Tip
Air freight emits 20-50x more per tonne-kilometer than maritime. Knowing your TOC mix helps identify where to reduce emissions.
How to map your shipments to TOCs
This is the most important step. For each transport leg, you need to decide which TOC applies.
Option A: You know the exact vehicle
If you know the vehicle type and fuel, specify the TOC directly. This gives the most accurate result.
What you provide: origin, destination, load, and TOC (e.g., rigid_truck_diesel)
Option B: You only know the transport mode
If you don’t know the exact vehicle, just provide the category (road, rail, maritime, or air). Dcycle assigns a generic average TOC for that mode and region.
What you provide: origin, destination, load, and category (e.g., road)
Option C: You already have the distance
If you know the exact distance, provide distance_km instead of origin and destination. Dcycle skips the geocoding step and uses your number directly.
Available TOCs by mode
Road
| TOC | Typical use |
|---|---|
van_diesel / van_electric | Last-mile, small parcels |
rigid_truck_diesel | Urban distribution, medium loads |
articulated_truck_diesel / _electric | Long-haul, full truckloads |
tank_truck_diesel | Liquid or bulk cargo |
generic_average_road | When you don’t know the vehicle |
Supported fuels: diesel, electric, CNG, LNG, HVO, biodiesel blends, LPG.
Rail
| TOC | Typical use |
|---|---|
generic_average_rail | All rail freight |
Rail has the lowest emission intensity of any land mode.
Maritime
| TOC | Typical use |
|---|---|
oil_tanker | Petroleum and liquids |
general_cargo | Mixed cargo vessels |
bulk_carrier | Dry bulk (grain, minerals) |
ro_ro | Roll-on/roll-off (vehicles, trailers) |
generic_average_maritime | When you don’t know the vessel type |
Air
| TOC | Typical use |
|---|---|
freighter | Dedicated cargo planes |
belly_freight | Cargo in passenger aircraft |
generic_average_air | When you don’t know the aircraft type |
Distance Adjustment Factors (DAF)
Real routes are longer than straight-line distances. GLEC applies correction factors:
| Mode | Adjustment | Why |
|---|---|---|
| Road | Route distance x 0.95 | Roads aren’t straight |
| Maritime | Route distance x 0.85 | Sea lanes curve around land |
| Air | Great Circle - 95 km | Takeoff and landing patterns |
| Rail | No adjustment | Rail distances are typically accurate |
Note
Dcycle applies DAF automatically when it calculates the distance from addresses. If you provide the distance yourself, no adjustment is applied.
Multi-modal shipments
Many real shipments use more than one mode. To track them together:
- Create one leg per transport segment
- Use the same movement ID across all legs (e.g.,
MOV-2025-MAD-HAM-001) - Optionally tag each leg as
first_mile,main_haul, orlast_mile
Dcycle aggregates the total CO2e and distance across all legs with the same movement ID.
Load units
You can express cargo weight in different units:
| Unit | Conversion | When to use |
|---|---|---|
kg | 1 kg | Default, any cargo |
ton | 1,000 kg | Heavy freight |
pallets | 1,500 kg | Palletized goods |
teu | 20,000 kg | 20ft containers |
feu | 40,000 kg | 40ft containers |
Load factor (shared capacity)
If your cargo only fills part of the vehicle, use load_factor to allocate emissions proportionally. A value of 0.5 means your cargo uses 50% of the vehicle’s capacity, so you get 50% of the emissions.
Subcontracted transport
If a leg is handled by a third-party carrier:
- Mark it as subcontracted
- The emissions move from Scope 1 (own fleet) to Scope 3 (purchased transport)
- This distinction matters for your GLEC company report
Best practices
- Use the most specific TOC you can.
articulated_truck_dieselis more accurate thangeneric_average_road - Include the origin country. Regional emission factors (e.g., EU vs. global) are more precise
- Group legs with movement IDs. This enables shipment-level reporting
- Mark subcontracted legs. Correct scope allocation depends on it
Was this helpful?
What was missing or unclear? (optional)
Sent. Thank you for helping us improve.