| POST,OPTIONS | /v1/dispatch/haul/offline |
|---|
"use strict";
export class DispatchPackConfigView {
/** @param {{PackId?:string,HasQuotas?:boolean,IsInverted?:boolean,LoadLimitMins?:number,TicketSource?:string,PayBasis?:string,DayBoundary?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
PackId;
/** @type {boolean} */
HasQuotas;
/** @type {boolean} */
IsInverted;
/** @type {number} */
LoadLimitMins;
/** @type {string} */
TicketSource;
/** @type {string} */
PayBasis;
/** @type {string} */
DayBoundary;
}
export class DispatchHaulConfigView {
/** @param {{QueueMax?:number,DumpBays?:number,SlotCap?:number,Paused?:boolean,FeedRate?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
QueueMax;
/** @type {number} */
DumpBays;
/** @type {number} */
SlotCap;
/** @type {boolean} */
Paused;
/** @type {number} */
FeedRate;
}
export class DispatchOfflineWindowView {
/** @param {{OfflineWindowId?:number,FromHour?:string,ToHour?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
OfflineWindowId;
/** @type {string} */
FromHour;
/** @type {string} */
ToHour;
}
export class DispatchSiteView {
/** @param {{SiteId?:number,SupplierId?:number,SupplierCode?:string,Name?:string,Acres?:number,StandingVolume?:number,SortOrder?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
SiteId;
/** @type {number} */
SupplierId;
/** @type {string} */
SupplierCode;
/** @type {string} */
Name;
/** @type {number} */
Acres;
/** @type {number} */
StandingVolume;
/** @type {number} */
SortOrder;
}
export class DispatchSupplierView {
/** @param {{SupplierId?:number,Code?:string,Name?:string,Region?:string,OwnHauler?:boolean,SeasonAllotment?:number,Delivered?:number,WeekCap?:number,WeekDelivered?:number,SortOrder?:number,Sites?:DispatchSiteView[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
SupplierId;
/** @type {string} */
Code;
/** @type {string} */
Name;
/** @type {string} */
Region;
/** @type {boolean} */
OwnHauler;
/** @type {number} */
SeasonAllotment;
/** @type {number} */
Delivered;
/** @type {number} */
WeekCap;
/** @type {number} */
WeekDelivered;
/** @type {number} */
SortOrder;
/** @type {DispatchSiteView[]} */
Sites = [];
}
export class DispatchTruckView {
/** @param {{TruckId?:number,Code?:string,DriverName?:string,Phone?:string,EmployerCode?:string,SupplierCode?:string,SiteName?:string,EstLoad?:number,Stage?:string,StageSince?:number,CycleStart?:number,StageMinsAgo?:number,CycleMinsAgo?:number,Slot?:string,LoadsToday?:number,NetToday?:number,LastPingMins?:number,CycleMins?:string,IsInteractive?:boolean,NextSupplierCode?:string,NextSiteName?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
TruckId;
/** @type {string} */
Code;
/** @type {string} */
DriverName;
/** @type {string} */
Phone;
/** @type {string} */
EmployerCode;
/** @type {string} */
SupplierCode;
/** @type {string} */
SiteName;
/** @type {number} */
EstLoad;
/** @type {string} */
Stage;
/** @type {number} */
StageSince;
/** @type {?number} */
CycleStart;
/** @type {number} */
StageMinsAgo;
/** @type {?number} */
CycleMinsAgo;
/** @type {string} */
Slot;
/** @type {number} */
LoadsToday;
/** @type {number} */
NetToday;
/** @type {number} */
LastPingMins;
/** @type {string} */
CycleMins;
/** @type {boolean} */
IsInteractive;
/** @type {string} */
NextSupplierCode;
/** @type {string} */
NextSiteName;
}
export class DispatchSlotView {
/** @param {{SlotId?:number,Hour?:string,BaseBooked?:number,SortOrder?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
SlotId;
/** @type {string} */
Hour;
/** @type {number} */
BaseBooked;
/** @type {number} */
SortOrder;
}
export class DispatchTicketView {
/** @param {{TicketId?:number,Code?:string,TruckCode?:string,SupplierCode?:string,NetQty?:number,TicketedAt?:string,TicketedMin?:number,Source?:string,MinsAgo?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
TicketId;
/** @type {string} */
Code;
/** @type {string} */
TruckCode;
/** @type {string} */
SupplierCode;
/** @type {number} */
NetQty;
/** @type {string} */
TicketedAt;
/** @type {number} */
TicketedMin;
/** @type {string} */
Source;
/** @type {number} */
MinsAgo;
}
export class DispatchLogView {
/** @param {{LogId?:number,LoggedAt?:string,LoggedMin?:number,LogText?:string,Kind?:string,MinsAgo?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
LogId;
/** @type {string} */
LoggedAt;
/** @type {number} */
LoggedMin;
/** @type {string} */
LogText;
/** @type {string} */
Kind;
/** @type {number} */
MinsAgo;
}
export class DispatchAutopilotView {
/** @param {{IsOn?:boolean,RuleSlot?:boolean,RuleRoute?:boolean,RuleRelease?:boolean,RuleTract?:boolean,RuleThrottle?:boolean,RuleOffline?:boolean,ThStaged?:number,ThWait?:number,ThBand?:number,ThStall?:number,ThFeed?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {boolean} */
IsOn;
/** @type {boolean} */
RuleSlot;
/** @type {boolean} */
RuleRoute;
/** @type {boolean} */
RuleRelease;
/** @type {boolean} */
RuleTract;
/** @type {boolean} */
RuleThrottle;
/** @type {boolean} */
RuleOffline;
/** @type {number} */
ThStaged;
/** @type {number} */
ThWait;
/** @type {number} */
ThBand;
/** @type {number} */
ThStall;
/** @type {number} */
ThFeed;
}
export class DispatchExceptionView {
/** @param {{Code?:string,Kind?:string,Severity?:string,TruckCode?:string,SupplierCode?:string,RaisedAt?:string,RaisedLabel?:string,MinsAgo?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
Code;
/** @type {string} */
Kind;
/** @type {string} */
Severity;
/** @type {string} */
TruckCode;
/** @type {string} */
SupplierCode;
/** @type {string} */
RaisedAt;
/** @type {string} */
RaisedLabel;
/** @type {number} */
MinsAgo;
}
export class DispatchFeedView {
/** @param {{FeedId?:number,EntryAt?:string,EntryLabel?:string,Channel?:string,Kind?:string,TruckCode?:string,SupplierCode?:string,OverrideText?:string,MinsAgo?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
FeedId;
/** @type {string} */
EntryAt;
/** @type {string} */
EntryLabel;
/** @type {string} */
Channel;
/** @type {string} */
Kind;
/** @type {string} */
TruckCode;
/** @type {string} */
SupplierCode;
/** @type {string} */
OverrideText;
/** @type {number} */
MinsAgo;
}
export class DispatchRigView {
/** @param {{RigId?:number,Code?:string,Name?:string,DriverName?:string,Phone?:string,RigType?:string,IsFree?:boolean,MatchRank?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
RigId;
/** @type {string} */
Code;
/** @type {string} */
Name;
/** @type {string} */
DriverName;
/** @type {string} */
Phone;
/** @type {string} */
RigType;
/** @type {boolean} */
IsFree;
/** @type {number} */
MatchRank;
}
export class DispatchJobView {
/** @param {{JobId?:number,Code?:string,Cargo?:string,Customer?:string,CustomerPhone?:string,HoldContact?:string,HoldPhone?:string,FromLoc?:string,ToLoc?:string,Miles?:number,WindowText?:string,Stage?:string,Rate?:number,RequiredRig?:string,DriverLabel?:string,EtaText?:string,OfferRigIds?:string,OfferExpiresMin?:number,OfferExpired?:boolean,Declined?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
JobId;
/** @type {string} */
Code;
/** @type {string} */
Cargo;
/** @type {string} */
Customer;
/** @type {string} */
CustomerPhone;
/** @type {string} */
HoldContact;
/** @type {string} */
HoldPhone;
/** @type {string} */
FromLoc;
/** @type {string} */
ToLoc;
/** @type {number} */
Miles;
/** @type {string} */
WindowText;
/** @type {string} */
Stage;
/** @type {?number} */
Rate;
/** @type {string} */
RequiredRig;
/** @type {string} */
DriverLabel;
/** @type {string} */
EtaText;
/** @type {string} */
OfferRigIds;
/** @type {?number} */
OfferExpiresMin;
/** @type {boolean} */
OfferExpired;
/** @type {boolean} */
Declined;
}
export class DispatchOdDriverView {
/** @param {{DriverId?:number,Code?:string,Name?:string,Zone?:string,Phone?:string,Status?:string,Tier?:string,DistanceMi?:number,Capabilities?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
DriverId;
/** @type {string} */
Code;
/** @type {string} */
Name;
/** @type {string} */
Zone;
/** @type {string} */
Phone;
/** @type {string} */
Status;
/** @type {string} */
Tier;
/** @type {number} */
DistanceMi;
/** @type {string} */
Capabilities;
}
export class DispatchOdRequestView {
/** @param {{RequestId?:number,Code?:string,Address?:string,Zone?:string,Bags?:number,Stage?:string,DriverCode?:string,Needs?:string,Note?:string,PingExpiresMin?:number,TriedCodes?:string,CandidateCodes?:string,EtaText?:string,NoDriver?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
RequestId;
/** @type {string} */
Code;
/** @type {string} */
Address;
/** @type {string} */
Zone;
/** @type {number} */
Bags;
/** @type {string} */
Stage;
/** @type {string} */
DriverCode;
/** @type {string} */
Needs;
/** @type {string} */
Note;
/** @type {?number} */
PingExpiresMin;
/** @type {string} */
TriedCodes;
/** @type {string} */
CandidateCodes;
/** @type {string} */
EtaText;
/** @type {string} */
NoDriver;
}
export class DispatchPackView {
/** @param {{PackId?:string,HasQuotas?:boolean,IsInverted?:boolean,LoadLimitMins?:number,DayBoundary?:string,TicketSource?:string,PayBasis?:string,SortOrder?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
PackId;
/** @type {boolean} */
HasQuotas;
/** @type {boolean} */
IsInverted;
/** @type {number} */
LoadLimitMins;
/** @type {string} */
DayBoundary;
/** @type {string} */
TicketSource;
/** @type {string} */
PayBasis;
/** @type {number} */
SortOrder;
}
export class DispatchPackTermView {
/** @param {{PackId?:string,Lang?:string,ModeName?:string,Facility?:string,FacilityShort?:string,SourceSite?:string,Supplier?:string,SupplierPlural?:string,UnloadVerb?:string,TicketNoun?:string,DayNoun?:string,FleetLabel?:string,PageSubtitle?:string,SeasonChip?:string,CampaignNoun?:string,BayNoun?:string,AssignTarget?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
PackId;
/** @type {string} */
Lang;
/** @type {string} */
ModeName;
/** @type {string} */
Facility;
/** @type {string} */
FacilityShort;
/** @type {string} */
SourceSite;
/** @type {string} */
Supplier;
/** @type {string} */
SupplierPlural;
/** @type {string} */
UnloadVerb;
/** @type {string} */
TicketNoun;
/** @type {string} */
DayNoun;
/** @type {string} */
FleetLabel;
/** @type {string} */
PageSubtitle;
/** @type {string} */
SeasonChip;
/** @type {string} */
CampaignNoun;
/** @type {string} */
BayNoun;
/** @type {string} */
AssignTarget;
}
export class DispatchPackUnitView {
/** @param {{PackId?:string,Unit?:string,LoadQty?:number,VolumeLow?:number,VolumeHigh?:number,SeasonMultiple?:number,WeeklyFraction?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
PackId;
/** @type {string} */
Unit;
/** @type {number} */
LoadQty;
/** @type {number} */
VolumeLow;
/** @type {number} */
VolumeHigh;
/** @type {number} */
SeasonMultiple;
/** @type {number} */
WeeklyFraction;
}
export class DispatchBoardView {
/** @param {{Pack?:DispatchPackConfigView,Config?:DispatchHaulConfigView,OfflineWindows?:DispatchOfflineWindowView[],Suppliers?:DispatchSupplierView[],Trucks?:DispatchTruckView[],Slots?:DispatchSlotView[],Tickets?:DispatchTicketView[],Log?:DispatchLogView[],Autopilot?:DispatchAutopilotView,Exceptions?:DispatchExceptionView[],Feed?:DispatchFeedView[],Rigs?:DispatchRigView[],Jobs?:DispatchJobView[],OdDrivers?:DispatchOdDriverView[],OdRequests?:DispatchOdRequestView[],Packs?:DispatchPackView[],PackTerms?:DispatchPackTermView[],PackUnits?:DispatchPackUnitView[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {DispatchPackConfigView} */
Pack;
/** @type {DispatchHaulConfigView} */
Config;
/** @type {DispatchOfflineWindowView[]} */
OfflineWindows = [];
/** @type {DispatchSupplierView[]} */
Suppliers = [];
/** @type {DispatchTruckView[]} */
Trucks = [];
/** @type {DispatchSlotView[]} */
Slots = [];
/** @type {DispatchTicketView[]} */
Tickets = [];
/** @type {DispatchLogView[]} */
Log = [];
/** @type {DispatchAutopilotView} */
Autopilot;
/** @type {DispatchExceptionView[]} */
Exceptions = [];
/** @type {DispatchFeedView[]} */
Feed = [];
/** @type {DispatchRigView[]} */
Rigs = [];
/** @type {DispatchJobView[]} */
Jobs = [];
/** @type {DispatchOdDriverView[]} */
OdDrivers = [];
/** @type {DispatchOdRequestView[]} */
OdRequests = [];
/** @type {DispatchPackView[]} */
Packs = [];
/** @type {DispatchPackTermView[]} */
PackTerms = [];
/** @type {DispatchPackUnitView[]} */
PackUnits = [];
}
export class DispatchActionResponse {
/** @param {{Board?:DispatchBoardView,Message?:string,Sent?:number,Failed?:number,TicketCode?:string,TicketNet?:number,ResponseStatus?:ResponseStatus}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {DispatchBoardView} */
Board;
/** @type {string} */
Message;
/** @type {number} */
Sent;
/** @type {number} */
Failed;
/** @type {string} */
TicketCode;
/** @type {number} */
TicketNet;
/** @type {ResponseStatus} */
ResponseStatus;
}
export class DispatchOfflineAddRequest {
/** @param {{FromHour?:string,ToHour?:string,AtMin?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
FromHour;
/** @type {string} */
ToHour;
/** @type {number} */
AtMin;
}
JavaScript DispatchOfflineAddRequest 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/dispatch/haul/offline HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
FromHour: String,
ToHour: String,
AtMin: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
Board:
{
Pack:
{
PackId: String,
HasQuotas: False,
IsInverted: False,
LoadLimitMins: 0,
TicketSource: String,
PayBasis: String,
DayBoundary: String
},
Config:
{
QueueMax: 0,
DumpBays: 0,
SlotCap: 0,
Paused: False,
FeedRate: 0
},
OfflineWindows:
[
{
OfflineWindowId: 0,
FromHour: String,
ToHour: String
}
],
Suppliers:
[
{
SupplierId: 0,
Code: String,
Name: String,
Region: String,
OwnHauler: False,
SeasonAllotment: 0,
Delivered: 0,
WeekCap: 0,
WeekDelivered: 0,
SortOrder: 0,
Sites:
[
{
SiteId: 0,
SupplierId: 0,
SupplierCode: String,
Name: String,
Acres: 0,
StandingVolume: 0,
SortOrder: 0
}
]
}
],
Trucks:
[
{
TruckId: 0,
Code: String,
DriverName: String,
Phone: String,
EmployerCode: String,
SupplierCode: String,
SiteName: String,
EstLoad: 0,
Stage: String,
StageSince: 0,
CycleStart: 0,
StageMinsAgo: 0,
CycleMinsAgo: 0,
Slot: String,
LoadsToday: 0,
NetToday: 0,
LastPingMins: 0,
CycleMins: String,
IsInteractive: False,
NextSupplierCode: String,
NextSiteName: String
}
],
Slots:
[
{
SlotId: 0,
Hour: String,
BaseBooked: 0,
SortOrder: 0
}
],
Tickets:
[
{
TicketId: 0,
Code: String,
TruckCode: String,
SupplierCode: String,
NetQty: 0,
TicketedAt: 0001-01-01,
TicketedMin: 0,
Source: String,
MinsAgo: 0
}
],
Log:
[
{
LogId: 0,
LoggedAt: 0001-01-01,
LoggedMin: 0,
LogText: String,
Kind: String,
MinsAgo: 0
}
],
Autopilot:
{
IsOn: False,
RuleSlot: False,
RuleRoute: False,
RuleRelease: False,
RuleTract: False,
RuleThrottle: False,
RuleOffline: False,
ThStaged: 0,
ThWait: 0,
ThBand: 0,
ThStall: 0,
ThFeed: 0
},
Exceptions:
[
{
Code: String,
Kind: String,
Severity: String,
TruckCode: String,
SupplierCode: String,
RaisedAt: 0001-01-01,
RaisedLabel: String,
MinsAgo: 0
}
],
Feed:
[
{
FeedId: 0,
EntryAt: 0001-01-01,
EntryLabel: String,
Channel: String,
Kind: String,
TruckCode: String,
SupplierCode: String,
OverrideText: String,
MinsAgo: 0
}
],
Rigs:
[
{
RigId: 0,
Code: String,
Name: String,
DriverName: String,
Phone: String,
RigType: String,
IsFree: False,
MatchRank: 0
}
],
Jobs:
[
{
JobId: 0,
Code: String,
Cargo: String,
Customer: String,
CustomerPhone: String,
HoldContact: String,
HoldPhone: String,
FromLoc: String,
ToLoc: String,
Miles: 0,
WindowText: String,
Stage: String,
Rate: 0,
RequiredRig: String,
DriverLabel: String,
EtaText: String,
OfferRigIds: String,
OfferExpiresMin: 0,
OfferExpired: False,
Declined: False
}
],
OdDrivers:
[
{
DriverId: 0,
Code: String,
Name: String,
Zone: String,
Phone: String,
Status: String,
Tier: String,
DistanceMi: 0,
Capabilities: String
}
],
OdRequests:
[
{
RequestId: 0,
Code: String,
Address: String,
Zone: String,
Bags: 0,
Stage: String,
DriverCode: String,
Needs: String,
Note: String,
PingExpiresMin: 0,
TriedCodes: String,
CandidateCodes: String,
EtaText: String,
NoDriver: String
}
],
Packs:
[
{
PackId: String,
HasQuotas: False,
IsInverted: False,
LoadLimitMins: 0,
DayBoundary: String,
TicketSource: String,
PayBasis: String,
SortOrder: 0
}
],
PackTerms:
[
{
PackId: String,
Lang: String,
ModeName: String,
Facility: String,
FacilityShort: String,
SourceSite: String,
Supplier: String,
SupplierPlural: String,
UnloadVerb: String,
TicketNoun: String,
DayNoun: String,
FleetLabel: String,
PageSubtitle: String,
SeasonChip: String,
CampaignNoun: String,
BayNoun: String,
AssignTarget: String
}
],
PackUnits:
[
{
PackId: String,
Unit: String,
LoadQty: 0,
VolumeLow: 0,
VolumeHigh: 0,
SeasonMultiple: 0,
WeeklyFraction: 0
}
]
},
Message: String,
Sent: 0,
Failed: 0,
TicketCode: String,
TicketNet: 0,
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
}
}