メインコンテンツまでスキップ

Node model

uidstring<uuid>required

Unique identifier of the node

booking_uidstring<uuid>

Required for pickup and dropoff nodes. Unique identifier of the booking this node belongs to (used to correlate pickup and dropoff nodes).

stop_idstring

Transit stop corresponding to this node.

latnumberrequired

Latitude of the node

lonnumberrequired

Longitude of the node

demand objectrequired

The number of ordinary passengers to be transferred or a dictionary where the key is the type of seat (ordinary passenger is "passenger") and the value is the number of seats required.

In Logistics this could be how many tons of goods the vehicle needs to pickup/dropoff from this node

property name*integer
open_time_tsstring<date-time>required

Earliest date and time when the node processing can be started.

close_time_tsstring<date-time>required

Latest date and time when the node processing can be started.

service_timenumberrequired

Time required for a vehicle to be serviced (loaded or unloaded) at this node

node_typeNode types enum (string)required

Sets type of the node

Possible values: [dropoff, point, pickup, vehicle_position, depot]

close_time_ts_dynamicstring<date-time>

Latest date and time when the node processing can be started. Usually equals close_time_ts and is applied to the dynamic algorithm type.

location_namestring

Name of the location.

location_codestring

Code of the location if applicable.

scheduled_tsstring<date-time>

Date and time when this node is supposed to be visited. NOTE: This should be omitted unless required explicitly by the use case.

max_trip_durationnumber | nullnullable

Dropoff node's close_time_ts_dynamic minus pickup node's open_time_ts_dynamicif algorithm is dynamic Dropoff node's close_time_ts minus pickup node's open_time_ts otherwise

started_service_at_tsstring,null<date-time>nullable

Date and time when node service started. Is required for vehicle.completed_nodes, otherwise may be omitted.

lifo_order_checkboolean

Flag that enables LIFO order check for nodes of this booking. Used only if use_lifo_order_check is set for model. Enables or disables the LIFO order logic for this node. LIFO logic is a soft constraint forcing the pickups and drop offs to happen in LIFO sequence related to the vehicles (last picked up order is prioritized for the drop off)

Default value: false
lifo_order_penaltynumber | nullnullable

Penalty value that defines that LIFO constraint for this node is soft.

groupsstring[]

list of group names as strings for this node. Items in this list are used for processing of mutually-exclusive groups constraint.

max_slacknumber | nullnullable

maximum slack limitation for this node.

weightnumber | nullnullable

Transit stop weight. Weight of the node that is added to cost function if the stop is active.

allow_jumpboolean

Whether to allow the node to be re-assigned to another vehicle.

penaltynumber | nullnullable

Rejection penalty for the node (large value added to overall cost function) for not performing this booking. If value is null penalty value is taken from model_parameters.booking_penalty settings. This value should be large enough to justify cost of travelling to the node, or cost of violating soft constraints if any to have the node assigned to a vehicle. Values can vary from hundreds to millions depending on the usecase.

matrix_timestampstring,null<date-time>nullable

Timestamp for which transits from this node should be calculated. Default value is node.open_time_ts

geofence_idstring | nullnullable

Geofence id for this node.

geofence_idsstring[]

List of geofence ids for this node (if node is close to geofences border).

trip_costnumber<float>

Price of trip time for this booking. Overall trip cost for booking is calculated as real travel time * trip_cost. Default value is defined in scheduler settings.

finalization_typestring

Defined options to get the final scheduled time of this node. If set to 'max', the algorithm is trying to "shift" a solution to schedule a node visit as late as possible within a given solution (thus minimizing slack); when set to 'min', it tries to schedule the node visit as early as possible. This is a post-processing step that does not impact the solution but tries to adjust the result.

Possible values: [min, max]

vehicle_characteristics object

Required vehicle characteristics to perform this node. Required vehicle characteristics for booking must be a dictionary mapping the required characteristic name to characteristic minimum value (as value convertible to integer) or value range (as dict, containing 'min' and 'max' keys).

Important note: all characteristics must be present in the list of characteristics for all vehicles.

property name* object
anyOf
number

Value of the characteristic, for example:

{
"manpower": 3
}
vehicle_labelsobject | nullnullable

Vehicle labels contain constraints, represented as dicts, that may contain string labels or sub-constraints. A constraint is a dict, containing only one entry with keys: "and", "or" or "not". Keys "and" and "or" define the AND or OR logic functions. Values for these keys should be a list of either string labels or dicts, containing sub-constraints. The key "not" defines the NOT logic function. The value for this key can be a single string or a single sub-constraint. Example of vehicle labels constraints: '1' AND ('2' OR '3') AND NOT ('4' AND '5') as

{"and": [{"or": ["2", "3"]}, {"not": {"and": ["4", "5"]}}]}
end_of_tripboolean | nullnullable

End of vehicle trip marker must be set for all nodes located at the depot(s). This allows scheduler to calculate number of vehicle trips and obey number_of_trips constraint.

time_windowsstring[]

List of additional time windows.

Node model
{
"uid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"booking_uid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"stop_id": "string",
"lat": 0,
"lon": 0,
"demand": {},
"open_time_ts": "2024-07-29T15:51:28.071Z",
"close_time_ts": "2024-07-29T15:51:28.071Z",
"service_time": 0,
"node_type": "dropoff",
"close_time_ts_dynamic": "2024-07-29T15:51:28.071Z",
"location_name": "string",
"location_code": "string",
"scheduled_ts": "2024-07-29T15:51:28.071Z",
"max_trip_duration": 0,
"started_service_at_ts": "2024-07-29T15:51:28.071Z",
"lifo_order_check": false,
"lifo_order_penalty": 0,
"groups": [
"string"
],
"max_slack": 0,
"weight": 0,
"allow_jump": true,
"penalty": 0,
"matrix_timestamp": "2024-07-29T15:51:28.071Z",
"geofence_id": "string",
"geofence_ids": [
"string"
],
"trip_cost": 0,
"finalization_type": "min",
"vehicle_characteristics": {},
"vehicle_labels": "Unknown Type: object,null",
"end_of_trip": true,
"time_windows": [
"string"
]
}