n8n-nodes-everest-tms
Version:
Everest TMS n8n integration
1,277 lines • 51.7 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.routeFields = exports.routeOperations = void 0;
exports.routeOperations = [
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['route'],
},
},
options: [
{
name: 'Create',
value: 'create',
description: 'Create a new optimized route',
action: 'Create a route',
},
{
name: 'Delete',
value: 'delete',
description: 'Delete a route',
action: 'Delete a route',
},
{
name: 'Get',
value: 'get',
description: 'Get a route by ID',
action: 'Get a route',
},
{
name: 'Get Many',
value: 'getMany',
description: 'Get multiple routes',
action: 'Get many routes',
},
{
name: 'Optimize',
value: 'optimize',
description: 'Optimize routes for vehicles and shipments',
action: 'Optimize routes',
},
{
name: 'Update',
value: 'update',
description: 'Update an existing route',
action: 'Update a route',
},
],
default: 'getMany',
},
];
exports.routeFields = [
// Get and Delete operations
{
displayName: 'Route ID',
name: 'id',
type: 'number',
required: true,
displayOptions: {
show: {
resource: ['route'],
operation: ['get', 'delete', 'update'],
},
},
default: 0,
description: 'The ID of the route',
},
// Create operation - Required fields
{
displayName: 'Mission References',
name: 'mission_refs',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['route'],
operation: ['create'],
},
},
default: '',
description: 'Mission references to include in the route (comma-separated)',
placeholder: 'ABC123XXX,DEF456YYY,GHI789ZZZ',
},
{
displayName: 'Vehicles',
name: 'vehicles',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['route'],
operation: ['create'],
},
},
default: '',
description: 'Platform vehicle IDs to use for the route (comma-separated)',
placeholder: '1,2,3',
},
// Create and Update - Additional fields
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
resource: ['route'],
operation: ['create', 'update'],
},
},
options: [
{
displayName: 'Name',
name: 'name',
type: 'string',
default: '',
description: 'Name of the route',
placeholder: 'Route du matin - Secteur Nord',
},
{
displayName: 'Color',
name: 'color',
type: 'string',
default: '',
description: 'Route color in hexadecimal format',
placeholder: '#FF5733',
},
{
displayName: 'Agent',
name: 'agent_id',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getAgents',
},
default: '',
description: 'Agent to assign to the route',
},
{
displayName: 'Agent Vehicle ID',
name: 'agent_vehicle_id',
type: 'number',
default: 0,
description: 'Specific agent vehicle ID to use',
},
{
displayName: 'Start Address',
name: 'address_start',
type: 'string',
default: '',
description: 'Starting address for the vehicle',
placeholder: '16 avenue Reille, 75014 Paris',
},
{
displayName: 'End Address',
name: 'address_end',
type: 'string',
default: '',
description: 'Ending address for the vehicle',
placeholder: '16 avenue Reille, 75014 Paris',
},
{
displayName: 'Router',
name: 'router',
type: 'options',
options: [
{
name: 'Auto',
value: 'auto',
},
{
name: 'Manual',
value: 'manual',
},
{
name: 'VROOM',
value: 'vroom',
},
{
name: 'OSRM',
value: 'osrm',
},
],
default: 'auto',
description: 'Routing engine to use',
},
{
displayName: 'Split Per Day',
name: 'split_per_day',
type: 'boolean',
default: true,
description: 'Whether to split routes per day for multi-day planning',
},
{
displayName: 'Early Departure',
name: 'early_departure',
type: 'boolean',
default: false,
description: 'Whether to allow early departure',
},
{
displayName: 'Distribute Fairly',
name: 'distribute_fairly',
type: 'boolean',
default: true,
description: 'Whether to distribute tasks fairly among vehicles',
},
{
displayName: 'Status',
name: 'status',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getStatuses',
},
default: '',
description: 'Status to apply to all missions in the route',
},
],
},
// Update operation - specific fields
{
displayName: 'Update Fields',
name: 'updateFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
resource: ['route'],
operation: ['update'],
},
},
options: [
{
displayName: 'Mission References',
name: 'mission_refs',
type: 'string',
default: '',
description: 'Updated mission references (comma-separated)',
placeholder: 'ABC123XXX,DEF456YYY,NEW789ZZZ',
},
{
displayName: 'Vehicles',
name: 'vehicles',
type: 'string',
default: '',
description: 'Updated platform vehicle IDs (comma-separated)',
placeholder: '2,3',
},
{
displayName: 'Optimize',
name: 'optimize',
type: 'boolean',
default: false,
description: 'Whether to re-optimize the route',
},
],
},
// Time Window Constraint for Create
{
displayName: 'Time Window Constraint',
name: 'constraint_time_window',
type: 'fixedCollection',
default: {},
placeholder: 'Add Time Window Constraint',
displayOptions: {
show: {
resource: ['route'],
operation: ['create'],
},
},
options: [
{
name: 'window',
displayName: 'Time Constraint',
values: [
{
displayName: 'Start Date & Time',
name: 'start_datetime',
type: 'dateTime',
default: '',
description: 'Start date and time for the constraint (Europe/Paris timezone)',
placeholder: '2025-01-20 08:00',
},
{
displayName: 'End Date & Time',
name: 'end_datetime',
type: 'dateTime',
default: '',
description: 'End date and time for the constraint (Europe/Paris timezone)',
placeholder: '2025-01-20 18:00',
},
],
},
],
},
// Status Extras for Create
{
displayName: 'Status Extras',
name: 'status_extras',
type: 'string',
displayOptions: {
show: {
resource: ['route'],
operation: ['create'],
},
},
default: '',
description: 'Additional status information (comma-separated)',
placeholder: 'extra_info_1,extra_info_2',
},
// Get Many - Options
{
displayName: 'Options',
name: 'options',
type: 'collection',
placeholder: 'Add Option',
default: {},
displayOptions: {
show: {
resource: ['route'],
operation: ['getMany'],
},
},
options: [
{
displayName: 'Limit',
name: 'limit',
type: 'number',
default: 10,
description: 'Max number of results to return',
},
{
displayName: 'Limit Start',
name: 'limit_start',
type: 'number',
default: 0,
description: 'Starting offset for pagination (0-based index)',
},
{
displayName: 'Agent',
name: 'agent',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getAgents',
},
default: '',
description: 'Filter by agent',
},
{
displayName: 'Service',
name: 'service',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getServices',
},
default: '',
description: 'Filter by service',
},
{
displayName: 'Search',
name: 'search',
type: 'string',
default: '',
description: 'Search term to filter routes',
},
{
displayName: 'Hide Finished Routes',
name: 'hide_finished',
type: 'boolean',
default: false,
description: 'Whether to hide finished routes and only return ongoing ones',
},
{
displayName: 'Statuses',
name: 'statuses',
type: 'string',
default: '',
description: 'Filter by specific statuses (comma-separated status slugs)',
placeholder: 'delivery-ok,pickup,cancelled',
},
{
displayName: 'Start Date From',
name: 'date_between_start',
type: 'dateTime',
default: '',
description: 'Filter routes with start date from this date/time (Europe/Paris timezone)',
placeholder: '2025-06-26 09:40',
},
{
displayName: 'Start Date To',
name: 'date_between_end',
type: 'dateTime',
default: '',
description: 'Filter routes with start date until this date/time (Europe/Paris timezone)',
placeholder: '2025-06-26 18:00',
},
{
displayName: 'Order By',
name: 'order_by',
type: 'options',
options: [
{
name: 'Date Created',
value: 'date_created',
},
{
name: 'Date Modified',
value: 'date_modified',
},
{
name: 'Last Status Date',
value: 'last_status_date',
},
{
name: 'Start Date',
value: 'start_date',
},
{
name: 'Distance',
value: 'distance',
},
{
name: 'Duration',
value: 'duration',
},
],
default: 'start_date',
description: 'Field to order results by',
},
{
displayName: 'Order Direction',
name: 'order_by_order',
type: 'options',
options: [
{
name: 'Ascending',
value: 'ASC',
},
{
name: 'Descending',
value: 'DESC',
},
],
default: 'DESC',
description: 'Order direction',
},
],
},
// Shipments for Optimize operation
{
displayName: 'Shipments',
name: 'shipments',
type: 'fixedCollection',
required: true,
default: {},
placeholder: 'Add Shipment',
displayOptions: {
show: {
resource: ['route'],
operation: ['optimize'],
},
},
typeOptions: {
multipleValues: true,
},
options: [
{
name: 'shipment',
displayName: 'Shipment',
values: [
{
displayName: 'Pickup',
name: 'pickup',
type: 'collection',
default: {},
placeholder: 'Add Pickup Details',
options: [
{
displayName: 'ID',
name: 'id',
type: 'number',
default: 1,
description: 'Unique identifier for the pickup point',
},
{
displayName: 'Description',
name: 'description',
type: 'string',
default: '',
description: 'Description of the pickup location',
},
{
displayName: 'Location',
name: 'location',
type: 'fixedCollection',
default: {},
options: [
{
name: 'coordinates',
displayName: 'Coordinates',
values: [
{
displayName: 'Longitude',
name: 'lng',
type: 'number',
default: 0,
description: 'Longitude of pickup location',
},
{
displayName: 'Latitude',
name: 'lat',
type: 'number',
default: 0,
description: 'Latitude of pickup location',
},
],
},
],
},
{
displayName: 'Setup Time (seconds)',
name: 'setup',
type: 'number',
default: 60,
description: 'Setup time at pickup in seconds',
},
{
displayName: 'Service Time (seconds)',
name: 'service',
type: 'number',
default: 300,
description: 'Service time at pickup in seconds',
},
{
displayName: 'Duration (seconds)',
name: 'duration',
type: 'number',
default: 0,
description: 'Total duration override (optional, calculated if not provided)',
},
{
displayName: 'Time Windows',
name: 'time_windows',
type: 'fixedCollection',
default: {},
placeholder: 'Add Time Window',
typeOptions: {
multipleValues: true,
},
options: [
{
name: 'window',
displayName: 'Time Window',
values: [
{
displayName: 'Start Date & Time',
name: 'start_datetime',
type: 'dateTime',
default: '',
description: 'Start date and time for the pickup window (Europe/Paris timezone)',
placeholder: '2025-01-20 09:00',
},
{
displayName: 'End Date & Time',
name: 'end_datetime',
type: 'dateTime',
default: '',
description: 'End date and time for the pickup window (Europe/Paris timezone)',
placeholder: '2025-01-20 17:00',
},
],
},
],
},
],
},
{
displayName: 'Delivery',
name: 'delivery',
type: 'collection',
default: {},
placeholder: 'Add Delivery Details',
options: [
{
displayName: 'ID',
name: 'id',
type: 'number',
default: 2,
description: 'Unique identifier for the delivery point',
},
{
displayName: 'Description',
name: 'description',
type: 'string',
default: '',
description: 'Description of the delivery location',
},
{
displayName: 'Location',
name: 'location',
type: 'fixedCollection',
default: {},
options: [
{
name: 'coordinates',
displayName: 'Coordinates',
values: [
{
displayName: 'Longitude',
name: 'lng',
type: 'number',
default: 0,
description: 'Longitude of delivery location',
},
{
displayName: 'Latitude',
name: 'lat',
type: 'number',
default: 0,
description: 'Latitude of delivery location',
},
],
},
],
},
{
displayName: 'Setup Time (seconds)',
name: 'setup',
type: 'number',
default: 60,
description: 'Setup time at delivery in seconds',
},
{
displayName: 'Service Time (seconds)',
name: 'service',
type: 'number',
default: 300,
description: 'Service time at delivery in seconds',
},
{
displayName: 'Duration (seconds)',
name: 'duration',
type: 'number',
default: 0,
description: 'Total duration override (optional, calculated if not provided)',
},
{
displayName: 'Time Windows',
name: 'time_windows',
type: 'fixedCollection',
default: {},
placeholder: 'Add Time Window',
typeOptions: {
multipleValues: true,
},
options: [
{
name: 'window',
displayName: 'Time Window',
values: [
{
displayName: 'Start Date & Time',
name: 'start_datetime',
type: 'dateTime',
default: '',
description: 'Start date and time for the delivery window (Europe/Paris timezone)',
placeholder: '2025-01-20 10:00',
},
{
displayName: 'End Date & Time',
name: 'end_datetime',
type: 'dateTime',
default: '',
description: 'End date and time for the delivery window (Europe/Paris timezone)',
placeholder: '2025-01-20 18:00',
},
],
},
],
},
],
},
{
displayName: 'Amount',
name: 'amount',
type: 'number',
default: 1,
description: 'Number of items in the shipment',
},
{
displayName: 'Volume (m³)',
name: 'volume',
type: 'number',
default: 0,
description: 'Volume of the shipment in cubic meters',
},
{
displayName: 'Weight (kg)',
name: 'weight',
type: 'number',
default: 0,
description: 'Weight of the shipment in kilograms',
},
{
displayName: 'Priority',
name: 'priority',
type: 'number',
default: 1,
description: 'Priority level of the shipment (higher means more priority)',
},
{
displayName: 'Skills',
name: 'skills',
type: 'multiOptions',
typeOptions: {
loadOptionsMethod: 'getSkills',
},
default: [],
description: 'Required skills for this shipment',
},
{
displayName: 'Metadata',
name: 'metas',
type: 'fixedCollection',
default: {},
placeholder: 'Add Metadata',
typeOptions: {
multipleValues: true,
},
options: [
{
name: 'meta',
displayName: 'Metadata',
values: [
{
displayName: 'Key',
name: 'key',
type: 'string',
default: '',
description: 'Metadata key',
},
{
displayName: 'Value',
name: 'value',
type: 'string',
default: '',
description: 'Metadata value',
},
],
},
],
},
],
},
],
},
// Vehicles for Optimize operation
{
displayName: 'Vehicles',
name: 'vehicles',
type: 'fixedCollection',
required: true,
default: {},
placeholder: 'Add Vehicle',
displayOptions: {
show: {
resource: ['route'],
operation: ['optimize'],
},
},
typeOptions: {
multipleValues: true,
},
options: [
{
name: 'vehicle',
displayName: 'Vehicle',
values: [
{
displayName: 'Vehicle ID',
name: 'id',
type: 'number',
default: 1,
description: 'Unique identifier for the vehicle',
},
{
displayName: 'Profile',
name: 'profile',
type: 'options',
options: [
{
name: 'Car',
value: 'car',
},
{
name: 'Truck',
value: 'truck',
},
{
name: 'Bike',
value: 'bike',
},
{
name: 'Walk',
value: 'walk',
},
],
default: 'car',
description: 'Vehicle profile type',
},
{
displayName: 'Description',
name: 'description',
type: 'string',
default: '',
description: 'Human-readable description of the vehicle',
},
{
displayName: 'Start Location',
name: 'start',
type: 'fixedCollection',
default: {},
options: [
{
name: 'coordinates',
displayName: 'Start Coordinates',
values: [
{
displayName: 'Longitude',
name: 'lng',
type: 'number',
default: 0,
description: 'Starting longitude coordinates',
},
{
displayName: 'Latitude',
name: 'lat',
type: 'number',
default: 0,
description: 'Starting latitude coordinates',
},
],
},
],
},
{
displayName: 'End Location',
name: 'end',
type: 'fixedCollection',
default: {},
options: [
{
name: 'coordinates',
displayName: 'End Coordinates',
values: [
{
displayName: 'Longitude',
name: 'lng',
type: 'number',
default: 0,
description: 'Ending longitude coordinates (optional)',
},
{
displayName: 'Latitude',
name: 'lat',
type: 'number',
default: 0,
description: 'Ending latitude coordinates (optional)',
},
],
},
],
},
{
displayName: 'Capacity (items)',
name: 'capacity',
type: 'number',
default: 10,
description: 'Maximum number of items the vehicle can carry',
},
{
displayName: 'Weight Capacity (kg)',
name: 'weight',
type: 'number',
default: 250,
description: 'Maximum weight capacity in kilograms',
},
{
displayName: 'Volume Capacity (m³)',
name: 'volume',
type: 'number',
default: 1.3,
description: 'Maximum volume capacity in cubic meters',
},
{
displayName: 'Max Tasks',
name: 'max_tasks',
type: 'number',
default: 0,
description: 'Maximum number of tasks (0 for unlimited)',
},
{
displayName: 'Max Travel Time (seconds)',
name: 'max_travel_time',
type: 'number',
default: 0,
description: 'Maximum travel time (0 for unlimited)',
},
{
displayName: 'Max Distance (meters)',
name: 'max_distance',
type: 'number',
default: 0,
description: 'Maximum distance (0 for unlimited)',
},
{
displayName: 'Speed Factor',
name: 'speed_factor',
type: 'number',
default: 1,
description: 'Speed factor relative to normal traffic',
},
{
displayName: 'Priority',
name: 'priority',
type: 'number',
default: 1,
description: 'Priority level (higher means more priority)',
},
{
displayName: 'Skills',
name: 'skills',
type: 'multiOptions',
typeOptions: {
loadOptionsMethod: 'getSkills',
},
default: [],
description: 'Skills that this vehicle possesses',
},
{
displayName: 'Time Window',
name: 'time_window',
type: 'fixedCollection',
default: {},
options: [
{
name: 'window',
displayName: 'Availability Window',
values: [
{
displayName: 'Start Date & Time',
name: 'start_datetime',
type: 'dateTime',
default: '',
description: 'Start date and time for vehicle availability (Europe/Paris timezone)',
placeholder: '2025-01-20 08:00',
},
{
displayName: 'End Date & Time',
name: 'end_datetime',
type: 'dateTime',
default: '',
description: 'End date and time for vehicle availability (Europe/Paris timezone)',
placeholder: '2025-01-20 18:00',
},
],
},
],
},
{
displayName: 'Show Start',
name: 'show_start',
type: 'boolean',
default: false,
description: 'Whether to display the start location in outputs',
},
{
displayName: 'Show End',
name: 'show_end',
type: 'boolean',
default: false,
description: 'Whether to display the end location in outputs',
},
{
displayName: 'Breaks',
name: 'breaks',
type: 'fixedCollection',
default: {},
placeholder: 'Add Break',
typeOptions: {
multipleValues: true,
},
options: [
{
name: 'break',
displayName: 'Break',
values: [
{
displayName: 'ID',
name: 'id',
type: 'number',
default: 1,
description: 'Unique identifier for the break',
},
{
displayName: 'Description',
name: 'description',
type: 'string',
default: '',
description: 'Description of the break',
},
{
displayName: 'Service Time (seconds)',
name: 'service',
type: 'number',
default: 1800,
description: 'Service time required for the break in seconds',
},
{
displayName: 'Is Every Day',
name: 'is_every_day',
type: 'boolean',
default: false,
description: 'Whether this break applies every day',
},
{
displayName: 'Time Windows',
name: 'time_windows',
type: 'fixedCollection',
default: {},
placeholder: 'Add Time Window',
typeOptions: {
multipleValues: true,
},
options: [
{
name: 'window',
displayName: 'Time Window',
values: [
{
displayName: 'Start Date & Time',
name: 'start_datetime',
type: 'dateTime',
default: '',
description: 'Start date and time for the break window (Europe/Paris timezone)',
placeholder: '2025-01-20 12:00',
},
{
displayName: 'End Date & Time',
name: 'end_datetime',
type: 'dateTime',
default: '',
description: 'End date and time for the break window (Europe/Paris timezone)',
placeholder: '2025-01-20 13:00',
},
],
},
],
},
],
},
],
},
{
displayName: 'Costs',
name: 'costs',
type: 'collection',
default: {},
placeholder: 'Add Cost Details',
options: [
{
displayName: 'Fixed Cost',
name: 'fixed',
type: 'number',
default: 0,
description: 'Fixed cost for using this vehicle',
},
{
displayName: 'Cost Per Hour',
name: 'per_hour',
type: 'number',
default: 0,
description: 'Cost per hour of operation',
},
{
displayName: 'Cost Per Kilometer',
name: 'per_km',
type: 'number',
default: 0,
description: 'Cost per kilometer traveled',
},
],
},
{
displayName: 'Metadata',
name: 'metas',
type: 'fixedCollection',
default: {},
placeholder: 'Add Metadata',
typeOptions: {
multipleValues: true,
},
options: [
{
name: 'meta',
displayName: 'Metadata',
values: [
{
displayName: 'Key',
name: 'key',
type: 'string',
default: '',
description: 'Metadata key',
},
{
displayName: 'Value',
name: 'value',
type: 'string',
default: '',
description: 'Metadata value',
},
],
},
],
},
],
},
],
},
// Matrices for Optimize operation
{
displayName: 'Matrices',
name: 'matrices',
type: 'fixedCollection',
default: {},
placeholder: 'Add Matrix',
displayOptions: {
show: {
resource: ['route'],
operation: ['optimize'],
},
},
typeOptions: {
multipleValues: true,
},
options: [
{
name: 'matrix',
displayName: 'Matrix',
values: [
{
displayName: 'Profile',
name: 'profile',
type: 'options',
options: [
{
name: 'Car',
value: 'car',
},
{
name: 'Truck',
value: 'truck',
},
{
name: 'Bike',
value: 'bike',
},
],
default: 'car',
description: 'Vehicle profile for this matrix',
},
{
displayName: 'Durations (JSON)',
name: 'durations',
type: 'string',
default: '',
description: 'Durations matrix as JSON array (e.g., [[0,100],[100,0]])',
placeholder: '[[0,100,200],[100,0,150],[200,150,0]]',
},
{
displayName: 'Distances (JSON)',
name: 'distances',
type: 'string',
default: '',
description: 'Distances matrix as JSON array (e.g., [[0,1000],[1000,0]])',
placeholder: '[[0,1000,2000],[1000,0,1500],[2000,1500,0]]',
},
{
displayName: 'Costs (JSON)',
name: 'costs',
type: 'string',
default: '',
description: 'Costs matrix as JSON array (e.g., [[0,10],[10,0]])',
placeholder: '[[0,10,20],[10,0,15],[20,15,0]]',
},
],
},
],
},
// Time Window Constraint for Optimize operation
{
displayName: 'Time Window Constraint',
name: 'time_window_constraint',
type: 'fixedCollection',
default: {},
placeholder: 'Add Time Window Constraint',
displayOptions: {
show: {
resource: ['route'],
operation: ['optimize'],
},
},
typeOptions: {
multipleValues: true,
},
options: [
{
name: 'constraint',
displayName: 'Time Constraint',
values: [
{
displayName: 'Start Date & Time',
name: 'start_datetime',
type: 'dateTime',
default: '',
description: 'Start date and time for the constraint (Europe/Paris timezone)',
placeholder: '2025-01-20 08:00',
},
{
displayName: 'End Date & Time',
name: 'end_datetime',
type: 'dateTime',
default: '',
description: 'End date and time for the constraint (Europe/Paris timezone)',
placeholder: '2025-01-20 18:00',
},
],
},
],
},
// Options for Optimize operation
{
displayName: 'Options',
name: 'options',
type: 'collection',
placeholder: 'Add Option',
default: {},
displayOptions: {
show: {
resource: ['route'],
operation: ['optimize'],
},
},
options: [
{
displayName: 'Split Per Day',
name: 'split_per_day',
type: 'boolean',
default: true,
description: 'Whether to split routes per day when dealing with multi-day planning',
},
{
displayName: 'Distribute Fairly',
name: 'distribute_fairly',
type: 'boolean',
default: true,
description: 'Whether to distribute tasks fairly among vehicles',
},
],
},
];
//# sourceMappingURL=RouteDescription.js.map