/* Options: Date: 2026-08-01 09:41:03 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: RfpAddendaListRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:typed_data */ import 'package:servicestack/servicestack.dart'; import 'dart:typed_data'; class AddendaChange implements IConvertible { String? ChangeId; String? ChangeType; int? TargetSeq; String? ItemNumber; String? ItemName; String? Field; String? OldValue; String? NewValue; String? Description; String? Status; AddendaChange({this.ChangeId,this.ChangeType,this.TargetSeq,this.ItemNumber,this.ItemName,this.Field,this.OldValue,this.NewValue,this.Description,this.Status}); AddendaChange.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ChangeId = json['ChangeId']; ChangeType = json['ChangeType']; TargetSeq = json['TargetSeq']; ItemNumber = json['ItemNumber']; ItemName = json['ItemName']; Field = json['Field']; OldValue = json['OldValue']; NewValue = json['NewValue']; Description = json['Description']; Status = json['Status']; return this; } Map toJson() => { 'ChangeId': ChangeId, 'ChangeType': ChangeType, 'TargetSeq': TargetSeq, 'ItemNumber': ItemNumber, 'ItemName': ItemName, 'Field': Field, 'OldValue': OldValue, 'NewValue': NewValue, 'Description': Description, 'Status': Status }; getTypeName() => "AddendaChange"; TypeContext? context = _ctx; } class AddendaChangeSet implements IConvertible { String? ChangeSetId; int? SourceRfpDocumentID; String? SourceFileName; String? DocumentType; DateTime? ExtractedAtUtc; String? Summary; List? Changes = []; AddendaChangeSet({this.ChangeSetId,this.SourceRfpDocumentID,this.SourceFileName,this.DocumentType,this.ExtractedAtUtc,this.Summary,this.Changes}); AddendaChangeSet.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ChangeSetId = json['ChangeSetId']; SourceRfpDocumentID = json['SourceRfpDocumentID']; SourceFileName = json['SourceFileName']; DocumentType = json['DocumentType']; ExtractedAtUtc = JsonConverters.fromJson(json['ExtractedAtUtc'],'DateTime',context!); Summary = json['Summary']; Changes = JsonConverters.fromJson(json['Changes'],'List',context!); return this; } Map toJson() => { 'ChangeSetId': ChangeSetId, 'SourceRfpDocumentID': SourceRfpDocumentID, 'SourceFileName': SourceFileName, 'DocumentType': DocumentType, 'ExtractedAtUtc': JsonConverters.toJson(ExtractedAtUtc,'DateTime',context!), 'Summary': Summary, 'Changes': JsonConverters.toJson(Changes,'List',context!) }; getTypeName() => "AddendaChangeSet"; TypeContext? context = _ctx; } class WageClassification implements IConvertible { String? Title; double? BaseRate; double? FringeRate; String? ParishNote; String? SourceLine; double? BenchmarkFringeRate; String? FringeCompareNote; WageClassification({this.Title,this.BaseRate,this.FringeRate,this.ParishNote,this.SourceLine,this.BenchmarkFringeRate,this.FringeCompareNote}); WageClassification.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Title = json['Title']; BaseRate = JsonConverters.toDouble(json['BaseRate']); FringeRate = JsonConverters.toDouble(json['FringeRate']); ParishNote = json['ParishNote']; SourceLine = json['SourceLine']; BenchmarkFringeRate = JsonConverters.toDouble(json['BenchmarkFringeRate']); FringeCompareNote = json['FringeCompareNote']; return this; } Map toJson() => { 'Title': Title, 'BaseRate': BaseRate, 'FringeRate': FringeRate, 'ParishNote': ParishNote, 'SourceLine': SourceLine, 'BenchmarkFringeRate': BenchmarkFringeRate, 'FringeCompareNote': FringeCompareNote }; getTypeName() => "WageClassification"; TypeContext? context = _ctx; } class WageDeterminationResult implements IConvertible { int? SourceRfpDocumentID; String? SourceFileName; String? WdNumber; DateTime? ExtractedAtUtc; List? Classifications = []; String? Source; bool? IsTrustworthy; double? ExecutiveOrderFloor; String? PublishedDate; String? ProjectParish; List? Warnings = []; WageDeterminationResult({this.SourceRfpDocumentID,this.SourceFileName,this.WdNumber,this.ExtractedAtUtc,this.Classifications,this.Source,this.IsTrustworthy,this.ExecutiveOrderFloor,this.PublishedDate,this.ProjectParish,this.Warnings}); WageDeterminationResult.fromJson(Map json) { fromMap(json); } fromMap(Map json) { SourceRfpDocumentID = json['SourceRfpDocumentID']; SourceFileName = json['SourceFileName']; WdNumber = json['WdNumber']; ExtractedAtUtc = JsonConverters.fromJson(json['ExtractedAtUtc'],'DateTime',context!); Classifications = JsonConverters.fromJson(json['Classifications'],'List',context!); Source = json['Source']; IsTrustworthy = json['IsTrustworthy']; ExecutiveOrderFloor = JsonConverters.toDouble(json['ExecutiveOrderFloor']); PublishedDate = json['PublishedDate']; ProjectParish = json['ProjectParish']; Warnings = JsonConverters.fromJson(json['Warnings'],'List',context!); return this; } Map toJson() => { 'SourceRfpDocumentID': SourceRfpDocumentID, 'SourceFileName': SourceFileName, 'WdNumber': WdNumber, 'ExtractedAtUtc': JsonConverters.toJson(ExtractedAtUtc,'DateTime',context!), 'Classifications': JsonConverters.toJson(Classifications,'List',context!), 'Source': Source, 'IsTrustworthy': IsTrustworthy, 'ExecutiveOrderFloor': ExecutiveOrderFloor, 'PublishedDate': PublishedDate, 'ProjectParish': ProjectParish, 'Warnings': JsonConverters.toJson(Warnings,'List',context!) }; getTypeName() => "WageDeterminationResult"; TypeContext? context = _ctx; } class RfpAddendaResponse implements IConvertible { ResponseStatus? ResponseStatus; int? RfpDocumentID; List? Diffs = []; List? WageDeterminations = []; String? Message; bool? Reflowed; RfpAddendaResponse({this.ResponseStatus,this.RfpDocumentID,this.Diffs,this.WageDeterminations,this.Message,this.Reflowed}); RfpAddendaResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); RfpDocumentID = json['RfpDocumentID']; Diffs = JsonConverters.fromJson(json['Diffs'],'List',context!); WageDeterminations = JsonConverters.fromJson(json['WageDeterminations'],'List',context!); Message = json['Message']; Reflowed = json['Reflowed']; return this; } Map toJson() => { 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!), 'RfpDocumentID': RfpDocumentID, 'Diffs': JsonConverters.toJson(Diffs,'List',context!), 'WageDeterminations': JsonConverters.toJson(WageDeterminations,'List',context!), 'Message': Message, 'Reflowed': Reflowed }; getTypeName() => "RfpAddendaResponse"; TypeContext? context = _ctx; } // @Route("/v1/Rfp/{RfpDocumentUID}/Addenda", "GET,OPTIONS") class RfpAddendaListRequest implements IReturn, IConvertible, IGet { String? RfpDocumentUID; RfpAddendaListRequest({this.RfpDocumentUID}); RfpAddendaListRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { RfpDocumentUID = json['RfpDocumentUID']; return this; } Map toJson() => { 'RfpDocumentUID': RfpDocumentUID }; createResponse() => RfpAddendaResponse(); getResponseTypeName() => "RfpAddendaResponse"; getTypeName() => "RfpAddendaListRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: { 'AddendaChange': TypeInfo(TypeOf.Class, create:() => AddendaChange()), 'AddendaChangeSet': TypeInfo(TypeOf.Class, create:() => AddendaChangeSet()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'WageClassification': TypeInfo(TypeOf.Class, create:() => WageClassification()), 'WageDeterminationResult': TypeInfo(TypeOf.Class, create:() => WageDeterminationResult()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'RfpAddendaResponse': TypeInfo(TypeOf.Class, create:() => RfpAddendaResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'RfpAddendaListRequest': TypeInfo(TypeOf.Class, create:() => RfpAddendaListRequest()), });