Trendsic Platform Service

<back to all web services

CourierHeldPingsRequest

Requires Authentication
The following routes are available for this service:
GET,OPTIONS/v1/dispatch/courier/held-pings
import 'package:servicestack/servicestack.dart';

class CourierOrderRuleView implements IConvertible
{
    int? PingSecs;
    int? MissedWaitMin;
    double? MissedFee;
    double? CancelFee;
    bool? MissedAutoRebook;
    bool? MissedRequireContact;
    bool? MissedRequirePhoto;
    String? PayTiming;
    bool? FinalPriceAfterCount;
    String? PayPlanName;
    double? PerPickup;
    double? PerStop;
    double? PerMissed;
    double? PerCancel;
    DateTime? AcceptedUtc;
    Map<String,String?>? Proof = {};

    CourierOrderRuleView({this.PingSecs,this.MissedWaitMin,this.MissedFee,this.CancelFee,this.MissedAutoRebook,this.MissedRequireContact,this.MissedRequirePhoto,this.PayTiming,this.FinalPriceAfterCount,this.PayPlanName,this.PerPickup,this.PerStop,this.PerMissed,this.PerCancel,this.AcceptedUtc,this.Proof});
    CourierOrderRuleView.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        PingSecs = json['PingSecs'];
        MissedWaitMin = json['MissedWaitMin'];
        MissedFee = JsonConverters.toDouble(json['MissedFee']);
        CancelFee = JsonConverters.toDouble(json['CancelFee']);
        MissedAutoRebook = json['MissedAutoRebook'];
        MissedRequireContact = json['MissedRequireContact'];
        MissedRequirePhoto = json['MissedRequirePhoto'];
        PayTiming = json['PayTiming'];
        FinalPriceAfterCount = json['FinalPriceAfterCount'];
        PayPlanName = json['PayPlanName'];
        PerPickup = JsonConverters.toDouble(json['PerPickup']);
        PerStop = JsonConverters.toDouble(json['PerStop']);
        PerMissed = JsonConverters.toDouble(json['PerMissed']);
        PerCancel = JsonConverters.toDouble(json['PerCancel']);
        AcceptedUtc = JsonConverters.fromJson(json['AcceptedUtc'],'DateTime',context!);
        Proof = JsonConverters.toStringMap(json['Proof']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'PingSecs': PingSecs,
        'MissedWaitMin': MissedWaitMin,
        'MissedFee': MissedFee,
        'CancelFee': CancelFee,
        'MissedAutoRebook': MissedAutoRebook,
        'MissedRequireContact': MissedRequireContact,
        'MissedRequirePhoto': MissedRequirePhoto,
        'PayTiming': PayTiming,
        'FinalPriceAfterCount': FinalPriceAfterCount,
        'PayPlanName': PayPlanName,
        'PerPickup': PerPickup,
        'PerStop': PerStop,
        'PerMissed': PerMissed,
        'PerCancel': PerCancel,
        'AcceptedUtc': JsonConverters.toJson(AcceptedUtc,'DateTime',context!),
        'Proof': Proof
    };

