Trendsic Platform Service

<back to all web services

CourierPickupRequest

Requires Authentication
The following routes are available for this service:
POST,OPTIONS/v1/worker/dispatch/od/{Code}/pickup
import 'package:servicestack/servicestack.dart';

class CourierVanView implements IConvertible
{
    String? State;
    DateTime? LeaveByUtc;
    String? LeaveByText;
    int? SlackMin;
    int? InVan;
    int? Committed;
    double? Cap;
    String? CapUnit;
    String? VehicleUnit;
    String? CriticalCode;
    int? DriveMin;
    String? FacilityName;
    String? SendNote;

    CourierVanView({this.State,this.LeaveByUtc,this.LeaveByText,this.SlackMin,this.InVan,this.Committed,this.Cap,this.CapUnit,this.VehicleUnit,this.CriticalCode,this.DriveMin,this.FacilityName,this.SendNote});
    CourierVanView.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        State = json['State'];
        LeaveByUtc = JsonConverters.fromJson(json['LeaveByUtc'],'DateTime',context!);
        LeaveByText = json['LeaveByText'];
        SlackMin = json['SlackMin'];
        InVan = json['InVan'];
        Committed = json['Committed'];
        Cap = JsonConverters.toDouble(json['Cap']);
        CapUnit = json['CapUnit'];
        VehicleUnit = json['VehicleUnit'];
        CriticalCode = json['CriticalCode'];
        DriveMin = json['DriveMin'];
        FacilityName = json['FacilityName'];
        SendNote = json['SendNote'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'State': State,
        'LeaveByUtc': JsonConverters.toJson(LeaveByUtc,'DateTime',context!),
        'LeaveByText': LeaveByText,
        'SlackMin': SlackMin,
        'InVan': InVan,
        'Committed': Committed,
        'Cap': Cap,
        'CapUnit': CapUnit,
        'VehicleUnit': VehicleUnit,
        'CriticalCode': CriticalCode,
        'DriveMin': DriveMin,
        'FacilityName': FacilityName,
        'SendNote': SendNote
    };

    getTypeName() => "CourierVanView";
    TypeContext? context = _ctx;
}

class CourierItemView implements IConvertible
{
    int? CourierItemID;
    int? DispatchOdRequestID;
    int? Seq;
    String? TagCode;
    String? Custody;
    bool? IsOpen;
    bool? IsMissing;
    String? MissingReason;
    bool? IsManual;
    bool? ReTagFlag;
    bool? Scanned;

    CourierItemView({this.CourierItemID,this.DispatchOdRequestID,this.Seq,this.TagCode,this.Custody,this.IsOpen,this.IsMissing,this.MissingReason,this.IsManual,this.ReTagFlag,this.Scanned});
    CourierItemView.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        CourierItemID = json['CourierItemID'];
        DispatchOdRequestID = json['DispatchOdRequestID'];
        Seq = json['Seq'];
        TagCode = json['TagCode'];
        Custody = json['Custody'];
        IsOpen = json['IsOpen'];
        IsMissing = json['IsMissing'];
        MissingReason = json['MissingReason'];
        IsManual = json['IsManual'];
        ReTagFlag = json['ReTagFlag'];
        Scanned = json['Scanned'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'CourierItemID': CourierItemID,
        'DispatchOdRequestID': DispatchOdRequestID,
        'Seq': Seq,
        'TagCode': TagCode,
        'Custody': Custody,
        'IsOpen': IsOpen,
        'IsMissing': IsMissing,
        'MissingReason': MissingReason,
        'IsManual': IsManual,
        'ReTagFlag': ReTagFlag,
        'Scanned': Scanned
    };

    getTypeName() => "CourierItemView";
    TypeContext? context = _ctx;
}

