VehicleRoutingProblem output data types for schema version Two

The output data types containing the results from a vehicle routing problem analysis when using the VehicleRoutingProblemSchemaVersion.Two schema version are described.

Orders

The output Orders table includes a copy of the input Orders table with additional information about which route served each order, the arrival and departure times, and the order sequence.

The output Orders table also includes all fields present in the input Orders table. Fields that are updated or added to the output are described below.

FieldDescriptionData type

ObjectID

The object ID of the feature.

ObjectID

RouteName

The name of the route to which the order is assigned.

This field corresponds to the Name field in the output Routes table.

Text

Sequence

This indicates the sequence of the order on its assigned route.

Long

These fields contain a summary of violated constraints and are set after a solve operation. Each field will contain one violation. If an order has more than one violation, the next ViolatedConstraint_* field will be used.

Learn more about troubleshooting network analyses

Note:

The violated constraint field value of an unrouted order may or may not describe all its violations. If the violation is severe enough to immediately exclude the order from further consideration, the solver does so, which prevents any other violations from being discovered for that order. If a violation is encountered that doesn't automatically stop a solution from being generated, the violation is noted in the violated constraint fields, and the solver continues to consider the order. Any further violations such as these are added to the violated constraint fields until either the solver finds a violation that prematurely stops the solve process for that order, or the solver finds an overall solution to the problem.

Long

FromPrevTravelTime

The elapsed travel time from the previous stop to the current stop.

The value is in the units specified by the timeUnits property of the analysis object.

Double

FromPrevDistance

The distance along the route from the previous stop to the current stop.

The value is in the units specified by the distanceUnits property of the analysis object.

Double

CumulTravelTime

The cumulative travel time for the route up to arrival at the order.

The value is in the units specified by the timeUnits property of the analysis object.

Double

CumulDistance

The cumulative travel distance for the route up to arrival at the order.

The value is in the units specified by the distanceUnits property of the analysis object.

Double

CumulTime

The cumulative route duration up to and including the order. The cumulative duration includes travel times as well as service and wait times at orders.

The value is in the units specified by the timeUnits property of the analysis object.

Double

ArriveCurbApproach

The side of the vehicle the curb is on when arriving at the stop. A value of 1 means the right side of the vehicle; a value of 2 means the left side.

Long

DepartCurbApproach

The side of the vehicle the curb is on when departing from the stop. A value of 1 means the right side of the vehicle; a value of 2 means the left side.

Long

ArriveTime

The time of day the route arrives at the stop. The time of day value for this field is in the time zone in which the stop is located.

Date

DepartTime

The time of day the route departs from the stop. The time of day value for this field is in the time zone in which the stop is located.

Date

ArriveTimeUTC

The time of day the route arrives at the stop. This value is in coordinated universal time (UTC).

Date

DepartTimeUTC

The time of day the route departs from the stop. This value is in coordinated universal time (UTC).

Date

WaitTime

The wait time or layover at the stop. For example, a wait time is incurred when a route must wait at an order for a time window to open.

The value is in the units specified by the timeUnits property of the analysis object.

Double

ViolationTime

The amount of time elapsed from the end of the stop's time window to the arrival of the route vehicle.

The value is in the units specified by the timeUnits property of the analysis object.

Double

CumulWaitTime

The cumulative wait time from the beginning of the route up to and including the order.

The value is in the units specified by the timeUnits property of the analysis object.

Double

CumulViolationTime

The cumulative violation time from the beginning of the route up to and including the order.

The value is in the units specified by the timeUnits property of the analysis object.

Double

Status

