| POST,OPTIONS | /v1/worker/dispatch/od/location |
|---|
import Foundation
import ServiceStack
public class CourierDriverLocationRequest : Codable
{
public var lat:Double
public var lng:Double
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 CourierDriverLocationRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/worker/dispatch/od/location HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Lat: 0,
Lng: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
Courier:
{
DriverCode: String,
Name: String,
Online: False,
OnRoster: False,
Van:
{
State: String,
LeaveByUtc: 0001-01-01,
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-01,
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-01,
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-01,
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-01,
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-01,
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-01,
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-01,
StartedUtc: 0001-01-01,
CompletedUtc: 0001-01-01,
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-01,
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-01,
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
}
}
}