/* Options: Date: 2026-08-01 02:21:48 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: CoveragePolicyCreateRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class CoverageRingDef implements IConvertible { String? Key; String? Label; String? Sub; int? WaitMinutes; bool? Enabled; CoverageRingDef({this.Key,this.Label,this.Sub,this.WaitMinutes,this.Enabled}); CoverageRingDef.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Key = json['Key']; Label = json['Label']; Sub = json['Sub']; WaitMinutes = json['WaitMinutes']; Enabled = json['Enabled']; return this; } Map toJson() => { 'Key': Key, 'Label': Label, 'Sub': Sub, 'WaitMinutes': WaitMinutes, 'Enabled': Enabled }; getTypeName() => "CoverageRingDef"; TypeContext? context = _ctx; } class CoveragePolicyPrefs implements IConvertible { String? AssignmentMode; int? RestHours; int? OtThresholdHours; int? RingWaitMinutes; String? QuietStart; String? QuietEnd; bool? RescheduleAllowed; String? QuietMode; List? Rings = []; CoveragePolicyPrefs({this.AssignmentMode,this.RestHours,this.OtThresholdHours,this.RingWaitMinutes,this.QuietStart,this.QuietEnd,this.RescheduleAllowed,this.QuietMode,this.Rings}); CoveragePolicyPrefs.fromJson(Map json) { fromMap(json); } fromMap(Map json) { AssignmentMode = json['AssignmentMode']; RestHours = json['RestHours']; OtThresholdHours = json['OtThresholdHours']; RingWaitMinutes = json['RingWaitMinutes']; QuietStart = json['QuietStart']; QuietEnd = json['QuietEnd']; RescheduleAllowed = json['RescheduleAllowed']; QuietMode = json['QuietMode']; Rings = JsonConverters.fromJson(json['Rings'],'List',context!); return this; } Map toJson() => { 'AssignmentMode': AssignmentMode, 'RestHours': RestHours, 'OtThresholdHours': OtThresholdHours, 'RingWaitMinutes': RingWaitMinutes, 'QuietStart': QuietStart, 'QuietEnd': QuietEnd, 'RescheduleAllowed': RescheduleAllowed, 'QuietMode': QuietMode, 'Rings': JsonConverters.toJson(Rings,'List',context!) }; getTypeName() => "CoveragePolicyPrefs"; TypeContext? context = _ctx; } class CoverageRuleDocSection implements IConvertible { String? H; String? T; CoverageRuleDocSection({this.H,this.T}); CoverageRuleDocSection.fromJson(Map json) { fromMap(json); } fromMap(Map json) { H = json['H']; T = json['T']; return this; } Map toJson() => { 'H': H, 'T': T }; getTypeName() => "CoverageRuleDocSection"; TypeContext? context = _ctx; } class CoverageRuleTuneOption implements IConvertible { String? Label; String? Sub; CoverageRuleTuneOption({this.Label,this.Sub}); CoverageRuleTuneOption.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Label = json['Label']; Sub = json['Sub']; return this; } Map toJson() => { 'Label': Label, 'Sub': Sub }; getTypeName() => "CoverageRuleTuneOption"; TypeContext? context = _ctx; } class CoverageRuleTune implements IConvertible { String? Intro; List? Options = []; CoverageRuleTune({this.Intro,this.Options}); CoverageRuleTune.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Intro = json['Intro']; Options = JsonConverters.fromJson(json['Options'],'List',context!); return this; } Map toJson() => { 'Intro': Intro, 'Options': JsonConverters.toJson(Options,'List',context!) }; getTypeName() => "CoverageRuleTune"; TypeContext? context = _ctx; } class CoverageRuleDef implements IConvertible { String? RuleId; String? Name; String? Kind; String? Demand; String? SourcePolicyName; String? CascadeLevel; String? Why; String? Change; String? OverrideWho; String? OverrideConsequence; String? NoNote; Map? Params = {}; List? Doc = []; CoverageRuleTune? Tune; CoverageRuleDef({this.RuleId,this.Name,this.Kind,this.Demand,this.SourcePolicyName,this.CascadeLevel,this.Why,this.Change,this.OverrideWho,this.OverrideConsequence,this.NoNote,this.Params,this.Doc,this.Tune}); CoverageRuleDef.fromJson(Map json) { fromMap(json); } fromMap(Map json) { RuleId = json['RuleId']; Name = json['Name']; Kind = json['Kind']; Demand = json['Demand']; SourcePolicyName = json['SourcePolicyName']; CascadeLevel = json['CascadeLevel']; Why = json['Why']; Change = json['Change']; OverrideWho = json['OverrideWho']; OverrideConsequence = json['OverrideConsequence']; NoNote = json['NoNote']; Params = JsonConverters.toStringMap(json['Params']); Doc = JsonConverters.fromJson(json['Doc'],'List',context!); Tune = JsonConverters.fromJson(json['Tune'],'CoverageRuleTune',context!); return this; } Map toJson() => { 'RuleId': RuleId, 'Name': Name, 'Kind': Kind, 'Demand': Demand, 'SourcePolicyName': SourcePolicyName, 'CascadeLevel': CascadeLevel, 'Why': Why, 'Change': Change, 'OverrideWho': OverrideWho, 'OverrideConsequence': OverrideConsequence, 'NoNote': NoNote, 'Params': Params, 'Doc': JsonConverters.toJson(Doc,'List',context!), 'Tune': JsonConverters.toJson(Tune,'CoverageRuleTune',context!) }; getTypeName() => "CoverageRuleDef"; TypeContext? context = _ctx; } class CoveragePolicyDoc implements IConvertible { String? Intro; String? LockLine; String? TemplateName; CoveragePolicyPrefs? Prefs; List? Rules = []; CoveragePolicyDoc({this.Intro,this.LockLine,this.TemplateName,this.Prefs,this.Rules}); CoveragePolicyDoc.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Intro = json['Intro']; LockLine = json['LockLine']; TemplateName = json['TemplateName']; Prefs = JsonConverters.fromJson(json['Prefs'],'CoveragePolicyPrefs',context!); Rules = JsonConverters.fromJson(json['Rules'],'List',context!); return this; } Map toJson() => { 'Intro': Intro, 'LockLine': LockLine, 'TemplateName': TemplateName, 'Prefs': JsonConverters.toJson(Prefs,'CoveragePolicyPrefs',context!), 'Rules': JsonConverters.toJson(Rules,'List',context!) }; getTypeName() => "CoveragePolicyDoc"; TypeContext? context = _ctx; } class CoveragePolicy implements IConvertible { int? CoveragePolicyId; String? CoveragePolicyUID; String? Name; String? ScopeLevel; String? BranchId; String? BranchName; String? WorkTypeKey; int? JobID; String? JobName; int? CurrentVersion; bool? IsActive; DateTime? CreatedAt; DateTime? UpdatedAt; CoveragePolicy({this.CoveragePolicyId,this.CoveragePolicyUID,this.Name,this.ScopeLevel,this.BranchId,this.BranchName,this.WorkTypeKey,this.JobID,this.JobName,this.CurrentVersion,this.IsActive,this.CreatedAt,this.UpdatedAt}); CoveragePolicy.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CoveragePolicyId = json['CoveragePolicyId']; CoveragePolicyUID = json['CoveragePolicyUID']; Name = json['Name']; ScopeLevel = json['ScopeLevel']; BranchId = json['BranchId']; BranchName = json['BranchName']; WorkTypeKey = json['WorkTypeKey']; JobID = json['JobID']; JobName = json['JobName']; CurrentVersion = json['CurrentVersion']; IsActive = json['IsActive']; CreatedAt = JsonConverters.fromJson(json['CreatedAt'],'DateTime',context!); UpdatedAt = JsonConverters.fromJson(json['UpdatedAt'],'DateTime',context!); return this; } Map toJson() => { 'CoveragePolicyId': CoveragePolicyId, 'CoveragePolicyUID': CoveragePolicyUID, 'Name': Name, 'ScopeLevel': ScopeLevel, 'BranchId': BranchId, 'BranchName': BranchName, 'WorkTypeKey': WorkTypeKey, 'JobID': JobID, 'JobName': JobName, 'CurrentVersion': CurrentVersion, 'IsActive': IsActive, 'CreatedAt': JsonConverters.toJson(CreatedAt,'DateTime',context!), 'UpdatedAt': JsonConverters.toJson(UpdatedAt,'DateTime',context!) }; getTypeName() => "CoveragePolicy"; TypeContext? context = _ctx; } class CoveragePolicyVersionInfo implements IConvertible { int? CoveragePolicyVersionId; int? CoveragePolicyId; int? VersionNumber; String? ChangeNote; String? ChangedByName; DateTime? CreatedAtUtc; CoveragePolicyDoc? Doc; CoveragePolicyVersionInfo({this.CoveragePolicyVersionId,this.CoveragePolicyId,this.VersionNumber,this.ChangeNote,this.ChangedByName,this.CreatedAtUtc,this.Doc}); CoveragePolicyVersionInfo.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CoveragePolicyVersionId = json['CoveragePolicyVersionId']; CoveragePolicyId = json['CoveragePolicyId']; VersionNumber = json['VersionNumber']; ChangeNote = json['ChangeNote']; ChangedByName = json['ChangedByName']; CreatedAtUtc = JsonConverters.fromJson(json['CreatedAtUtc'],'DateTime',context!); Doc = JsonConverters.fromJson(json['Doc'],'CoveragePolicyDoc',context!); return this; } Map toJson() => { 'CoveragePolicyVersionId': CoveragePolicyVersionId, 'CoveragePolicyId': CoveragePolicyId, 'VersionNumber': VersionNumber, 'ChangeNote': ChangeNote, 'ChangedByName': ChangedByName, 'CreatedAtUtc': JsonConverters.toJson(CreatedAtUtc,'DateTime',context!), 'Doc': JsonConverters.toJson(Doc,'CoveragePolicyDoc',context!) }; getTypeName() => "CoveragePolicyVersionInfo"; TypeContext? context = _ctx; } class CoverageCascadeResponse implements IConvertible { CoveragePolicy? Policy; CoveragePolicyDoc? Doc; int? VersionNumber; List? Versions = []; ResponseStatus? ResponseStatus; CoverageCascadeResponse({this.Policy,this.Doc,this.VersionNumber,this.Versions,this.ResponseStatus}); CoverageCascadeResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Policy = JsonConverters.fromJson(json['Policy'],'CoveragePolicy',context!); Doc = JsonConverters.fromJson(json['Doc'],'CoveragePolicyDoc',context!); VersionNumber = json['VersionNumber']; Versions = JsonConverters.fromJson(json['Versions'],'List',context!); ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); return this; } Map toJson() => { 'Policy': JsonConverters.toJson(Policy,'CoveragePolicy',context!), 'Doc': JsonConverters.toJson(Doc,'CoveragePolicyDoc',context!), 'VersionNumber': VersionNumber, 'Versions': JsonConverters.toJson(Versions,'List',context!), 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!) }; getTypeName() => "CoverageCascadeResponse"; TypeContext? context = _ctx; } // @Route("/v1/coverage/policies", "POST") class CoveragePolicyCreateRequest implements IReturn, IConvertible, IPost { String? Name; String? ScopeLevel; String? BranchId; String? WorkTypeKey; int? JobID; CoveragePolicyDoc? Doc; String? ChangeNote; CoveragePolicyCreateRequest({this.Name,this.ScopeLevel,this.BranchId,this.WorkTypeKey,this.JobID,this.Doc,this.ChangeNote}); CoveragePolicyCreateRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Name = json['Name']; ScopeLevel = json['ScopeLevel']; BranchId = json['BranchId']; WorkTypeKey = json['WorkTypeKey']; JobID = json['JobID']; Doc = JsonConverters.fromJson(json['Doc'],'CoveragePolicyDoc',context!); ChangeNote = json['ChangeNote']; return this; } Map toJson() => { 'Name': Name, 'ScopeLevel': ScopeLevel, 'BranchId': BranchId, 'WorkTypeKey': WorkTypeKey, 'JobID': JobID, 'Doc': JsonConverters.toJson(Doc,'CoveragePolicyDoc',context!), 'ChangeNote': ChangeNote }; createResponse() => CoverageCascadeResponse(); getResponseTypeName() => "CoverageCascadeResponse"; getTypeName() => "CoveragePolicyCreateRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: { 'CoverageRingDef': TypeInfo(TypeOf.Class, create:() => CoverageRingDef()), 'CoveragePolicyPrefs': TypeInfo(TypeOf.Class, create:() => CoveragePolicyPrefs()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'CoverageRuleDocSection': TypeInfo(TypeOf.Class, create:() => CoverageRuleDocSection()), 'CoverageRuleTuneOption': TypeInfo(TypeOf.Class, create:() => CoverageRuleTuneOption()), 'CoverageRuleTune': TypeInfo(TypeOf.Class, create:() => CoverageRuleTune()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'CoverageRuleDef': TypeInfo(TypeOf.Class, create:() => CoverageRuleDef()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'CoveragePolicyDoc': TypeInfo(TypeOf.Class, create:() => CoveragePolicyDoc()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'CoveragePolicy': TypeInfo(TypeOf.Class, create:() => CoveragePolicy()), 'CoveragePolicyVersionInfo': TypeInfo(TypeOf.Class, create:() => CoveragePolicyVersionInfo()), 'CoverageCascadeResponse': TypeInfo(TypeOf.Class, create:() => CoverageCascadeResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'CoveragePolicyCreateRequest': TypeInfo(TypeOf.Class, create:() => CoveragePolicyCreateRequest()), });