Trendsic Platform Service

<back to all web services

CourierDeliverRequest

Requires Authentication
The following routes are available for this service:
POST,OPTIONS/v1/worker/dispatch/od/{Code}/deliver

export class CourierVanView
{
    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 VehicleUnit: string;
    public CriticalCode: string;
    public DriveMin: number;
    public FacilityName: string;
    public SendNote: string;

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

export class CourierItemView
{
    public CourierItemID: number;
    public DispatchOdRequestID: number;
    public Seq: number;
    public TagCode: string;
    public Custody: string;
    public IsOpen: boolean;
    public IsMissing: boolean;
    public MissingReason: string;
    public IsManual: boolean;
    public ReTagFlag: boolean;
    public Scanned: boolean;

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

export class CourierDriverOrder
{
    public Code: string;
    public CourierStep: string;
    public RouteShape: string;
    public ProfileName: string;
    public UnitOne: string;
    public UnitMany: string;
    public FacilityNoun: string;
    public FacilityName: string;
    public LevelName: string;
    public DueUtc?: string;
    public DueText: string;
    public Units: number;
    public UnitsFound?: number;
    public Area: string;
    public Minutes?: number;
    public Address: string;
    public Unit: string;
    public City: string;
    public Lat?: number;
    public Lng?: number;
    public CustomerName: string;
    public CustomerPhone: string;
    public Handoff: string;
    public GateCode: string;
    public Instructions: string;
    public DropoffAddress: string;
    public DropoffContactName: string;
    public DropLat?: number;
    public DropLng?: number;
    public ArrivedUtc?: string;
    public Tags: CourierItemView[] = [];
    public Proof: { [index:string]: string; } = {};
    public Photos: { [index:string]: number; } = {};
    public Needs: string[] = [];
    public MissedWaitMin: number;
    public MissedRequireContact: boolean;
    public MissedRequirePhoto: boolean;
    public MissedFee: number;

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

export class CourierStopView
{
    public Sequence: number;
    public Status: string;
    public DispatchOdRequestID: number;
    public Code: string;
    public CourierStep: string;
    public Address: string;
    public Unit: string;
    public City: string;
    public Zip: string;
    public Lat?: number;
    public Lng?: number;
    public CustomerName: string;
    public CustomerPhone: string;
    public Handoff: string;
    public GateCode: string;
    public Instructions: string;
    public Units: number;
    public DueText: string;
    public Note: string;
    public Needs: string[] = [];
    public Items: CourierItemView[] = [];

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

export class CourierRunView
{
    public CourierRunID: number;
    public Code: string;
    public Status: string;
    public CourierProfileId: number;
    public ProfileName: string;
    public CourierFacilityId: number;
    public FacilityName: string;
    public FacilityAddress: string;
    public DriverContactId?: number;
    public DriverName: string;
    public EquipmentID?: number;
    public VehicleUnit: string;
    public UnitOne: string;
    public UnitMany: string;
    public Units: number;
    public StopCount: number;
    public StopsDone: number;
    public Pay?: number;
    public BuiltUtc?: string;
    public StartedUtc?: string;
    public CompletedUtc?: string;
    public ToLoad: number;
    public ToReturn: number;
    public Stops: CourierStopView[] = [];

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

export class CourierDriverView
{
    public DriverCode: string;
    public Name: string;
    public Online: boolean;
    public OnRoster: boolean;
    public Van: CourierVanView;
    public Current: CourierDriverOrder;
    public Queue: CourierDriverOrder[] = [];
    public Aboard: CourierDriverOrder[] = [];
    public Runs: CourierRunView[] = [];
    public UpNext: CourierDriverOrder;

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

export class CourierDriverResponse
{
    public Courier: CourierDriverView;
    public Result: string;
    public Detail: string;
    public Message: string;
    public ResponseStatus: ResponseStatus;

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

export class CourierDeliveryProof
{
    public HandToName: string;
    public Signature: string;
    public CodeOk: boolean;
    public IdOk: boolean;
    public TempF?: number;
    public Seal: string;
    public Collected?: number;

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

export class CourierDeliverRequest
{
    public Code: string;
    public Proof: CourierDeliveryProof;

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

TypeScript CourierDeliverRequest 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/worker/dispatch/od/{Code}/deliver HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"Code":"String","Proof":{"HandToName":"String","Signature":"String","CodeOk":false,"IdOk":false,"TempF":0,"Seal":"String","Collected":0}}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"Courier":{"DriverCode":"String","Name":"String","Online":false,"OnRoster":false,"Van":{"State":"String","LeaveByUtc":"0001-01-01T00:00:00.0000000","LeaveByText":"String","SlackMin":0,"InVan":0,"Committed":0,"Cap":0,"CapUnit":"String","VehicleUnit":"String","CriticalCode":"String","DriveMin":0,"FacilityName":"String","SendNote":"String"},"Current":{"Code":"String","CourierStep":"String","RouteShape":"String","ProfileName":"String","UnitOne":"String","UnitMany":"String","FacilityNoun":"String","FacilityName":"String","LevelName":"String","DueUtc":"0001-01-01T00:00:00.0000000","DueText":"String","Units":0,"UnitsFound":0,"Area":"String","Minutes":0,"Address":"String","Unit":"String","City":"String","Lat":0,"Lng":0,"CustomerName":"String","CustomerPhone":"String","Handoff":"String","GateCode":"String","Instructions":"String","DropoffAddress":"String","DropoffContactName":"String","DropLat":0,"DropLng":0,"ArrivedUtc":"0001-01-01T00:00:00.0000000","Tags":[{"CourierItemID":0,"DispatchOdRequestID":0,"Seq":0,"TagCode":"String","Custody":"String","IsOpen":false,"IsMissing":false,"MissingReason":"String","IsManual":false,"ReTagFlag":false,"Scanned":false}],"Proof":{"String":"String"},"Photos":{"String":0},"Needs":["String"],"MissedWaitMin":0,"MissedRequireContact":false,"MissedRequirePhoto":false,"MissedFee":0},"Queue":[{"Code":"String","CourierStep":"String","RouteShape":"String","ProfileName":"String","UnitOne":"String","UnitMany":"String","FacilityNoun":"String","FacilityName":"String","LevelName":"String","DueUtc":"0001-01-01T00:00:00.0000000","DueText":"String","Units":0,"UnitsFound":0,"Area":"String","Minutes":0,"Address":"String","Unit":"String","City":"String","Lat":0,"Lng":0,"CustomerName":"String","CustomerPhone":"String","Handoff":"String","GateCode":"String","Instructions":"String","DropoffAddress":"String","DropoffContactName":"String","DropLat":0,"DropLng":0,"ArrivedUtc":"0001-01-01T00:00:00.0000000","Tags":[{"CourierItemID":0,"DispatchOdRequestID":0,"Seq":0,"TagCode":"String","Custody":"String","IsOpen":false,"IsMissing":false,"MissingReason":"String","IsManual":false,"ReTagFlag":false,"Scanned":false}],"Proof":{"String":"String"},"Photos":{"String":0},"Needs":["String"],"MissedWaitMin":0,"MissedRequireContact":false,"MissedRequirePhoto":false,"MissedFee":0}],"Aboard":[{"Code":"String","CourierStep":"String","RouteShape":"String","ProfileName":"String","UnitOne":"String","UnitMany":"String","FacilityNoun":"String","FacilityName":"String","LevelName":"String","DueUtc":"0001-01-01T00:00:00.0000000","DueText":"String","Units":0,"UnitsFound":0,"Area":"String","Minutes":0,"Address":"String","Unit":"String","City":"String","Lat":0,"Lng":0,"CustomerName":"String","CustomerPhone":"String","Handoff":"String","GateCode":"String","Instructions":"String","DropoffAddress":"String","DropoffContactName":"String","DropLat":0,"DropLng":0,"ArrivedUtc":"0001-01-01T00:00:00.0000000","Tags":[{"CourierItemID":0,"DispatchOdRequestID":0,"Seq":0,"TagCode":"String","Custody":"String","IsOpen":false,"IsMissing":false,"MissingReason":"String","IsManual":false,"ReTagFlag":false,"Scanned":false}],"Proof":{"String":"String"},"Photos":{"String":0},"Needs":["String"],"MissedWaitMin":0,"MissedRequireContact":false,"MissedRequirePhoto":false,"MissedFee":0}],"Runs":[{"CourierRunID":0,"Code":"String","Status":"String","CourierProfileId":0,"ProfileName":"String","CourierFacilityId":0,"FacilityName":"String","FacilityAddress":"String","DriverContactId":0,"DriverName":"String","EquipmentID":0,"VehicleUnit":"String","UnitOne":"String","UnitMany":"String","Units":0,"StopCount":0,"StopsDone":0,"Pay":0,"BuiltUtc":"0001-01-01T00:00:00.0000000","StartedUtc":"0001-01-01T00:00:00.0000000","CompletedUtc":"0001-01-01T00:00:00.0000000","ToLoad":0,"ToReturn":0,"Stops":[{"Sequence":0,"Status":"String","DispatchOdRequestID":0,"Code":"String","CourierStep":"String","Address":"String","Unit":"String","City":"String","Zip":"String","Lat":0,"Lng":0,"CustomerName":"String","CustomerPhone":"String","Handoff":"String","GateCode":"String","Instructions":"String","Units":0,"DueText":"String","Note":"String","Needs":["String"],"Items":[{"CourierItemID":0,"DispatchOdRequestID":0,"Seq":0,"TagCode":"String","Custody":"String","IsOpen":false,"IsMissing":false,"MissingReason":"String","IsManual":false,"ReTagFlag":false,"Scanned":false}]}]}],"UpNext":{"Code":"String","CourierStep":"String","RouteShape":"String","ProfileName":"String","UnitOne":"String","UnitMany":"String","FacilityNoun":"String","FacilityName":"String","LevelName":"String","DueUtc":"0001-01-01T00:00:00.0000000","DueText":"String","Units":0,"UnitsFound":0,"Area":"String","Minutes":0,"Address":"String","Unit":"String","City":"String","Lat":0,"Lng":0,"CustomerName":"String","CustomerPhone":"String","Handoff":"String","GateCode":"String","Instructions":"String","DropoffAddress":"String","DropoffContactName":"String","DropLat":0,"DropLng":0,"ArrivedUtc":"0001-01-01T00:00:00.0000000","Tags":[{"CourierItemID":0,"DispatchOdRequestID":0,"Seq":0,"TagCode":"String","Custody":"String","IsOpen":false,"IsMissing":false,"MissingReason":"String","IsManual":false,"ReTagFlag":false,"Scanned":false}],"Proof":{"String":"String"},"Photos":{"String":0},"Needs":["String"],"MissedWaitMin":0,"MissedRequireContact":false,"MissedRequirePhoto":false,"MissedFee":0}},"Result":"String","Detail":"String","Message":"String","ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}