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