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
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*


open class DispatchJobOfferRequest
{
    open var Code:String? = null
    open var RigCodes:String? = null
    open var ExpiresMin:Int? = null
    open var Clear:Boolean? = null
    open var AtMin:Int? = null
    open var Note:String? = null
}

open class DispatchActionResponse
{
    open var Board:DispatchBoardView? = null
    open var Message:String? = null
    open var Sent:Int? = null
    open var Failed:Int? = null
    open var TicketCode:String? = null
    open var TicketNet:BigDecimal? = null
    open var ResponseStatus:ResponseStatus? = null
}

open class DispatchBoardView
{
    open var Pack:DispatchPackConfigView? = null
    open var Config:DispatchHaulConfigView? = null
    open var OfflineWindows:ArrayList<DispatchOfflineWindowView> = ArrayList<DispatchOfflineWindowView>()
    open var Suppliers:ArrayList<DispatchSupplierView> = ArrayList<DispatchSupplierView>()
    open var Trucks:ArrayList<DispatchTruckView> = ArrayList<DispatchTruckView>()
    open var Slots:ArrayList<DispatchSlotView> = ArrayList<DispatchSlotView>()
    open var Tickets:ArrayList<DispatchTicketView> = ArrayList<DispatchTicketView>()
    open var Log:ArrayList<DispatchLogView> = ArrayList<DispatchLogView>()
    open var Autopilot:DispatchAutopilotView? = null
    open var Exceptions:ArrayList<DispatchExceptionView> = ArrayList<DispatchExceptionView>()
    open var Feed:ArrayList<DispatchFeedView> = ArrayList<DispatchFeedView>()
    open var Rigs:ArrayList<DispatchRigView> = ArrayList<DispatchRigView>()
    open var Jobs:ArrayList<DispatchJobView> = ArrayList<DispatchJobView>()
    open var OdDrivers:ArrayList<DispatchOdDriverView> = ArrayList<DispatchOdDriverView>()
    open var OdRequests:ArrayList<DispatchOdRequestView> = ArrayList<DispatchOdRequestView>()
    open var Packs:ArrayList<DispatchPackView> = ArrayList<DispatchPackView>()
    open var PackTerms:ArrayList<DispatchPackTermView> = ArrayList<DispatchPackTermView>()
    open var PackUnits:ArrayList<DispatchPackUnitView> = ArrayList<DispatchPackUnitView>()
}

open class DispatchPackConfigView
{
    open var PackId:String? = null
    open var HasQuotas:Boolean? = null
    open var IsInverted:Boolean? = null
    open var LoadLimitMins:Int? = null
    open var TicketSource:String? = null
    open var PayBasis:String? = null
    open var DayBoundary:String? = null
}

open class DispatchHaulConfigView
{
    open var QueueMax:Int? = null
    open var DumpBays:Int? = null
    open var SlotCap:Int? = null
    open var Paused:Boolean? = null
    open var FeedRate:Int? = null
}

open class DispatchOfflineWindowView
{
    open var OfflineWindowId:Int? = null
    open var FromHour:String? = null
    open var ToHour:String? = null
}

open class DispatchSupplierView
{
    open var SupplierId:Int? = null
    open var Code:String? = null
    open var Name:String? = null
    open var Region:String? = null
    open var OwnHauler:Boolean? = null
    open var SeasonAllotment:BigDecimal? = null
    open var Delivered:BigDecimal? = null
    open var WeekCap:BigDecimal? = null
    open var WeekDelivered:BigDecimal? = null
    open var SortOrder:Int? = null
    open var Sites:ArrayList<DispatchSiteView> = ArrayList<DispatchSiteView>()
}

open class DispatchSiteView
{
    open var SiteId:Int? = null
    open var SupplierId:Int? = null
    open var SupplierCode:String? = null
    open var Name:String? = null
    open var Acres:Int? = null
    open var StandingVolume:BigDecimal? = null
    open var SortOrder:Int? = null
}

open class DispatchTruckView
{
    open var TruckId:Int? = null
    open var Code:String? = null
    open var DriverName:String? = null
    open var Phone:String? = null
    open var EmployerCode:String? = null
    open var SupplierCode:String? = null
    open var SiteName:String? = null
    open var EstLoad:BigDecimal? = null
    open var Stage:String? = null
    open var StageSince:Int? = null
    open var CycleStart:Int? = null
    open var StageMinsAgo:Int? = null
    open var CycleMinsAgo:Int? = null
    open var Slot:String? = null
    open var LoadsToday:Int? = null
    open var NetToday:BigDecimal? = null
    open var LastPingMins:Int? = null
    open var CycleMins:String? = null
    open var IsInteractive:Boolean? = null
    open var NextSupplierCode:String? = null
    open var NextSiteName:String? = null
}

open class DispatchSlotView
{
    open var SlotId:Int? = null
    open var Hour:String? = null
    open var BaseBooked:Int? = null
    open var SortOrder:Int? = null
}

