Trendsic Platform Service

<back to all web services

AgreementPlannerRequest

Requires Authentication
The following routes are available for this service:
GET,OPTIONS/v1/serviceagreement/planner
import 'package:servicestack/servicestack.dart';

class AgreementPlannerRow implements IConvertible
{
    int? AgreementID;
    String? Name;
    String? ProjectName;
    String? ServiceType;
    String? Area;
    String? Zip;
    String? Frequency;
    String? NextDueIso;
    String? NextDueLabel;
    bool? Overdue;
    int? DurationMin;
    List<int>? EligibleDow = [];
    int? ScheduledDow;
    bool? WeeklyAll;
    bool? DueThisWeek;
    int? AssignedCrewID;
    String? AssignedCrewName;
    int? ThisWeekJobID;
    int? ThisWeekBackingJobID;
    String? ThisWeekOccIso;
    String? ThisWeekStandingIso;
    int? StandingDow;
    bool? Moved;

    AgreementPlannerRow({this.AgreementID,this.Name,this.ProjectName,this.ServiceType,this.Area,this.Zip,this.Frequency,this.NextDueIso,this.NextDueLabel,this.Overdue,this.DurationMin,this.EligibleDow,this.ScheduledDow,this.WeeklyAll,this.DueThisWeek,this.AssignedCrewID,this.AssignedCrewName,this.ThisWeekJobID,this.ThisWeekBackingJobID,this.ThisWeekOccIso,this.ThisWeekStandingIso,this.StandingDow,this.Moved});
    AgreementPlannerRow.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        AgreementID = json['AgreementID'];
        Name = json['Name'];
        ProjectName = json['ProjectName'];
        ServiceType = json['ServiceType'];
        Area = json['Area'];
        Zip = json['Zip'];
        Frequency = json['Frequency'];
        NextDueIso = json['NextDueIso'];
        NextDueLabel = json['NextDueLabel'];
        Overdue = json['Overdue'];
        DurationMin = json['DurationMin'];
        EligibleDow = JsonConverters.fromJson(json['EligibleDow'],'List<int>',context!);
        ScheduledDow = json['ScheduledDow'];
        WeeklyAll = json['WeeklyAll'];
        DueThisWeek = json['DueThisWeek'];
        AssignedCrewID = json['AssignedCrewID'];
        AssignedCrewName = json['AssignedCrewName'];
        ThisWeekJobID = json['ThisWeekJobID'];
        ThisWeekBackingJobID = json['ThisWeekBackingJobID'];
        ThisWeekOccIso = json['ThisWeekOccIso'];
        ThisWeekStandingIso = json['ThisWeekStandingIso'];
        StandingDow = json['StandingDow'];
        Moved = json['Moved'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'AgreementID': AgreementID,
        'Name': Name,
        'ProjectName': ProjectName,
        'ServiceType': ServiceType,
        'Area': Area,
        'Zip': Zip,
        'Frequency': Frequency,
        'NextDueIso': NextDueIso,
        'NextDueLabel': NextDueLabel,
        'Overdue': Overdue,
        'DurationMin': DurationMin,
        'EligibleDow': JsonConverters.toJson(EligibleDow,'List<int>',context!),
        'ScheduledDow': ScheduledDow,
        'WeeklyAll': WeeklyAll,
        'DueThisWeek': DueThisWeek,
        'AssignedCrewID': AssignedCrewID,
        'AssignedCrewName': AssignedCrewName,
        'ThisWeekJobID': ThisWeekJobID,
        'ThisWeekBackingJobID': ThisWeekBackingJobID,
        'ThisWeekOccIso': ThisWeekOccIso,
        'ThisWeekStandingIso': ThisWeekStandingIso,
        'StandingDow': StandingDow,
        'Moved': Moved
    };

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

class AgreementPlannerCrew implements IConvertible
{
    int? CrewID;
    String? CrewName;
    String? CrewColor;

    AgreementPlannerCrew({this.CrewID,this.CrewName,this.CrewColor});
    AgreementPlannerCrew.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

class AgreementPlannerResponse implements IConvertible
{
    ResponseStatus? ResponseStatus;
    String? FromIso;
    String? ToIso;
    int? WeekdayCapacity;
    List<AgreementPlannerRow>? Rows = [];
    List<AgreementPlannerCrew>? Crews = [];

    AgreementPlannerResponse({this.ResponseStatus,this.FromIso,this.ToIso,this.WeekdayCapacity,this.Rows,this.Crews});
    AgreementPlannerResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        FromIso = json['FromIso'];
        ToIso = json['ToIso'];
        WeekdayCapacity = json['WeekdayCapacity'];
        Rows = JsonConverters.fromJson(json['Rows'],'List<AgreementPlannerRow>',context!);
        Crews = JsonConverters.fromJson(json['Crews'],'List<AgreementPlannerCrew>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
        'FromIso': FromIso,
        'ToIso': ToIso,
        'WeekdayCapacity': WeekdayCapacity,
        'Rows': JsonConverters.toJson(Rows,'List<AgreementPlannerRow>',context!),
        'Crews': JsonConverters.toJson(Crews,'List<AgreementPlannerCrew>',context!)
    };

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

class AgreementPlannerRequest implements IConvertible
{
    String? From;
    String? Scope;

    AgreementPlannerRequest({this.From,this.Scope});
    AgreementPlannerRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

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

Dart AgreementPlannerRequest 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/serviceagreement/planner HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	},
	FromIso: String,
	ToIso: String,
	WeekdayCapacity: 0,
	Rows: 
	[
		{
			AgreementID: 0,
			Name: String,
			ProjectName: String,
			ServiceType: String,
			Area: String,
			Zip: String,
			Frequency: String,
			NextDueIso: String,
			NextDueLabel: String,
			Overdue: False,
			DurationMin: 0,
			EligibleDow: 
			[
				0
			],
			ScheduledDow: 0,
			WeeklyAll: False,
			DueThisWeek: False,
			AssignedCrewID: 0,
			AssignedCrewName: String,
			ThisWeekJobID: 0,
			ThisWeekBackingJobID: 0,
			ThisWeekOccIso: String,
			ThisWeekStandingIso: String,
			StandingDow: 0,
			Moved: False
		}
	],
	Crews: 
	[
		{
			CrewID: 0,
			CrewName: String,
			CrewColor: String
		}
	]
}