| POST,OPTIONS | /v1/dispatch/courier/runs |
|---|
import 'package:servicestack/servicestack.dart';
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 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 CourierRunResponse implements IConvertible
{
List<CourierRunView>? Runs = [];
CourierRunView? Run;
String? Message;
ResponseStatus? ResponseStatus;
CourierRunResponse({this.Runs,this.Run,this.Message,this.ResponseStatus});
CourierRunResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Runs = JsonConverters.fromJson(json['Runs'],'List<CourierRunView>',context!);
Run = JsonConverters.fromJson(json['Run'],'CourierRunView',context!);
Message = json['Message'];
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Runs': JsonConverters.toJson(Runs,'List<CourierRunView>',context!),
'Run': JsonConverters.toJson(Run,'CourierRunView',context!),
'Message': Message,
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
};
getTypeName() => "CourierRunResponse";
TypeContext? context = _ctx;
}
class CourierRunBuildRequest implements IConvertible
{
int? ProfileId;
String? FacilityCode;
List<String>? Codes = [];
int? DriverContactId;
int? EquipmentID;
CourierRunBuildRequest({this.ProfileId,this.FacilityCode,this.Codes,this.DriverContactId,this.EquipmentID});
CourierRunBuildRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ProfileId = json['ProfileId'];
FacilityCode = json['FacilityCode'];
Codes = JsonConverters.fromJson(json['Codes'],'List<String>',context!);
DriverContactId = json['DriverContactId'];
EquipmentID = json['EquipmentID'];
return this;
}
Map<String, dynamic> toJson() => {
'ProfileId': ProfileId,
'FacilityCode': FacilityCode,
'Codes': JsonConverters.toJson(Codes,'List<String>',context!),
'DriverContactId': DriverContactId,
'EquipmentID': EquipmentID
};
getTypeName() => "CourierRunBuildRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
'CourierItemView': TypeInfo(TypeOf.Class, create:() => CourierItemView()),
'CourierStopView': TypeInfo(TypeOf.Class, create:() => CourierStopView()),
'List<CourierItemView>': TypeInfo(TypeOf.Class, create:() => <CourierItemView>[]),
'CourierRunView': TypeInfo(TypeOf.Class, create:() => CourierRunView()),
'List<CourierStopView>': TypeInfo(TypeOf.Class, create:() => <CourierStopView>[]),
'CourierRunResponse': TypeInfo(TypeOf.Class, create:() => CourierRunResponse()),
'List<CourierRunView>': TypeInfo(TypeOf.Class, create:() => <CourierRunView>[]),
'CourierRunBuildRequest': TypeInfo(TypeOf.Class, create:() => CourierRunBuildRequest()),
});
Dart CourierRunBuildRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/dispatch/courier/runs HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<CourierRunBuildRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
<Codes xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:string>String</d2p1:string>
</Codes>
<DriverContactId>0</DriverContactId>
<EquipmentID>0</EquipmentID>
<FacilityCode>String</FacilityCode>
<ProfileId>0</ProfileId>
</CourierRunBuildRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<CourierRunResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
<Message>String</Message>
<ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:Message>String</d2p1:Message>
<d2p1:StackTrace>String</d2p1:StackTrace>
<d2p1:Errors>
<d2p1:ResponseError>
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:FieldName>String</d2p1:FieldName>
<d2p1:Message>String</d2p1:Message>
<d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfstringstring>
<d5p1:Key>String</d5p1:Key>
<d5p1:Value>String</d5p1:Value>
</d5p1:KeyValueOfstringstring>
</d2p1:Meta>
</d2p1:ResponseError>
</d2p1:Errors>
<d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringstring>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>String</d3p1:Value>
</d3p1:KeyValueOfstringstring>
</d2p1:Meta>
</ResponseStatus>
<Run>
<BuiltUtc>0001-01-01T00:00:00</BuiltUtc>
<Code>String</Code>
<CompletedUtc>0001-01-01T00:00:00</CompletedUtc>
<CourierFacilityId>0</CourierFacilityId>
<CourierProfileId>0</CourierProfileId>
<CourierRunID>0</CourierRunID>
<DriverContactId>0</DriverContactId>
<DriverName>String</DriverName>
<EquipmentID>0</EquipmentID>
<FacilityAddress>String</FacilityAddress>
<FacilityName>String</FacilityName>
<Pay>0</Pay>
<ProfileName>String</ProfileName>
<StartedUtc>0001-01-01T00:00:00</StartedUtc>
<Status>String</Status>
<StopCount>0</StopCount>
<Stops>
<CourierStopView>
<Address>String</Address>
<City>String</City>
<Code>String</Code>
<CourierStep>String</CourierStep>
<CustomerName>String</CustomerName>
<CustomerPhone>String</CustomerPhone>
<DispatchOdRequestID>0</DispatchOdRequestID>
<DueText>String</DueText>
<GateCode>String</GateCode>
<Handoff>String</Handoff>
<Instructions>String</Instructions>
<Items>
<CourierItemView>
<CourierItemID>0</CourierItemID>
<Custody>String</Custody>
<DispatchOdRequestID>0</DispatchOdRequestID>
<IsManual>false</IsManual>
<IsMissing>false</IsMissing>
<IsOpen>false</IsOpen>
<MissingReason>String</MissingReason>
<ReTagFlag>false</ReTagFlag>
<Scanned>false</Scanned>
<Seq>0</Seq>
<TagCode>String</TagCode>
</CourierItemView>
</Items>
<Lat>0</Lat>
<Lng>0</Lng>
<Needs xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:string>String</d5p1:string>
</Needs>
<Note>String</Note>
<Sequence>0</Sequence>
<Status>String</Status>
<Unit>String</Unit>
<Units>0</Units>
<Zip>String</Zip>
</CourierStopView>
</Stops>
<StopsDone>0</StopsDone>
<ToLoad>0</ToLoad>
<ToReturn>0</ToReturn>
<UnitMany>String</UnitMany>
<UnitOne>String</UnitOne>
<Units>0</Units>
<VehicleUnit>String</VehicleUnit>
</Run>
<Runs>
<CourierRunView>
<BuiltUtc>0001-01-01T00:00:00</BuiltUtc>
<Code>String</Code>
<CompletedUtc>0001-01-01T00:00:00</CompletedUtc>
<CourierFacilityId>0</CourierFacilityId>
<CourierProfileId>0</CourierProfileId>
<CourierRunID>0</CourierRunID>
<DriverContactId>0</DriverContactId>
<DriverName>String</DriverName>
<EquipmentID>0</EquipmentID>
<FacilityAddress>String</FacilityAddress>
<FacilityName>String</FacilityName>
<Pay>0</Pay>
<ProfileName>String</ProfileName>
<StartedUtc>0001-01-01T00:00:00</StartedUtc>
<Status>String</Status>
<StopCount>0</StopCount>
<Stops>
<CourierStopView>
<Address>String</Address>
<City>String</City>
<Code>String</Code>
<CourierStep>String</CourierStep>
<CustomerName>String</CustomerName>
<CustomerPhone>String</CustomerPhone>
<DispatchOdRequestID>0</DispatchOdRequestID>
<DueText>String</DueText>
<GateCode>String</GateCode>
<Handoff>String</Handoff>
<Instructions>String</Instructions>
<Items>
<CourierItemView>
<CourierItemID>0</CourierItemID>
<Custody>String</Custody>
<DispatchOdRequestID>0</DispatchOdRequestID>
<IsManual>false</IsManual>
<IsMissing>false</IsMissing>
<IsOpen>false</IsOpen>
<MissingReason>String</MissingReason>
<ReTagFlag>false</ReTagFlag>
<Scanned>false</Scanned>
<Seq>0</Seq>
<TagCode>String</TagCode>
</CourierItemView>
</Items>
<Lat>0</Lat>
<Lng>0</Lng>
<Needs xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d6p1:string>String</d6p1:string>
</Needs>
<Note>String</Note>
<Sequence>0</Sequence>
<Status>String</Status>
<Unit>String</Unit>
<Units>0</Units>
<Zip>String</Zip>
</CourierStopView>
</Stops>
<StopsDone>0</StopsDone>
<ToLoad>0</ToLoad>
<ToReturn>0</ToReturn>
<UnitMany>String</UnitMany>
<UnitOne>String</UnitOne>
<Units>0</Units>
<VehicleUnit>String</VehicleUnit>
</CourierRunView>
</Runs>
</CourierRunResponse>