Trendsic Platform Service

<back to all web services

CourierRunCompleteRequest

Requires Authentication
The following routes are available for this service:
POST,OPTIONS/v1/worker/dispatch/od/runs/{RunId}/complete
import Foundation
import ServiceStack

public class CourierRunCompleteRequest : Codable
{
    public var runId:Int

    required public init(){}
}

public class CourierDriverResponse : Codable
{
    public var courier:CourierDriverView
    public var result:String
    public var detail:String
    public var message:String
    public var responseStatus:ResponseStatus

    required public init(){}
}

public class CourierDriverView : Codable
{
    public var driverCode:String
    public var name:String
    public var online:Bool
    public var onRoster:Bool
    public var van:CourierVanView
    public var current:CourierDriverOrder
    public var queue:[CourierDriverOrder] = []
    public var aboard:[CourierDriverOrder] = []
    public var runs:[CourierRunView] = []
    public var upNext:CourierDriverOrder

    required public init(){}
}

public class CourierVanView : Codable
{
    public var state:String
    public var leaveByUtc:Date?
    public var leaveByText:String
    public var slackMin:Int?
    public var inVan:Int
    public var committed:Int
    public var cap:Double?
    public var capUnit:String
    public var vehicleUnit:String
    public var criticalCode:String
    public var driveMin:Int
    public var facilityName:String
    public var sendNote:String

    required public init(){}
}

public class CourierDriverOrder : Codable
{
    public var code:String
    public var courierStep:String
    public var routeShape:String
    public var profileName:String
    public var unitOne:String
    public var unitMany:String
    public var facilityNoun:String
    public var facilityName:String
    public var levelName:String
    public var dueUtc:Date?
    public var dueText:String
    public var units:Int
    public var unitsFound:Int?
    public var area:String
    public var minutes:Int?
    public var address:String
    public var unit:String
    public var city:String
    public var lat:Double?
    public var lng:Double?
    public var customerName:String
    public var customerPhone:String
    public var handoff:String
    public var gateCode:String
    public var instructions:String
    public var dropoffAddress:String
    public var dropoffContactName:String
    public var dropLat:Double?
    public var dropLng:Double?
    public var arrivedUtc:Date?
    public var tags:[CourierItemView] = []
    public var proof:[String:String] = [:]
    public var photos:[String:Int] = [:]
    public var needs:[String] = []
    public var missedWaitMin:Int
    public var missedRequireContact:Bool
    public var missedRequirePhoto:Bool
    public var missedFee:Double

    required public init(){}
}

public class CourierItemView : Codable
{
    public var courierItemID:Int
    public var dispatchOdRequestID:Int
    public var seq:Int
    public var tagCode:String
    public var custody:String
    public var isOpen:Bool
    public var isMissing:Bool
    public var missingReason:String
    public var isManual:Bool
    public var reTagFlag:Bool
    public var scanned:Bool

    required public init(){}
}

public class CourierRunView : Codable
{
    public var courierRunID:Int
    public var code:String
    public var status:String
    public var courierProfileId:Int
    public var profileName:String
    public var courierFacilityId:Int
    public var facilityName:String
    public var facilityAddress:String
    public var driverContactId:Int?
    public var driverName:String
    public var equipmentID:Int?
    public var vehicleUnit:String
    public var unitOne:String
    public var unitMany:String
    public var units:Int
    public var stopCount:Int
    public var stopsDone:Int
    public var pay:Double?
    public var builtUtc:Date?
    public var startedUtc:Date?
    public var completedUtc:Date?
    public var toLoad:Int
    public var toReturn:Int
    public var stops:[CourierStopView] = []

    required public init(){}
}

public class CourierStopView : Codable
{
    public var sequence:Int
    public var status:String
    public var dispatchOdRequestID:Int
    public var code:String
    public var courierStep:String
    public var address:String
    public var unit:String
    public var city:String
    public var zip:String
    public var lat:Double?
    public var lng:Double?
    public var customerName:String
    public var customerPhone:String
    public var handoff:String
    public var gateCode:String
    public var instructions:String
    public var units:Int
    public var dueText:String
    public var note:String
    public var needs:[String] = []
    public var items:[CourierItemView] = []

    required public init(){}
}