Specifies the status of the point with respect to its location on the network and the outcome of the analysis. The possible values are the following:

  • 0 (OK)—The point was located on the network.
  • 1 (Not Located)—The point was not located on the network and was not included in the analysis.
  • 2 (Network element not located)—The network element identified by the point's network location fields can't be found. This can occur when a network element where the point should be was deleted, and the network location was not recalculated.
  • 3 (Element not traversable)—The network element that the point is located on is not traversable. This can occur when the element is restricted by a restriction attribute.
  • 4 (Invalid Field Values)—Field values fall outside a range or coded-value domain. For example, a negative number exists where positive numbers are required.
  • 5 (Not Reached)—The point can't be reached by the solver. The point may be on a separate, disconnected area of the network from the other inputs, or barriers or restrictions prevent travel to or from the point.
  • 6 (Time window violation)—The point could not be reached within the designated time windows. This status only applies to network analysis types that support time windows.
  • 7 (Not located on closest)—The closest network location to the point is not traversable because of a restriction or barrier, so the point has been located on the closest traversable network feature instead.

Long

Network location fields

  • SourceID
  • SourceOID
  • PosAlong
  • SideOfEdge
  • SnapX
  • SnapY
  • SnapZ
  • DistanceToNetworkInMeters

Together, these properties describe the point on the network where the object is located.

Learn more about locating inputs on a network

Depots

The output Depots table includes a copy of the input Depots table with additional information about how the depots were located on the network.

The output Depots table also includes all fields present in the input Depots table. Only fields that are added to the output are described below.

FieldDescriptionData type

ObjectID

The object ID of the feature.

ObjectID

Status

Specifies the status of the point with respect to its location on the network and the outcome of the analysis. The possible values are the following:

  • 0 (OK)—The point was located on the network.
  • 1 (Not Located)—The point was not located on the network and was not included in the analysis.
  • 2 (Network element not located)—The network element identified by the point's network location fields can't be found. This can occur when a network element where the point should be was deleted, and the network location was not recalculated.
  • 3 (Element not traversable)—The network element that the point is located on is not traversable. This can occur when the element is restricted by a restriction attribute.
  • 4 (Invalid Field Values)—Field values fall outside a range or coded-value domain. For example, a negative number exists where positive numbers are required.
  • 5 (Not Reached)—The point can't be reached by the solver. The point may be on a separate, disconnected area of the network from the other inputs, or barriers or restrictions prevent travel to or from the point.
  • 6 (Time window violation)—The point could not be reached within the designated time windows. This status only applies to network analysis types that support time windows.
  • 7 (Not located on closest)—The closest network location to the point is not traversable because of a restriction or barrier, so the point has been located on the closest traversable network feature instead.

Long

Network location fields

  • SourceID
  • SourceOID
  • PosAlong
  • SideOfEdge
  • SnapX
  • SnapY
  • SnapZ
  • DistanceToNetworkInMeters

Together, these properties describe the point on the network where the object is located.

Learn more about locating inputs on a network

DepotVisits

When a route starts, renews (unloads or reloads), or ends at a depot, a depot visit is created. Depot visits provide information regarding why a route visited a depot and what happened there. The quantity of goods loaded on or unloaded from a vehicle at the depot is recorded in the properties of a depot visit. Additional information that is useful in interpreting a vehicle routing problem solution is also included.

The data type supports the following fields:

FieldDescriptionData type

ObjectID

The object ID of the feature.

ObjectID

DepotName

The name of the visited depot. This field is a foreign key to the Name field in the Depots table.

If the route uses a virtual depot, which means the route starts or ends at an order instead of a depot, DepotName is null.

Text

VisitType

The reason the depot was visited. This field is constrained by a domain of values:

  • 1—Start depot
  • 2—End depot
  • 3—Renewal depot

Long

RouteName

The name of the route containing the visit. This field is a foreign key to the Name field in the Routes table.

Text

Sequence

The sequence of the visited depot on the route. The output sequence values for a route are shared across depot visits, orders, and breaks; start from 1 (at the starting depot); and are consecutive.

Long

ServiceTime

The service time (such as loading or unloading) at the depot.

The value is in the units specified by the timeUnits property of the analysis object.

Double

FromPrevTravelTime

The travel time from the preceding visit on the route to the depot.

The value is in the units specified by the timeUnits property of the analysis object.

Double

FromPrevDistance

The travel distance from the preceding visit on the route to the depot.

