Trendsic Platform Service

<back to all web services

RoutePlanOptimizeRequest

Requires Authentication
The following routes are available for this service:
POST,OPTIONS/v1/routeplan/optimize
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

class RoutePlanOptimizeAssignment implements IConvertible
{
    int? AgreementID;
    int? CrewID;
    int? Seq;

    RoutePlanOptimizeAssignment({this.AgreementID,this.CrewID,this.Seq});
    RoutePlanOptimizeAssignment.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'AgreementID': AgreementID,
        'CrewID': CrewID,
        'Seq': Seq
    };

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

class RoutePlanOptimizeResponse implements IConvertible
{
    List<RoutePlanOptimizeAssignment>? Assignments = [];
    int? ByDefaultCrew;
    int? ByTerritory;
    int? SkippedHeld;
    String? Engine;
    ResponseStatus? ResponseStatus;

    RoutePlanOptimizeResponse({this.Assignments,this.ByDefaultCrew,this.ByTerritory,this.SkippedHeld,this.Engine,this.ResponseStatus});
    RoutePlanOptimizeResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Assignments = JsonConverters.fromJson(json['Assignments'],'List<RoutePlanOptimizeAssignment>',context!);
        ByDefaultCrew = json['ByDefaultCrew'];
        ByTerritory = json['ByTerritory'];
        SkippedHeld = json['SkippedHeld'];
        Engine = json['Engine'];
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Assignments': JsonConverters.toJson(Assignments,'List<RoutePlanOptimizeAssignment>',context!),
        'ByDefaultCrew': ByDefaultCrew,
        'ByTerritory': ByTerritory,
        'SkippedHeld': SkippedHeld,
        'Engine': Engine,
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
    };

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

class RoutePlanOptimizeRequest implements IConvertible
{
    String? DateIso;
    int? HoldDays;

    RoutePlanOptimizeRequest({this.DateIso,this.HoldDays});
    RoutePlanOptimizeRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

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

Dart RoutePlanOptimizeRequest DTOs

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

HTTP + XML

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

POST /v1/routeplan/optimize HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<RoutePlanOptimizeRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
  <DateIso>String</DateIso>
  <HoldDays>0</HoldDays>
</RoutePlanOptimizeRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<RoutePlanOptimizeResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
  <Assignments>
    <RoutePlanOptimizeAssignment>
      <AgreementID>0</AgreementID>
      <CrewID>0</CrewID>
      <Seq>0</Seq>
    </RoutePlanOptimizeAssignment>
  </Assignments>
  <ByDefaultCrew>0</ByDefaultCrew>
  <ByTerritory>0</ByTerritory>
  <Engine>String</Engine>
  <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
    <d2p1:ErrorCode>String</d2p1:ErrorCode>
    <d2p1:Message>String</d2p1:Message>
    <d2p1:StackTrace>String</d2p1:StackTrace>
    <d2p1:Errors>
      <d2p1:ResponseError>
        <d2p1:ErrorCode>String</d2p1:ErrorCode>
        <d2p1:FieldName>String</d2p1:FieldName>
        <d2p1:Message>String</d2p1:Message>
        <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </d2p1:Meta>
      </d2p1:ResponseError>
    </d2p1:Errors>
    <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </d2p1:Meta>
  </ResponseStatus>
  <SkippedHeld>0</SkippedHeld>
</RoutePlanOptimizeResponse>