Swift CourierRunCompleteRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /v1/worker/dispatch/od/runs/{RunId}/complete HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"RunId":0}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"Courier":{"DriverCode":"String","Name":"String","Online":false,"OnRoster":false,"Van":{"State":"String","LeaveByUtc":"0001-01-01T00:00:00.0000000","LeaveByText":"String","SlackMin":0,"InVan":0,"Committed":0,"Cap":0,"CapUnit":"String","VehicleUnit":"String","CriticalCode":"String","DriveMin":0,"FacilityName":"String","SendNote":"String"},"Current":{"Code":"String","CourierStep":"String","RouteShape":"String","ProfileName":"String","UnitOne":"String","UnitMany":"String","FacilityNoun":"String","FacilityName":"String","LevelName":"String","DueUtc":"0001-01-01T00:00:00.0000000","DueText":"String","Units":0,"UnitsFound":0,"Area":"String","Minutes":0,"Address":"String","Unit":"String","City":"String","Lat":0,"Lng":0,"CustomerName":"String","CustomerPhone":"String","Handoff":"String","GateCode":"String","Instructions":"String","DropoffAddress":"String","DropoffContactName":"String","DropLat":0,"DropLng":0,"ArrivedUtc":"0001-01-01T00:00:00.0000000","Tags":[{"CourierItemID":0,"DispatchOdRequestID":0,"Seq":0,"TagCode":"String","Custody":"String","IsOpen":false,"IsMissing":false,"MissingReason":"String","IsManual":false,"ReTagFlag":false,"Scanned":false}],"Proof":{"String":"String"},"Photos":{"String":0},"Needs":["String"],"MissedWaitMin":0,"MissedRequireContact":false,"MissedRequirePhoto":false,"MissedFee":0},"Queue":[{"Code":"String","CourierStep":"String","RouteShape":"String","ProfileName":"String","UnitOne":"String","UnitMany":"String","FacilityNoun":"String","FacilityName":"String","LevelName":"String","DueUtc":"0001-01-01T00:00:00.0000000","DueText":"String","Units":0,"UnitsFound":0,"Area":"String","Minutes":0,"Address":"String","Unit":"String","City":"String","Lat":0,"Lng":0,"CustomerName":"String","CustomerPhone":"String","Handoff":"String","GateCode":"String","Instructions":"String","DropoffAddress":"String","DropoffContactName":"String","DropLat":0,"DropLng":0,"ArrivedUtc":"0001-01-01T00:00:00.0000000","Tags":[{"CourierItemID":0,"DispatchOdRequestID":0,"Seq":0,"TagCode":"String","Custody":"String","IsOpen":false,"IsMissing":false,"MissingReason":"String","IsManual":false,"ReTagFlag":false,"Scanned":false}],"Proof":{"String":"String"},"Photos":{"String":0},"Needs":["String"],"MissedWaitMin":0,"MissedRequireContact":false,"MissedRequirePhoto":false,"MissedFee":0}],"Aboard":[{"Code":"String","CourierStep":"String","RouteShape":"String","ProfileName":"String","UnitOne":"String","UnitMany":"String","FacilityNoun":"String","FacilityName":"String","LevelName":"String","DueUtc":"0001-01-01T00:00:00.0000000","DueText":"String","Units":0,"UnitsFound":0,"Area":"String","Minutes":0,"Address":"String","Unit":"String","City":"String","Lat":0,"Lng":0,"CustomerName":"String","CustomerPhone":"String","Handoff":"String","GateCode":"String","Instructions":"String","DropoffAddress":"String","DropoffContactName":"String","DropLat":0,"DropLng":0,"ArrivedUtc":"0001-01-01T00:00:00.0000000","Tags":[{"CourierItemID":0,"DispatchOdRequestID":0,"Seq":0,"TagCode":"String","Custody":"String","IsOpen":false,"IsMissing":false,"MissingReason":"String","IsManual":false,"ReTagFlag":false,"Scanned":false}],"Proof":{"String":"String"},"Photos":{"String":0},"Needs":["String"],"MissedWaitMin":0,"MissedRequireContact":false,"MissedRequirePhoto":false,"MissedFee":0}],"Runs":[{"CourierRunID":0,"Code":"String","Status":"String","CourierProfileId":0,"ProfileName":"String","CourierFacilityId":0,"FacilityName":"String","FacilityAddress":"String","DriverContactId":0,"DriverName":"String","EquipmentID":0,"VehicleUnit":"String","UnitOne":"String","UnitMany":"String","Units":0,"StopCount":0,"StopsDone":0,"Pay":0,"BuiltUtc":"0001-01-01T00:00:00.0000000","StartedUtc":"0001-01-01T00:00:00.0000000","CompletedUtc":"0001-01-01T00:00:00.0000000","ToLoad":0,"ToReturn":0,"Stops":[{"Sequence":0,"Status":"String","DispatchOdRequestID":0,"Code":"String","CourierStep":"String","Address":"String","Unit":"String","City":"String","Zip":"String","Lat":0,"Lng":0,"CustomerName":"String","CustomerPhone":"String","Handoff":"String","GateCode":"String","Instructions":"String","Units":0,"DueText":"String","Note":"String","Needs":["String"],"Items":[{"CourierItemID":0,"DispatchOdRequestID":0,"Seq":0,"TagCode":"String","Custody":"String","IsOpen":false,"IsMissing":false,"MissingReason":"String","IsManual":false,"ReTagFlag":false,"Scanned":false}]}]}],"UpNext":{"Code":"String","CourierStep":"String","RouteShape":"String","ProfileName":"String","UnitOne":"String","UnitMany":"String","FacilityNoun":"String","FacilityName":"String","LevelName":"String","DueUtc":"0001-01-01T00:00:00.0000000","DueText":"String","Units":0,"UnitsFound":0,"Area":"String","Minutes":0,"Address":"String","Unit":"String","City":"String","Lat":0,"Lng":0,"CustomerName":"String","CustomerPhone":"String","Handoff":"String","GateCode":"String","Instructions":"String","DropoffAddress":"String","DropoffContactName":"String","DropLat":0,"DropLng":0,"ArrivedUtc":"0001-01-01T00:00:00.0000000","Tags":[{"CourierItemID":0,"DispatchOdRequestID":0,"Seq":0,"TagCode":"String","Custody":"String","IsOpen":false,"IsMissing":false,"MissingReason":"String","IsManual":false,"ReTagFlag":false,"Scanned":false}],"Proof":{"String":"String"},"Photos":{"String":0},"Needs":["String"],"MissedWaitMin":0,"MissedRequireContact":false,"MissedRequirePhoto":false,"MissedFee":0}},"Result":"String","Detail":"String","Message":"String","ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}