class CourierDriverOrder implements IConvertible
{
    String? Code;
    String? CourierStep;
    String? RouteShape;
    String? ProfileName;
    String? UnitOne;
    String? UnitMany;
    String? FacilityNoun;
    String? FacilityName;
    String? LevelName;
    DateTime? DueUtc;
    String? DueText;
    int? Units;
    int? UnitsFound;
    String? Area;
    int? Minutes;
    String? Address;
    String? Unit;
    String? City;
    double? Lat;
    double? Lng;
    String? CustomerName;
    String? CustomerPhone;
    String? Handoff;
    String? GateCode;
    String? Instructions;
    String? DropoffAddress;
    String? DropoffContactName;
    double? DropLat;
    double? DropLng;
    DateTime? ArrivedUtc;
    List<CourierItemView>? Tags = [];
    Map<String,String?>? Proof = {};
    Map<String,int?>? Photos = {};
    List<String>? Needs = [];
    int? MissedWaitMin;
    bool? MissedRequireContact;
    bool? MissedRequirePhoto;
    double? MissedFee;

    CourierDriverOrder({this.Code,this.CourierStep,this.RouteShape,this.ProfileName,this.UnitOne,this.UnitMany,this.FacilityNoun,this.FacilityName,this.LevelName,this.DueUtc,this.DueText,this.Units,this.UnitsFound,this.Area,this.Minutes,this.Address,this.Unit,this.City,this.Lat,this.Lng,this.CustomerName,this.CustomerPhone,this.Handoff,this.GateCode,this.Instructions,this.DropoffAddress,this.DropoffContactName,this.DropLat,this.DropLng,this.ArrivedUtc,this.Tags,this.Proof,this.Photos,this.Needs,this.MissedWaitMin,this.MissedRequireContact,this.MissedRequirePhoto,this.MissedFee});
    CourierDriverOrder.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Code = json['Code'];
        CourierStep = json['CourierStep'];
        RouteShape = json['RouteShape'];
        ProfileName = json['ProfileName'];
        UnitOne = json['UnitOne'];
        UnitMany = json['UnitMany'];
        FacilityNoun = json['FacilityNoun'];
        FacilityName = json['FacilityName'];
        LevelName = json['LevelName'];
        DueUtc = JsonConverters.fromJson(json['DueUtc'],'DateTime',context!);
        DueText = json['DueText'];
        Units = json['Units'];
        UnitsFound = json['UnitsFound'];
        Area = json['Area'];
        Minutes = json['Minutes'];
        Address = json['Address'];
        Unit = json['Unit'];
        City = json['City'];
        Lat = JsonConverters.toDouble(json['Lat']);
        Lng = JsonConverters.toDouble(json['Lng']);
        CustomerName = json['CustomerName'];
        CustomerPhone = json['CustomerPhone'];
        Handoff = json['Handoff'];
        GateCode = json['GateCode'];
        Instructions = json['Instructions'];
        DropoffAddress = json['DropoffAddress'];
        DropoffContactName = json['DropoffContactName'];
        DropLat = JsonConverters.toDouble(json['DropLat']);
        DropLng = JsonConverters.toDouble(json['DropLng']);
        ArrivedUtc = JsonConverters.fromJson(json['ArrivedUtc'],'DateTime',context!);
        Tags = JsonConverters.fromJson(json['Tags'],'List<CourierItemView>',context!);
        Proof = JsonConverters.toStringMap(json['Proof']);
        Photos = JsonConverters.fromJson(json['Photos'],'Map<String,int?>',context!);
        Needs = JsonConverters.fromJson(json['Needs'],'List<String>',context!);
        MissedWaitMin = json['MissedWaitMin'];
        MissedRequireContact = json['MissedRequireContact'];
        MissedRequirePhoto = json['MissedRequirePhoto'];
        MissedFee = JsonConverters.toDouble(json['MissedFee']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Code': Code,
        'CourierStep': CourierStep,
        'RouteShape': RouteShape,
        'ProfileName': ProfileName,
        'UnitOne': UnitOne,
        'UnitMany': UnitMany,
        'FacilityNoun': FacilityNoun,
        'FacilityName': FacilityName,
        'LevelName': LevelName,
        'DueUtc': JsonConverters.toJson(DueUtc,'DateTime',context!),
        'DueText': DueText,
        'Units': Units,
        'UnitsFound': UnitsFound,
        'Area': Area,
        'Minutes': Minutes,
        'Address': Address,
        'Unit': Unit,
        'City': City,
        'Lat': Lat,
        'Lng': Lng,
        'CustomerName': CustomerName,
        'CustomerPhone': CustomerPhone,
        'Handoff': Handoff,
        'GateCode': GateCode,
        'Instructions': Instructions,
        'DropoffAddress': DropoffAddress,
        'DropoffContactName': DropoffContactName,
        'DropLat': DropLat,
        'DropLng': DropLng,
        'ArrivedUtc': JsonConverters.toJson(ArrivedUtc,'DateTime',context!),
        'Tags': JsonConverters.toJson(Tags,'List<CourierItemView>',context!),
        'Proof': Proof,
        'Photos': JsonConverters.toJson(Photos,'Map<String,int?>',context!),
        'Needs': JsonConverters.toJson(Needs,'List<String>',context!),
        'MissedWaitMin': MissedWaitMin,
        'MissedRequireContact': MissedRequireContact,
        'MissedRequirePhoto': MissedRequirePhoto,
        'MissedFee': MissedFee
    };

