Trendsic Platform Service

<back to all web services

CourierTrackInstructionsRequest

The following routes are available for this service:
POST,OPTIONS/v1/dispatch/track/{Token}/instructions
import 'package:servicestack/servicestack.dart';

abstract class CourierTrackActRequest
{
    String? Token;
    String? ActToken;

    CourierTrackActRequest({this.Token,this.ActToken});
    CourierTrackActRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Token = json['Token'];
        ActToken = json['ActToken'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Token': Token,
        'ActToken': ActToken
    };

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

class DispatchTrackStepView implements IConvertible
{
    String? Name;
    DateTime? At;
    bool? Done;
    bool? Current;

    DispatchTrackStepView({this.Name,this.At,this.Done,this.Current});
    DispatchTrackStepView.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Name = json['Name'];
        At = JsonConverters.fromJson(json['At'],'DateTime',context!);
        Done = json['Done'];
        Current = json['Current'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Name': Name,
        'At': JsonConverters.toJson(At,'DateTime',context!),
        'Done': Done,
        'Current': Current
    };

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

class CourierTrackBusiness implements IConvertible
{
    String? Name;
    String? Phone;

    CourierTrackBusiness({this.Name,this.Phone});
    CourierTrackBusiness.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Name = json['Name'];
        Phone = json['Phone'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Name': Name,
        'Phone': Phone
    };

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

class CourierTrackDriver implements IConvertible
{
    String? FirstName;
    String? Initial;
    String? Vehicle;
    String? Plate;
    int? EtaMin;
    int? EtaPct;

    CourierTrackDriver({this.FirstName,this.Initial,this.Vehicle,this.Plate,this.EtaMin,this.EtaPct});
    CourierTrackDriver.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        FirstName = json['FirstName'];
        Initial = json['Initial'];
        Vehicle = json['Vehicle'];
        Plate = json['Plate'];
        EtaMin = json['EtaMin'];
        EtaPct = json['EtaPct'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'FirstName': FirstName,
        'Initial': Initial,
        'Vehicle': Vehicle,
        'Plate': Plate,
        'EtaMin': EtaMin,
        'EtaPct': EtaPct
    };

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

class CourierTrackProof implements IConvertible
{
    String? Kind;
    String? PhotoUrl;
    String? AtText;
    bool? GpsOk;
    int? Units;
    String? DamageNote;
    String? DeliveredTo;
    int? WaitedMin;
    int? Attempts;
    String? ContactedText;
    bool? EachTagged;
    bool? EachScanned;

    CourierTrackProof({this.Kind,this.PhotoUrl,this.AtText,this.GpsOk,this.Units,this.DamageNote,this.DeliveredTo,this.WaitedMin,this.Attempts,this.ContactedText,this.EachTagged,this.EachScanned});
    CourierTrackProof.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Kind = json['Kind'];
        PhotoUrl = json['PhotoUrl'];
        AtText = json['AtText'];
        GpsOk = json['GpsOk'];
        Units = json['Units'];
        DamageNote = json['DamageNote'];
        DeliveredTo = json['DeliveredTo'];
        WaitedMin = json['WaitedMin'];
        Attempts = json['Attempts'];
        ContactedText = json['ContactedText'];
        EachTagged = json['EachTagged'];
        EachScanned = json['EachScanned'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Kind': Kind,
        'PhotoUrl': PhotoUrl,
        'AtText': AtText,
        'GpsOk': GpsOk,
        'Units': Units,
        'DamageNote': DamageNote,
        'DeliveredTo': DeliveredTo,
        'WaitedMin': WaitedMin,
        'Attempts': Attempts,
        'ContactedText': ContactedText,
        'EachTagged': EachTagged,
        'EachScanned': EachScanned
    };

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

class CourierTrackRating implements IConvertible
{
    int? Stars;
    String? Tags;
    double? Tip;
    String? TipStatus;

    CourierTrackRating({this.Stars,this.Tags,this.Tip,this.TipStatus});
    CourierTrackRating.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Stars = json['Stars'];
        Tags = json['Tags'];
        Tip = JsonConverters.toDouble(json['Tip']);
        TipStatus = json['TipStatus'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Stars': Stars,
        'Tags': Tags,
        'Tip': Tip,
        'TipStatus': TipStatus
    };

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

class CourierTrackSlot implements IConvertible
{
    String? Id;
    String? Day;
    String? DayEs;
    String? Win;