The value is in the units specified by the distanceUnits property of the analysis object.

Double

CumulTravelTime

The cumulative travel time for the route up to the arrival at this depot.

The value is in the units specified by the timeUnits property of the analysis object.

Double

CumulDistance

The cumulative travel distance for the route up to the arrival at this depot.

The value is in the units specified by the distanceUnits property of the analysis object.

Double

CumulTime

The cumulative route duration up to and including the depot. The cumulative duration includes travel times as well as service and wait times at orders, depots, and breaks.

The value is in the units specified by the timeUnits property of the analysis object.

Double

ArriveTime

The arrival time at the depot. The route may arrive at the depot before the beginning of the depot's time window, in which case there is wait time at the depot.

When using traffic data that covers multiple time zones, the time zone for this time-of-day value is the same as the network element on which the depot is located.

Date

DepartTime

The departure time from the depot.

When using traffic data that covers multiple time zones, the time zone for this time-of-day value is the same as the network element on which the depot is located.

Date

ArriveTimeUTC

The date and time value indicating the arrival time in coordinated universal time (UTC) at the depot.

Date

DepartTimeUTC

The date and time value indicating the departure time in coordinated universal time (UTC) from the depot.

Date

WaitTime

The wait time at the depot.

The value is in the units specified by the timeUnits property of the analysis object.

Double

CumulWaitTime

The cumulative wait time from the beginning of the route up to and including the depot.

The value is in the units specified by the timeUnits property of the analysis object.

Double

CumulViolationTime

The cumulative violation time from the beginning of the route up to and including the depot.

The value is in the units specified by the timeUnits property of the analysis object.

Double

  • LoadedQuantity_1
  • LoadedQuantity_2
  • LoadedQuantity_3
  • LoadedQuantity_4
  • LoadedQuantity_5
  • LoadedQuantity_6
  • LoadedQuantity_7
  • LoadedQuantity_8
  • LoadedQuantity_9

The amount (for example, volume, weight, quantity) being loaded at the depot. If there are multiple capacities, the amounts in the LoadedQuantity_1 through LoadedQuantity_9 fields correspond to the matching Capacity_1 through Capacity_9 fields in the Routes input table.

Double

  • UnloadedQuantity_1
  • UnloadedQuantity_2
  • UnloadedQuantity_3
  • UnloadedQuantity_4
  • UnloadedQuantity_5
  • UnloadedQuantity_6
  • UnloadedQuantity_7
  • UnloadedQuantity_8
  • UnloadedQuantity_9

The amount (for example, volume, weight, quantity) being unloaded at the depot. If there are multiple capacities, the amounts in the UnloadedQuantity_1 through UnloadedQuantity_9 fields correspond to the matching Capacity_1 through Capacity_9 fields in the Routes input table.

Double

Routes

This provides access to the drivers, vehicles, and route paths of a vehicle routing problem analysis.

The output Routes table includes all fields present in the input Routes table as well as additional fields describing how each route serviced the orders. Only fields that are added to the output are described below.

Field nameDescriptionData type

ObjectID

The object ID of the feature.

ObjectID