    getTypeName() => "CourierDriverOrder";
    TypeContext? context = _ctx;
}

class CourierStopView implements IConvertible
{
    int? Sequence;
    String? Status;
    int? DispatchOdRequestID;
    String? Code;
    String? CourierStep;
    String? Address;
    String? Unit;
    String? City;
    String? Zip;
    double? Lat;
    double? Lng;
    String? CustomerName;
    String? CustomerPhone;
    String? Handoff;
    String? GateCode;
    String? Instructions;
    int? Units;
    String? DueText;
    String? Note;
    List<String>? Needs = [];
    List<CourierItemView>? Items = [];

    CourierStopView({this.Sequence,this.Status,this.DispatchOdRequestID,this.Code,this.CourierStep,this.Address,this.Unit,this.City,this.Zip,this.Lat,this.Lng,this.CustomerName,this.CustomerPhone,this.Handoff,this.GateCode,this.Instructions,this.Units,this.DueText,this.Note,this.Needs,this.Items});
    CourierStopView.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Sequence = json['Sequence'];
        Status = json['Status'];
        DispatchOdRequestID = json['DispatchOdRequestID'];
        Code = json['Code'];
        CourierStep = json['CourierStep'];
        Address = json['Address'];
        Unit = json['Unit'];
        City = json['City'];
        Zip = json['Zip'];
        Lat = JsonConverters.toDouble(json['Lat']);
        Lng = JsonConverters.toDouble(json['Lng']);
        CustomerName = json['CustomerName'];
        CustomerPhone = json['CustomerPhone'];
        Handoff = json['Handoff'];
        GateCode = json['GateCode'];
        Instructions = json['Instructions'];
        Units = json['Units'];
        DueText = json['DueText'];
        Note = json['Note'];
        Needs = JsonConverters.fromJson(json['Needs'],'List<String>',context!);
        Items = JsonConverters.fromJson(json['Items'],'List<CourierItemView>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Sequence': Sequence,
        'Status': Status,
        'DispatchOdRequestID': DispatchOdRequestID,
        'Code': Code,
        'CourierStep': CourierStep,
        'Address': Address,
        'Unit': Unit,
        'City': City,
        'Zip': Zip,
        'Lat': Lat,
        'Lng': Lng,
        'CustomerName': CustomerName,
        'CustomerPhone': CustomerPhone,
        'Handoff': Handoff,
        'GateCode': GateCode,
        'Instructions': Instructions,
        'Units': Units,
        'DueText': DueText,
        'Note': Note,
        'Needs': JsonConverters.toJson(Needs,'List<String>',context!),
        'Items': JsonConverters.toJson(Items,'List<CourierItemView>',context!)
    };

    getTypeName() => "CourierStopView";
    TypeContext? context = _ctx;
}

class CourierRunView implements IConvertible
{
    int? CourierRunID;
    String? Code;
    String? Status;
    int? CourierProfileId;
    String? ProfileName;
    int? CourierFacilityId;
    String? FacilityName;
    String? FacilityAddress;
    int? DriverContactId;
    String? DriverName;
    int? EquipmentID;
    String? VehicleUnit;
    String? UnitOne;
    String? UnitMany;
    int? Units;
    int? StopCount;
    int? StopsDone;
    double? Pay;
    DateTime? BuiltUtc;
    DateTime? StartedUtc;
    DateTime? CompletedUtc;
    int? ToLoad;
    int? ToReturn;
    List<CourierStopView>? Stops = [];