    CourierTrackSlot({this.Id,this.Day,this.DayEs,this.Win});
    CourierTrackSlot.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Day = json['Day'];
        DayEs = json['DayEs'];
        Win = json['Win'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Day': Day,
        'DayEs': DayEs,
        'Win': Win
    };

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

class CourierTrackMissed implements IConvertible
{
    String? Code;
    double? Fee;
    int? WaitedMin;
    bool? AutoRebook;
    String? RebookWindowText;
    List<CourierTrackSlot>? Slots = [];

    CourierTrackMissed({this.Code,this.Fee,this.WaitedMin,this.AutoRebook,this.RebookWindowText,this.Slots});
    CourierTrackMissed.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Code = json['Code'];
        Fee = JsonConverters.toDouble(json['Fee']);
        WaitedMin = json['WaitedMin'];
        AutoRebook = json['AutoRebook'];
        RebookWindowText = json['RebookWindowText'];
        Slots = JsonConverters.fromJson(json['Slots'],'List<CourierTrackSlot>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Code': Code,
        'Fee': Fee,
        'WaitedMin': WaitedMin,
        'AutoRebook': AutoRebook,
        'RebookWindowText': RebookWindowText,
        'Slots': JsonConverters.toJson(Slots,'List<CourierTrackSlot>',context!)
    };

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

class CourierTrackCan implements IConvertible
{
    bool? EditInstructions;
    bool? ChangeUnits;
    bool? Cancel;
    bool? RescheduleDelivery;
    bool? Rebook;
    bool? Rate;
    bool? Message;
    bool? Report;
    int? MaxUnits;

    CourierTrackCan({this.EditInstructions,this.ChangeUnits,this.Cancel,this.RescheduleDelivery,this.Rebook,this.Rate,this.Message,this.Report,this.MaxUnits});
    CourierTrackCan.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        EditInstructions = json['EditInstructions'];
        ChangeUnits = json['ChangeUnits'];
        Cancel = json['Cancel'];
        RescheduleDelivery = json['RescheduleDelivery'];
        Rebook = json['Rebook'];
        Rate = json['Rate'];
        Message = json['Message'];
        Report = json['Report'];
        MaxUnits = json['MaxUnits'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'EditInstructions': EditInstructions,
        'ChangeUnits': ChangeUnits,
        'Cancel': Cancel,
        'RescheduleDelivery': RescheduleDelivery,
        'Rebook': Rebook,
        'Rate': Rate,
        'Message': Message,
        'Report': Report,
        'MaxUnits': MaxUnits
    };

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

class CourierTrackMessage implements IConvertible
{
    String? Who;
    bool? Mine;
    bool? Office;
    String? AtText;
    String? Body;

    CourierTrackMessage({this.Who,this.Mine,this.Office,this.AtText,this.Body});
    CourierTrackMessage.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Who = json['Who'];
        Mine = json['Mine'];
        Office = json['Office'];
        AtText = json['AtText'];
        Body = json['Body'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Who': Who,
        'Mine': Mine,
        'Office': Office,
        'AtText': AtText,
        'Body': Body
    };

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

class CourierTrackView implements IConvertible
{
    String? State;
    String? Code;
    String? RunCode;
    String? Shape;
    String? Template;
    String? CourierStep;
    String? UnitOne;
    String? UnitMany;
    String? UnitOneEs;
    String? UnitManyEs;
    String? FacilityNoun;
    String? FacilityNounEs;
    int? Units;
    bool? UnitsCounted;
    String? Address;
    String? DropoffAddress;
    String? DropoffName;
    String? Instructions;
    String? GateCode;
    String? Handoff;
    String? LevelName;
    String? ReadyPromise;
    String? WindowText;
    bool? IsAsap;
    Map<String,String?>? Times = {};
    int? StopPosition;
    int? StopCount;
    String? DeliveryWindowText;
    CourierTrackDriver? Driver;
    CourierTrackProof? Proof;
    String? HandoffCode;
    CourierTrackRating? Rating;
    bool? TipAllowed;
    double? TipsPct;
    CourierTrackMissed? Missed;
    double? CancelFee;
    double? CancelFeeCharged;
    String? CancelledBy;
    String? BookUrl;
    CourierTrackCan? Can;
    List<CourierTrackSlot>? DeliverySlots = [];
    List<CourierTrackMessage>? Messages = [];
    bool? MessagesOpen;
    String? CaseCode;
    String? CaseStatus;
    String? CaseReply;
    int? ThreadHrs;
    DateTime? ExpiresUtc;
    bool? LiveEta;
    bool? Live;
    DateTime? ServerUtc;

