/* Options: Date: 2026-06-22 20:50:04 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: VisitBoardRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class VisitCard implements IConvertible { String? VisitKey; int? JobID; int? ProjectID; String? ProjectUID; int? AgreementJobID; String? ScheduledDate; String? CustomerName; String? JobName; String? LocationName; String? City; String? Zip; double? Lat; double? Lng; int? CrewID; String? CrewName; int? SortOrder; String? Status; int? DurationMinutes; String? EtaWindow; bool? IsCommercial; VisitCard({this.VisitKey,this.JobID,this.ProjectID,this.ProjectUID,this.AgreementJobID,this.ScheduledDate,this.CustomerName,this.JobName,this.LocationName,this.City,this.Zip,this.Lat,this.Lng,this.CrewID,this.CrewName,this.SortOrder,this.Status,this.DurationMinutes,this.EtaWindow,this.IsCommercial}); VisitCard.fromJson(Map json) { fromMap(json); } fromMap(Map json) { VisitKey = json['VisitKey']; JobID = json['JobID']; ProjectID = json['ProjectID']; ProjectUID = json['ProjectUID']; AgreementJobID = json['AgreementJobID']; ScheduledDate = json['ScheduledDate']; CustomerName = json['CustomerName']; JobName = json['JobName']; LocationName = json['LocationName']; City = json['City']; Zip = json['Zip']; Lat = JsonConverters.toDouble(json['Lat']); Lng = JsonConverters.toDouble(json['Lng']); CrewID = json['CrewID']; CrewName = json['CrewName']; SortOrder = json['SortOrder']; Status = json['Status']; DurationMinutes = json['DurationMinutes']; EtaWindow = json['EtaWindow']; IsCommercial = json['IsCommercial']; return this; } Map toJson() => { 'VisitKey': VisitKey, 'JobID': JobID, 'ProjectID': ProjectID, 'ProjectUID': ProjectUID, 'AgreementJobID': AgreementJobID, 'ScheduledDate': ScheduledDate, 'CustomerName': CustomerName, 'JobName': JobName, 'LocationName': LocationName, 'City': City, 'Zip': Zip, 'Lat': Lat, 'Lng': Lng, 'CrewID': CrewID, 'CrewName': CrewName, 'SortOrder': SortOrder, 'Status': Status, 'DurationMinutes': DurationMinutes, 'EtaWindow': EtaWindow, 'IsCommercial': IsCommercial }; getTypeName() => "VisitCard"; TypeContext? context = _ctx; } class CrewColumn implements IConvertible { int? CrewID; String? CrewName; String? CrewColor; int? MemberCount; List? Visits = []; double? DriveMiles; int? DriveMinutes; int? OnSiteMinutes; int? BillablePct; CrewColumn({this.CrewID,this.CrewName,this.CrewColor,this.MemberCount,this.Visits,this.DriveMiles,this.DriveMinutes,this.OnSiteMinutes,this.BillablePct}); CrewColumn.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CrewID = json['CrewID']; CrewName = json['CrewName']; CrewColor = json['CrewColor']; MemberCount = json['MemberCount']; Visits = JsonConverters.fromJson(json['Visits'],'List',context!); DriveMiles = JsonConverters.toDouble(json['DriveMiles']); DriveMinutes = json['DriveMinutes']; OnSiteMinutes = json['OnSiteMinutes']; BillablePct = json['BillablePct']; return this; } Map toJson() => { 'CrewID': CrewID, 'CrewName': CrewName, 'CrewColor': CrewColor, 'MemberCount': MemberCount, 'Visits': JsonConverters.toJson(Visits,'List',context!), 'DriveMiles': DriveMiles, 'DriveMinutes': DriveMinutes, 'OnSiteMinutes': OnSiteMinutes, 'BillablePct': BillablePct }; getTypeName() => "CrewColumn"; TypeContext? context = _ctx; } class BoardReadiness implements IConvertible { int? TotalVisits; int? Assigned; int? Unassigned; int? Conflicts; int? AssignedPct; BoardReadiness({this.TotalVisits,this.Assigned,this.Unassigned,this.Conflicts,this.AssignedPct}); BoardReadiness.fromJson(Map json) { fromMap(json); } fromMap(Map json) { TotalVisits = json['TotalVisits']; Assigned = json['Assigned']; Unassigned = json['Unassigned']; Conflicts = json['Conflicts']; AssignedPct = json['AssignedPct']; return this; } Map toJson() => { 'TotalVisits': TotalVisits, 'Assigned': Assigned, 'Unassigned': Unassigned, 'Conflicts': Conflicts, 'AssignedPct': AssignedPct }; getTypeName() => "BoardReadiness"; TypeContext? context = _ctx; } class VisitBoardResponse implements IConvertible { String? Date; List? Crews = []; List? Unassigned = []; BoardReadiness? Readiness; ResponseStatus? ResponseStatus; VisitBoardResponse({this.Date,this.Crews,this.Unassigned,this.Readiness,this.ResponseStatus}); VisitBoardResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Date = json['Date']; Crews = JsonConverters.fromJson(json['Crews'],'List',context!); Unassigned = JsonConverters.fromJson(json['Unassigned'],'List',context!); Readiness = JsonConverters.fromJson(json['Readiness'],'BoardReadiness',context!); ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); return this; } Map toJson() => { 'Date': Date, 'Crews': JsonConverters.toJson(Crews,'List',context!), 'Unassigned': JsonConverters.toJson(Unassigned,'List',context!), 'Readiness': JsonConverters.toJson(Readiness,'BoardReadiness',context!), 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!) }; getTypeName() => "VisitBoardResponse"; TypeContext? context = _ctx; } // @Route("/v1/visits/board", "GET,OPTIONS") class VisitBoardRequest implements IReturn, IConvertible, IGet { String? Date; VisitBoardRequest({this.Date}); VisitBoardRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Date = json['Date']; return this; } Map toJson() => { 'Date': Date }; createResponse() => VisitBoardResponse(); getResponseTypeName() => "VisitBoardResponse"; getTypeName() => "VisitBoardRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: { 'VisitCard': TypeInfo(TypeOf.Class, create:() => VisitCard()), 'CrewColumn': TypeInfo(TypeOf.Class, create:() => CrewColumn()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'BoardReadiness': TypeInfo(TypeOf.Class, create:() => BoardReadiness()), 'VisitBoardResponse': TypeInfo(TypeOf.Class, create:() => VisitBoardResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'VisitBoardRequest': TypeInfo(TypeOf.Class, create:() => VisitBoardRequest()), });