Trendsic Platform Service

<back to all web services

DispatchQuoteRequest

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

class DispatchQuoteView implements IConvertible
{
    String? Code;
    String? CustomerName;
    String? Cargo;
    int? Units;
    String? FromLoc;
    String? ToLoc;
    int? Miles;
    String? WindowText;
    bool? IsUrgent;
    int? LoadsNeeded;
    int? UnitsPerTruck;
    double? RatePerLoad;
    double? UrgencyPct;
    double? QuoteTotal;
    int? QuoteVersion;
    String? Status;
    DateTime? QuotedUtc;
    DateTime? ExpiresUtc;

    DispatchQuoteView({this.Code,this.CustomerName,this.Cargo,this.Units,this.FromLoc,this.ToLoc,this.Miles,this.WindowText,this.IsUrgent,this.LoadsNeeded,this.UnitsPerTruck,this.RatePerLoad,this.UrgencyPct,this.QuoteTotal,this.QuoteVersion,this.Status,this.QuotedUtc,this.ExpiresUtc});
    DispatchQuoteView.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Code = json['Code'];
        CustomerName = json['CustomerName'];
        Cargo = json['Cargo'];
        Units = json['Units'];
        FromLoc = json['FromLoc'];
        ToLoc = json['ToLoc'];
        Miles = json['Miles'];
        WindowText = json['WindowText'];
        IsUrgent = json['IsUrgent'];
        LoadsNeeded = json['LoadsNeeded'];
        UnitsPerTruck = json['UnitsPerTruck'];
        RatePerLoad = JsonConverters.toDouble(json['RatePerLoad']);
        UrgencyPct = JsonConverters.toDouble(json['UrgencyPct']);
        QuoteTotal = JsonConverters.toDouble(json['QuoteTotal']);
        QuoteVersion = json['QuoteVersion'];
        Status = json['Status'];
        QuotedUtc = JsonConverters.fromJson(json['QuotedUtc'],'DateTime',context!);
        ExpiresUtc = JsonConverters.fromJson(json['ExpiresUtc'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Code': Code,
        'CustomerName': CustomerName,
        'Cargo': Cargo,
        'Units': Units,
        'FromLoc': FromLoc,
        'ToLoc': ToLoc,
        'Miles': Miles,
        'WindowText': WindowText,
        'IsUrgent': IsUrgent,
        'LoadsNeeded': LoadsNeeded,
        'UnitsPerTruck': UnitsPerTruck,
        'RatePerLoad': RatePerLoad,
        'UrgencyPct': UrgencyPct,
        'QuoteTotal': QuoteTotal,
        'QuoteVersion': QuoteVersion,
        'Status': Status,
        'QuotedUtc': JsonConverters.toJson(QuotedUtc,'DateTime',context!),
        'ExpiresUtc': JsonConverters.toJson(ExpiresUtc,'DateTime',context!)
    };

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

class DispatchQuoteResponse implements IConvertible
{
    DispatchQuoteView? Quote;
    ResponseStatus? ResponseStatus;

    DispatchQuoteResponse({this.Quote,this.ResponseStatus});
    DispatchQuoteResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Quote = JsonConverters.fromJson(json['Quote'],'DispatchQuoteView',context!);
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Quote': JsonConverters.toJson(Quote,'DispatchQuoteView',context!),
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
    };

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

class DispatchQuoteRequest implements IConvertible
{
    String? Token;

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

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

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

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

TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
    'DispatchQuoteView': TypeInfo(TypeOf.Class, create:() => DispatchQuoteView()),
    'DispatchQuoteResponse': TypeInfo(TypeOf.Class, create:() => DispatchQuoteResponse()),
    'DispatchQuoteRequest': TypeInfo(TypeOf.Class, create:() => DispatchQuoteRequest()),
});

Dart DispatchQuoteRequest 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/dispatch/quote/{Token}/json HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Quote: 
	{
		Code: String,
		CustomerName: String,
		Cargo: String,
		Units: 0,
		FromLoc: String,
		ToLoc: String,
		Miles: 0,
		WindowText: String,
		IsUrgent: False,
		LoadsNeeded: 0,
		UnitsPerTruck: 0,
		RatePerLoad: 0,
		UrgencyPct: 0,
		QuoteTotal: 0,
		QuoteVersion: 0,
		Status: String,
		QuotedUtc: 0001-01-01,
		ExpiresUtc: 0001-01-01
	},
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}