    CourierTrackView({this.State,this.Code,this.RunCode,this.Shape,this.Template,this.CourierStep,this.UnitOne,this.UnitMany,this.UnitOneEs,this.UnitManyEs,this.FacilityNoun,this.FacilityNounEs,this.Units,this.UnitsCounted,this.Address,this.DropoffAddress,this.DropoffName,this.Instructions,this.GateCode,this.Handoff,this.LevelName,this.ReadyPromise,this.WindowText,this.IsAsap,this.Times,this.StopPosition,this.StopCount,this.DeliveryWindowText,this.Driver,this.Proof,this.HandoffCode,this.Rating,this.TipAllowed,this.TipsPct,this.Missed,this.CancelFee,this.CancelFeeCharged,this.CancelledBy,this.BookUrl,this.Can,this.DeliverySlots,this.Messages,this.MessagesOpen,this.CaseCode,this.CaseStatus,this.CaseReply,this.ThreadHrs,this.ExpiresUtc,this.LiveEta,this.Live,this.ServerUtc});
    CourierTrackView.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        State = json['State'];
        Code = json['Code'];
        RunCode = json['RunCode'];
        Shape = json['Shape'];
        Template = json['Template'];
        CourierStep = json['CourierStep'];
        UnitOne = json['UnitOne'];
        UnitMany = json['UnitMany'];
        UnitOneEs = json['UnitOneEs'];
        UnitManyEs = json['UnitManyEs'];
        FacilityNoun = json['FacilityNoun'];
        FacilityNounEs = json['FacilityNounEs'];
        Units = json['Units'];
        UnitsCounted = json['UnitsCounted'];
        Address = json['Address'];
        DropoffAddress = json['DropoffAddress'];
        DropoffName = json['DropoffName'];
        Instructions = json['Instructions'];
        GateCode = json['GateCode'];
        Handoff = json['Handoff'];
        LevelName = json['LevelName'];
        ReadyPromise = json['ReadyPromise'];
        WindowText = json['WindowText'];
        IsAsap = json['IsAsap'];
        Times = JsonConverters.toStringMap(json['Times']);
        StopPosition = json['StopPosition'];
        StopCount = json['StopCount'];
        DeliveryWindowText = json['DeliveryWindowText'];
        Driver = JsonConverters.fromJson(json['Driver'],'CourierTrackDriver',context!);
        Proof = JsonConverters.fromJson(json['Proof'],'CourierTrackProof',context!);
        HandoffCode = json['HandoffCode'];
        Rating = JsonConverters.fromJson(json['Rating'],'CourierTrackRating',context!);
        TipAllowed = json['TipAllowed'];
        TipsPct = JsonConverters.toDouble(json['TipsPct']);
        Missed = JsonConverters.fromJson(json['Missed'],'CourierTrackMissed',context!);
        CancelFee = JsonConverters.toDouble(json['CancelFee']);
        CancelFeeCharged = JsonConverters.toDouble(json['CancelFeeCharged']);
        CancelledBy = json['CancelledBy'];
        BookUrl = json['BookUrl'];
        Can = JsonConverters.fromJson(json['Can'],'CourierTrackCan',context!);
        DeliverySlots = JsonConverters.fromJson(json['DeliverySlots'],'List<CourierTrackSlot>',context!);
        Messages = JsonConverters.fromJson(json['Messages'],'List<CourierTrackMessage>',context!);
        MessagesOpen = json['MessagesOpen'];
        CaseCode = json['CaseCode'];
        CaseStatus = json['CaseStatus'];
        CaseReply = json['CaseReply'];
        ThreadHrs = json['ThreadHrs'];
        ExpiresUtc = JsonConverters.fromJson(json['ExpiresUtc'],'DateTime',context!);
        LiveEta = json['LiveEta'];
        Live = json['Live'];
        ServerUtc = JsonConverters.fromJson(json['ServerUtc'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'State': State,
        'Code': Code,
        'RunCode': RunCode,
        'Shape': Shape,
        'Template': Template,
        'CourierStep': CourierStep,
        'UnitOne': UnitOne,
        'UnitMany': UnitMany,
        'UnitOneEs': UnitOneEs,
        'UnitManyEs': UnitManyEs,
        'FacilityNoun': FacilityNoun,
        'FacilityNounEs': FacilityNounEs,
        'Units': Units,
        'UnitsCounted': UnitsCounted,
        'Address': Address,
        'DropoffAddress': DropoffAddress,
        'DropoffName': DropoffName,
        'Instructions': Instructions,
        'GateCode': GateCode,
        'Handoff': Handoff,
        'LevelName': LevelName,
        'ReadyPromise': ReadyPromise,
        'WindowText': WindowText,
        'IsAsap': IsAsap,
        'Times': Times,
        'StopPosition': StopPosition,
        'StopCount': StopCount,
        'DeliveryWindowText': DeliveryWindowText,
        'Driver': JsonConverters.toJson(Driver,'CourierTrackDriver',context!),
        'Proof': JsonConverters.toJson(Proof,'CourierTrackProof',context!),
        'HandoffCode': HandoffCode,
        'Rating': JsonConverters.toJson(Rating,'CourierTrackRating',context!),
        'TipAllowed': TipAllowed,
        'TipsPct': TipsPct,
        'Missed': JsonConverters.toJson(Missed,'CourierTrackMissed',context!),
        'CancelFee': CancelFee,
        'CancelFeeCharged': CancelFeeCharged,
        'CancelledBy': CancelledBy,
        'BookUrl': BookUrl,
        'Can': JsonConverters.toJson(Can,'CourierTrackCan',context!),
        'DeliverySlots': JsonConverters.toJson(DeliverySlots,'List<CourierTrackSlot>',context!),
        'Messages': JsonConverters.toJson(Messages,'List<CourierTrackMessage>',context!),
        'MessagesOpen': MessagesOpen,
        'CaseCode': CaseCode,
        'CaseStatus': CaseStatus,
        'CaseReply': CaseReply,
        'ThreadHrs': ThreadHrs,
        'ExpiresUtc': JsonConverters.toJson(ExpiresUtc,'DateTime',context!),
        'LiveEta': LiveEta,
        'Live': Live,
        'ServerUtc': JsonConverters.toJson(ServerUtc,'DateTime',context!)
    };

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

class DispatchTrackResponse implements IConvertible
{
    String? Kind;
    String? Code;
    String? What;
    String? FromLoc;
    String? ToLoc;
    int? Bags;
    double? Fare;
    String? PayMode;
    String? CardLast4;
    bool? Charged;
    String? Stage;
    String? Headline;
    String? Sub;
    bool? IsClosed;
    String? Eta;
    String? DriverName;
    String? CustomerName;
    List<DispatchTrackStepView>? Steps = [];
    bool? Expired;
    bool? Invalid;
    CourierTrackBusiness? Business;
    CourierTrackView? Courier;
    String? Notice;
    ResponseStatus? ResponseStatus;

    DispatchTrackResponse({this.Kind,this.Code,this.What,this.FromLoc,this.ToLoc,this.Bags,this.Fare,this.PayMode,this.CardLast4,this.Charged,this.Stage,this.Headline,this.Sub,this.IsClosed,this.Eta,this.DriverName,this.CustomerName,this.Steps,this.Expired,this.Invalid,this.Business,this.Courier,this.Notice,this.ResponseStatus});
    DispatchTrackResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Kind = json['Kind'];
        Code = json['Code'];
        What = json['What'];
        FromLoc = json['FromLoc'];
        ToLoc = json['ToLoc'];
        Bags = json['Bags'];
        Fare = JsonConverters.toDouble(json['Fare']);
        PayMode = json['PayMode'];
        CardLast4 = json['CardLast4'];
        Charged = json['Charged'];
        Stage = json['Stage'];
        Headline = json['Headline'];
        Sub = json['Sub'];
        IsClosed = json['IsClosed'];
        Eta = json['Eta'];
        DriverName = json['DriverName'];
        CustomerName = json['CustomerName'];
        Steps = JsonConverters.fromJson(json['Steps'],'List<DispatchTrackStepView>',context!);
        Expired = json['Expired'];
        Invalid = json['Invalid'];
        Business = JsonConverters.fromJson(json['Business'],'CourierTrackBusiness',context!);
        Courier = JsonConverters.fromJson(json['Courier'],'CourierTrackView',context!);
        Notice = json['Notice'];
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Kind': Kind,
        'Code': Code,
        'What': What,
        'FromLoc': FromLoc,
        'ToLoc': ToLoc,
        'Bags': Bags,
        'Fare': Fare,
        'PayMode': PayMode,
        'CardLast4': CardLast4,
        'Charged': Charged,
        'Stage': Stage,
        'Headline': Headline,
        'Sub': Sub,
        'IsClosed': IsClosed,
        'Eta': Eta,
        'DriverName': DriverName,
        'CustomerName': CustomerName,
        'Steps': JsonConverters.toJson(Steps,'List<DispatchTrackStepView>',context!),
        'Expired': Expired,
        'Invalid': Invalid,
        'Business': JsonConverters.toJson(Business,'CourierTrackBusiness',context!),
        'Courier': JsonConverters.toJson(Courier,'CourierTrackView',context!),
        'Notice': Notice,
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
    };

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

class CourierTrackInstructionsRequest extends CourierTrackActRequest implements IConvertible
{
    String? Text;

    CourierTrackInstructionsRequest({this.Text});
    CourierTrackInstructionsRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        Text = json['Text'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'Text': Text
    });

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

TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
    'CourierTrackActRequest': TypeInfo(TypeOf.AbstractClass),
    'DispatchTrackStepView': TypeInfo(TypeOf.Class, create:() => DispatchTrackStepView()),
    'CourierTrackBusiness': TypeInfo(TypeOf.Class, create:() => CourierTrackBusiness()),
    'CourierTrackDriver': TypeInfo(TypeOf.Class, create:() => CourierTrackDriver()),
    'CourierTrackProof': TypeInfo(TypeOf.Class, create:() => CourierTrackProof()),
    'CourierTrackRating': TypeInfo(TypeOf.Class, create:() => CourierTrackRating()),
    'CourierTrackSlot': TypeInfo(TypeOf.Class, create:() => CourierTrackSlot()),
    'CourierTrackMissed': TypeInfo(TypeOf.Class, create:() => CourierTrackMissed()),
    'List<CourierTrackSlot>': TypeInfo(TypeOf.Class, create:() => <CourierTrackSlot>[]),
    'CourierTrackCan': TypeInfo(TypeOf.Class, create:() => CourierTrackCan()),
    'CourierTrackMessage': TypeInfo(TypeOf.Class, create:() => CourierTrackMessage()),
    'CourierTrackView': TypeInfo(TypeOf.Class, create:() => CourierTrackView()),
    'List<CourierTrackMessage>': TypeInfo(TypeOf.Class, create:() => <CourierTrackMessage>[]),
    'DispatchTrackResponse': TypeInfo(TypeOf.Class, create:() => DispatchTrackResponse()),
    'List<DispatchTrackStepView>': TypeInfo(TypeOf.Class, create:() => <DispatchTrackStepView>[]),
    'CourierTrackInstructionsRequest': TypeInfo(TypeOf.Class, create:() => CourierTrackInstructionsRequest()),
});

Dart CourierTrackInstructionsRequest DTOs

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

HTTP + XML

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

POST /v1/dispatch/track/{Token}/instructions HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<CourierTrackInstructionsRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
  <ActToken>String</ActToken>
  <Token>String</Token>
  <Text>String</Text>
</CourierTrackInstructionsRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<DispatchTrackResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
  <Bags>0</Bags>
  <Business>
    <Name>String</Name>
    <Phone>String</Phone>
  </Business>
  <CardLast4>String</CardLast4>
  <Charged>false</Charged>
  <Code>String</Code>
  <Courier>
    <Address>String</Address>
    <BookUrl>String</BookUrl>
    <Can>
      <Cancel>false</Cancel>
      <ChangeUnits>false</ChangeUnits>
      <EditInstructions>false</EditInstructions>
      <MaxUnits>0</MaxUnits>
      <Message>false</Message>
      <Rate>false</Rate>
      <Rebook>false</Rebook>
      <Report>false</Report>
      <RescheduleDelivery>false</RescheduleDelivery>
    </Can>
    <CancelFee>0</CancelFee>
    <CancelFeeCharged>0</CancelFeeCharged>
    <CancelledBy>String</CancelledBy>
    <CaseCode>String</CaseCode>
    <CaseReply>String</CaseReply>
    <CaseStatus>String</CaseStatus>
    <Code>String</Code>
    <CourierStep>String</CourierStep>
    <DeliverySlots>
      <CourierTrackSlot>
        <Day>String</Day>
        <DayEs>String</DayEs>
        <Id>String</Id>
        <Win>String</Win>
      </CourierTrackSlot>
    </DeliverySlots>
    <DeliveryWindowText>String</DeliveryWindowText>
    <Driver>
      <EtaMin>0</EtaMin>
      <EtaPct>0</EtaPct>
      <FirstName>String</FirstName>
      <Initial>String</Initial>
      <Plate>String</Plate>
      <Vehicle>String</Vehicle>
    </Driver>
    <DropoffAddress>String</DropoffAddress>
    <DropoffName>String</DropoffName>
    <ExpiresUtc>0001-01-01T00:00:00</ExpiresUtc>
    <FacilityNoun>String</FacilityNoun>
    <FacilityNounEs>String</FacilityNounEs>
    <GateCode>String</GateCode>
    <Handoff>String</Handoff>
    <HandoffCode>String</HandoffCode>
    <Instructions>String</Instructions>
    <IsAsap>false</IsAsap>
    <LevelName>String</LevelName>
    <Live>false</Live>
    <LiveEta>false</LiveEta>
    <Messages>
      <CourierTrackMessage>
        <AtText>String</AtText>
        <Body>String</Body>
        <Mine>false</Mine>
        <Office>false</Office>
        <Who>String</Who>
      </CourierTrackMessage>
    </Messages>
    <MessagesOpen>false</MessagesOpen>
    <Missed>
      <AutoRebook>false</AutoRebook>
      <Code>String</Code>
      <Fee>0</Fee>
      <RebookWindowText>String</RebookWindowText>
      <Slots>
        <CourierTrackSlot>
          <Day>String</Day>
          <DayEs>String</DayEs>
          <Id>String</Id>
          <Win>String</Win>
        </CourierTrackSlot>
      </Slots>
      <WaitedMin>0</WaitedMin>
    </Missed>
    <Proof>
      <AtText>String</AtText>
      <Attempts>0</Attempts>
      <ContactedText>String</ContactedText>
      <DamageNote>String</DamageNote>
      <DeliveredTo>String</DeliveredTo>
      <EachScanned>false</EachScanned>
      <EachTagged>false</EachTagged>
      <GpsOk>false</GpsOk>
      <Kind>String</Kind>
      <PhotoUrl>String</PhotoUrl>
      <Units>0</Units>
      <WaitedMin>0</WaitedMin>
    </Proof>
    <Rating>
      <Stars>0</Stars>
      <Tags>String</Tags>
      <Tip>0</Tip>
      <TipStatus>String</TipStatus>
    </Rating>
    <ReadyPromise>String</ReadyPromise>
    <RunCode>String</RunCode>
    <ServerUtc>0001-01-01T00:00:00</ServerUtc>
    <Shape>String</Shape>
    <State>String</State>
    <StopCount>0</StopCount>
    <StopPosition>0</StopPosition>
    <Template>String</Template>
    <ThreadHrs>0</ThreadHrs>
    <Times xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </Times>
    <TipAllowed>false</TipAllowed>
    <TipsPct>0</TipsPct>
    <UnitMany>String</UnitMany>
    <UnitManyEs>String</UnitManyEs>
    <UnitOne>String</UnitOne>
    <UnitOneEs>String</UnitOneEs>
    <Units>0</Units>
    <UnitsCounted>false</UnitsCounted>
    <WindowText>String</WindowText>
  </Courier>
  <CustomerName>String</CustomerName>
  <DriverName>String</DriverName>
  <Eta>String</Eta>
  <Expired>false</Expired>
  <Fare>0</Fare>
  <FromLoc>String</FromLoc>
  <Headline>String</Headline>
  <Invalid>false</Invalid>
  <IsClosed>false</IsClosed>
  <Kind>String</Kind>
  <Notice>String</Notice>
  <PayMode>String</PayMode>
  <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>
  <Stage>String</Stage>
  <Steps>
    <DispatchTrackStepView>
      <At>0001-01-01T00:00:00</At>
      <Current>false</Current>
      <Done>false</Done>
      <Name>String</Name>
    </DispatchTrackStepView>
  </Steps>
  <Sub>String</Sub>
  <ToLoc>String</ToLoc>
  <What>String</What>
</DispatchTrackResponse>