/* Options: Date: 2026-07-08 21:38:17 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: StaffBoardRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class StaffPosition implements IConvertible { int? PlaceholderContactID; int? JobID; int? ProjectID; String? JobName; String? PositionTag; List? Skills = []; double? BudgetedHours; double? TargetRate; String? StartDate; String? EndDate; String? WindowText; int? ResponsesActionable; String? PostingStatus; int? ApplicantTotal; int? ApplicantStrong; bool? Filled; StaffPosition({this.PlaceholderContactID,this.JobID,this.ProjectID,this.JobName,this.PositionTag,this.Skills,this.BudgetedHours,this.TargetRate,this.StartDate,this.EndDate,this.WindowText,this.ResponsesActionable,this.PostingStatus,this.ApplicantTotal,this.ApplicantStrong,this.Filled}); StaffPosition.fromJson(Map json) { fromMap(json); } fromMap(Map json) { PlaceholderContactID = json['PlaceholderContactID']; JobID = json['JobID']; ProjectID = json['ProjectID']; JobName = json['JobName']; PositionTag = json['PositionTag']; Skills = JsonConverters.fromJson(json['Skills'],'List',context!); BudgetedHours = JsonConverters.toDouble(json['BudgetedHours']); TargetRate = JsonConverters.toDouble(json['TargetRate']); StartDate = json['StartDate']; EndDate = json['EndDate']; WindowText = json['WindowText']; ResponsesActionable = json['ResponsesActionable']; PostingStatus = json['PostingStatus']; ApplicantTotal = json['ApplicantTotal']; ApplicantStrong = json['ApplicantStrong']; Filled = json['Filled']; return this; } Map toJson() => { 'PlaceholderContactID': PlaceholderContactID, 'JobID': JobID, 'ProjectID': ProjectID, 'JobName': JobName, 'PositionTag': PositionTag, 'Skills': JsonConverters.toJson(Skills,'List',context!), 'BudgetedHours': BudgetedHours, 'TargetRate': TargetRate, 'StartDate': StartDate, 'EndDate': EndDate, 'WindowText': WindowText, 'ResponsesActionable': ResponsesActionable, 'PostingStatus': PostingStatus, 'ApplicantTotal': ApplicantTotal, 'ApplicantStrong': ApplicantStrong, 'Filled': Filled }; getTypeName() => "StaffPosition"; TypeContext? context = _ctx; } class StaffBoardResponse implements IConvertible { ResponseStatus? ResponseStatus; List? Positions = []; int? OpenCount; int? ResponsesActionable; int? ProjectID; StaffBoardResponse({this.ResponseStatus,this.Positions,this.OpenCount,this.ResponsesActionable,this.ProjectID}); StaffBoardResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); Positions = JsonConverters.fromJson(json['Positions'],'List',context!); OpenCount = json['OpenCount']; ResponsesActionable = json['ResponsesActionable']; ProjectID = json['ProjectID']; return this; } Map toJson() => { 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!), 'Positions': JsonConverters.toJson(Positions,'List',context!), 'OpenCount': OpenCount, 'ResponsesActionable': ResponsesActionable, 'ProjectID': ProjectID }; getTypeName() => "StaffBoardResponse"; TypeContext? context = _ctx; } // @Route("/v1/staff/board/{ProjectUID}", "GET,OPTIONS") class StaffBoardRequest implements IReturn, IConvertible, IGet { String? ProjectUID; StaffBoardRequest({this.ProjectUID}); StaffBoardRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ProjectUID = json['ProjectUID']; return this; } Map toJson() => { 'ProjectUID': ProjectUID }; createResponse() => StaffBoardResponse(); getResponseTypeName() => "StaffBoardResponse"; getTypeName() => "StaffBoardRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: { 'StaffPosition': TypeInfo(TypeOf.Class, create:() => StaffPosition()), 'StaffBoardResponse': TypeInfo(TypeOf.Class, create:() => StaffBoardResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'StaffBoardRequest': TypeInfo(TypeOf.Class, create:() => StaffBoardRequest()), });