    CourierRunView({this.CourierRunID,this.Code,this.Status,this.CourierProfileId,this.ProfileName,this.CourierFacilityId,this.FacilityName,this.FacilityAddress,this.DriverContactId,this.DriverName,this.EquipmentID,this.VehicleUnit,this.UnitOne,this.UnitMany,this.Units,this.StopCount,this.StopsDone,this.Pay,this.BuiltUtc,this.StartedUtc,this.CompletedUtc,this.ToLoad,this.ToReturn,this.Stops});
    CourierRunView.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        CourierRunID = json['CourierRunID'];
        Code = json['Code'];
        Status = json['Status'];
        CourierProfileId = json['CourierProfileId'];
        ProfileName = json['ProfileName'];
        CourierFacilityId = json['CourierFacilityId'];
        FacilityName = json['FacilityName'];
        FacilityAddress = json['FacilityAddress'];
        DriverContactId = json['DriverContactId'];
        DriverName = json['DriverName'];
        EquipmentID = json['EquipmentID'];
        VehicleUnit = json['VehicleUnit'];
        UnitOne = json['UnitOne'];
        UnitMany = json['UnitMany'];
        Units = json['Units'];
        StopCount = json['StopCount'];
        StopsDone = json['StopsDone'];
        Pay = JsonConverters.toDouble(json['Pay']);
        BuiltUtc = JsonConverters.fromJson(json['BuiltUtc'],'DateTime',context!);
        StartedUtc = JsonConverters.fromJson(json['StartedUtc'],'DateTime',context!);
        CompletedUtc = JsonConverters.fromJson(json['CompletedUtc'],'DateTime',context!);
        ToLoad = json['ToLoad'];
        ToReturn = json['ToReturn'];
        Stops = JsonConverters.fromJson(json['Stops'],'List<CourierStopView>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'CourierRunID': CourierRunID,
        'Code': Code,
        'Status': Status,
        'CourierProfileId': CourierProfileId,
        'ProfileName': ProfileName,
        'CourierFacilityId': CourierFacilityId,
        'FacilityName': FacilityName,
        'FacilityAddress': FacilityAddress,
        'DriverContactId': DriverContactId,
        'DriverName': DriverName,
        'EquipmentID': EquipmentID,
        'VehicleUnit': VehicleUnit,
        'UnitOne': UnitOne,
        'UnitMany': UnitMany,
        'Units': Units,
        'StopCount': StopCount,
        'StopsDone': StopsDone,
        'Pay': Pay,
        'BuiltUtc': JsonConverters.toJson(BuiltUtc,'DateTime',context!),
        'StartedUtc': JsonConverters.toJson(StartedUtc,'DateTime',context!),
        'CompletedUtc': JsonConverters.toJson(CompletedUtc,'DateTime',context!),
        'ToLoad': ToLoad,
        'ToReturn': ToReturn,
        'Stops': JsonConverters.toJson(Stops,'List<CourierStopView>',context!)
    };

    getTypeName() => "CourierRunView";
    TypeContext? context = _ctx;
}

class CourierDriverView implements IConvertible
{
    String? DriverCode;
    String? Name;
    bool? Online;
    bool? OnRoster;
    CourierVanView? Van;
    CourierDriverOrder? Current;
    List<CourierDriverOrder>? Queue = [];
    List<CourierDriverOrder>? Aboard = [];
    List<CourierRunView>? Runs = [];
    CourierDriverOrder? UpNext;

