Trendsic Platform Service

<back to all web services

CourierDriverPayRequest

Requires Authentication
The following routes are available for this service:
GET,OPTIONS/v1/worker/dispatch/od/pay
import 'package:servicestack/servicestack.dart';

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 CourierDriverPayRow implements IConvertible
{
    int? DispatchLoadID;
    String? Code;
    String? Kind;
    String? OrderCode;
    String? RunCode;
    String? QtyText;
    String? SourceLabel;
    String? DestinationLabel;
    String? Status;
    double? Pay;
    DateTime? OpenedUtc;
    DateTime? ClosedUtc;
    List<CourierPayLineView>? Lines = [];

    CourierDriverPayRow({this.DispatchLoadID,this.Code,this.Kind,this.OrderCode,this.RunCode,this.QtyText,this.SourceLabel,this.DestinationLabel,this.Status,this.Pay,this.OpenedUtc,this.ClosedUtc,this.Lines});
    CourierDriverPayRow.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        DispatchLoadID = json['DispatchLoadID'];
        Code = json['Code'];
        Kind = json['Kind'];
        OrderCode = json['OrderCode'];
        RunCode = json['RunCode'];
        QtyText = json['QtyText'];
        SourceLabel = json['SourceLabel'];
        DestinationLabel = json['DestinationLabel'];
        Status = json['Status'];
        Pay = JsonConverters.toDouble(json['Pay']);
        OpenedUtc = JsonConverters.fromJson(json['OpenedUtc'],'DateTime',context!);
        ClosedUtc = JsonConverters.fromJson(json['ClosedUtc'],'DateTime',context!);
        Lines = JsonConverters.fromJson(json['Lines'],'List<CourierPayLineView>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'DispatchLoadID': DispatchLoadID,
        'Code': Code,
        'Kind': Kind,
        'OrderCode': OrderCode,
        'RunCode': RunCode,
        'QtyText': QtyText,
        'SourceLabel': SourceLabel,
        'DestinationLabel': DestinationLabel,
        'Status': Status,
        'Pay': Pay,
        'OpenedUtc': JsonConverters.toJson(OpenedUtc,'DateTime',context!),
        'ClosedUtc': JsonConverters.toJson(ClosedUtc,'DateTime',context!),
        'Lines': JsonConverters.toJson(Lines,'List<CourierPayLineView>',context!)
    };

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

class CourierDriverPayResponse implements IConvertible
{
    List<CourierDriverPayRow>? Rows = [];
    double? Total;
    bool? Available;
    DateTime? ServerUtc;
    ResponseStatus? ResponseStatus;

    CourierDriverPayResponse({this.Rows,this.Total,this.Available,this.ServerUtc,this.ResponseStatus});
    CourierDriverPayResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Rows = JsonConverters.fromJson(json['Rows'],'List<CourierDriverPayRow>',context!);
        Total = JsonConverters.toDouble(json['Total']);
        Available = json['Available'];
        ServerUtc = JsonConverters.fromJson(json['ServerUtc'],'DateTime',context!);
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Rows': JsonConverters.toJson(Rows,'List<CourierDriverPayRow>',context!),
        'Total': Total,
        'Available': Available,
        'ServerUtc': JsonConverters.toJson(ServerUtc,'DateTime',context!),
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
    };

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

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

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

TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
    'CourierPayLineView': TypeInfo(TypeOf.Class, create:() => CourierPayLineView()),
    'CourierDriverPayRow': TypeInfo(TypeOf.Class, create:() => CourierDriverPayRow()),
    'List<CourierPayLineView>': TypeInfo(TypeOf.Class, create:() => <CourierPayLineView>[]),
    'CourierDriverPayResponse': TypeInfo(TypeOf.Class, create:() => CourierDriverPayResponse()),
    'List<CourierDriverPayRow>': TypeInfo(TypeOf.Class, create:() => <CourierDriverPayRow>[]),
    'CourierDriverPayRequest': TypeInfo(TypeOf.Class, create:() => CourierDriverPayRequest()),
});

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

GET /v1/worker/dispatch/od/pay HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Rows: 
	[
		{
			DispatchLoadID: 0,
			Code: String,
			Kind: String,
			OrderCode: String,
			RunCode: String,
			QtyText: String,
			SourceLabel: String,
			DestinationLabel: String,
			Status: String,
			Pay: 0,
			OpenedUtc: 0001-01-01,
			ClosedUtc: 0001-01-01,
			Lines: 
			[
				{
					DispatchLoadID: 0,
					Kind: String,
					Label: String,
					Qty: 0,
					Rate: 0,
					Amount: 0
				}
			]
		}
	],
	Total: 0,
	Available: False,
	ServerUtc: 0001-01-01,
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}