{ "name": "SolveLastMileDelivery", "displayName": "SolveLastMileDelivery", "description": "The Last Mile Delivery service is a use case specific Vehicle Routing Problem (VRP) algorithm designed for a fleet of vehicles that are delivering packages to the final customers. For example, this can be used for a single distribution center or store delivering to the final customer location and can be quite dense delivering to a few customers on most streets, but is not intended to visit every house on every street., Delivery companies need to determine which orders (package delivery location) should be serviced by each route (delivery vehicle and driver) and in what sequence the orders should be visited. The primary goal is to best service the orders by producing geographically clustered routes so the drivers can easily deliver to everyone and minimize the overall operating cost for the fleet of vehicles., The Route service finds the best route for a single vehicle to visit many stops where as the Last Mile Delivery service and the Vehicle Routing Problem service both find the best routes for a fleet of vehicles to service many orders. The Vehicle Routing Problem service has lots of flexibility and can model many different constraints but the algorithm is also limited by this flexibility. The Last Mile Delivery service supports a subset of the constraints but for the ones it does support is able to provide a better quality and performant algorithm.", "category": "", "helpUrl": "https://portal.henrico.gov/hosting/rest/directories/arcgisoutput/Routing/NetworkAnalysis_GPServer/Routing_NetworkAnalysis/SolveLastMileDelivery.htm", "executionType": "esriExecutionTypeAsynchronous", "parameters": [ { "name": "orders", "dataType": "GPFeatureRecordSetLayer", "displayName": "Orders", "description": "Specifies one or more locations that the routes of the Last Mile Delivery analysis will visit. An order can represent a delivery (for example, furniture delivery), a pickup (such as an airport shuttle bus picking up a passenger), or some type of service or inspection (a tree trimming job or building inspection, for instance). When specifying the orders, you can set properties for each\u2014such as its name or service time\u2014using attributes. Please consult the API Reference for a list of supported attributes.", "direction": "esriGPParameterDirectionInput", "defaultValue": { "displayFieldName": "", "geometryType": "esriGeometryPoint", "spatialReference": { "wkid": 4326, "latestWkid": 4326 }, "fields": [ { "name": "OBJECTID", "type": "esriFieldTypeOID", "alias": "ObjectID" }, { "name": "Name", "type": "esriFieldTypeString", "alias": "Name", "length": 500 }, { "name": "ServiceTime", "type": "esriFieldTypeDouble", "alias": "ServiceTime" }, { "name": "TimeWindowStart", "type": "esriFieldTypeDate", "alias": "TimeWindowStart", "length": 8 }, { "name": "TimeWindowEnd", "type": "esriFieldTypeDate", "alias": "TimeWindowEnd", "length": 8 }, { "name": "MaxViolationTime", "type": "esriFieldTypeDouble", "alias": "MaxViolationTime" }, { "name": "InboundArriveTime", "type": "esriFieldTypeDate", "alias": "InboundArriveTime", "length": 8 }, { "name": "OutboundDepartTime", "type": "esriFieldTypeDate", "alias": "OutboundDepartTime", "length": 8 }, { "name": "DeliveryQuantity_1", "type": "esriFieldTypeDouble", "alias": "DeliveryQuantity_1" }, { "name": "DeliveryQuantity_2", "type": "esriFieldTypeDouble", "alias": "DeliveryQuantity_2" }, { "name": "DeliveryQuantity_3", "type": "esriFieldTypeDouble", "alias": "DeliveryQuantity_3" }, { "name": "DeliveryQuantity_4", "type": "esriFieldTypeDouble", "alias": "DeliveryQuantity_4" }, { "name": "DeliveryQuantity_5", "type": "esriFieldTypeDouble", "alias": "DeliveryQuantity_5" }, { "name": "DeliveryQuantity_6", "type": "esriFieldTypeDouble", "alias": "DeliveryQuantity_6" }, { "name": "DeliveryQuantity_7", "type": "esriFieldTypeDouble", "alias": "DeliveryQuantity_7" }, { "name": "DeliveryQuantity_8", "type": "esriFieldTypeDouble", "alias": "DeliveryQuantity_8" }, { "name": "DeliveryQuantity_9", "type": "esriFieldTypeDouble", "alias": "DeliveryQuantity_9" }, { "name": "PickupQuantity_1", "type": "esriFieldTypeDouble", "alias": "PickupQuantity_1" }, { "name": "PickupQuantity_2", "type": "esriFieldTypeDouble", "alias": "PickupQuantity_2" }, { "name": "PickupQuantity_3", "type": "esriFieldTypeDouble", "alias": "PickupQuantity_3" }, { "name": "PickupQuantity_4", "type": "esriFieldTypeDouble", "alias": "PickupQuantity_4" }, { "name": "PickupQuantity_5", "type": "esriFieldTypeDouble", "alias": "PickupQuantity_5" }, { "name": "PickupQuantity_6", "type": "esriFieldTypeDouble", "alias": "PickupQuantity_6" }, { "name": "PickupQuantity_7", "type": "esriFieldTypeDouble", "alias": "PickupQuantity_7" }, { "name": "PickupQuantity_8", "type": "esriFieldTypeDouble", "alias": "PickupQuantity_8" }, { "name": "PickupQuantity_9", "type": "esriFieldTypeDouble", "alias": "PickupQuantity_9" }, { "name": "AnchorRule", "type": "esriFieldTypeInteger", "alias": "AnchorRule" }, { "name": "AssignmentRule", "type": "esriFieldTypeInteger", "alias": "AssignmentRule" }, { "name": "RouteName", "type": "esriFieldTypeString", "alias": "RouteName", "length": 500 }, { "name": "Sequence", "type": "esriFieldTypeInteger", "alias": "Sequence" }, { "name": "SourceID", "type": "esriFieldTypeInteger", "alias": "SourceID" }, { "name": "SourceOID", "type": "esriFieldTypeInteger", "alias": "SourceOID" }, { "name": "PosAlong", "type": "esriFieldTypeDouble", "alias": "PosAlong" }, { "name": "SideOfEdge", "type": "esriFieldTypeInteger", "alias": "SideOfEdge" }, { "name": "CurbApproach", "type": "esriFieldTypeInteger", "alias": "CurbApproach" } ], "features": [], "exceededTransferLimit": false }, "parameterType": "esriGPParameterTypeRequired", "category": "" }, { "name": "depots", "dataType": "GPFeatureRecordSetLayer", "displayName": "Depots", "description": "Specifies one or more depots for the given last mile delivery problem. A depot is a location that a vehicle departs from at the beginning of its workday and returns to at the end of the workday. Vehicles are loaded (for deliveries) or unloaded (for pickups) at depots. In some cases, a depot can also act as a renewal location whereby the vehicle can unload or reload and continue performing deliveries and pickups. A depot has open and close times, as specified by a hard time window. Vehicles can't arrive at a depot outside of this time window. When specifying the depots, you can set properties for each\u2014such as its name or service time\u2014using attributes. Please consult the API Reference for a list of supported attributes.", "direction": "esriGPParameterDirectionInput", "defaultValue": { "displayFieldName": "", "geometryType": "esriGeometryPoint", "spatialReference": { "wkid": 4326, "latestWkid": 4326 }, "fields": [ { "name": "OBJECTID", "type": "esriFieldTypeOID", "alias": "ObjectID" }, { "name": "Name", "type": "esriFieldTypeString", "alias": "Name", "length": 500 }, { "name": "SourceID", "type": "esriFieldTypeInteger", "alias": "SourceID" }, { "name": "SourceOID", "type": "esriFieldTypeInteger", "alias": "SourceOID" }, { "name": "PosAlong", "type": "esriFieldTypeDouble", "alias": "PosAlong" }, { "name": "SideOfEdge", "type": "esriFieldTypeInteger", "alias": "SideOfEdge" }, { "name": "CurbApproach", "type": "esriFieldTypeInteger", "alias": "CurbApproach" } ], "features": [], "exceededTransferLimit": false }, "parameterType": "esriGPParameterTypeRequired", "category": "" }, { "name": "routes", "dataType": "GPRecordSet", "displayName": "Routes", "description": "Specifies one or more routes that describe vehicle and driver characteristics. A route can have start and end depot service times, a fixed or flexible starting time, time-based operating costs, distance-based operating costs, multiple capacities, various constraints on a driver's workday, and so on. The routes can be specified with attributes. Please consult the API Reference for a list of supported attributes.", "direction": "esriGPParameterDirectionInput", "defaultValue": { "displayFieldName": "", "fields": [ { "name": "OBJECTID", "type": "esriFieldTypeOID", "alias": "ObjectID" }, { "name": "Name", "type": "esriFieldTypeString", "alias": "Name", "length": 500 }, { "name": "StartDepotName", "type": "esriFieldTypeString", "alias": "StartDepotName", "length": 500 }, { "name": "EndDepotName", "type": "esriFieldTypeString", "alias": "EndDepotName", "length": 500 }, { "name": "StartDepotServiceTime", "type": "esriFieldTypeDouble", "alias": "StartDepotServiceTime" }, { "name": "EndDepotServiceTime", "type": "esriFieldTypeDouble", "alias": "EndDepotServiceTime" }, { "name": "EarliestStartDate", "type": "esriFieldTypeDateOnly", "alias": "EarliestStartDate", "length": 8 }, { "name": "EarliestStartTime", "type": "esriFieldTypeTimeOnly", "alias": "EarliestStartTime", "length": 8 }, { "name": "StartFlexibility", "type": "esriFieldTypeDouble", "alias": "StartFlexibility" }, { "name": "ArriveDepartDelay", "type": "esriFieldTypeDouble", "alias": "ArriveDepartDelay" }, { "name": "Capacity_1", "type": "esriFieldTypeDouble", "alias": "Capacity_1" }, { "name": "Capacity_2", "type": "esriFieldTypeDouble", "alias": "Capacity_2" }, { "name": "Capacity_3", "type": "esriFieldTypeDouble", "alias": "Capacity_3" }, { "name": "Capacity_4", "type": "esriFieldTypeDouble", "alias": "Capacity_4" }, { "name": "Capacity_5", "type": "esriFieldTypeDouble", "alias": "Capacity_5" }, { "name": "Capacity_6", "type": "esriFieldTypeDouble", "alias": "Capacity_6" }, { "name": "Capacity_7", "type": "esriFieldTypeDouble", "alias": "Capacity_7" }, { "name": "Capacity_8", "type": "esriFieldTypeDouble", "alias": "Capacity_8" }, { "name": "Capacity_9", "type": "esriFieldTypeDouble", "alias": "Capacity_9" }, { "name": "FixedCost", "type": "esriFieldTypeDouble", "alias": "FixedCost" }, { "name": "CostPerUnitTime", "type": "esriFieldTypeDouble", "alias": "CostPerUnitTime" }, { "name": "CostPerUnitDistance", "type": "esriFieldTypeDouble", "alias": "CostPerUnitDistance" }, { "name": "OvertimeStartTime", "type": "esriFieldTypeDouble", "alias": "OvertimeStartTime" }, { "name": "CostPerUnitOvertime", "type": "esriFieldTypeDouble", "alias": "CostPerUnitOvertime" }, { "name": "MaxOrderCount", "type": "esriFieldTypeInteger", "alias": "MaxOrderCount" }, { "name": "MaxTotalTime", "type": "esriFieldTypeDouble", "alias": "MaxTotalTime" }, { "name": "MaxTotalTravelTime", "type": "esriFieldTypeDouble", "alias": "MaxTotalTravelTime" }, { "name": "MaxTotalDistance", "type": "esriFieldTypeDouble", "alias": "MaxTotalDistance" }, { "name": "ZoneName", "type": "esriFieldTypeString", "alias": "ZoneName", "length": 500 }, { "name": "IsHardZone", "type": "esriFieldTypeInteger", "alias": "IsHardZone" }, { "name": "AssignmentRule", "type": "esriFieldTypeInteger", "alias": "AssignmentRule" } ], "features": [], "exceededTransferLimit": false }, "parameterType": "esriGPParameterTypeRequired", "category": "" }, { "name": "travel_mode", "dataType": "GPString", "displayName": "Travel Mode", "description": "Choose the mode of transportation, such as driving or walking for the analysis. Travel modes are essentially templates consisting of a long list of travel settings that are used by the service when finding best routes, calculating travel times, or travel distances. The value for the travel_mode parameter should be a JSON object representing travel mode settings. For example, {\"attributeParameterValues\":[{\"parameterName\":\"Restriction Usage\",\"attributeName\":\"Walking\",\"value\":\"PROHIBITED\"},{\"parameterName\":\"Restriction Usage\",\"attributeName\":\"Preferred for Pedestrians\",\"value\":\"PREFER_LOW\"},{\"parameterName\":\"Walking Speed (km/h)\",\"attributeName\":\"WalkTime\",\"value\":5}],\"description\":\"Follows paths and roads that allow pedestrian traffic and finds solutions that optimize travel time. The walking speed is set to 5 kilometers per hour.\",\"impedanceAttributeName\":\"WalkTime\",\"simplificationToleranceUnits\":\"esriMeters\",\"uturnAtJunctions\":\"esriNFSBAllowBacktrack\",\"restrictionAttributeNames\":[\"Preferred for Pedestrians\",\"Walking\"],\"useHierarchy\":false,\"simplificationTolerance\":2,\"timeAttributeName\":\"WalkTime\",\"distanceAttributeName\":\"Miles\",\"type\":\"WALK\",\"id\":\"caFAgoThrvUpkFBW\",\"name\":\"Walking Time\"}", "direction": "esriGPParameterDirectionInput", "defaultValue": { "name": "Driving Time", "type": "AUTOMOBILE", "description": "Collection of network dataset settings that define actions that are allowed on the network and how the actions can be performed.", "impedanceAttributeName": "Minutes", "timeAttributeName": "Minutes", "distanceAttributeName": "Length", "restrictionAttributeNames": [], "attributeParameterValues": [], "useHierarchy": false, "uturnAtJunctions": "esriNFSBAllowBacktrack", "simplificationTolerance": null, "simplificationToleranceUnits": "esriMeters" }, "parameterType": "esriGPParameterTypeOptional", "category": "Analysis Settings" }, { "name": "earliest_route_start_date", "dataType": "GPString", "displayName": "Earliest Route Start Date", "description": "Specifies the default earliest start date for routes. This date is used for all routes for which the EarliestStartDate field in the Route parameter is null. When this property is not specified, all rows in the Routes parameter must specify a value in the EarliestStartDate field. \n The value is specified as a string in YYYY-MM-DD format. For example, 2024-06-15.", "direction": "esriGPParameterDirectionInput", "defaultValue": "", "parameterType": "esriGPParameterTypeOptional", "category": "Analysis Settings" }, { "name": "earliest_route_start_time", "dataType": "GPString", "displayName": "Earliest Route Start Time", "description": "Specifies the default earliest start time for routes. This time of day is used for all routes for which the EarliestStartTime field in the Route parameter is null. When this property is not specified, all rows in the Routes parameter must specify a value in the EarliestStartTime field. \n The value is specified as a string in HH:MM:SS format. For example, 17:30:00.", "direction": "esriGPParameterDirectionInput", "defaultValue": "", "parameterType": "esriGPParameterTypeOptional", "category": "Analysis Settings" }, { "name": "max_route_total_time", "dataType": "GPDouble", "displayName": "Max Route Total Time", "description": "Specifies the maximum allowed total time for each route. The value can be any positive number. The value is used for all routes for which the MaxTotalTime field in the Routes parameter is null. When Max Route Total Time is not specified, all rows in the Routes parameter must specify a value in the MaxTotalTime field. The value is interpreted in the units specified in the Time_Units parameter.", "direction": "esriGPParameterDirectionInput", "defaultValue": null, "parameterType": "esriGPParameterTypeOptional", "category": "Analysis Settings" }, { "name": "sequence_gap", "dataType": "GPLong", "displayName": "Sequence Gap", "description": "Specifies the gap in numerical values to leave in the Sequence field in the Orders parameter between adjacent orders when the analysis is solved. The value acts as a multiplier for the actual sequence of orders on each route. For instance, if the gap is 5, the first order on the route would have a field value of 5, the second order on the route would have a Sequence field value of 10, the third 15, and so on. This parameter helps support inserting orders after the initial route plan has been created because the new orders can be inserted into the sequence gaps. The value must be a positive integer. The default is 1. The first time the analysis is solved, the Sequence field values will be populated with sequential values using the designated sequence gap. On subsequent solves of the same analysis, the Sequence field values of existing orders will be maintained, and new orders will be inserted into the gaps using available integer values for the Sequence field that are not in use by other orders. If the sequence gap is set to 1, the sequence values will always be updated to contiguous values for every solve.", "direction": "esriGPParameterDirectionInput", "defaultValue": 1, "parameterType": "esriGPParameterTypeOptional", "category": "Analysis Settings" }, { "name": "time_units", "dataType": "GPString", "displayName": "Time Units", "description": "The time units for all time-based field values in the analysis. Many features and records in a VRP analysis have fields for storing time values, such as ServiceTime for orders and CostPerUnitTime for routes. To minimize data entry requirements, these field values don't include units. Instead, all distance-based field values must be entered in the same units, and this parameter is used to specify the units of those values. Note that output time-based fields use the same units specified by this parameter.", "direction": "esriGPParameterDirectionInput", "defaultValue": "Minutes", "parameterType": "esriGPParameterTypeOptional", "category": "Analysis Settings", "choiceList": [ "Seconds", "Minutes", "Hours", "Days" ] }, { "name": "distance_units", "dataType": "GPString", "displayName": "Distance Units", "description": "The distance units for all distance-based field values in the analysis. Many features and records in a VRP analysis have fields for storing distance values, such as MaxTotalDistance and CostPerUnitDistance for routes. To minimize data entry requirements, these field values don't include units. Instead, all distance-based field values must be entered in the same units, and this parameter is used to specify the units of those values. Note that output distance-based fields use the same units specified by this parameter.", "direction": "esriGPParameterDirectionInput", "defaultValue": "Miles", "parameterType": "esriGPParameterTypeOptional", "category": "Analysis Settings", "choiceList": [ "Meters", "Kilometers", "Feet", "Yards", "Miles", "NauticalMiles" ] }, { "name": "time_zone_usage_for_time_fields", "dataType": "GPString", "displayName": "Time Zone Usage For Time Fields", "description": "Specifies the time zone for the input date-time fields supported by the tool. This parameter specifies the time zone for the following fields: TimeWindowStart, TimeWindowEnd, InboundArriveTime, and OutboundDepartTime on Orders. StartTime, EndTime, EarliestStartDate and EarliestestStartTime on Routes. Arrivetime and DepartTime on DepotVisits. GEO_LOCAL\u2014The date-time values associated with the orders or depots are in the time zone in which the orders and depots are located. For routes, the date-time values are based on the time zone in which the starting depot for the route is located. If a route does not have a starting depot, all orders and depots across all the routes must be in a single time zone. For breaks, the date-time values are based on the time zone of the routes. For example, if your depot is located in an area that follows eastern standard time and has the first time window values (specified as TimeWindowStart1 and TimeWindowEnd1) of 8 AM and 5 PM, the time window values will be treated as 8:00 a.m. and 5:00 p.m. eastern standard time. UTC\u2014The date-time values associated with the orders or depots are in coordinated universal time (UTC) and are not based on the time zone in which the orders or depots are located. For example, if your depot is located in an area that follows eastern standard time and has the first time window values (specified as TimeWindowStart1 and TimeWindowEnd1) of 8 AM and 5 PM, the time window values will be treated as 12:00 p.m. and 9:00 p.m. eastern standard time, assuming eastern standard time is obeying daylight saving time.", "direction": "esriGPParameterDirectionInput", "defaultValue": "GEO_LOCAL", "parameterType": "esriGPParameterTypeOptional", "category": "Analysis Settings", "choiceList": [ "GEO_LOCAL", "UTC" ] }, { "name": "order_specialties", "dataType": "GPRecordSet", "displayName": "Order Specialties", "description": "Order Specialties and Route Specialties lists the specialties that can be required by orders and supported by routes. A route can service an order only if it supports all the specialties required for that order. When specifying the order specialities, you can set properties using attributes. Please consult the API Reference for a list of supported attributes.", "direction": "esriGPParameterDirectionInput", "defaultValue": { "displayFieldName": "", "fields": [ { "name": "OBJECTID", "type": "esriFieldTypeOID", "alias": "ObjectID" }, { "name": "OrderName", "type": "esriFieldTypeString", "alias": "OrderName", "length": 500 }, { "name": "SpecialtyName", "type": "esriFieldTypeString", "alias": "SpecialtyName", "length": 500 } ], "features": [], "exceededTransferLimit": false }, "parameterType": "esriGPParameterTypeOptional", "category": "" }, { "name": "route_specialties", "dataType": "GPRecordSet", "displayName": "Route Specialties", "description": "Order Specialties and Route Specialties lists the specialties that can be required by orders and supported by routes. A route can service an order only if it supports all the specialties required for that order. When specifying the route specialities, you can set properties using attributes. Please consult the API Reference for a list of supported attributes.", "direction": "esriGPParameterDirectionInput", "defaultValue": { "displayFieldName": "", "fields": [ { "name": "OBJECTID", "type": "esriFieldTypeOID", "alias": "ObjectID" }, { "name": "RouteName", "type": "esriFieldTypeString", "alias": "RouteName", "length": 500 }, { "name": "SpecialtyName", "type": "esriFieldTypeString", "alias": "SpecialtyName", "length": 500 } ], "features": [], "exceededTransferLimit": false }, "parameterType": "esriGPParameterTypeOptional", "category": "" }, { "name": "zones", "dataType": "GPFeatureRecordSetLayer", "displayName": "Zones", "description": "Zones specify a work territory. It is a polygon feature and is used to constrain servicing only those orders that fall within or near an area. When specifying the zones, you can set properties using attributes. Please consult the API Reference for a list of supported attributes.", "direction": "esriGPParameterDirectionInput", "defaultValue": { "displayFieldName": "", "geometryType": "esriGeometryPolygon", "spatialReference": { "wkid": 4326, "latestWkid": 4326 }, "fields": [ { "name": "OBJECTID", "type": "esriFieldTypeOID", "alias": "ObjectID" }, { "name": "Name", "type": "esriFieldTypeString", "alias": "Name", "length": 500 }, { "name": "Shape_Length", "type": "esriFieldTypeDouble", "alias": "Shape_Length" }, { "name": "Shape_Area", "type": "esriFieldTypeDouble", "alias": "Shape_Area" } ], "features": [], "exceededTransferLimit": false }, "parameterType": "esriGPParameterTypeOptional", "category": "" }, { "name": "point_barriers", "dataType": "GPFeatureRecordSetLayer", "displayName": "Point Barriers", "description": "Specify one or more points that will act as temporary restrictions or represent additional time or distance that may be required to travel on the underlying streets. For example, a point barrier can be used to represent a fallen tree along a street or a time delay spent at a railroad crossing. When specifying point barriers, you can set properties for each, such as its name or barrier type, using attributes. Please consult the API Reference for a list of supported attributes.", "direction": "esriGPParameterDirectionInput", "defaultValue": { "displayFieldName": "", "geometryType": "esriGeometryPoint", "spatialReference": { "wkid": 4326, "latestWkid": 4326 }, "fields": [ { "name": "OBJECTID", "type": "esriFieldTypeOID", "alias": "OBJECTID" }, { "name": "Name", "type": "esriFieldTypeString", "alias": "Name", "length": 500 }, { "name": "BarrierType", "type": "esriFieldTypeInteger", "alias": "Barrier Type" }, { "name": "Additional_Time", "type": "esriFieldTypeDouble", "alias": "Additional Time" }, { "name": "Additional_Distance", "type": "esriFieldTypeDouble", "alias": "Additional Distance" }, { "name": "AdditionalCost", "type": "esriFieldTypeDouble", "alias": "Additional Cost" }, { "name": "CurbApproach", "type": "esriFieldTypeSmallInteger", "alias": "Curb Approach" }, { "name": "FullEdge", "type": "esriFieldTypeInteger", "alias": "Full Edge" } ], "features": [], "exceededTransferLimit": false }, "parameterType": "esriGPParameterTypeOptional", "category": "Barriers" }, { "name": "line_barriers", "dataType": "GPFeatureRecordSetLayer", "displayName": "Line Barriers", "description": "Specify one or more lines that prohibit travel anywhere the lines intersect the streets. For example, a parade or protest that blocks traffic across several street segments can be modeled with a line barrier. A line barrier can also quickly fence off several roads from being traversed, thereby channeling possible routes away from undesirable parts of the street network. When specifying the line barriers, you can set name and barrier type properties for each using attributes. Please consult the API Reference for a list of supported attributes.", "direction": "esriGPParameterDirectionInput", "defaultValue": { "displayFieldName": "", "geometryType": "esriGeometryPolyline", "spatialReference": { "wkid": 4326, "latestWkid": 4326 }, "fields": [ { "name": "OBJECTID", "type": "esriFieldTypeOID", "alias": "OBJECTID" }, { "name": "Name", "type": "esriFieldTypeString", "alias": "Name", "length": 500 }, { "name": "SHAPE_Length", "type": "esriFieldTypeDouble", "alias": "SHAPE_Length" } ], "features": [], "exceededTransferLimit": false }, "parameterType": "esriGPParameterTypeOptional", "category": "Barriers" }, { "name": "polygon_barriers", "dataType": "GPFeatureRecordSetLayer", "displayName": "Polygon Barriers", "description": "Specify polygons that either completely restrict travel or proportionately scale the time or distance required to travel on the streets intersected by the polygons. When specifying the polygon barriers, you can set properties for each, such as its name or barrier type, using attributes. Please consult the API Reference for a list of supported attributes.", "direction": "esriGPParameterDirectionInput", "defaultValue": { "displayFieldName": "", "geometryType": "esriGeometryPolygon", "spatialReference": { "wkid": 4326, "latestWkid": 4326 }, "fields": [ { "name": "OBJECTID", "type": "esriFieldTypeOID", "alias": "OBJECTID" }, { "name": "Name", "type": "esriFieldTypeString", "alias": "Name", "length": 500 }, { "name": "BarrierType", "type": "esriFieldTypeInteger", "alias": "Barrier Type" }, { "name": "ScaledTimeFactor", "type": "esriFieldTypeDouble", "alias": "Scaled Time Factor" }, { "name": "ScaledDistanceFactor", "type": "esriFieldTypeDouble", "alias": "Scaled Distance Factor" }, { "name": "ScaledCostFactor", "type": "esriFieldTypeDouble", "alias": "Scaled Cost Factor" }, { "name": "SHAPE_Length", "type": "esriFieldTypeDouble", "alias": "SHAPE_Length" }, { "name": "SHAPE_Area", "type": "esriFieldTypeDouble", "alias": "SHAPE_Area" } ], "features": [], "exceededTransferLimit": false }, "parameterType": "esriGPParameterTypeOptional", "category": "Barriers" }, { "name": "locate_settings", "dataType": "GPString", "displayName": "Locate Settings", "description": "The settings that affect how inputs will be located. Examples are the maximum search distance to use when locating the inputs on the network, the network sources being used for locating, or specifying a where clause for a source to restrict locating on a portion of the source. The parameter value is specified as a JSON object.", "direction": "esriGPParameterDirectionInput", "defaultValue": { "default": { "allowAutoRelocate": true, "tolerance": 20000, "toleranceUnits": "esriMeters", "sources": [ {"name": "VA_CENTERLINE"} ] } }, "parameterType": "esriGPParameterTypeOptional", "category": "Network Locations" }, { "name": "ignore_invalid_order_locations", "dataType": "GPBoolean", "displayName": "Ignore Invalid Order Locations", "description": "Specifies whether invalid orders will be ignored when solving the last mile delivery problem. True\u2014The solve operation will ignore any invalid orders and return a solution, as long as it didn't encounter any other errors. If you need to generate routes and deliver them to drivers immediately, you may be able to ignore invalid orders, solve, and distribute the routes to your drivers. Then resolve any invalid orders from the last solve and include them in the VRP analysis for the next workday or work shift. False\u2014The solve operation will fail when any invalid orders are encountered. An invalid order is an order that the VRP solver can't reach. An order may be unreachable for a variety of reasons, including when the order is located on a prohibited network element, isn't on the network at all, or is on a disconnected part of the network.", "direction": "esriGPParameterDirectionInput", "defaultValue": true, "parameterType": "esriGPParameterTypeOptional", "category": "Network Locations" }, { "name": "route_shape", "dataType": "GPString", "displayName": "Route Shape", "description": "Specifies the type of route features that will be output by the tool. True Shape with Measures\u2014Return the exact shape of the resulting route that is based on the underlying streets. Additionally, construct measures so the shape can be used in linear referencing. The measurements increase from the first stop and record the cumulative travel time or travel distance in the units specified by the Time Units or Distance Units parameters. Straight Line\u2014Return a straight line between two stops. None\u2014Do not return any shapes for the routes. This value can be useful, and return results quickly, in cases where you only want to determine the total travel time or travel distance of a route. When the Route Shape parameter is set to True Shape with Measures, the generalization of the route shape can be further controlled using the appropriate value for the simplificationTolerance setting in the travel_mode parameter. No matter which value you choose for the Route Shape parameter, the best route is always determined by minimizing the travel time or the travel distance, never using the straight-line distance between stops. This means that only the route shapes are different, not the underlying streets that are searched when finding the route.", "direction": "esriGPParameterDirectionInput", "defaultValue": "Straight Line", "parameterType": "esriGPParameterTypeOptional", "category": "Output Settings", "choiceList": [ "True Shape with Measures", "Straight Line", "None" ] }, { "name": "populate_directions", "dataType": "GPBoolean", "displayName": "Populate Directions", "description": "Specifies whether the tool will generate driving directions for each route. True\u2014Directions will be generated and configured based on the value of the directions_language parameter False\u2014Directions will not be generated.", "direction": "esriGPParameterDirectionInput", "defaultValue": false, "parameterType": "esriGPParameterTypeOptional", "category": "Output Settings" }, { "name": "directions_language", "dataType": "GPString", "displayName": "Directions Language", "description": "The language that will be used when generating travel directions. This parameter is used only when the Populate_Directions parameter is True. The parameter value can be specified using one of the following two- or five-character language codes: ar \u2014 Arabic bg \u2014 Bulgarian bs \u2014 Bosnian ca \u2014 Catalan cs \u2014 Czech da \u2014 Danish de \u2014 German el \u2014 Greek en \u2014 English es \u2014 Spanish et \u2014 Estonian fi \u2014 Finnish fr \u2014 French he \u2014 Hebrew hr \u2014 Croatian hu \u2014 Hungarian id \u2014 Indonesian it \u2014 Italian ja \u2014 Japanese ko \u2014 Korean lt \u2014 Lithuanian lv \u2014 Latvian nb \u2014 Norwegian nl \u2014 Dutch pl \u2014 Polish pt-BR \u2014 Portuguese (Brazil) pt-PT \u2014 Portuguese (Portugal) ro \u2014 Romanian ru \u2014 Russian sk \u2014 Slovak sl \u2014 Slovenian sr \u2014 Serbian sv \u2014 Swedish th \u2014 Thai tr \u2014 Turkish uk \u2014 Ukrainian vi \u2014 Vietnamese zh-CN \u2014 Chinese (China) zh-HK \u2014 Chinese (Hong Kong) zh-TW \u2014 Chinese (Taiwan) The tool first searches for an exact match for the specified language including any language localization. If an exact match is not found, it tries to match the language family. If a match is still not found, the tool returns the directions using the default language, English. For example, if the directions language is specified as es-MX (Mexican Spanish), the tool will return the directions in Spanish, as it supports the es language code but not es-MX. If a language supports localization, such as Brazilian Portuguese (pt-BR) and European Portuguese (pt-PT), specify the language family and the localization. If you only specify the language family, the tool will not match the language family and instead return directions in the default language, English. For example, if the directions language specified is pt, the tool will return the directions in English since it cannot determine whether the directions should be returned in pt-BR or pt-PT.", "direction": "esriGPParameterDirectionInput", "defaultValue": "en", "parameterType": "esriGPParameterTypeOptional", "category": "Output Settings" }, { "name": "save_route_data", "dataType": "GPBoolean", "displayName": "Save Route Data", "description": "Specifies whether the output includes a .zip file that contains a file geodatabase with the inputs and outputs of the analysis in a format that can be used to share route layers with ArcGIS Online or ArcGIS Enterprise portals. True\u2014The route data will be saved as a .zip file. The file can be downloaded from the URL provided by the output_route_data output parameter. False\u2014The route data will not be saved.", "direction": "esriGPParameterDirectionInput", "defaultValue": false, "parameterType": "esriGPParameterTypeOptional", "category": "Output Settings" }, { "name": "save_output_network_analysis_layer", "dataType": "GPBoolean", "displayName": "Save Output Network Analysis Layer", "description": "Specifies whether the analysis settings will be saved as a network analysis layer package file. You cannot directly work with this file even when you open the file in an ArcGIS Desktop application such as ArcGIS Pro. It is meant to be sent to Esri Technical Support to diagnose the quality of results returned from the tool. True\u2014The network analysis layer package file will be saved. The file can be downloaded from the URL provided by the output_network_analysis_layer_package output parameter. False\u2014The network analysis layer package file will not be saved.", "direction": "esriGPParameterDirectionInput", "defaultValue": false, "parameterType": "esriGPParameterTypeOptional", "category": "Output Settings" }, { "name": "output_format", "dataType": "GPString", "displayName": "Output Format", "description": "Specifies the format in which the output features will be returned. Feature Set\u2014The output features will be returned as JSON representation of feature classes and tables. JSON File\u2014The output features will be returned as a compressed file containing the JSON representation of the outputs. When this option is specified, the output is a single file (with a .zip extension) that contains one or more JSON files (with a .json extension) for each of the outputs created by the service. GeoJSON File\u2014The output features will be returned as a compressed file containing the GeoJSON representation of the outputs. When this option is specified, the output is a single file (with a .zip extension) that contains one or more GeoJSON files (with a .geojson extension) for each of the outputs created by the service. When a file-based output format, such as JSON File or GeoJSON File, is specified, the file can be downloaded from the URL provided by the output_result_file output parameter.", "direction": "esriGPParameterDirectionInput", "defaultValue": "Feature Set", "parameterType": "esriGPParameterTypeOptional", "category": "Output Settings", "choiceList": [ "Feature Set", "JSON File", "GeoJSON File" ] }, { "name": "overrides", "dataType": "GPString", "displayName": "Overrides", "description": "This parameter is for internal use only.", "direction": "esriGPParameterDirectionInput", "defaultValue": "", "parameterType": "esriGPParameterTypeOptional", "category": "Analysis Settings" }, { "name": "analysis_region", "dataType": "GPString", "displayName": "Analysis Region", "description": "This parameter is ignored by the service and specifying a value does not have any effect on the analysis.", "direction": "esriGPParameterDirectionInput", "defaultValue": "", "parameterType": "esriGPParameterTypeOptional", "category": "Analysis Settings", "choiceList": [ "NDS_ND" ] }, { "name": "output_orders", "dataType": "GPFeatureRecordSetLayer", "displayName": "Output Orders", "description": "", "direction": "esriGPParameterDirectionOutput", "defaultValue": { "displayFieldName": "", "geometryType": "esriGeometryPoint", "spatialReference": { "wkid": 102100, "latestWkid": 3857 }, "fields": [ { "name": "ObjectID", "type": "esriFieldTypeOID", "alias": "ObjectID" }, { "name": "Name", "type": "esriFieldTypeString", "alias": "Name", "length": 500 }, { "name": "ServiceTime", "type": "esriFieldTypeDouble", "alias": "ServiceTime" }, { "name": "TimeWindowStart", "type": "esriFieldTypeDate", "alias": "TimeWindowStart", "length": 8 }, { "name": "TimeWindowEnd", "type": "esriFieldTypeDate", "alias": "TimeWindowEnd", "length": 8 }, { "name": "MaxViolationTime", "type": "esriFieldTypeDouble", "alias": "MaxViolationTime" }, { "name": "InboundArriveTime", "type": "esriFieldTypeDate", "alias": "InboundArriveTime", "length": 8 }, { "name": "OutboundDepartTime", "type": "esriFieldTypeDate", "alias": "OutboundDepartTime", "length": 8 }, { "name": "DeliveryQuantity_1", "type": "esriFieldTypeDouble", "alias": "DeliveryQuantity_1" }, { "name": "DeliveryQuantity_2", "type": "esriFieldTypeDouble", "alias": "DeliveryQuantity_2" }, { "name": "DeliveryQuantity_3", "type": "esriFieldTypeDouble", "alias": "DeliveryQuantity_3" }, { "name": "DeliveryQuantity_4", "type": "esriFieldTypeDouble", "alias": "DeliveryQuantity_4" }, { "name": "DeliveryQuantity_5", "type": "esriFieldTypeDouble", "alias": "DeliveryQuantity_5" }, { "name": "DeliveryQuantity_6", "type": "esriFieldTypeDouble", "alias": "DeliveryQuantity_6" }, { "name": "DeliveryQuantity_7", "type": "esriFieldTypeDouble", "alias": "DeliveryQuantity_7" }, { "name": "DeliveryQuantity_8", "type": "esriFieldTypeDouble", "alias": "DeliveryQuantity_8" }, { "name": "DeliveryQuantity_9", "type": "esriFieldTypeDouble", "alias": "DeliveryQuantity_9" }, { "name": "PickupQuantity_1", "type": "esriFieldTypeDouble", "alias": "PickupQuantity_1" }, { "name": "PickupQuantity_2", "type": "esriFieldTypeDouble", "alias": "PickupQuantity_2" }, { "name": "PickupQuantity_3", "type": "esriFieldTypeDouble", "alias": "PickupQuantity_3" }, { "name": "PickupQuantity_4", "type": "esriFieldTypeDouble", "alias": "PickupQuantity_4" }, { "name": "PickupQuantity_5", "type": "esriFieldTypeDouble", "alias": "PickupQuantity_5" }, { "name": "PickupQuantity_6", "type": "esriFieldTypeDouble", "alias": "PickupQuantity_6" }, { "name": "PickupQuantity_7", "type": "esriFieldTypeDouble", "alias": "PickupQuantity_7" }, { "name": "PickupQuantity_8", "type": "esriFieldTypeDouble", "alias": "PickupQuantity_8" }, { "name": "PickupQuantity_9", "type": "esriFieldTypeDouble", "alias": "PickupQuantity_9" }, { "name": "AnchorRule", "type": "esriFieldTypeInteger", "alias": "AnchorRule" }, { "name": "AssignmentRule", "type": "esriFieldTypeInteger", "alias": "AssignmentRule" }, { "name": "RouteName", "type": "esriFieldTypeString", "alias": "RouteName", "length": 500 }, { "name": "Sequence", "type": "esriFieldTypeInteger", "alias": "Sequence" }, { "name": "ViolatedConstraint_1", "type": "esriFieldTypeInteger", "alias": "ViolatedConstraint_1" }, { "name": "ViolatedConstraint_2", "type": "esriFieldTypeInteger", "alias": "ViolatedConstraint_2" }, { "name": "ViolatedConstraint_3", "type": "esriFieldTypeInteger", "alias": "ViolatedConstraint_3" }, { "name": "ViolatedConstraint_4", "type": "esriFieldTypeInteger", "alias": "ViolatedConstraint_4" }, { "name": "FromPrevTravelTime", "type": "esriFieldTypeDouble", "alias": "FromPrevTravelTime" }, { "name": "FromPrevDistance", "type": "esriFieldTypeDouble", "alias": "FromPrevDistance" }, { "name": "ArriveCurbApproach", "type": "esriFieldTypeInteger", "alias": "ArriveCurbApproach" }, { "name": "DepartCurbApproach", "type": "esriFieldTypeInteger", "alias": "DepartCurbApproach" }, { "name": "ArriveTime", "type": "esriFieldTypeTimestampOffset", "alias": "ArriveTime" }, { "name": "DepartTime", "type": "esriFieldTypeTimestampOffset", "alias": "DepartTime" }, { "name": "WaitTime", "type": "esriFieldTypeDouble", "alias": "WaitTime" }, { "name": "ViolationTime", "type": "esriFieldTypeDouble", "alias": "ViolationTime" }, { "name": "SourceID", "type": "esriFieldTypeInteger", "alias": "SourceID" }, { "name": "SourceOID", "type": "esriFieldTypeInteger", "alias": "SourceOID" }, { "name": "PosAlong", "type": "esriFieldTypeDouble", "alias": "PosAlong" }, { "name": "SideOfEdge", "type": "esriFieldTypeInteger", "alias": "SideOfEdge" }, { "name": "CurbApproach", "type": "esriFieldTypeInteger", "alias": "CurbApproach" }, { "name": "Status", "type": "esriFieldTypeInteger", "alias": "Status" }, { "name": "SnapX", "type": "esriFieldTypeDouble", "alias": "SnapX" }, { "name": "SnapY", "type": "esriFieldTypeDouble", "alias": "SnapY" }, { "name": "SnapZ", "type": "esriFieldTypeDouble", "alias": "SnapZ" }, { "name": "DistanceToNetworkInMeters", "type": "esriFieldTypeDouble", "alias": "DistanceToNetworkInMeters" }, { "name": "Bearing", "type": "esriFieldTypeDouble", "alias": "Bearing" }, { "name": "BearingTol", "type": "esriFieldTypeDouble", "alias": "BearingTol" }, { "name": "NavLatency", "type": "esriFieldTypeDouble", "alias": "NavLatency" } ], "features": [], "exceededTransferLimit": false }, "parameterType": "esriGPParameterTypeDerived", "category": "" }, { "name": "output_routes", "dataType": "GPFeatureRecordSetLayer", "displayName": "Output Routes", "description": "", "direction": "esriGPParameterDirectionOutput", "defaultValue": { "displayFieldName": "", "hasM": true, "geometryType": "esriGeometryPolyline", "spatialReference": { "wkid": 102100, "latestWkid": 3857 }, "fields": [ { "name": "ObjectID", "type": "esriFieldTypeOID", "alias": "ObjectID" }, { "name": "Name", "type": "esriFieldTypeString", "alias": "Name", "length": 500 }, { "name": "StartDepotName", "type": "esriFieldTypeString", "alias": "StartDepotName", "length": 500 }, { "name": "EndDepotName", "type": "esriFieldTypeString", "alias": "EndDepotName", "length": 500 }, { "name": "StartDepotServiceTime", "type": "esriFieldTypeDouble", "alias": "StartDepotServiceTime" }, { "name": "EndDepotServiceTime", "type": "esriFieldTypeDouble", "alias": "EndDepotServiceTime" }, { "name": "EarliestStartDate", "type": "esriFieldTypeDateOnly", "alias": "EarliestStartDate", "length": 8 }, { "name": "EarliestStartTime", "type": "esriFieldTypeTimeOnly", "alias": "EarliestStartTime", "length": 8 }, { "name": "StartFlexibility", "type": "esriFieldTypeDouble", "alias": "StartFlexibility" }, { "name": "ArriveDepartDelay", "type": "esriFieldTypeDouble", "alias": "ArriveDepartDelay" }, { "name": "Capacity_1", "type": "esriFieldTypeDouble", "alias": "Capacity_1" }, { "name": "Capacity_2", "type": "esriFieldTypeDouble", "alias": "Capacity_2" }, { "name": "Capacity_3", "type": "esriFieldTypeDouble", "alias": "Capacity_3" }, { "name": "Capacity_4", "type": "esriFieldTypeDouble", "alias": "Capacity_4" }, { "name": "Capacity_5", "type": "esriFieldTypeDouble", "alias": "Capacity_5" }, { "name": "Capacity_6", "type": "esriFieldTypeDouble", "alias": "Capacity_6" }, { "name": "Capacity_7", "type": "esriFieldTypeDouble", "alias": "Capacity_7" }, { "name": "Capacity_8", "type": "esriFieldTypeDouble", "alias": "Capacity_8" }, { "name": "Capacity_9", "type": "esriFieldTypeDouble", "alias": "Capacity_9" }, { "name": "FixedCost", "type": "esriFieldTypeDouble", "alias": "FixedCost" }, { "name": "CostPerUnitTime", "type": "esriFieldTypeDouble", "alias": "CostPerUnitTime" }, { "name": "CostPerUnitDistance", "type": "esriFieldTypeDouble", "alias": "CostPerUnitDistance" }, { "name": "OvertimeStartTime", "type": "esriFieldTypeDouble", "alias": "OvertimeStartTime" }, { "name": "CostPerUnitOvertime", "type": "esriFieldTypeDouble", "alias": "CostPerUnitOvertime" }, { "name": "MaxOrderCount", "type": "esriFieldTypeInteger", "alias": "MaxOrderCount" }, { "name": "MaxTotalTime", "type": "esriFieldTypeDouble", "alias": "MaxTotalTime" }, { "name": "MaxTotalTravelTime", "type": "esriFieldTypeDouble", "alias": "MaxTotalTravelTime" }, { "name": "MaxTotalDistance", "type": "esriFieldTypeDouble", "alias": "MaxTotalDistance" }, { "name": "ZoneName", "type": "esriFieldTypeString", "alias": "ZoneName", "length": 500 }, { "name": "IsHardZone", "type": "esriFieldTypeInteger", "alias": "IsHardZone" }, { "name": "AssignmentRule", "type": "esriFieldTypeInteger", "alias": "AssignmentRule" }, { "name": "ViolatedConstraint_1", "type": "esriFieldTypeInteger", "alias": "ViolatedConstraint_1" }, { "name": "ViolatedConstraint_2", "type": "esriFieldTypeInteger", "alias": "ViolatedConstraint_2" }, { "name": "ViolatedConstraint_3", "type": "esriFieldTypeInteger", "alias": "ViolatedConstraint_3" }, { "name": "ViolatedConstraint_4", "type": "esriFieldTypeInteger", "alias": "ViolatedConstraint_4" }, { "name": "OrderCount", "type": "esriFieldTypeInteger", "alias": "OrderCount" }, { "name": "TotalCost", "type": "esriFieldTypeDouble", "alias": "TotalCost" }, { "name": "RegularTimeCost", "type": "esriFieldTypeDouble", "alias": "RegularTimeCost" }, { "name": "OvertimeCost", "type": "esriFieldTypeDouble", "alias": "OvertimeCost" }, { "name": "DistanceCost", "type": "esriFieldTypeDouble", "alias": "DistanceCost" }, { "name": "TotalTime", "type": "esriFieldTypeDouble", "alias": "TotalTime" }, { "name": "TotalOrderServiceTime", "type": "esriFieldTypeDouble", "alias": "TotalOrderServiceTime" }, { "name": "TotalTravelTime", "type": "esriFieldTypeDouble", "alias": "TotalTravelTime" }, { "name": "TotalDistance", "type": "esriFieldTypeDouble", "alias": "TotalDistance" }, { "name": "StartTime", "type": "esriFieldTypeTimestampOffset", "alias": "StartTime" }, { "name": "EndTime", "type": "esriFieldTypeTimestampOffset", "alias": "EndTime" }, { "name": "TotalWaitTime", "type": "esriFieldTypeDouble", "alias": "TotalWaitTime" }, { "name": "TotalViolationTime", "type": "esriFieldTypeDouble", "alias": "TotalViolationTime" }, { "name": "Shape_Length", "type": "esriFieldTypeDouble", "alias": "Shape_Length" } ], "features": [], "exceededTransferLimit": false }, "parameterType": "esriGPParameterTypeDerived", "category": "" }, { "name": "output_depots", "dataType": "GPFeatureRecordSetLayer", "displayName": "Output Depots", "description": "", "direction": "esriGPParameterDirectionOutput", "defaultValue": { "displayFieldName": "", "geometryType": "esriGeometryPoint", "spatialReference": { "wkid": 102100, "latestWkid": 3857 }, "fields": [ { "name": "ObjectID", "type": "esriFieldTypeOID", "alias": "ObjectID" }, { "name": "Name", "type": "esriFieldTypeString", "alias": "Name", "length": 500 }, { "name": "SourceID", "type": "esriFieldTypeInteger", "alias": "SourceID" }, { "name": "SourceOID", "type": "esriFieldTypeInteger", "alias": "SourceOID" }, { "name": "PosAlong", "type": "esriFieldTypeDouble", "alias": "PosAlong" }, { "name": "SideOfEdge", "type": "esriFieldTypeInteger", "alias": "SideOfEdge" }, { "name": "CurbApproach", "type": "esriFieldTypeInteger", "alias": "CurbApproach" }, { "name": "Status", "type": "esriFieldTypeInteger", "alias": "Status" }, { "name": "SnapX", "type": "esriFieldTypeDouble", "alias": "SnapX" }, { "name": "SnapY", "type": "esriFieldTypeDouble", "alias": "SnapY" }, { "name": "SnapZ", "type": "esriFieldTypeDouble", "alias": "SnapZ" }, { "name": "DistanceToNetworkInMeters", "type": "esriFieldTypeDouble", "alias": "DistanceToNetworkInMeters" }, { "name": "Bearing", "type": "esriFieldTypeDouble", "alias": "Bearing" }, { "name": "BearingTol", "type": "esriFieldTypeDouble", "alias": "BearingTol" }, { "name": "NavLatency", "type": "esriFieldTypeDouble", "alias": "NavLatency" } ], "features": [], "exceededTransferLimit": false }, "parameterType": "esriGPParameterTypeDerived", "category": "" }, { "name": "output_depot_visits", "dataType": "GPFeatureRecordSetLayer", "displayName": "Output Depot Visits", "description": "", "direction": "esriGPParameterDirectionOutput", "defaultValue": { "displayFieldName": "", "geometryType": "esriGeometryPoint", "spatialReference": { "wkid": 102100, "latestWkid": 3857 }, "fields": [ { "name": "ObjectID", "type": "esriFieldTypeOID", "alias": "ObjectID" }, { "name": "DepotName", "type": "esriFieldTypeString", "alias": "DepotName", "length": 500 }, { "name": "VisitType", "type": "esriFieldTypeInteger", "alias": "VisitType" }, { "name": "RouteName", "type": "esriFieldTypeString", "alias": "RouteName", "length": 500 }, { "name": "Sequence", "type": "esriFieldTypeInteger", "alias": "Sequence" }, { "name": "ServiceTime", "type": "esriFieldTypeDouble", "alias": "ServiceTime" }, { "name": "FromPrevTravelTime", "type": "esriFieldTypeDouble", "alias": "FromPrevTravelTime" }, { "name": "FromPrevDistance", "type": "esriFieldTypeDouble", "alias": "FromPrevDistance" }, { "name": "ArriveTime", "type": "esriFieldTypeTimestampOffset", "alias": "ArriveTime" }, { "name": "DepartTime", "type": "esriFieldTypeTimestampOffset", "alias": "DepartTime" }, { "name": "LoadedQuantity_1", "type": "esriFieldTypeDouble", "alias": "LoadedQuantity_1" }, { "name": "LoadedQuantity_2", "type": "esriFieldTypeDouble", "alias": "LoadedQuantity_2" }, { "name": "LoadedQuantity_3", "type": "esriFieldTypeDouble", "alias": "LoadedQuantity_3" }, { "name": "LoadedQuantity_4", "type": "esriFieldTypeDouble", "alias": "LoadedQuantity_4" }, { "name": "LoadedQuantity_5", "type": "esriFieldTypeDouble", "alias": "LoadedQuantity_5" }, { "name": "LoadedQuantity_6", "type": "esriFieldTypeDouble", "alias": "LoadedQuantity_6" }, { "name": "LoadedQuantity_7", "type": "esriFieldTypeDouble", "alias": "LoadedQuantity_7" }, { "name": "LoadedQuantity_8", "type": "esriFieldTypeDouble", "alias": "LoadedQuantity_8" }, { "name": "LoadedQuantity_9", "type": "esriFieldTypeDouble", "alias": "LoadedQuantity_9" }, { "name": "UnloadedQuantity_1", "type": "esriFieldTypeDouble", "alias": "UnloadedQuantity_1" }, { "name": "UnloadedQuantity_2", "type": "esriFieldTypeDouble", "alias": "UnloadedQuantity_2" }, { "name": "UnloadedQuantity_3", "type": "esriFieldTypeDouble", "alias": "UnloadedQuantity_3" }, { "name": "UnloadedQuantity_4", "type": "esriFieldTypeDouble", "alias": "UnloadedQuantity_4" }, { "name": "UnloadedQuantity_5", "type": "esriFieldTypeDouble", "alias": "UnloadedQuantity_5" }, { "name": "UnloadedQuantity_6", "type": "esriFieldTypeDouble", "alias": "UnloadedQuantity_6" }, { "name": "UnloadedQuantity_7", "type": "esriFieldTypeDouble", "alias": "UnloadedQuantity_7" }, { "name": "UnloadedQuantity_8", "type": "esriFieldTypeDouble", "alias": "UnloadedQuantity_8" }, { "name": "UnloadedQuantity_9", "type": "esriFieldTypeDouble", "alias": "UnloadedQuantity_9" } ], "features": [], "exceededTransferLimit": false }, "parameterType": "esriGPParameterTypeDerived", "category": "" }, { "name": "output_direction_points", "dataType": "GPFeatureRecordSetLayer", "displayName": "Output Direction Points", "description": "", "direction": "esriGPParameterDirectionOutput", "defaultValue": {}, "parameterType": "esriGPParameterTypeDerived", "category": "" }, { "name": "output_direction_lines", "dataType": "GPFeatureRecordSetLayer", "displayName": "Output Direction Lines", "description": "", "direction": "esriGPParameterDirectionOutput", "defaultValue": {}, "parameterType": "esriGPParameterTypeDerived", "category": "" }, { "name": "output_route_data", "dataType": "GPDataFile", "displayName": "Output Route Data", "description": "", "direction": "esriGPParameterDirectionOutput", "defaultValue": null, "parameterType": "esriGPParameterTypeDerived", "category": "" }, { "name": "output_result_file", "dataType": "GPDataFile", "displayName": "Output Result File", "description": "", "direction": "esriGPParameterDirectionOutput", "defaultValue": null, "parameterType": "esriGPParameterTypeDerived", "category": "" }, { "name": "output_network_analysis_layer_package", "dataType": "GPDataFile", "displayName": "Output Network Analysis Layer Package", "description": "", "direction": "esriGPParameterDirectionOutput", "defaultValue": null, "parameterType": "esriGPParameterTypeDerived", "category": "" }, { "name": "usage_cost", "dataType": "GPString", "displayName": "Usage Cost", "description": "", "direction": "esriGPParameterDirectionOutput", "defaultValue": "", "parameterType": "esriGPParameterTypeDerived", "category": "" } ] }