The constraints violated by the route. The constraints are given as integers as described in the table below.

  • MaxOrderCount exceeded (0)—The preassigned orders cannot be assigned to the route since assigning the orders would exceed the maximum number of orders that can be assigned to the route as specified by the route's MaxOrderCount field value.
  • Capacities exceeded (1)—The preassigned orders cannot be assigned to the route since assigning the orders would exceed the total route capacity as specified by the route's Capacities field value.
  • MaxTotalTime exceeded (2)—The travel time from the start depot to the end depot plus the service and wait times at both depots and any break exceeds the total time for the route as specified by the route's MaxTotalTime field value.
  • MaxTotalTravelTime exceeded (3)—The travel time from the start depot to the end depot exceeds the total travel time for the route as specified by the route's MaxTotalTravelTime field value.
  • MaxTotalDistance exceeded (4)—The travel distance from the start depot to the end depot exceeds the total travel distance for the route as specified by the route's MaxTotalDistance field value.
  • Hard time window (5)—There is a hard time window violation on the start depot, end depot, or break associated with the route.
  • Unmatched specialty (6)—The specialties required by an order are not found on the target route.
  • Hard route zone (7)—An order that was preassigned to the route does not fall within a hard route zone.
  • Order pair MaxTransitTime exceeded (8)—There is an order pair preassigned to the route, and assigning the orders in the order pair would exceed the maximum transit time for the order pair as specified by the order pair's MaxTransitTime field value.
  • Order pair violation (9)—An order belongs to an order pair and cannot be assigned to the preassigned route.
  • Unreachable (10)—A preassigned order is located on a network element that cannot be reached by the route.
  • Cannot insert required break (11)—A break for the route has a null sequence value in the presence of preassigned orders, and the break cannot be inserted anywhere without introducing other violations.
  • Cannot insert required renewal (12)—A route exceeds its capacity and needs to visit a route renewal; however, the associated route renewal has a null sequence value in the presence of preassigned orders and cannot be inserted anywhere without introducing other violations.
  • MaxTravelTimeBetweenBreaks exceeded (13)—A break could not be inserted within the time specified by the break's MaxTravelTimeBetweenBreaks field. This may be caused by preassigning a sequence to a break so that it cannot be reached within the maximum travel time.

  • Break MaxCumulWorkTime exceeded (14)—A break could not be inserted within the time specified by the break's MaxCumulWorkTime field. This may be caused by preassigning a sequence to a break so that it cannot be reached within the maximum work time.
  • InboundArriveTime or OutboundDepartTime order violation (15)—The order couldn't be serviced within the inbound arrival time or outbound depart time constraints. This violation occurs when all the routes' LatestStartTime field values precede the InboundArriveTime values or none of the routes can reach a depot before the order's OutboundDepartTime value.
  • Cannot anchor first/last (16)—The order has an Anchor first or Anchor last assignment rule, but the constraint could not be honored. This violation occurs when the number of Anchor first orders or the number of Anchor last orders is greater than the number of available routes.

Long

OrderCount

The number of orders assigned to the route.

Long

TotalCost

The total operating cost of the route, which is the sum of the following field values: FixedCost, RegularTimeCost, OvertimeCost, and DistanceCost.

Double

RegularTimeCost

The cost of regular work time, excluding any unpaid breaks.

Double

OvertimeCost

The cost of overtime work, excluding any unpaid breaks.

Double

DistanceCost

The distance cost component obtained by multiplying the TotalDistance and CostPerUnitDistance field values.

Double

TotalTime

The total route duration. This includes travel times as well as service and wait times at orders, depots, and breaks. The TotalTime value is the sum of the following attribute fields:

  • StartDepotServiceTime
  • EndDepotServiceTime
  • TotalOrderServiceTime
  • TotalBreakServiceTime
  • TotalRenewalServiceTime
  • TotalWaitTime
  • TotalTravelTime

The value is in the units specified by the timeUnits property of the analysis object.

Double

TotalOrderServiceTime

The total service time spent at all orders on the route.

The value is in the units specified by the timeUnits property of the analysis object.

Double

TotalBreakServiceTime

The total service time spent at all breaks on the route.

The value is in the units specified by the timeUnits property of the analysis object.

Double

TotalTravelTime

The total travel time for the route.

The value is in the units specified by the timeUnits property of the analysis object.

Double

TotalDistance

The total travel distance for the route.

The value is in the units specified by the distanceUnits property of the analysis object.

Double

StartTime

The starting time of the route. The route may start before the beginning of its start depot's time window, in which case there is a wait time at the starting depot. The time of day value for this attribute is in the time zone in which the starting depot is located.

Date

EndTime

The ending time of the route. The route ends upon completion of service at the ending depot. The time of day value for this attribute is in the time zone in which the ending depot is located.

Date

StartTimeUTC

The start time of the route in coordinated universal time (UTC).

Date

EndTimeUTC

The end time of the route in coordinated universal time (UTC).

