Everest icon

Everest

Interact with Everest TMS (Transport Management System)

Overview

This node integrates with the Everest Transport Management System (TMS) to optimize routing for shipments and vehicles. Specifically, the "Route" resource with the "Optimize" operation allows users to input multiple shipments and vehicles along with constraints and preferences, then computes optimized routes that minimize travel time, distance, or costs while respecting capacities, time windows, and priorities.

Common scenarios include:

  • Planning delivery routes for a fleet of vehicles to fulfill multiple pickups and deliveries efficiently.
  • Optimizing multi-day transport schedules with vehicle availability windows.
  • Balancing workload fairly among vehicles based on priority and skills.
  • Incorporating custom cost matrices and constraints to reflect real-world conditions.

Practical example:
A logistics company wants to plan daily delivery routes for their trucks. They input shipment details including pickup and delivery locations, time windows, and volume/weight. They also specify vehicle capacities, start/end locations, and breaks. The node returns optimized routes that respect all constraints, helping reduce fuel consumption and improve service times.

Properties

Name Meaning
Shipments List of shipments to be routed. Each shipment includes:
- Pickup details (ID, description, location coordinates, setup/service/duration times, time windows)
- Delivery details (same structure as pickup)
- Amount, volume, weight, priority, required skills, and metadata key-value pairs.
Vehicles List of vehicles available for routing. Each vehicle includes:
- Vehicle ID, profile type (Car, Truck, Bike, Walk), description
- Start and end locations (coordinates)
- Capacity limits (items, weight, volume)
- Maximum tasks, travel time, distance (0 means unlimited)
- Speed factor, priority, skills
- Availability time window
- Flags to show start/end in output
- Breaks with IDs, descriptions, service times, recurrence, and time windows
- Cost parameters: fixed cost, cost per hour, cost per kilometer
- Metadata key-value pairs.
Matrices Optional custom matrices for durations, distances, and costs between points, specified as JSON arrays. Each matrix is associated with a vehicle profile (Car, Truck, Bike).
Time Window Constraint Global time window constraints for the entire route optimization, specifying start and end date-times.
Options Additional options:
- Split Per Day: whether to split routes by day for multi-day planning (default true)
- Distribute Fairly: whether to distribute tasks evenly among vehicles (default true)

Output

The node outputs a JSON array representing the optimized routing solution. This typically includes:

  • Routes assigned to each vehicle with ordered stops.
  • Timing details for each stop (arrival, departure).
  • Distances and durations traveled.
  • Any applied breaks or constraints.
  • Summary statistics such as total cost, total distance, and total duration.

If configured, the output may also include start and end locations explicitly shown.

The node does not output binary data.

Dependencies

  • Requires an API key credential for authenticating with the Everest TMS API.
  • The node calls Everest API endpoints to perform route optimization.
  • No additional external dependencies beyond the Everest API and n8n environment.

Troubleshooting

  • Invalid or missing API credentials: Ensure the API key credential is correctly configured in n8n.
  • Malformed shipment or vehicle data: Verify that all required fields (IDs, coordinates, capacities) are provided and valid numbers.
  • Time window conflicts: Overlapping or impossible time windows can cause optimization failures; check that time windows are logical and consistent.
  • Matrix JSON parsing errors: If using custom matrices, ensure JSON arrays are well-formed and match expected dimensions.
  • Exceeded capacity or constraints: If no feasible solution is found, try relaxing constraints like max tasks, max travel time, or vehicle capacities.
  • API rate limits or network issues: Monitor API usage and ensure stable connectivity.

Error messages from the node will generally indicate the nature of the problem, such as validation errors or API response errors. Review the error message and adjust inputs accordingly.

Links and References

Discussion