| POST,OPTIONS | /v1/worker/dispatch/od/location |
|---|
export class CourierVanView
{
public State: string;
public LeaveByUtc?: string;
public LeaveByText: string;
public SlackMin?: number;
public InVan: number;
public Committed: number;
public Cap?: number;
public CapUnit: string;
public VehicleUnit: string;
public CriticalCode: string;
public DriveMin: number;
public FacilityName: string;
public SendNote: string;
public constructor(init?: Partial<CourierVanView>) { (Object as any).assign(this, init); }
}
export class CourierItemView
{
public CourierItemID: number;
public DispatchOdRequestID: number;
public Seq: number;
public TagCode: string;
public Custody: string;
public IsOpen: boolean;
public IsMissing: boolean;
public MissingReason: string;
public IsManual: boolean;
public ReTagFlag: boolean;
public Scanned: boolean;
public constructor(init?: Partial<CourierItemView>) { (Object as any).assign(this, init); }
}
export class CourierDriverOrder
{
public Code: string;
public CourierStep: string;
public RouteShape: string;
public ProfileName: string;
public UnitOne: string;
public UnitMany: string;
public FacilityNoun: string;
public FacilityName: string;
public LevelName: string;
public DueUtc?: string;
public DueText: string;
public Units: number;
public UnitsFound?: number;
public Area: string;
public Minutes?: number;
public Address: string;
public Unit: string;
public City: string;
public Lat?: number;
public Lng?: number;
public CustomerName: string;
public CustomerPhone: string;
public Handoff: string;
public GateCode: string;
public Instructions: string;
public DropoffAddress: string;
public DropoffContactName: string;
public DropLat?: number;
public DropLng?: number;
public ArrivedUtc?: string;
public Tags: CourierItemView[] = [];
public Proof: { [index:string]: string; } = {};
public Photos: { [index:string]: number; } = {};
public Needs: string[] = [];
public MissedWaitMin: number;
public MissedRequireContact: boolean;
public MissedRequirePhoto: boolean;
public MissedFee: number;
public constructor(init?: Partial<CourierDriverOrder>) { (Object as any).assign(this, init); }
}
export class CourierStopView
{
public Sequence: number;
public Status: string;
public DispatchOdRequestID: number;
public Code: string;
public CourierStep: string;
public Address: string;
public Unit: string;
public City: string;
public Zip: string;
public Lat?: number;
public Lng?: number;
public CustomerName: string;
public CustomerPhone: string;
public Handoff: string;
public GateCode: string;
public Instructions: string;
public Units: number;
public DueText: string;
public Note: string;
public Needs: string[] = [];
public Items: CourierItemView[] = [];
public constructor(init?: Partial<CourierStopView>) { (Object as any).assign(this, init); }
}
export class CourierRunView
{
public CourierRunID: number;
public Code: string;
public Status: string;
public CourierProfileId: number;
public ProfileName: string;
public CourierFacilityId: number;
public FacilityName: string;
public FacilityAddress: string;
public DriverContactId?: number;
public DriverName: string;
public EquipmentID?: number;
public VehicleUnit: string;
public UnitOne: string;
public UnitMany: string;
public Units: number;
public StopCount: number;
public StopsDone: number;
public Pay?: number;
public BuiltUtc?: string;
public StartedUtc?: string;
public CompletedUtc?: string;
public ToLoad: number;
public ToReturn: number;
public Stops: CourierStopView[] = [];
public constructor(init?: Partial<CourierRunView>) { (Object as any).assign(this, init); }
}
export class CourierDriverView
{
public DriverCode: string;
public Name: string;
public Online: boolean;
public OnRoster: boolean;
public Van: CourierVanView;
public Current: CourierDriverOrder;
public Queue: CourierDriverOrder[] = [];
public Aboard: CourierDriverOrder[] = [];
public Runs: CourierRunView[] = [];
public UpNext: CourierDriverOrder;
public constructor(init?: Partial<CourierDriverView>) { (Object as any).assign(this, init); }
}
export class CourierDriverResponse
{
public Courier: CourierDriverView;
public Result: string;
public Detail: string;
public Message: string;
public ResponseStatus: ResponseStatus;
public constructor(init?: Partial<CourierDriverResponse>) { (Object as any).assign(this, init); }
}
export class CourierDriverLocationRequest
{
public Lat: number;
public Lng: number;
public constructor(init?: Partial<CourierDriverLocationRequest>) { (Object as any).assign(this, init); }
}
TypeScript 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
}
}
}