    CourierDriverView({this.DriverCode,this.Name,this.Online,this.OnRoster,this.Van,this.Current,this.Queue,this.Aboard,this.Runs,this.UpNext});
    CourierDriverView.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        DriverCode = json['DriverCode'];
        Name = json['Name'];
        Online = json['Online'];
        OnRoster = json['OnRoster'];
        Van = JsonConverters.fromJson(json['Van'],'CourierVanView',context!);
        Current = JsonConverters.fromJson(json['Current'],'CourierDriverOrder',context!);
        Queue = JsonConverters.fromJson(json['Queue'],'List<CourierDriverOrder>',context!);
        Aboard = JsonConverters.fromJson(json['Aboard'],'List<CourierDriverOrder>',context!);
        Runs = JsonConverters.fromJson(json['Runs'],'List<CourierRunView>',context!);
        UpNext = JsonConverters.fromJson(json['UpNext'],'CourierDriverOrder',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'DriverCode': DriverCode,
        'Name': Name,
        'Online': Online,
        'OnRoster': OnRoster,
        'Van': JsonConverters.toJson(Van,'CourierVanView',context!),
        'Current': JsonConverters.toJson(Current,'CourierDriverOrder',context!),
        'Queue': JsonConverters.toJson(Queue,'List<CourierDriverOrder>',context!),
        'Aboard': JsonConverters.toJson(Aboard,'List<CourierDriverOrder>',context!),
        'Runs': JsonConverters.toJson(Runs,'List<CourierRunView>',context!),
        'UpNext': JsonConverters.toJson(UpNext,'CourierDriverOrder',context!)
    };

    getTypeName() => "CourierDriverView";
    TypeContext? context = _ctx;
}

class CourierDriverResponse implements IConvertible
{
    CourierDriverView? Courier;
    String? Result;
    String? Detail;
    String? Message;
    ResponseStatus? ResponseStatus;

    CourierDriverResponse({this.Courier,this.Result,this.Detail,this.Message,this.ResponseStatus});
    CourierDriverResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Courier = JsonConverters.fromJson(json['Courier'],'CourierDriverView',context!);
        Result = json['Result'];
        Detail = json['Detail'];
        Message = json['Message'];
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Courier': JsonConverters.toJson(Courier,'CourierDriverView',context!),
        'Result': Result,
        'Detail': Detail,
        'Message': Message,
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
    };

    getTypeName() => "CourierDriverResponse";
    TypeContext? context = _ctx;
}

class CourierPickupRequest implements IConvertible
{
    String? Code;
    int? UnitsFound;
    bool? DamageChecked;
    String? DamageNote;

    CourierPickupRequest({this.Code,this.UnitsFound,this.DamageChecked,this.DamageNote});
    CourierPickupRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Code = json['Code'];
        UnitsFound = json['UnitsFound'];
        DamageChecked = json['DamageChecked'];
        DamageNote = json['DamageNote'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Code': Code,
        'UnitsFound': UnitsFound,
        'DamageChecked': DamageChecked,
        'DamageNote': DamageNote
    };

    getTypeName() => "CourierPickupRequest";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
    'CourierVanView': TypeInfo(TypeOf.Class, create:() => CourierVanView()),
    'CourierItemView': TypeInfo(TypeOf.Class, create:() => CourierItemView()),
    'CourierDriverOrder': TypeInfo(TypeOf.Class, create:() => CourierDriverOrder()),
    'List<CourierItemView>': TypeInfo(TypeOf.Class, create:() => <CourierItemView>[]),
    'Map<String,int?>': TypeInfo(TypeOf.Class, create:() => Map<String,int?>()),
    'CourierStopView': TypeInfo(TypeOf.Class, create:() => CourierStopView()),
    'CourierRunView': TypeInfo(TypeOf.Class, create:() => CourierRunView()),
    'List<CourierStopView>': TypeInfo(TypeOf.Class, create:() => <CourierStopView>[]),
    'CourierDriverView': TypeInfo(TypeOf.Class, create:() => CourierDriverView()),
    'List<CourierDriverOrder>': TypeInfo(TypeOf.Class, create:() => <CourierDriverOrder>[]),
    'List<CourierRunView>': TypeInfo(TypeOf.Class, create:() => <CourierRunView>[]),
    'CourierDriverResponse': TypeInfo(TypeOf.Class, create:() => CourierDriverResponse()),
    'CourierPickupRequest': TypeInfo(TypeOf.Class, create:() => CourierPickupRequest()),
});

Dart CourierPickupRequest DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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

POST /v1/worker/dispatch/od/{Code}/pickup HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"Code":"String","UnitsFound":0,"DamageChecked":false,"DamageNote":"String"}
HTTP/1.1 200 OK
Content-Type: application/json
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"}}}