/* Options: Date: 2026-06-13 16:20:43 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.dev.dynamics.trendsic.com //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: ServiceAgreementRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class ServiceAgreement implements IConvertible { int? AgreementID; String? AgreementUID; String? TenantId; String? BranchId; String? BranchName; int? ProjectID; String? ProjectName; String? Name; String? Status; String? PricingShape; double? MonthlyAmount; double? PerVisitAmount; String? SkipPolicy; int? SeasonStartMonth; int? SeasonStartDay; int? SeasonEndMonth; int? SeasonEndDay; String? RecurrenceFrequency; String? RecurrenceBy; String? RecurrenceByValue; DateTime? EffectiveStartDate; DateTime? EndDate; int? PreferredCrewID; String? PreferredCrewName; String? ExternalRef; String? CreatedBy; DateTime? CreatedAt; String? UpdatedBy; DateTime? UpdatedAt; DateTime? NextVisitDate; int? VisitsThisPeriod; ServiceAgreement({this.AgreementID,this.AgreementUID,this.TenantId,this.BranchId,this.BranchName,this.ProjectID,this.ProjectName,this.Name,this.Status,this.PricingShape,this.MonthlyAmount,this.PerVisitAmount,this.SkipPolicy,this.SeasonStartMonth,this.SeasonStartDay,this.SeasonEndMonth,this.SeasonEndDay,this.RecurrenceFrequency,this.RecurrenceBy,this.RecurrenceByValue,this.EffectiveStartDate,this.EndDate,this.PreferredCrewID,this.PreferredCrewName,this.ExternalRef,this.CreatedBy,this.CreatedAt,this.UpdatedBy,this.UpdatedAt,this.NextVisitDate,this.VisitsThisPeriod}); ServiceAgreement.fromJson(Map json) { fromMap(json); } fromMap(Map json) { AgreementID = json['AgreementID']; AgreementUID = json['AgreementUID']; TenantId = json['TenantId']; BranchId = json['BranchId']; BranchName = json['BranchName']; ProjectID = json['ProjectID']; ProjectName = json['ProjectName']; Name = json['Name']; Status = json['Status']; PricingShape = json['PricingShape']; MonthlyAmount = JsonConverters.toDouble(json['MonthlyAmount']); PerVisitAmount = JsonConverters.toDouble(json['PerVisitAmount']); SkipPolicy = json['SkipPolicy']; SeasonStartMonth = json['SeasonStartMonth']; SeasonStartDay = json['SeasonStartDay']; SeasonEndMonth = json['SeasonEndMonth']; SeasonEndDay = json['SeasonEndDay']; RecurrenceFrequency = json['RecurrenceFrequency']; RecurrenceBy = json['RecurrenceBy']; RecurrenceByValue = json['RecurrenceByValue']; EffectiveStartDate = JsonConverters.fromJson(json['EffectiveStartDate'],'DateTime',context!); EndDate = JsonConverters.fromJson(json['EndDate'],'DateTime',context!); PreferredCrewID = json['PreferredCrewID']; PreferredCrewName = json['PreferredCrewName']; ExternalRef = json['ExternalRef']; CreatedBy = json['CreatedBy']; CreatedAt = JsonConverters.fromJson(json['CreatedAt'],'DateTime',context!); UpdatedBy = json['UpdatedBy']; UpdatedAt = JsonConverters.fromJson(json['UpdatedAt'],'DateTime',context!); NextVisitDate = JsonConverters.fromJson(json['NextVisitDate'],'DateTime',context!); VisitsThisPeriod = json['VisitsThisPeriod']; return this; } Map toJson() => { 'AgreementID': AgreementID, 'AgreementUID': AgreementUID, 'TenantId': TenantId, 'BranchId': BranchId, 'BranchName': BranchName, 'ProjectID': ProjectID, 'ProjectName': ProjectName, 'Name': Name, 'Status': Status, 'PricingShape': PricingShape, 'MonthlyAmount': MonthlyAmount, 'PerVisitAmount': PerVisitAmount, 'SkipPolicy': SkipPolicy, 'SeasonStartMonth': SeasonStartMonth, 'SeasonStartDay': SeasonStartDay, 'SeasonEndMonth': SeasonEndMonth, 'SeasonEndDay': SeasonEndDay, 'RecurrenceFrequency': RecurrenceFrequency, 'RecurrenceBy': RecurrenceBy, 'RecurrenceByValue': RecurrenceByValue, 'EffectiveStartDate': JsonConverters.toJson(EffectiveStartDate,'DateTime',context!), 'EndDate': JsonConverters.toJson(EndDate,'DateTime',context!), 'PreferredCrewID': PreferredCrewID, 'PreferredCrewName': PreferredCrewName, 'ExternalRef': ExternalRef, 'CreatedBy': CreatedBy, 'CreatedAt': JsonConverters.toJson(CreatedAt,'DateTime',context!), 'UpdatedBy': UpdatedBy, 'UpdatedAt': JsonConverters.toJson(UpdatedAt,'DateTime',context!), 'NextVisitDate': JsonConverters.toJson(NextVisitDate,'DateTime',context!), 'VisitsThisPeriod': VisitsThisPeriod }; getTypeName() => "ServiceAgreement"; TypeContext? context = _ctx; } class ServiceAgreementResponse implements IConvertible { ResponseStatus? ResponseStatus; List? ServiceAgreement = []; ServiceAgreementResponse({this.ResponseStatus,this.ServiceAgreement}); ServiceAgreementResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); ServiceAgreement = JsonConverters.fromJson(json['ServiceAgreement'],'List',context!); return this; } Map toJson() => { 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!), 'ServiceAgreement': JsonConverters.toJson(ServiceAgreement,'List',context!) }; getTypeName() => "ServiceAgreementResponse"; TypeContext? context = _ctx; } // @Route("/v1/serviceagreement", "GET,POST,PUT,DELETE,OPTIONS") // @Route("/v1/serviceagreement/{AgreementID}", "GET,DELETE,OPTIONS") // @Route("/v1/project/{ProjectID}/agreements", "GET,OPTIONS") class ServiceAgreementRequest implements IReturn, IConvertible, IGet { int? AgreementID; int? ProjectID; List? ServiceAgreement = []; ServiceAgreementRequest({this.AgreementID,this.ProjectID,this.ServiceAgreement}); ServiceAgreementRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { AgreementID = json['AgreementID']; ProjectID = json['ProjectID']; ServiceAgreement = JsonConverters.fromJson(json['ServiceAgreement'],'List',context!); return this; } Map toJson() => { 'AgreementID': AgreementID, 'ProjectID': ProjectID, 'ServiceAgreement': JsonConverters.toJson(ServiceAgreement,'List',context!) }; createResponse() => ServiceAgreementResponse(); getResponseTypeName() => "ServiceAgreementResponse"; getTypeName() => "ServiceAgreementRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: { 'ServiceAgreement': TypeInfo(TypeOf.Class, create:() => ServiceAgreement()), 'ServiceAgreementResponse': TypeInfo(TypeOf.Class, create:() => ServiceAgreementResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ServiceAgreementRequest': TypeInfo(TypeOf.Class, create:() => ServiceAgreementRequest()), });