Trendsic Platform Service

<back to all web services

DispatchIncidentTruckRequest

Requires Authentication
Requires any of the permissions:DISPATCH:HAUL:MANAGE, DISPATCH:JOB:MANAGE, DISPATCH:ONDEMAND:MANAGE
The following routes are available for this service:
POST,OPTIONS/v1/dispatch/incidents/{IncidentId}/truck
import 'package:servicestack/servicestack.dart';

class DispatchIncidentMessageView implements IConvertible
{
    int? MessageId;
    String? Who;
    String? Role;
    String? Msg;
    DateTime? AtUtc;

    DispatchIncidentMessageView({this.MessageId,this.Who,this.Role,this.Msg,this.AtUtc});
    DispatchIncidentMessageView.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        MessageId = json['MessageId'];
        Who = json['Who'];
        Role = json['Role'];
        Msg = json['Msg'];
        AtUtc = JsonConverters.fromJson(json['AtUtc'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'MessageId': MessageId,
        'Who': Who,
        'Role': Role,
        'Msg': Msg,
        'AtUtc': JsonConverters.toJson(AtUtc,'DateTime',context!)
    };

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

class DispatchIncidentView implements IConvertible
{
    int? IncidentId;
    String? Code;
    String? Kind;
    String? KindDetail;
    int? LoadId;
    String? LoadCode;
    String? LoadStatus;
    String? SourceLabel;
    String? DestinationLabel;
    String? QtyText;
    String? TruckCode;
    String? TruckLabel;
    String? LocationText;
    double? Lat;
    double? Lng;
    String? DriverPref;
    String? OpenedBy;
    String? OpenedVia;
    String? Resolver;
    String? Status;
    String? TruckRecovery;
    DateTime? TruckRecoveredUtc;
    String? LoadRecovery;
    DateTime? LoadRecoveredUtc;
    String? TransloadTruckCode;
    int? HoldId;
    String? HoldCode;
    int? PhotoCount;
    DateTime? OpenedUtc;
    DateTime? ResolvedUtc;
    String? ResolvedBy;
    DateTime? ReopenedUtc;
    List<DispatchIncidentMessageView>? Messages = [];

    DispatchIncidentView({this.IncidentId,this.Code,this.Kind,this.KindDetail,this.LoadId,this.LoadCode,this.LoadStatus,this.SourceLabel,this.DestinationLabel,this.QtyText,this.TruckCode,this.TruckLabel,this.LocationText,this.Lat,this.Lng,this.DriverPref,this.OpenedBy,this.OpenedVia,this.Resolver,this.Status,this.TruckRecovery,this.TruckRecoveredUtc,this.LoadRecovery,this.LoadRecoveredUtc,this.TransloadTruckCode,this.HoldId,this.HoldCode,this.PhotoCount,this.OpenedUtc,this.ResolvedUtc,this.ResolvedBy,this.ReopenedUtc,this.Messages});
    DispatchIncidentView.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        IncidentId = json['IncidentId'];
        Code = json['Code'];
        Kind = json['Kind'];
        KindDetail = json['KindDetail'];
        LoadId = json['LoadId'];
        LoadCode = json['LoadCode'];
        LoadStatus = json['LoadStatus'];
        SourceLabel = json['SourceLabel'];
        DestinationLabel = json['DestinationLabel'];
        QtyText = json['QtyText'];
        TruckCode = json['TruckCode'];
        TruckLabel = json['TruckLabel'];
        LocationText = json['LocationText'];
        Lat = JsonConverters.toDouble(json['Lat']);
        Lng = JsonConverters.toDouble(json['Lng']);
        DriverPref = json['DriverPref'];
        OpenedBy = json['OpenedBy'];
        OpenedVia = json['OpenedVia'];
        Resolver = json['Resolver'];
        Status = json['Status'];
        TruckRecovery = json['TruckRecovery'];
        TruckRecoveredUtc = JsonConverters.fromJson(json['TruckRecoveredUtc'],'DateTime',context!);
        LoadRecovery = json['LoadRecovery'];
        LoadRecoveredUtc = JsonConverters.fromJson(json['LoadRecoveredUtc'],'DateTime',context!);
        TransloadTruckCode = json['TransloadTruckCode'];
        HoldId = json['HoldId'];
        HoldCode = json['HoldCode'];
        PhotoCount = json['PhotoCount'];
        OpenedUtc = JsonConverters.fromJson(json['OpenedUtc'],'DateTime',context!);
        ResolvedUtc = JsonConverters.fromJson(json['ResolvedUtc'],'DateTime',context!);
        ResolvedBy = json['ResolvedBy'];
        ReopenedUtc = JsonConverters.fromJson(json['ReopenedUtc'],'DateTime',context!);
        Messages = JsonConverters.fromJson(json['Messages'],'List<DispatchIncidentMessageView>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'IncidentId': IncidentId,
        'Code': Code,
        'Kind': Kind,
        'KindDetail': KindDetail,
        'LoadId': LoadId,
        'LoadCode': LoadCode,
        'LoadStatus': LoadStatus,
        'SourceLabel': SourceLabel,
        'DestinationLabel': DestinationLabel,
        'QtyText': QtyText,
        'TruckCode': TruckCode,
        'TruckLabel': TruckLabel,
        'LocationText': LocationText,
        'Lat': Lat,
        'Lng': Lng,
        'DriverPref': DriverPref,
        'OpenedBy': OpenedBy,
        'OpenedVia': OpenedVia,
        'Resolver': Resolver,
        'Status': Status,
        'TruckRecovery': TruckRecovery,
        'TruckRecoveredUtc': JsonConverters.toJson(TruckRecoveredUtc,'DateTime',context!),
        'LoadRecovery': LoadRecovery,
        'LoadRecoveredUtc': JsonConverters.toJson(LoadRecoveredUtc,'DateTime',context!),
        'TransloadTruckCode': TransloadTruckCode,
        'HoldId': HoldId,
        'HoldCode': HoldCode,
        'PhotoCount': PhotoCount,
        'OpenedUtc': JsonConverters.toJson(OpenedUtc,'DateTime',context!),
        'ResolvedUtc': JsonConverters.toJson(ResolvedUtc,'DateTime',context!),
        'ResolvedBy': ResolvedBy,
        'ReopenedUtc': JsonConverters.toJson(ReopenedUtc,'DateTime',context!),
        'Messages': JsonConverters.toJson(Messages,'List<DispatchIncidentMessageView>',context!)
    };

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

class DispatchIncidentTruckView implements IConvertible
{
    String? Code;
    String? DriverName;
    String? Stage;
    String? OpenLoadCode;

    DispatchIncidentTruckView({this.Code,this.DriverName,this.Stage,this.OpenLoadCode});
    DispatchIncidentTruckView.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

class DispatchIncidentsResponse implements IConvertible
{
    List<DispatchIncidentView>? Incidents = [];
    List<DispatchIncidentTruckView>? EmptyTrucks = [];
    List<DispatchIncidentTruckView>? Trucks = [];
    String? TransloadTruckCode;
    ResponseStatus? ResponseStatus;

    DispatchIncidentsResponse({this.Incidents,this.EmptyTrucks,this.Trucks,this.TransloadTruckCode,this.ResponseStatus});
    DispatchIncidentsResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Incidents = JsonConverters.fromJson(json['Incidents'],'List<DispatchIncidentView>',context!);
        EmptyTrucks = JsonConverters.fromJson(json['EmptyTrucks'],'List<DispatchIncidentTruckView>',context!);
        Trucks = JsonConverters.fromJson(json['Trucks'],'List<DispatchIncidentTruckView>',context!);
        TransloadTruckCode = json['TransloadTruckCode'];
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Incidents': JsonConverters.toJson(Incidents,'List<DispatchIncidentView>',context!),
        'EmptyTrucks': JsonConverters.toJson(EmptyTrucks,'List<DispatchIncidentTruckView>',context!),
        'Trucks': JsonConverters.toJson(Trucks,'List<DispatchIncidentTruckView>',context!),
        'TransloadTruckCode': TransloadTruckCode,
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
    };

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

class DispatchIncidentTruckRequest implements IConvertible
{
    int? IncidentId;
    String? Action;
    String? EtaText;

    DispatchIncidentTruckRequest({this.IncidentId,this.Action,this.EtaText});
    DispatchIncidentTruckRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'IncidentId': IncidentId,
        'Action': Action,
        'EtaText': EtaText
    };

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

TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
    'DispatchIncidentMessageView': TypeInfo(TypeOf.Class, create:() => DispatchIncidentMessageView()),
    'DispatchIncidentView': TypeInfo(TypeOf.Class, create:() => DispatchIncidentView()),
    'List<DispatchIncidentMessageView>': TypeInfo(TypeOf.Class, create:() => <DispatchIncidentMessageView>[]),
    'DispatchIncidentTruckView': TypeInfo(TypeOf.Class, create:() => DispatchIncidentTruckView()),
    'DispatchIncidentsResponse': TypeInfo(TypeOf.Class, create:() => DispatchIncidentsResponse()),
    'List<DispatchIncidentView>': TypeInfo(TypeOf.Class, create:() => <DispatchIncidentView>[]),
    'List<DispatchIncidentTruckView>': TypeInfo(TypeOf.Class, create:() => <DispatchIncidentTruckView>[]),
    'DispatchIncidentTruckRequest': TypeInfo(TypeOf.Class, create:() => DispatchIncidentTruckRequest()),
});

Dart DispatchIncidentTruckRequest 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/incidents/{IncidentId}/truck HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	IncidentId: 0,
	Action: String,
	EtaText: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Incidents: 
	[
		{
			IncidentId: 0,
			Code: String,
			Kind: String,
			KindDetail: String,
			LoadId: 0,
			LoadCode: String,
			LoadStatus: String,
			SourceLabel: String,
			DestinationLabel: String,
			QtyText: String,
			TruckCode: String,
			TruckLabel: String,
			LocationText: String,
			Lat: 0,
			Lng: 0,
			DriverPref: String,
			OpenedBy: String,
			OpenedVia: String,
			Resolver: String,
			Status: String,
			TruckRecovery: String,
			TruckRecoveredUtc: 0001-01-01,
			LoadRecovery: String,
			LoadRecoveredUtc: 0001-01-01,
			TransloadTruckCode: String,
			HoldId: 0,
			HoldCode: String,
			PhotoCount: 0,
			OpenedUtc: 0001-01-01,
			ResolvedUtc: 0001-01-01,
			ResolvedBy: String,
			ReopenedUtc: 0001-01-01,
			Messages: 
			[
				{
					MessageId: 0,
					Who: String,
					Role: String,
					Msg: String,
					AtUtc: 0001-01-01
				}
			]
		}
	],
	EmptyTrucks: 
	[
		{
			Code: String,
			DriverName: String,
			Stage: String,
			OpenLoadCode: String
		}
	],
	Trucks: 
	[
		{
			Code: String,
			DriverName: String,
			Stage: String,
			OpenLoadCode: String
		}
	],
	TransloadTruckCode: String,
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}