Trendsic Platform Service

<back to all web services

DispatchMessageRequest

Requires Authentication
The following routes are available for this service:
POST,OPTIONS/v1/dispatch/message

export class DispatchPackConfigView
{
    public PackId: string;
    public HasQuotas: boolean;
    public IsInverted: boolean;
    public LoadLimitMins: number;
    public TicketSource: string;
    public PayBasis: string;
    public DayBoundary: string;

    public constructor(init?: Partial<DispatchPackConfigView>) { (Object as any).assign(this, init); }
}

export class DispatchHaulConfigView
{
    public QueueMax: number;
    public DumpBays: number;
    public SlotCap: number;
    public Paused: boolean;
    public FeedRate: number;

    public constructor(init?: Partial<DispatchHaulConfigView>) { (Object as any).assign(this, init); }
}

export class DispatchOfflineWindowView
{
    public OfflineWindowId: number;
    public FromHour: string;
    public ToHour: string;

    public constructor(init?: Partial<DispatchOfflineWindowView>) { (Object as any).assign(this, init); }
}

export class DispatchSiteView
{
    public SiteId: number;
    public SupplierId: number;
    public SupplierCode: string;
    public Name: string;
    public Acres: number;
    public StandingVolume: number;
    public SortOrder: number;

    public constructor(init?: Partial<DispatchSiteView>) { (Object as any).assign(this, init); }
}

export class DispatchSupplierView
{
    public SupplierId: number;
    public Code: string;
    public Name: string;
    public Region: string;
    public OwnHauler: boolean;
    public SeasonAllotment: number;
    public Delivered: number;
    public WeekCap: number;
    public WeekDelivered: number;
    public SortOrder: number;
    public Sites: DispatchSiteView[] = [];

    public constructor(init?: Partial<DispatchSupplierView>) { (Object as any).assign(this, init); }
}

export class DispatchTruckView
{
    public TruckId: number;
    public Code: string;
    public DriverName: string;
    public Phone: string;
    public EmployerCode: string;
    public SupplierCode: string;
    public SiteName: string;
    public EstLoad: number;
    public Stage: string;
    public StageSince: number;
    public CycleStart?: number;
    public StageMinsAgo: number;
    public CycleMinsAgo?: number;
    public Slot: string;
    public LoadsToday: number;
    public NetToday: number;
    public LastPingMins: number;
    public CycleMins: string;
    public IsInteractive: boolean;
    public NextSupplierCode: string;
    public NextSiteName: string;

    public constructor(init?: Partial<DispatchTruckView>) { (Object as any).assign(this, init); }
}

export class DispatchSlotView
{
    public SlotId: number;
    public Hour: string;
    public BaseBooked: number;
    public SortOrder: number;

    public constructor(init?: Partial<DispatchSlotView>) { (Object as any).assign(this, init); }
}

export class DispatchTicketView
{
    public TicketId: number;
    public Code: string;
    public TruckCode: string;
    public SupplierCode: string;
    public NetQty: number;
    public TicketedAt: string;
    public TicketedMin: number;
    public Source: string;
    public MinsAgo: number;

    public constructor(init?: Partial<DispatchTicketView>) { (Object as any).assign(this, init); }
}

export class DispatchLogView
{
    public LogId: number;
    public LoggedAt: string;
    public LoggedMin: number;
    public LogText: string;
    public Kind: string;
    public MinsAgo: number;

    public constructor(init?: Partial<DispatchLogView>) { (Object as any).assign(this, init); }
}

export class DispatchAutopilotView
{
    public IsOn: boolean;
    public RuleSlot: boolean;
    public RuleRoute: boolean;
    public RuleRelease: boolean;
    public RuleTract: boolean;
    public RuleThrottle: boolean;
    public RuleOffline: boolean;
    public ThStaged: number;
    public ThWait: number;
    public ThBand: number;
    public ThStall: number;
    public ThFeed: number;

    public constructor(init?: Partial<DispatchAutopilotView>) { (Object as any).assign(this, init); }
}

export class DispatchExceptionView
{
    public Code: string;
    public Kind: string;
    public Severity: string;
    public TruckCode: string;
    public SupplierCode: string;
    public RaisedAt: string;
    public RaisedLabel: string;
    public MinsAgo: number;

    public constructor(init?: Partial<DispatchExceptionView>) { (Object as any).assign(this, init); }
}

export class DispatchFeedView
{
    public FeedId: number;
    public EntryAt: string;
    public EntryLabel: string;
    public Channel: string;
    public Kind: string;
    public TruckCode: string;
    public SupplierCode: string;
    public OverrideText: string;
    public MinsAgo: number;

    public constructor(init?: Partial<DispatchFeedView>) { (Object as any).assign(this, init); }
}

export class DispatchRigView
{
    public RigId: number;
    public Code: string;
    public Name: string;
    public DriverName: string;
    public Phone: string;
    public RigType: string;
    public IsFree: boolean;
    public MatchRank: number;

    public constructor(init?: Partial<DispatchRigView>) { (Object as any).assign(this, init); }
}