open class DispatchTicketView
{
    open var TicketId:Int? = null
    open var Code:String? = null
    open var TruckCode:String? = null
    open var SupplierCode:String? = null
    open var NetQty:BigDecimal? = null
    open var TicketedAt:Date? = null
    open var TicketedMin:Int? = null
    open var Source:String? = null
    open var MinsAgo:Int? = null
}

open class DispatchLogView
{
    open var LogId:Int? = null
    open var LoggedAt:Date? = null
    open var LoggedMin:Int? = null
    open var LogText:String? = null
    open var Kind:String? = null
    open var MinsAgo:Int? = null
}

open class DispatchAutopilotView
{
    open var IsOn:Boolean? = null
    open var RuleSlot:Boolean? = null
    open var RuleRoute:Boolean? = null
    open var RuleRelease:Boolean? = null
    open var RuleTract:Boolean? = null
    open var RuleThrottle:Boolean? = null
    open var RuleOffline:Boolean? = null
    open var ThStaged:Int? = null
    open var ThWait:Int? = null
    open var ThBand:Int? = null
    open var ThStall:Int? = null
    open var ThFeed:Int? = null
}

open class DispatchExceptionView
{
    open var Code:String? = null
    open var Kind:String? = null
    open var Severity:String? = null
    open var TruckCode:String? = null
    open var SupplierCode:String? = null
    open var RaisedAt:Date? = null
    open var RaisedLabel:String? = null
    open var MinsAgo:Int? = null
}

open class DispatchFeedView
{
    open var FeedId:Int? = null
    open var EntryAt:Date? = null
    open var EntryLabel:String? = null
    open var Channel:String? = null
    open var Kind:String? = null
    open var TruckCode:String? = null
    open var SupplierCode:String? = null
    open var OverrideText:String? = null
    open var MinsAgo:Int? = null
}

open class DispatchRigView
{
    open var RigId:Int? = null
    open var Code:String? = null
    open var Name:String? = null
    open var DriverName:String? = null
    open var Phone:String? = null
    open var RigType:String? = null
    open var IsFree:Boolean? = null
    open var MatchRank:Int? = null
}

open class DispatchJobView
{
    open var JobId:Int? = null
    open var Code:String? = null
    open var Cargo:String? = null
    open var Customer:String? = null
    open var CustomerPhone:String? = null
    open var HoldContact:String? = null
    open var HoldPhone:String? = null
    open var FromLoc:String? = null
    open var ToLoc:String? = null
    open var Miles:Int? = null
    open var WindowText:String? = null
    open var Stage:String? = null
    open var Rate:BigDecimal? = null
    open var RequiredRig:String? = null
    open var DriverLabel:String? = null
    open var EtaText:String? = null
    open var OfferRigIds:String? = null
    open var OfferExpiresMin:Int? = null
    open var OfferExpired:Boolean? = null
    open var Declined:Boolean? = null
}

open class DispatchOdDriverView
{
    open var DriverId:Int? = null
    open var Code:String? = null
    open var Name:String? = null
    open var Zone:String? = null
    open var Phone:String? = null
    open var Status:String? = null
    open var Tier:String? = null
    open var DistanceMi:BigDecimal? = null
    open var Capabilities:String? = null
}

open class DispatchOdRequestView
{
    open var RequestId:Int? = null
    open var Code:String? = null
    open var Address:String? = null
    open var Zone:String? = null
    open var Bags:Int? = null
    open var Stage:String? = null
    open var DriverCode:String? = null
    open var Needs:String? = null
    open var Note:String? = null
    open var PingExpiresMin:Int? = null
    open var TriedCodes:String? = null
    open var CandidateCodes:String? = null
    open var EtaText:String? = null
    open var NoDriver:String? = null
}

open class DispatchPackView
{
    open var PackId:String? = null
    open var HasQuotas:Boolean? = null
    open var IsInverted:Boolean? = null
    open var LoadLimitMins:Int? = null
    open var DayBoundary:String? = null
    open var TicketSource:String? = null
    open var PayBasis:String? = null
    open var SortOrder:Int? = null
}

open class DispatchPackTermView
{
    open var PackId:String? = null
    open var Lang:String? = null
    open var ModeName:String? = null
    open var Facility:String? = null
    open var FacilityShort:String? = null
    open var SourceSite:String? = null
    open var Supplier:String? = null
    open var SupplierPlural:String? = null
    open var UnloadVerb:String? = null
    open var TicketNoun:String? = null
    open var DayNoun:String? = null
    open var FleetLabel:String? = null
    open var PageSubtitle:String? = null
    open var SeasonChip:String? = null
    open var CampaignNoun:String? = null
    open var BayNoun:String? = null
    open var AssignTarget:String? = null
}

open class DispatchPackUnitView
{
    open var PackId:String? = null
    open var Unit:String? = null
    open var LoadQty:BigDecimal? = null
    open var VolumeLow:Int? = null
    open var VolumeHigh:Int? = null
    open var SeasonMultiple:BigDecimal? = null
    open var WeeklyFraction:BigDecimal? = null
}

Kotlin 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
		}
	}
}