| GET,OPTIONS | /v1/dispatch/courier/vans |
|---|
"use strict";
export class CourierMoveTarget {
/** @param {{DriverContactId?:number,Name?:string,Ok?:boolean,Why?:string,LeaveByText?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
DriverContactId;
/** @type {string} */
Name;
/** @type {boolean} */
Ok;
/** @type {string} */
Why;
/** @type {string} */
LeaveByText;
}
export class CourierVanChip {
/** @param {{Code?:string,CourierStep?:string,LevelCode?:string,LevelName?:string,Units?:number,Area?:string,DueUtc?:string,DueText?:string,Movable?:boolean,NoMoveWhy?:string,Targets?:CourierMoveTarget[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
Code;
/** @type {string} */
CourierStep;
/** @type {string} */
LevelCode;
/** @type {string} */
LevelName;
/** @type {number} */
Units;
/** @type {string} */
Area;
/** @type {?string} */
DueUtc;
/** @type {string} */
DueText;
/** @type {boolean} */
Movable;
/** @type {string} */
NoMoveWhy;
/** @type {CourierMoveTarget[]} */
Targets = [];
}
export class CourierOfficeVan {
/** @param {{DriverContactId?:number,DriverCode?:string,Name?:string,Online?:boolean,Zone?:string,VehicleUnit?:string,FacilityName?:string,State?:string,LeaveByUtc?:string,LeaveByText?:string,SlackMin?:number,InVan?:number,Committed?:number,Cap?:number,CapUnit?:string,UnitMany?:string,CriticalCode?:string,DriveMin?:number,SendNote?:string,Aboard?:CourierVanChip[],Queued?:CourierVanChip[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
DriverContactId;
/** @type {string} */
DriverCode;
/** @type {string} */
Name;
/** @type {boolean} */
Online;
/** @type {string} */
Zone;
/** @type {string} */
VehicleUnit;
/** @type {string} */
FacilityName;
/** @type {string} */
State;
/** @type {?string} */
LeaveByUtc;
/** @type {string} */
LeaveByText;
/** @type {?number} */
SlackMin;
/** @type {number} */
InVan;
/** @type {number} */
Committed;
/** @type {?number} */
Cap;
/** @type {string} */
CapUnit;
/** @type {string} */
UnitMany;
/** @type {string} */
CriticalCode;
/** @type {number} */
DriveMin;
/** @type {string} */
SendNote;
/** @type {CourierVanChip[]} */
Aboard = [];
/** @type {CourierVanChip[]} */
Queued = [];
}
export class CourierHeldView {
/** @param {{Code?:string,Area?:string,Units?:number,UnitMany?:string,Miles?:number,LevelCode?:string,LevelName?:string,DueText?:string,HeldReason?:string,HeldMin?:number,Why?:string[],BestDriverContactId?:number,BestName?:string,BestLeaveByText?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
Code;
/** @type {string} */
Area;
/** @type {number} */
Units;
/** @type {string} */
UnitMany;
/** @type {?number} */
Miles;
/** @type {string} */
LevelCode;
/** @type {string} */
LevelName;
/** @type {string} */
DueText;
/** @type {string} */
HeldReason;
/** @type {?number} */
HeldMin;
/** @type {string[]} */
Why = [];
/** @type {?number} */
BestDriverContactId;
/** @type {string} */
BestName;
/** @type {string} */
BestLeaveByText;
}
export class CourierVehicleOption {
/** @param {{CourierProfileId?:number,EquipmentID?:number,UnitNumber?:string,VehicleType?:string,CapacityUnit?:string,CapacityLimit?:number,IsRefrigerated?:boolean,Status?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
CourierProfileId;
/** @type {number} */
EquipmentID;
/** @type {string} */
UnitNumber;
/** @type {string} */
VehicleType;
/** @type {string} */
CapacityUnit;
/** @type {?number} */
CapacityLimit;
/** @type {boolean} */
IsRefrigerated;
/** @type {string} */
Status;
}
export class CourierFacilityOption {
/** @param {{CourierFacilityID?:number,Code?:string,Name?:string,Address?:string,IntakeMin?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
CourierFacilityID;
/** @type {string} */
Code;
/** @type {string} */
Name;
/** @type {string} */
Address;
/** @type {number} */
IntakeMin;
}
export class CourierProfileOption {
/** @param {{CourierProfileID?:number,Name?:string,RouteShape?:string,Enabled?:boolean,UnitOne?:string,UnitMany?:string,FacilityNoun?:string,Facilities?:CourierFacilityOption[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
CourierProfileID;
/** @type {string} */
Name;
/** @type {string} */
RouteShape;
/** @type {boolean} */
Enabled;
/** @type {string} */
UnitOne;
/** @type {string} */
UnitMany;
/** @type {string} */
FacilityNoun;
/** @type {CourierFacilityOption[]} */
Facilities = [];
}
export class CourierDriverOption {
/** @param {{ContactId?:number,Code?:string,Name?:string,Online?:boolean,Zone?:string,VehicleUnit?:string,EquipmentID?:number,SentToFacility?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
ContactId;
/** @type {string} */
Code;
/** @type {string} */
Name;
/** @type {boolean} */
Online;
/** @type {string} */
Zone;
/** @type {string} */
VehicleUnit;
/** @type {?number} */
EquipmentID;
/** @type {boolean} */
SentToFacility;
}
export class CourierDeskRow {
/** @param {{Code?:string,CourierProfileId?:number,FacilityName?:string,LevelCode?:string,LevelName?:string,DueUtc?:string,DueText?:string,Units?:number,UnitsFound?:number,UnitMany?:string,Fare?:number,FinalPrice?:number,TipAmount?:number,PayMode?:string,CaptureMode?:string,CustomerName?:string,Area?:string,IntakeUtc?:string,IntakeMinAgo?:number,DamageNote?:string,FinalPriceAfterCount?:boolean,NeedsPrice?:boolean,ItemCount?:number,MissingCount?:number,PhotoCount?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
Code;
/** @type {number} */
CourierProfileId;
/** @type {string} */
FacilityName;
/** @type {string} */
LevelCode;
/** @type {string} */
LevelName;
/** @type {?string} */
DueUtc;
/** @type {string} */
DueText;
/** @type {number} */
Units;
/** @type {?number} */
UnitsFound;
/** @type {string} */
UnitMany;
/** @type {?number} */
Fare;
/** @type {?number} */
FinalPrice;
/** @type {?number} */
TipAmount;
/** @type {string} */
PayMode;
/** @type {string} */
CaptureMode;
/** @type {string} */
CustomerName;
/** @type {string} */
Area;
/** @type {?string} */
IntakeUtc;
/** @type {?number} */
IntakeMinAgo;
/** @type {string} */
DamageNote;
/** @type {boolean} */
FinalPriceAfterCount;
/** @type {boolean} */
NeedsPrice;
/** @type {number} */
ItemCount;
/** @type {number} */
MissingCount;
/** @type {number} */
PhotoCount;
}
export class CourierOfficeView {
/** @param {{ServerUtc?:string,Vans?:CourierOfficeVan[],Held?:CourierHeldView[],Vehicles?:CourierVehicleOption[],Profiles?:CourierProfileOption[],Drivers?:CourierDriverOption[],Desk?:CourierDeskRow[],GoCount?:number,HeldCount?:number,ReadyToOffer?:number,IntakeMin?:number,FacilityNoun?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
ServerUtc;
/** @type {CourierOfficeVan[]} */
Vans = [];
/** @type {CourierHeldView[]} */
Held = [];
/** @type {CourierVehicleOption[]} */
Vehicles = [];
/** @type {CourierProfileOption[]} */
Profiles = [];
/** @type {CourierDriverOption[]} */
Drivers = [];
/** @type {CourierDeskRow[]} */
Desk = [];
/** @type {number} */
GoCount;
/** @type {number} */
HeldCount;
/** @type {number} */
ReadyToOffer;
/** @type {?number} */
IntakeMin;
/** @type {string} */
FacilityNoun;
}
export class CourierOfficeResponse {
/** @param {{Office?:CourierOfficeView,Available?:boolean,ResponseStatus?:ResponseStatus}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {CourierOfficeView} */
Office;
/** @type {boolean} */
Available;
/** @type {ResponseStatus} */
ResponseStatus;
}
export class CourierVansRequest {
constructor(init) { Object.assign(this, init) }
}
JavaScript CourierVansRequest 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.
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
}
}
}