export class DispatchJobView
{
    public JobId: number;
    public Code: string;
    public Cargo: string;
    public Customer: string;
    public CustomerPhone: string;
    public HoldContact: string;
    public HoldPhone: string;
    public FromLoc: string;
    public ToLoc: string;
    public Miles: number;
    public WindowText: string;
    public Stage: string;
    public Rate?: number;
    public RequiredRig: string;
    public DriverLabel: string;
    public EtaText: string;
    public OfferRigIds: string;
    public OfferExpiresMin?: number;
    public OfferExpired: boolean;
    public Declined: boolean;

    public constructor(init?: Partial<DispatchJobView>) { (Object as any).assign(this, init); }
}

export class DispatchOdDriverView
{
    public DriverId: number;
    public Code: string;
    public Name: string;
    public Zone: string;
    public Phone: string;
    public Status: string;
    public Tier: string;
    public DistanceMi: number;
    public Capabilities: string;

    public constructor(init?: Partial<DispatchOdDriverView>) { (Object as any).assign(this, init); }
}

export class DispatchOdRequestView
{
    public RequestId: number;
    public Code: string;
    public Address: string;
    public Zone: string;
    public Bags: number;
    public Stage: string;
    public DriverCode: string;
    public Needs: string;
    public Note: string;
    public PingExpiresMin?: number;
    public TriedCodes: string;
    public CandidateCodes: string;
    public EtaText: string;
    public NoDriver: string;

    public constructor(init?: Partial<DispatchOdRequestView>) { (Object as any).assign(this, init); }
}

export class DispatchPackView
{
    public PackId: string;
    public HasQuotas: boolean;
    public IsInverted: boolean;
    public LoadLimitMins: number;
    public DayBoundary: string;
    public TicketSource: string;
    public PayBasis: string;
    public SortOrder: number;

    public constructor(init?: Partial<DispatchPackView>) { (Object as any).assign(this, init); }
}

export class DispatchPackTermView
{
    public PackId: string;
    public Lang: string;
    public ModeName: string;
    public Facility: string;
    public FacilityShort: string;
    public SourceSite: string;
    public Supplier: string;
    public SupplierPlural: string;
    public UnloadVerb: string;
    public TicketNoun: string;
    public DayNoun: string;
    public FleetLabel: string;
    public PageSubtitle: string;
    public SeasonChip: string;
    public CampaignNoun: string;
    public BayNoun: string;
    public AssignTarget: string;

    public constructor(init?: Partial<DispatchPackTermView>) { (Object as any).assign(this, init); }
}

export class DispatchPackUnitView
{
    public PackId: string;
    public Unit: string;
    public LoadQty: number;
    public VolumeLow: number;
    public VolumeHigh: number;
    public SeasonMultiple: number;
    public WeeklyFraction: number;

    public constructor(init?: Partial<DispatchPackUnitView>) { (Object as any).assign(this, init); }
}

export class DispatchBoardView
{
    public Pack: DispatchPackConfigView;
    public Config: DispatchHaulConfigView;
    public OfflineWindows: DispatchOfflineWindowView[] = [];
    public Suppliers: DispatchSupplierView[] = [];
    public Trucks: DispatchTruckView[] = [];
    public Slots: DispatchSlotView[] = [];
    public Tickets: DispatchTicketView[] = [];
    public Log: DispatchLogView[] = [];
    public Autopilot: DispatchAutopilotView;
    public Exceptions: DispatchExceptionView[] = [];
    public Feed: DispatchFeedView[] = [];
    public Rigs: DispatchRigView[] = [];
    public Jobs: DispatchJobView[] = [];
    public OdDrivers: DispatchOdDriverView[] = [];
    public OdRequests: DispatchOdRequestView[] = [];
    public Packs: DispatchPackView[] = [];
    public PackTerms: DispatchPackTermView[] = [];
    public PackUnits: DispatchPackUnitView[] = [];

    public constructor(init?: Partial<DispatchBoardView>) { (Object as any).assign(this, init); }
}

export class DispatchActionResponse
{
    public Board: DispatchBoardView;
    public Message: string;
    public Sent: number;
    public Failed: number;
    public TicketCode: string;
    public TicketNet: number;
    public ResponseStatus: ResponseStatus;

    public constructor(init?: Partial<DispatchActionResponse>) { (Object as any).assign(this, init); }
}

export class DispatchMessageRequest
{
    public TruckCodes: string;
    public Phones: string;
    public Body: string;
    public Channel: string;
    public Label: string;
    public AtMin: number;

    public constructor(init?: Partial<DispatchMessageRequest>) { (Object as any).assign(this, init); }
}

TypeScript DispatchMessageRequest DTOs

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

HTTP + CSV

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

POST /v1/dispatch/message HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"TruckCodes":"String","Phones":"String","Body":"String","Channel":"String","Label":"String","AtMin":0}
HTTP/1.1 200 OK
Content-Type: text/csv
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-01T00:00:00.0000000","TicketedMin":0,"Source":"String","MinsAgo":0}],"Log":[{"LogId":0,"LoggedAt":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","RaisedLabel":"String","MinsAgo":0}],"Feed":[{"FeedId":0,"EntryAt":"0001-01-01T00:00:00.0000000","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"}}}