Trendsic Platform Service

<back to all web services

CourierOrderReassignRequest

Requires Authentication
The following routes are available for this service:
POST,OPTIONS/v1/dispatch/courier/orders/{Code}/reassign
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 CourierOrderReassignRequest implements IConvertible
{
    String? Code;
    int? DriverContactId;

    CourierOrderReassignRequest({this.Code,this.DriverContactId});
    CourierOrderReassignRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

    getTypeName() => "CourierOrderReassignRequest";
    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>[]),
    'CourierOrderReassignRequest': TypeInfo(TypeOf.Class, create:() => CourierOrderReassignRequest()),
});

Dart CourierOrderReassignRequest DTOs

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

HTTP + JSV

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

POST /v1/dispatch/courier/orders/{Code}/reassign HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	Code: String,
	DriverContactId: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
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-01,
			WindowEndUtc: 0001-01-01,
			WindowText: String,
			DueUtc: 0001-01-01,
			DueText: String,
			PingAfterUtc: 0001-01-01,
			PingExpiresUtc: 0001-01-01,
			CandidateCode: String,
			HeldReason: String,
			HeldUtc: 0001-01-01,
			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-01,
			ArrivedUtc: 0001-01-01,
			PickedUpUtc: 0001-01-01,
			IntakeUtc: 0001-01-01,
			ReadyUtc: 0001-01-01,
			OutForDeliveryUtc: 0001-01-01,
			DeliveredUtc: 0001-01-01,
			MissedUtc: 0001-01-01,
			CancelledUtc: 0001-01-01,
			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-01,
				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-01
				}
			],
			Proof: 
			[
				{
					Stage: String,
					StepKey: String,
					Value: String,
					AtUtc: 0001-01-01
				}
			],
			Events: 
			[
				{
					Kind: String,
					Party: String,
					Body: String,
					AtUtc: 0001-01-01
				}
			],
			Photos: 
			[
				{
					PhotoId: 0,
					Kind: String,
					FileName: String,
					Url: String,
					TakenUtc: 0001-01-01
				}
			],
			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-01,
		WindowEndUtc: 0001-01-01,
		WindowText: String,
		DueUtc: 0001-01-01,
		DueText: String,
		PingAfterUtc: 0001-01-01,
		PingExpiresUtc: 0001-01-01,
		CandidateCode: String,
		HeldReason: String,
		HeldUtc: 0001-01-01,
		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-01,
		ArrivedUtc: 0001-01-01,
		PickedUpUtc: 0001-01-01,
		IntakeUtc: 0001-01-01,
		ReadyUtc: 0001-01-01,
		OutForDeliveryUtc: 0001-01-01,
		DeliveredUtc: 0001-01-01,
		MissedUtc: 0001-01-01,
		CancelledUtc: 0001-01-01,
		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-01,
			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-01
			}
		],
		Proof: 
		[
			{
				Stage: String,
				StepKey: String,
				Value: String,
				AtUtc: 0001-01-01
			}
		],
		Events: 
		[
			{
				Kind: String,
				Party: String,
				Body: String,
				AtUtc: 0001-01-01
			}
		],
		Photos: 
		[
			{
				PhotoId: 0,
				Kind: String,
				FileName: String,
				Url: String,
				TakenUtc: 0001-01-01
			}
		],
		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
		}
	}
}