PICKUP
(loading), DROP
(unloading)DROP_FROM_BOX
(unloading cargo that is already in the body), PICKUP_TO_BOX
(cargo pickup into the body without subsequent unloading), WORK
(working at the location without moving the cargo)Performer restrictions:
Transport restrictions:
Order restrictions:
Entities are compatible if the capabilities list of one entity corresponds to the list of restrictions of another entity (example: fleet parameters corresponds to cargo parameters to be delivered).
Supported compatibilities:
Name | Restrictions | Features |
---|---|---|
Order - Performer | order.performer_restrictions | performer.performer_features |
Order - Not a performer | order.performer_blacklist | performer.performer_features |
Cargo - Box | order.cargo.box_restrictions | transport.box.box_features |
Location - Transport | location.transport_restrictions | transport.transport_features |
Transport - Performer | transport.performer_restrictions | performer.performer_features |
Performer - Transport | performer.transport_restrictions | transport.transport_features |
Order - Order | order.order_restrictions | order.order_features |
Business rule examples:
Name | Business rule example |
---|---|
Order - Performer | The driver must have a special license to fulfil the order |
Order - Not a performer | The driver is in the blacklist |
Cargo - Box | For transportation of frozen products, a box with a special temperature profile is required |
Location - Transport | Restrictions on the transport height |
Transport - Performer | The truck driver must have the class C driving license |
Performer - Transport | The driver is allowed to work on a specific transport |
Order - Order | It is not allowed to transport fish and fruits in the same box |
List of possibilities of a object rotations (90 degree step):
ALL
- can rotate by any axisYAW
- can yawPITCH
- can pitchROLL
- can rollA trip is described by a list of states of the performer, while at the same time the performer can be in several states (for example, being inside the working time window of a location and fulfilling an order at the same location).
The meanings of the flags responsible for the geographical location:
AROUND_LOCATION
- the performer is located near the location - in the process of parking or leaving it.INSIDE_LOCATION
- the performer is located at the location.The values of the flags responsible for being in time windows:
INSIDE_WORKING_WINDOW
- the performer is inside the working time window.INSIDE_LOCATION_WINDOW
- the performer is located inside the location's operating time.INSIDE_EVENT_HARD_WINDOW
- the performer is inside a hard time window.INSIDE_EVENT_SOFT_WINDOW
- the performer is inside a soft time window.The values of the flags responsible for the actions:
ON_DEMAND
- the performer is working on the request.WAITING
- the performer is in standby mode.RELOCATING
- the performer moves to the next stop.BREAK
- the performer is on a break.REST
- the performer is on a long vacation.Flag values responsible for the logical state:
DURING_ROUNDTRIP
- the executor is performing a roundtrip.time | set of active flags | location / order / application / event | comment |
---|---|---|---|
10:00 | INSIDE_LOCATION AROUND_LOCATION |
2 / - / - / - | starting location |
10:10 | RELOCATING | - / - / - / - | we go to the first order |
10:20 | AROUND_LOCATION | 2 / - / - / - | arrived at the first order |
10:40 | AROUND_LOCATION INSIDE_LOCATION WAITING |
2 / - / - / - | parked |
11:00 | AROUND_LOCATION INSIDE_LOCATION INSIDE_LOCATION_WINDOW WAITING INSIDE_EVENT_HARD_WINDOW |
2 / - / - / - | waited for the start of the location window and at the same time the availability of the order |
11:25 | AROUND_LOCATION INSIDE_LOCATION INSIDE_LOCATION_WINDOW ON_DEMAND INSIDE_WORKING_WINDOW INSIDE_EVENT_HARD_WINDOW |
2 / 1 / 2 / 3 | waited for the change of artist |
11:30 | AROUND_LOCATION INSIDE_LOCATION INSIDE_LOCATION_WINDOW ON_DEMAND INSIDE_WORKING_WINDOW INSIDE_EVENT_HARD_WINDOW INSIDE_EVENT_SOFT_WINDOW |
2 / 1 / 2 / 3 | while working - a soft window happened |
11:40 | AROUND_LOCATION INSIDE_LOCATION INSIDE_LOCATION_WINDOW INSIDE_WORKING_WINDOW |
2 / - / - / - | finished working |
11:45 | AROUND_LOCATION INSIDE_WORKING_WINDOW |
2 / - / - / - | drove out of the parking lot |
11:45 | RELOCATING INSIDE_WORKING_WINDOW |
- / - / - / - | we go to the next order |
A trip consists of one or more round trips.
The flag of the presence of a round trip DURING_ROUNDTRIP
is set when the work on the request starts and is removed in one of three cases:
Between the end of one round trip and the beginning of another round trip, a change of location RELOCATING
cannot occur, but the following can occur: waiting WAITING
, a break for the executor BREAK
, a rest for the executor REST
.
Locations dividing a trip into round trips are defined as follows:
timetable.limits
(in this case, there may be more than one location dividing the trip)PICKUP
type (in this case, there will be only one location dividing the trip)Examples of such locations, depending on the task formulation, can be: