Trendsic Platform Service

<back to all web services

DispatchJobOfferRequest

Requires Authentication
The following routes are available for this service:
POST,OPTIONS/v1/dispatch/jobs/{Code}/offer
"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 DispatchJobOfferRequest {
    /** @param {{Code?:string,RigCodes?:string,ExpiresMin?:number,Clear?:boolean,AtMin?:number,Note?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    Code;
    /** @type {string} */
    RigCodes;
    /** @type {?number} */
    ExpiresMin;
    /** @type {boolean} */
    Clear;
    /** @type {number} */
    AtMin;
    /** @type {string} */
    Note;
}

JavaScript DispatchJobOfferRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /v1/dispatch/jobs/{Code}/offer HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	Code: String,
	RigCodes: String,
	ExpiresMin: 0,
	Clear: False,
	AtMin: 0,
	Note: String
}
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
		}
	}
}