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