    getTypeName() => "CourierOrderRuleView";
    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 CourierScanView implements IConvertible
{
    String? TagCode;
    String? Stage;
    String? Result;
    DateTime? AtUtc;

    CourierScanView({this.TagCode,this.Stage,this.Result,this.AtUtc});
    CourierScanView.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        TagCode = json['TagCode'];
        Stage = json['Stage'];
        Result = json['Result'];
        AtUtc = JsonConverters.fromJson(json['AtUtc'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'TagCode': TagCode,
        'Stage': Stage,
        'Result': Result,
        'AtUtc': JsonConverters.toJson(AtUtc,'DateTime',context!)
    };

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

class CourierProofResultView implements IConvertible
{
    String? Stage;
    String? StepKey;
    String? Value;
    DateTime? AtUtc;

    CourierProofResultView({this.Stage,this.StepKey,this.Value,this.AtUtc});
    CourierProofResultView.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Stage = json['Stage'];
        StepKey = json['StepKey'];
        Value = json['Value'];
        AtUtc = JsonConverters.fromJson(json['AtUtc'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Stage': Stage,
        'StepKey': StepKey,
        'Value': Value,
        'AtUtc': JsonConverters.toJson(AtUtc,'DateTime',context!)
    };

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

class CourierEventView implements IConvertible
{
    String? Kind;
    String? Party;
    String? Body;
    DateTime? AtUtc;

    CourierEventView({this.Kind,this.Party,this.Body,this.AtUtc});
    CourierEventView.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Kind = json['Kind'];
        Party = json['Party'];
        Body = json['Body'];
        AtUtc = JsonConverters.fromJson(json['AtUtc'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Kind': Kind,
        'Party': Party,
        'Body': Body,
        'AtUtc': JsonConverters.toJson(AtUtc,'DateTime',context!)
    };

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

class CourierPhotoView implements IConvertible
{
    int? PhotoId;
    String? Kind;
    String? FileName;
    String? Url;
    DateTime? TakenUtc;

    CourierPhotoView({this.PhotoId,this.Kind,this.FileName,this.Url,this.TakenUtc});
    CourierPhotoView.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        PhotoId = json['PhotoId'];
        Kind = json['Kind'];
        FileName = json['FileName'];
        Url = json['Url'];
        TakenUtc = JsonConverters.fromJson(json['TakenUtc'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'PhotoId': PhotoId,
        'Kind': Kind,
        'FileName': FileName,
        'Url': Url,
        'TakenUtc': JsonConverters.toJson(TakenUtc,'DateTime',context!)
    };

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

class CourierPayLineView implements IConvertible
{
    int? DispatchLoadID;
    String? Kind;
    String? Label;
    double? Qty;
    double? Rate;
    double? Amount;

    CourierPayLineView({this.DispatchLoadID,this.Kind,this.Label,this.Qty,this.Rate,this.Amount});
    CourierPayLineView.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        DispatchLoadID = json['DispatchLoadID'];
        Kind = json['Kind'];
        Label = json['Label'];
        Qty = JsonConverters.toDouble(json['Qty']);
        Rate = JsonConverters.toDouble(json['Rate']);
        Amount = JsonConverters.toDouble(json['Amount']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'DispatchLoadID': DispatchLoadID,
        'Kind': Kind,
        'Label': Label,
        'Qty': Qty,
        'Rate': Rate,
        'Amount': Amount
    };

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

class CourierOrderView implements IConvertible
{
    int? DispatchOdRequestID;
    String? Code;
    int? CourierProfileId;
    String? ProfileName;
    String? RouteShape;
    String? UnitOne;
    String? UnitMany;
    int? CourierFacilityId;
    String? FacilityName;
    String? ServiceLevelCode;
    String? LevelName;
    String? Source;
    String? Address;
    String? Unit;
    String? City;
    String? Zip;
    String? Zone;
    String? PickupContactName;
    String? DropoffAddress;
    String? DropoffUnit;
    String? DropoffCity;
    String? DropoffZip;
    String? DropoffContactName;
    double? Miles;
    int? Units;
    int? UnitsFound;
    String? Stage;
    String? CourierStep;
    String? StepLabel;
    String? DriverCode;
    String? DriverName;
    int? DriverContactId;
    int? CourierRunId;
    String? RunCode;
    int? StopSequence;
    int? QueueSequence;
    bool? IsAsap;
    DateTime? WindowStartUtc;
    DateTime? WindowEndUtc;
    String? WindowText;
    DateTime? DueUtc;
    String? DueText;
    DateTime? PingAfterUtc;
    DateTime? PingExpiresUtc;
    String? CandidateCode;
    String? HeldReason;
    DateTime? HeldUtc;
    String? CustomerName;
    String? CustomerPhone;
    String? Handoff;
    String? GateCode;
    String? Instructions;
    String? DamageNote;
    String? DeliveredToName;
    String? PayMode;
    double? Fare;
    double? FinalPrice;
    double? TipAmount;
    String? CancelledBy;
    String? CancelReason;
    double? CancelFeeApplied;
    double? MissedFeeApplied;
    String? CaptureMode;
    double? AuthorizedAmount;
    double? CapturedAmount;
    double? RefundedAmount;
    String? ChargeError;
    DateTime? CreatedAt;
    DateTime? ArrivedUtc;
    DateTime? PickedUpUtc;
    DateTime? IntakeUtc;
    DateTime? ReadyUtc;
    DateTime? OutForDeliveryUtc;
    DateTime? DeliveredUtc;
    DateTime? MissedUtc;
    DateTime? CancelledUtc;
    bool? IsClosed;
    int? RebookOfId;
    int? RecurrenceId;
    int? PickupLoadId;
    CourierOrderRuleView? Rule;
    List<CourierItemView>? Items = [];
    List<CourierScanView>? Scans = [];
    List<CourierProofResultView>? Proof = [];
    List<CourierEventView>? Events = [];
    List<CourierPhotoView>? Photos = [];
    List<CourierPayLineView>? PayLines = [];

    CourierOrderView({this.DispatchOdRequestID,this.Code,this.CourierProfileId,this.ProfileName,this.RouteShape,this.UnitOne,this.UnitMany,this.CourierFacilityId,this.FacilityName,this.ServiceLevelCode,this.LevelName,this.Source,this.Address,this.Unit,this.City,this.Zip,this.Zone,this.PickupContactName,this.DropoffAddress,this.DropoffUnit,this.DropoffCity,this.DropoffZip,this.DropoffContactName,this.Miles,this.Units,this.UnitsFound,this.Stage,this.CourierStep,this.StepLabel,this.DriverCode,this.DriverName,this.DriverContactId,this.CourierRunId,this.RunCode,this.StopSequence,this.QueueSequence,this.IsAsap,this.WindowStartUtc,this.WindowEndUtc,this.WindowText,this.DueUtc,this.DueText,this.PingAfterUtc,this.PingExpiresUtc,this.CandidateCode,this.HeldReason,this.HeldUtc,this.CustomerName,this.CustomerPhone,this.Handoff,this.GateCode,this.Instructions,this.DamageNote,this.DeliveredToName,this.PayMode,this.Fare,this.FinalPrice,this.TipAmount,this.CancelledBy,this.CancelReason,this.CancelFeeApplied,this.MissedFeeApplied,this.CaptureMode,this.AuthorizedAmount,this.CapturedAmount,this.RefundedAmount,this.ChargeError,this.CreatedAt,this.ArrivedUtc,this.PickedUpUtc,this.IntakeUtc,this.ReadyUtc,this.OutForDeliveryUtc,this.DeliveredUtc,this.MissedUtc,this.CancelledUtc,this.IsClosed,this.RebookOfId,this.RecurrenceId,this.PickupLoadId,this.Rule,this.Items,this.Scans,this.Proof,this.Events,this.Photos,this.PayLines});
    CourierOrderView.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        DispatchOdRequestID = json['DispatchOdRequestID'];
        Code = json['Code'];
        CourierProfileId = json['CourierProfileId'];
        ProfileName = json['ProfileName'];
        RouteShape = json['RouteShape'];
        UnitOne = json['UnitOne'];
        UnitMany = json['UnitMany'];
        CourierFacilityId = json['CourierFacilityId'];
        FacilityName = json['FacilityName'];
        ServiceLevelCode = json['ServiceLevelCode'];
        LevelName = json['LevelName'];
        Source = json['Source'];
        Address = json['Address'];
        Unit = json['Unit'];
        City = json['City'];
        Zip = json['Zip'];
        Zone = json['Zone'];
        PickupContactName = json['PickupContactName'];
        DropoffAddress = json['DropoffAddress'];
        DropoffUnit = json['DropoffUnit'];
        DropoffCity = json['DropoffCity'];
        DropoffZip = json['DropoffZip'];
        DropoffContactName = json['DropoffContactName'];
        Miles = JsonConverters.toDouble(json['Miles']);
        Units = json['Units'];
        UnitsFound = json['UnitsFound'];
        Stage = json['Stage'];
        CourierStep = json['CourierStep'];
        StepLabel = json['StepLabel'];
        DriverCode = json['DriverCode'];
        DriverName = json['DriverName'];
        DriverContactId = json['DriverContactId'];
        CourierRunId = json['CourierRunId'];
        RunCode = json['RunCode'];
        StopSequence = json['StopSequence'];
        QueueSequence = json['QueueSequence'];
        IsAsap = json['IsAsap'];
        WindowStartUtc = JsonConverters.fromJson(json['WindowStartUtc'],'DateTime',context!);
        WindowEndUtc = JsonConverters.fromJson(json['WindowEndUtc'],'DateTime',context!);
        WindowText = json['WindowText'];
        DueUtc = JsonConverters.fromJson(json['DueUtc'],'DateTime',context!);
        DueText = json['DueText'];
        PingAfterUtc = JsonConverters.fromJson(json['PingAfterUtc'],'DateTime',context!);
        PingExpiresUtc = JsonConverters.fromJson(json['PingExpiresUtc'],'DateTime',context!);
        CandidateCode = json['CandidateCode'];
        HeldReason = json['HeldReason'];
        HeldUtc = JsonConverters.fromJson(json['HeldUtc'],'DateTime',context!);
        CustomerName = json['CustomerName'];
        CustomerPhone = json['CustomerPhone'];
        Handoff = json['Handoff'];
        GateCode = json['GateCode'];
        Instructions = json['Instructions'];
        DamageNote = json['DamageNote'];
        DeliveredToName = json['DeliveredToName'];
        PayMode = json['PayMode'];
        Fare = JsonConverters.toDouble(json['Fare']);
        FinalPrice = JsonConverters.toDouble(json['FinalPrice']);
        TipAmount = JsonConverters.toDouble(json['TipAmount']);
        CancelledBy = json['CancelledBy'];
        CancelReason = json['CancelReason'];
        CancelFeeApplied = JsonConverters.toDouble(json['CancelFeeApplied']);
        MissedFeeApplied = JsonConverters.toDouble(json['MissedFeeApplied']);
        CaptureMode = json['CaptureMode'];
        AuthorizedAmount = JsonConverters.toDouble(json['AuthorizedAmount']);
        CapturedAmount = JsonConverters.toDouble(json['CapturedAmount']);
        RefundedAmount = JsonConverters.toDouble(json['RefundedAmount']);
        ChargeError = json['ChargeError'];
        CreatedAt = JsonConverters.fromJson(json['CreatedAt'],'DateTime',context!);
        ArrivedUtc = JsonConverters.fromJson(json['ArrivedUtc'],'DateTime',context!);
        PickedUpUtc = JsonConverters.fromJson(json['PickedUpUtc'],'DateTime',context!);
        IntakeUtc = JsonConverters.fromJson(json['IntakeUtc'],'DateTime',context!);
        ReadyUtc = JsonConverters.fromJson(json['ReadyUtc'],'DateTime',context!);
        OutForDeliveryUtc = JsonConverters.fromJson(json['OutForDeliveryUtc'],'DateTime',context!);
        DeliveredUtc = JsonConverters.fromJson(json['DeliveredUtc'],'DateTime',context!);
        MissedUtc = JsonConverters.fromJson(json['MissedUtc'],'DateTime',context!);
        CancelledUtc = JsonConverters.fromJson(json['CancelledUtc'],'DateTime',context!);
        IsClosed = json['IsClosed'];
        RebookOfId = json['RebookOfId'];
        RecurrenceId = json['RecurrenceId'];
        PickupLoadId = json['PickupLoadId'];
        Rule = JsonConverters.fromJson(json['Rule'],'CourierOrderRuleView',context!);
        Items = JsonConverters.fromJson(json['Items'],'List<CourierItemView>',context!);
        Scans = JsonConverters.fromJson(json['Scans'],'List<CourierScanView>',context!);
        Proof = JsonConverters.fromJson(json['Proof'],'List<CourierProofResultView>',context!);
        Events = JsonConverters.fromJson(json['Events'],'List<CourierEventView>',context!);
        Photos = JsonConverters.fromJson(json['Photos'],'List<CourierPhotoView>',context!);
        PayLines = JsonConverters.fromJson(json['PayLines'],'List<CourierPayLineView>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'DispatchOdRequestID': DispatchOdRequestID,
        'Code': Code,
        'CourierProfileId': CourierProfileId,
        'ProfileName': ProfileName,
        'RouteShape': RouteShape,
        'UnitOne': UnitOne,
        'UnitMany': UnitMany,
        'CourierFacilityId': CourierFacilityId,
        'FacilityName': FacilityName,
        'ServiceLevelCode': ServiceLevelCode,
        'LevelName': LevelName,
        'Source': Source,
        'Address': Address,
        'Unit': Unit,
        'City': City,
        'Zip': Zip,
        'Zone': Zone,
        'PickupContactName': PickupContactName,
        'DropoffAddress': DropoffAddress,
        'DropoffUnit': DropoffUnit,
        'DropoffCity': DropoffCity,
        'DropoffZip': DropoffZip,
        'DropoffContactName': DropoffContactName,
        'Miles': Miles,
        'Units': Units,
        'UnitsFound': UnitsFound,
        'Stage': Stage,
        'CourierStep': CourierStep,
        'StepLabel': StepLabel,
        'DriverCode': DriverCode,
        'DriverName': DriverName,
        'DriverContactId': DriverContactId,
        'CourierRunId': CourierRunId,
        'RunCode': RunCode,
        'StopSequence': StopSequence,
        'QueueSequence': QueueSequence,
        'IsAsap': IsAsap,
        'WindowStartUtc': JsonConverters.toJson(WindowStartUtc,'DateTime',context!),
        'WindowEndUtc': JsonConverters.toJson(WindowEndUtc,'DateTime',context!),
        'WindowText': WindowText,
        'DueUtc': JsonConverters.toJson(DueUtc,'DateTime',context!),
        'DueText': DueText,
        'PingAfterUtc': JsonConverters.toJson(PingAfterUtc,'DateTime',context!),
        'PingExpiresUtc': JsonConverters.toJson(PingExpiresUtc,'DateTime',context!),
        'CandidateCode': CandidateCode,
        'HeldReason': HeldReason,
        'HeldUtc': JsonConverters.toJson(HeldUtc,'DateTime',context!),
        'CustomerName': CustomerName,
        'CustomerPhone': CustomerPhone,
        'Handoff': Handoff,
        'GateCode': GateCode,
        'Instructions': Instructions,
        'DamageNote': DamageNote,
        'DeliveredToName': DeliveredToName,
        'PayMode': PayMode,
        'Fare': Fare,
        'FinalPrice': FinalPrice,
        'TipAmount': TipAmount,
        'CancelledBy': CancelledBy,
        'CancelReason': CancelReason,
        'CancelFeeApplied': CancelFeeApplied,
        'MissedFeeApplied': MissedFeeApplied,
        'CaptureMode': CaptureMode,
        'AuthorizedAmount': AuthorizedAmount,
        'CapturedAmount': CapturedAmount,
        'RefundedAmount': RefundedAmount,
        'ChargeError': ChargeError,
        'CreatedAt': JsonConverters.toJson(CreatedAt,'DateTime',context!),
        'ArrivedUtc': JsonConverters.toJson(ArrivedUtc,'DateTime',context!),
        'PickedUpUtc': JsonConverters.toJson(PickedUpUtc,'DateTime',context!),
        'IntakeUtc': JsonConverters.toJson(IntakeUtc,'DateTime',context!),
        'ReadyUtc': JsonConverters.toJson(ReadyUtc,'DateTime',context!),
        'OutForDeliveryUtc': JsonConverters.toJson(OutForDeliveryUtc,'DateTime',context!),
        'DeliveredUtc': JsonConverters.toJson(DeliveredUtc,'DateTime',context!),
        'MissedUtc': JsonConverters.toJson(MissedUtc,'DateTime',context!),
        'CancelledUtc': JsonConverters.toJson(CancelledUtc,'DateTime',context!),
        'IsClosed': IsClosed,
        'RebookOfId': RebookOfId,
        'RecurrenceId': RecurrenceId,
        'PickupLoadId': PickupLoadId,
        'Rule': JsonConverters.toJson(Rule,'CourierOrderRuleView',context!),
        'Items': JsonConverters.toJson(Items,'List<CourierItemView>',context!),
        'Scans': JsonConverters.toJson(Scans,'List<CourierScanView>',context!),
        'Proof': JsonConverters.toJson(Proof,'List<CourierProofResultView>',context!),
        'Events': JsonConverters.toJson(Events,'List<CourierEventView>',context!),
        'Photos': JsonConverters.toJson(Photos,'List<CourierPhotoView>',context!),
        'PayLines': JsonConverters.toJson(PayLines,'List<CourierPayLineView>',context!)
    };

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

class CourierOrderResponse implements IConvertible
{
    List<CourierOrderView>? Orders = [];
    CourierOrderView? Order;
    String? Message;
    ResponseStatus? ResponseStatus;

    CourierOrderResponse({this.Orders,this.Order,this.Message,this.ResponseStatus});
    CourierOrderResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Orders = JsonConverters.fromJson(json['Orders'],'List<CourierOrderView>',context!);
        Order = JsonConverters.fromJson(json['Order'],'CourierOrderView',context!);
        Message = json['Message'];
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Orders': JsonConverters.toJson(Orders,'List<CourierOrderView>',context!),
        'Order': JsonConverters.toJson(Order,'CourierOrderView',context!),
        'Message': Message,
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
    };

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

class CourierHeldPingsRequest implements IConvertible
{
    CourierHeldPingsRequest();
    CourierHeldPingsRequest.fromJson(Map<String, dynamic> json) : super();
    fromMap(Map<String, dynamic> json) {
        return this;
    }

    Map<String, dynamic> toJson() => {};
    getTypeName() => "CourierHeldPingsRequest";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
    'CourierOrderRuleView': TypeInfo(TypeOf.Class, create:() => CourierOrderRuleView()),
    'CourierItemView': TypeInfo(TypeOf.Class, create:() => CourierItemView()),
    'CourierScanView': TypeInfo(TypeOf.Class, create:() => CourierScanView()),
    'CourierProofResultView': TypeInfo(TypeOf.Class, create:() => CourierProofResultView()),
    'CourierEventView': TypeInfo(TypeOf.Class, create:() => CourierEventView()),
    'CourierPhotoView': TypeInfo(TypeOf.Class, create:() => CourierPhotoView()),
    'CourierPayLineView': TypeInfo(TypeOf.Class, create:() => CourierPayLineView()),
    'CourierOrderView': TypeInfo(TypeOf.Class, create:() => CourierOrderView()),
    'List<CourierItemView>': TypeInfo(TypeOf.Class, create:() => <CourierItemView>[]),
    'List<CourierScanView>': TypeInfo(TypeOf.Class, create:() => <CourierScanView>[]),
    'List<CourierProofResultView>': TypeInfo(TypeOf.Class, create:() => <CourierProofResultView>[]),
    'List<CourierEventView>': TypeInfo(TypeOf.Class, create:() => <CourierEventView>[]),
    'List<CourierPhotoView>': TypeInfo(TypeOf.Class, create:() => <CourierPhotoView>[]),
    'List<CourierPayLineView>': TypeInfo(TypeOf.Class, create:() => <CourierPayLineView>[]),
    'CourierOrderResponse': TypeInfo(TypeOf.Class, create:() => CourierOrderResponse()),
    'List<CourierOrderView>': TypeInfo(TypeOf.Class, create:() => <CourierOrderView>[]),
    'CourierHeldPingsRequest': TypeInfo(TypeOf.Class, create:() => CourierHeldPingsRequest()),
});

Dart CourierHeldPingsRequest 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.

GET /v1/dispatch/courier/held-pings HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"Orders":[{"DispatchOdRequestID":0,"Code":"String","CourierProfileId":0,"ProfileName":"String","RouteShape":"String","UnitOne":"String","UnitMany":"String","CourierFacilityId":0,"FacilityName":"String","ServiceLevelCode":"String","LevelName":"String","Source":"String","Address":"String","Unit":"String","City":"String","Zip":"String","Zone":"String","PickupContactName":"String","DropoffAddress":"String","DropoffUnit":"String","DropoffCity":"String","DropoffZip":"String","DropoffContactName":"String","Miles":0,"Units":0,"UnitsFound":0,"Stage":"String","CourierStep":"String","StepLabel":"String","DriverCode":"String","DriverName":"String","DriverContactId":0,"CourierRunId":0,"RunCode":"String","StopSequence":0,"QueueSequence":0,"IsAsap":false,"WindowStartUtc":"0001-01-01T00:00:00.0000000","WindowEndUtc":"0001-01-01T00:00:00.0000000","WindowText":"String","DueUtc":"0001-01-01T00:00:00.0000000","DueText":"String","PingAfterUtc":"0001-01-01T00:00:00.0000000","PingExpiresUtc":"0001-01-01T00:00:00.0000000","CandidateCode":"String","HeldReason":"String","HeldUtc":"0001-01-01T00:00:00.0000000","CustomerName":"String","CustomerPhone":"String","Handoff":"String","GateCode":"String","Instructions":"String","DamageNote":"String","DeliveredToName":"String","PayMode":"String","Fare":0,"FinalPrice":0,"TipAmount":0,"CancelledBy":"String","CancelReason":"String","CancelFeeApplied":0,"MissedFeeApplied":0,"CaptureMode":"String","AuthorizedAmount":0,"CapturedAmount":0,"RefundedAmount":0,"ChargeError":"String","CreatedAt":"0001-01-01T00:00:00.0000000","ArrivedUtc":"0001-01-01T00:00:00.0000000","PickedUpUtc":"0001-01-01T00:00:00.0000000","IntakeUtc":"0001-01-01T00:00:00.0000000","ReadyUtc":"0001-01-01T00:00:00.0000000","OutForDeliveryUtc":"0001-01-01T00:00:00.0000000","DeliveredUtc":"0001-01-01T00:00:00.0000000","MissedUtc":"0001-01-01T00:00:00.0000000","CancelledUtc":"0001-01-01T00:00:00.0000000","IsClosed":false,"RebookOfId":0,"RecurrenceId":0,"PickupLoadId":0,"Rule":{"PingSecs":0,"MissedWaitMin":0,"MissedFee":0,"CancelFee":0,"MissedAutoRebook":false,"MissedRequireContact":false,"MissedRequirePhoto":false,"PayTiming":"String","FinalPriceAfterCount":false,"PayPlanName":"String","PerPickup":0,"PerStop":0,"PerMissed":0,"PerCancel":0,"AcceptedUtc":"0001-01-01T00:00:00.0000000","Proof":{"String":"String"}},"Items":[{"CourierItemID":0,"DispatchOdRequestID":0,"Seq":0,"TagCode":"String","Custody":"String","IsOpen":false,"IsMissing":false,"MissingReason":"String","IsManual":false,"ReTagFlag":false,"Scanned":false}],"Scans":[{"TagCode":"String","Stage":"String","Result":"String","AtUtc":"0001-01-01T00:00:00.0000000"}],"Proof":[{"Stage":"String","StepKey":"String","Value":"String","AtUtc":"0001-01-01T00:00:00.0000000"}],"Events":[{"Kind":"String","Party":"String","Body":"String","AtUtc":"0001-01-01T00:00:00.0000000"}],"Photos":[{"PhotoId":0,"Kind":"String","FileName":"String","Url":"String","TakenUtc":"0001-01-01T00:00:00.0000000"}],"PayLines":[{"DispatchLoadID":0,"Kind":"String","Label":"String","Qty":0,"Rate":0,"Amount":0}]}],"Order":{"DispatchOdRequestID":0,"Code":"String","CourierProfileId":0,"ProfileName":"String","RouteShape":"String","UnitOne":"String","UnitMany":"String","CourierFacilityId":0,"FacilityName":"String","ServiceLevelCode":"String","LevelName":"String","Source":"String","Address":"String","Unit":"String","City":"String","Zip":"String","Zone":"String","PickupContactName":"String","DropoffAddress":"String","DropoffUnit":"String","DropoffCity":"String","DropoffZip":"String","DropoffContactName":"String","Miles":0,"Units":0,"UnitsFound":0,"Stage":"String","CourierStep":"String","StepLabel":"String","DriverCode":"String","DriverName":"String","DriverContactId":0,"CourierRunId":0,"RunCode":"String","StopSequence":0,"QueueSequence":0,"IsAsap":false,"WindowStartUtc":"0001-01-01T00:00:00.0000000","WindowEndUtc":"0001-01-01T00:00:00.0000000","WindowText":"String","DueUtc":"0001-01-01T00:00:00.0000000","DueText":"String","PingAfterUtc":"0001-01-01T00:00:00.0000000","PingExpiresUtc":"0001-01-01T00:00:00.0000000","CandidateCode":"String","HeldReason":"String","HeldUtc":"0001-01-01T00:00:00.0000000","CustomerName":"String","CustomerPhone":"String","Handoff":"String","GateCode":"String","Instructions":"String","DamageNote":"String","DeliveredToName":"String","PayMode":"String","Fare":0,"FinalPrice":0,"TipAmount":0,"CancelledBy":"String","CancelReason":"String","CancelFeeApplied":0,"MissedFeeApplied":0,"CaptureMode":"String","AuthorizedAmount":0,"CapturedAmount":0,"RefundedAmount":0,"ChargeError":"String","CreatedAt":"0001-01-01T00:00:00.0000000","ArrivedUtc":"0001-01-01T00:00:00.0000000","PickedUpUtc":"0001-01-01T00:00:00.0000000","IntakeUtc":"0001-01-01T00:00:00.0000000","ReadyUtc":"0001-01-01T00:00:00.0000000","OutForDeliveryUtc":"0001-01-01T00:00:00.0000000","DeliveredUtc":"0001-01-01T00:00:00.0000000","MissedUtc":"0001-01-01T00:00:00.0000000","CancelledUtc":"0001-01-01T00:00:00.0000000","IsClosed":false,"RebookOfId":0,"RecurrenceId":0,"PickupLoadId":0,"Rule":{"PingSecs":0,"MissedWaitMin":0,"MissedFee":0,"CancelFee":0,"MissedAutoRebook":false,"MissedRequireContact":false,"MissedRequirePhoto":false,"PayTiming":"String","FinalPriceAfterCount":false,"PayPlanName":"String","PerPickup":0,"PerStop":0,"PerMissed":0,"PerCancel":0,"AcceptedUtc":"0001-01-01T00:00:00.0000000","Proof":{"String":"String"}},"Items":[{"CourierItemID":0,"DispatchOdRequestID":0,"Seq":0,"TagCode":"String","Custody":"String","IsOpen":false,"IsMissing":false,"MissingReason":"String","IsManual":false,"ReTagFlag":false,"Scanned":false}],"Scans":[{"TagCode":"String","Stage":"String","Result":"String","AtUtc":"0001-01-01T00:00:00.0000000"}],"Proof":[{"Stage":"String","StepKey":"String","Value":"String","AtUtc":"0001-01-01T00:00:00.0000000"}],"Events":[{"Kind":"String","Party":"String","Body":"String","AtUtc":"0001-01-01T00:00:00.0000000"}],"Photos":[{"PhotoId":0,"Kind":"String","FileName":"String","Url":"String","TakenUtc":"0001-01-01T00:00:00.0000000"}],"PayLines":[{"DispatchLoadID":0,"Kind":"String","Label":"String","Qty":0,"Rate":0,"Amount":0}]},"Message":"String","ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}