Date

TotalWaitTime

The total wait time at all orders, depots, and breaks on the route.

The value is in the units specified by the timeUnits property of the analysis object.

Double

TotalViolationTime

The total violation time at all orders and breaks on the route.

The value is in the units specified by the timeUnits property of the analysis object.

Double

RenewalCount

For a route with renewals, this is equal to the number of visits to depots for the purpose of renewing a vehicle, that is, loading or unloading a vehicle.

Long

TotalRenewalServiceTime

For a route with renewals, this is the total service time spent at all renewal visits on the route.

The value is in the units specified by the timeUnits property of the analysis object.

Double

Breaks

This describes the rest periods, or breaks, for the routes in the analysis. The output Breaks table includes the point locations where the breaks occur along the routes.

The output Breaks table includes all fields present in the input Breaks table as well as additional fields describing the location and time of the break. Only fields that are updated or added to the output are described below.

FieldDescriptionData type

ObjectID

The object ID of the feature.

ObjectID

Sequence

Indicates the sequence of the break on its route.

Long

RelativePosition

The relative position of the break. Breaks are taken somewhere between two network locations (orders or depots). A value of 0.0 indicates that the break is taken right after service completion at the preceding network location; a value of 1.0 indicates the break is taken right before starting service at the subsequent network location; and a value in between indicates where along the path from the first to the second network location the break is taken. For example, 0.25 indicates that the break is taken a quarter of the way from the previous network location to the next network location.

Regardless of the number of breaks between two network locations, the relative position is always reported relative to the network locations, not the other breaks.

Double

FromPrevTravelTime

The travel time from the preceding order, depot, or break to this break.

The value is in the units specified by the timeUnits property of the analysis object.

Double

FromPrevDistance

The travel distance from the preceding order, depot, or break to this break.

The value is in the units specified by the distanceUnits property of the analysis object.

Double

CumulTravelTime

The cumulative travel time for the route up to arrival at the break.

The value is in the units specified by the timeUnits property of the analysis object.

Double

CumulDistance

The cumulative travel distance for the route up to arrival at the break.

The value is in the units specified by the distanceUnits property of the analysis object.

Double

CumulTime

The cumulative route duration up to and including the break. The cumulative duration includes travel times as well as service and wait times at orders, depots, and breaks.

The value is in the units specified by the timeUnits property of the analysis object.

Double

ArriveTime

The actual arrival time of the break. The route may arrive at the break before the beginning of the break's time window, in which case there is a wait time at the break. For a break with soft time windows, the route may also arrive at the break after the end of the time window, in which case there is a violation time at the break.

If using a network dataset with multiple time zones, the time is reported in the time zone of the actual break location.

Date

DepartTime

The time the break is completed.

If using a network dataset with multiple time zones, the time is reported in the time zone of the actual break location.

Date

ArriveTimeUTC

The date and time value indicating the arrival time in coordinated universal time (UTC).

Date

DepartTimeUTC

The date and time value indicating the departure time in coordinated universal time (UTC).

Date

WaitTime

The wait time at the break.

The value is in the units specified by the timeUnits property of the analysis object.

Double

ViolationTime

The violation time at the break.

The value is in the units specified by the timeUnits property of the analysis object.

Double

CumulWaitTime

The cumulative wait time from the beginning of the route up to and including the break.

The value is in the units specified by the timeUnits property of the analysis object.

Double

CumulViolationTime

The cumulative violation time from the beginning of the route up to and including the break.

The value is in the units specified by the timeUnits property of the analysis object.

Double

DirectionPoints

This is the output turn-by-turn directions for the routes calculated in the analysis, represented as point locations along the routes where specific direction events or maneuvers occur.

Field nameDescriptionData type

ObjectID

The object ID of the feature.

ObjectID

RouteID

The ObjectID value of the output Routes feature with which this direction point is associated.

Long

Sequence

The sequence of the direction points for the route, starting with 1.

Long

DirectionPointType

