| GET,OPTIONS | /v1/dispatch/courier/vans |
|---|
import Foundation
import ServiceStack
public class CourierVansRequest : Codable
{
required public init(){}
}
public class CourierOfficeResponse : Codable
{
public var office:CourierOfficeView
public var available:Bool
public var responseStatus:ResponseStatus
required public init(){}
}
public class CourierOfficeView : Codable
{
public var serverUtc:Date
public var vans:[CourierOfficeVan] = []
public var held:[CourierHeldView] = []
public var vehicles:[CourierVehicleOption] = []
public var profiles:[CourierProfileOption] = []
public var drivers:[CourierDriverOption] = []
public var desk:[CourierDeskRow] = []
public var goCount:Int
public var heldCount:Int
public var readyToOffer:Int
public var intakeMin:Int?
public var facilityNoun:String
required public init(){}
}
public class CourierOfficeVan : Codable
{
public var driverContactId:Int
public var driverCode:String
public var name:String
public var online:Bool
public var zone:String
public var vehicleUnit:String
public var facilityName:String
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 unitMany:String
public var criticalCode:String
public var driveMin:Int
public var sendNote:String
public var aboard:[CourierVanChip] = []
public var queued:[CourierVanChip] = []
required public init(){}
}
public class CourierVanChip : Codable
{
public var code:String
public var courierStep:String
public var levelCode:String
public var levelName:String
public var units:Int
public var area:String
public var dueUtc:Date?
public var dueText:String
public var movable:Bool
public var noMoveWhy:String
public var targets:[CourierMoveTarget] = []
required public init(){}
}
public class CourierMoveTarget : Codable
{
public var driverContactId:Int
public var name:String
public var ok:Bool
public var why:String
public var leaveByText:String
required public init(){}
}
public class CourierHeldView : Codable
{
public var code:String
public var area:String
public var units:Int
public var unitMany:String
public var miles:Double?
public var levelCode:String
public var levelName:String
public var dueText:String
public var heldReason:String
public var heldMin:Int?
public var why:[String] = []
public var bestDriverContactId:Int?
public var bestName:String
public var bestLeaveByText:String
required public init(){}
}
public class CourierVehicleOption : Codable
{
public var courierProfileId:Int
public var equipmentID:Int
public var unitNumber:String
public var vehicleType:String
public var capacityUnit:String
public var capacityLimit:Double?
public var isRefrigerated:Bool
public var status:String
required public init(){}
}
public class CourierProfileOption : Codable
{
public var courierProfileID:Int
public var name:String
public var routeShape:String
public var enabled:Bool
public var unitOne:String
public var unitMany:String
public var facilityNoun:String
public var facilities:[CourierFacilityOption] = []
required public init(){}
}
public class CourierFacilityOption : Codable
{
public var courierFacilityID:Int
public var code:String
public var name:String
public var address:String
public var intakeMin:Int
required public init(){}
}
public class CourierDriverOption : Codable
{
public var contactId:Int
public var code:String
public var name:String
public var online:Bool
public var zone:String
public var vehicleUnit:String
public var equipmentID:Int?
public var sentToFacility:Bool
required public init(){}
}
public class CourierDeskRow : Codable
{
public var code:String
public var courierProfileId:Int
public var facilityName:String
public var levelCode:String
public var levelName:String
public var dueUtc:Date?
public var dueText:String
public var units:Int
public var unitsFound:Int?
public var unitMany:String
public var fare:Double?
public var finalPrice:Double?
public var tipAmount:Double?
public var payMode:String
public var captureMode:String
public var customerName:String
public var area:String
public var intakeUtc:Date?
public var intakeMinAgo:Int?
public var damageNote:String
public var finalPriceAfterCount:Bool
public var needsPrice:Bool
public var itemCount:Int
public var missingCount:Int
public var photoCount:Int
required public init(){}
}
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.
GET /v1/dispatch/courier/vans HTTP/1.1 Host: api.dev.dynamics.trendsic.com Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
Office:
{
ServerUtc: 0001-01-01,
Vans:
[
{
DriverContactId: 0,
DriverCode: String,
Name: String,
Online: False,
Zone: String,
VehicleUnit: String,
FacilityName: String,
State: String,
LeaveByUtc: 0001-01-01,
LeaveByText: String,
SlackMin: 0,
InVan: 0,
Committed: 0,
Cap: 0,
CapUnit: String,
UnitMany: String,
CriticalCode: String,
DriveMin: 0,
SendNote: String,
Aboard:
[
{
Code: String,
CourierStep: String,
LevelCode: String,
LevelName: String,
Units: 0,
Area: String,
DueUtc: 0001-01-01,
DueText: String,
Movable: False,
NoMoveWhy: String,
Targets:
[
{
DriverContactId: 0,
Name: String,
Ok: False,
Why: String,
LeaveByText: String
}
]
}
],
Queued:
[
{
Code: String,
CourierStep: String,
LevelCode: String,
LevelName: String,
Units: 0,
Area: String,
DueUtc: 0001-01-01,
DueText: String,
Movable: False,
NoMoveWhy: String,
Targets:
[
{
DriverContactId: 0,
Name: String,
Ok: False,
Why: String,
LeaveByText: String
}
]
}
]
}
],
Held:
[
{
Code: String,
Area: String,
Units: 0,
UnitMany: String,
Miles: 0,
LevelCode: String,
LevelName: String,
DueText: String,
HeldReason: String,
HeldMin: 0,
Why:
[
String
],
BestDriverContactId: 0,
BestName: String,
BestLeaveByText: String
}
],
Vehicles:
[
{
CourierProfileId: 0,
EquipmentID: 0,
UnitNumber: String,
VehicleType: String,
CapacityUnit: String,
CapacityLimit: 0,
IsRefrigerated: False,
Status: String
}
],
Profiles:
[
{
CourierProfileID: 0,
Name: String,
RouteShape: String,
Enabled: False,
UnitOne: String,
UnitMany: String,
FacilityNoun: String,
Facilities:
[
{
CourierFacilityID: 0,
Code: String,
Name: String,
Address: String,
IntakeMin: 0
}
]
}
],
Drivers:
[
{
ContactId: 0,
Code: String,
Name: String,
Online: False,
Zone: String,
VehicleUnit: String,
EquipmentID: 0,
SentToFacility: False
}
],
Desk:
[
{
Code: String,
CourierProfileId: 0,
FacilityName: String,
LevelCode: String,
LevelName: String,
DueUtc: 0001-01-01,
DueText: String,
Units: 0,
UnitsFound: 0,
UnitMany: String,
Fare: 0,
FinalPrice: 0,
TipAmount: 0,
PayMode: String,
CaptureMode: String,
CustomerName: String,
Area: String,
IntakeUtc: 0001-01-01,
IntakeMinAgo: 0,
DamageNote: String,
FinalPriceAfterCount: False,
NeedsPrice: False,
ItemCount: 0,
MissingCount: 0,
PhotoCount: 0
}
],
GoCount: 0,
HeldCount: 0,
ReadyToOffer: 0,
IntakeMin: 0,
FacilityNoun: String
},
Available: False,
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
}
}