Specifies the type of direction event or maneuver described by the point, designated by one of the values below.

  • Header (1)
  • Arrive (50)
  • Depart (51)
  • Straight (52)
  • On Ferry (100)
  • Off Ferry (101)
  • Central Fork (102)
  • Roundabout (103)
  • U-Turn (104)
  • Door (150)
  • Stairs (151)
  • Elevator (152)
  • Escalator (153)
  • Pedestrian Ramp (154)
  • Left Fork (200)
  • Left Ramp (201)
  • Clockwise Roundabout (202)
  • Left-handed U-turn (203)
  • Bear left (204)
  • Left Turn (205)
  • Sharp Left (206)
  • Left Turn and immediate Left Turn (207)
  • Left Turn and immediate Right Turn (208)
  • Right Fork (300)
  • Right Ramp (301)
  • Counter-Clockwise Roundabout (302)
  • Right-handed U-turn (303)
  • Bear right (304)
  • Right Turn (305)
  • Sharp Right (306)
  • Right Turn and immediate Left Turn (307)
  • Right Turn and immediate Right Turn (308)
  • Up Elevator (400)
  • Up Escalator (401)
  • Up Stairs (402)
  • Down Elevator (500)
  • Down Escalator (501)
  • Down stairs (502)
  • General Event (1000)
  • Landmark (1001)
  • Time Zone Change (1002)
  • Traffic Event (1003)
  • Scaled Cost Barrier Event (1004)
  • Boundary Crossing (1005)
  • Restriction Violation (1006)
  • Lane (1007)

Long

OrderID

The ObjectID value of the output Orders feature with which this direction point is associated.

Long

DepotVisitID

The ObjectID value of the output DepotVisits feature with which this direction point is associated.

Long

BreakVisitID

The ObjectID value of the output Breaks feature with which this direction point is associated.

Long

DisplayText

The directions text that will be displayed in the consuming application.

Text

ArrivalTime

The time the direction event occurs in coordinated universal time (UTC).

Date

ArrivalUTCOffset

The difference in minutes between the local time at the maneuver location and UTC time shown in the ArrivalTime field.

Double

Name

The name of the direction point.

Text

ExitName

The highway exit name that appears in the directions instruction.

Text

AlternateName

The alternate source name that appears in the directions instruction.

Text

IntersectingName

The name of the intersecting or cross street that appears in the directions instruction.

Text

BranchName

The signpost branch name that appears in the directions instruction.

Text

TowardName

The signpost toward destination name that appears in the directions instruction.

Text

Level

The building level at which this direction event occurs. This value corresponds to the Level property defined in the network dataset used for the analysis.

Long

ShortVoiceInstruction

The short text that will be used as voice guidance text in the consuming application.

Text

VoiceInstruction

The additional text, including expanded abbreviations and plurals, that will be used as voice guidance text in the consuming application.

Text

Azimuth

The bearing in degrees of the vehicle departing this point. Zero indicates north.

Double

DirectionLines

This is the output route lines calculated in the analysis sliced to represent each route segment between DirectionPoints events or maneuver locations.

Field nameDescriptionData type

ObjectID

The object ID of the feature.

ObjectID

DirectionPointID

The ObjectID value of the feature in the DirectionPoints table with which this line is associated.

Long

RouteID

The ObjectID value of the output Routes feature with which this direction line is associated.

Long

DirectionLineType

Specifies the type of direction situation described by this line, designated by one of the following values:

  • Unknown (0)
  • Segment (1)
  • Maneuver Segment (2)
  • Restriction violation (3)
  • Scaled Cost Barrier (4)
  • Heavy Traffic (5)
  • Slow Traffic (6)
  • Moderate Traffic (7)

Long

Meters

The length of the line segment measured in meters.

Double

Minutes

The travel time along the line segment in minutes.

Double

FromLevel

The building level at which this direction event begins. This value corresponds to the Level property defined in the network dataset used for the analysis.

Long

ToLevel

The building level at which this direction event ends. This value corresponds to the Level property defined in the network dataset used for the analysis.

Long