/* Options: Date: 2026-08-01 22:08:00 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: ProjectEquipmentRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class Location implements IConvertible { String? Id; String? ClientId; String? Name; String? Address1; String? Address2; String? City; String? State; String? Zip; String? Phone; String? Fax; String? URL; String? Email; String? TimeZone; bool? Active; DateTime? EntDate; DateTime? ModDate; String? LocationImage; Location({this.Id,this.ClientId,this.Name,this.Address1,this.Address2,this.City,this.State,this.Zip,this.Phone,this.Fax,this.URL,this.Email,this.TimeZone,this.Active,this.EntDate,this.ModDate,this.LocationImage}); Location.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; ClientId = json['ClientId']; Name = json['Name']; Address1 = json['Address1']; Address2 = json['Address2']; City = json['City']; State = json['State']; Zip = json['Zip']; Phone = json['Phone']; Fax = json['Fax']; URL = json['URL']; Email = json['Email']; TimeZone = json['TimeZone']; Active = json['Active']; EntDate = JsonConverters.fromJson(json['EntDate'],'DateTime',context!); ModDate = JsonConverters.fromJson(json['ModDate'],'DateTime',context!); LocationImage = json['LocationImage']; return this; } Map toJson() => { 'Id': Id, 'ClientId': ClientId, 'Name': Name, 'Address1': Address1, 'Address2': Address2, 'City': City, 'State': State, 'Zip': Zip, 'Phone': Phone, 'Fax': Fax, 'URL': URL, 'Email': Email, 'TimeZone': TimeZone, 'Active': Active, 'EntDate': JsonConverters.toJson(EntDate,'DateTime',context!), 'ModDate': JsonConverters.toJson(ModDate,'DateTime',context!), 'LocationImage': LocationImage }; getTypeName() => "Location"; TypeContext? context = _ctx; } class Project implements IConvertible { int? ProjectID; String? ProjectUID; String? ProjectName; String? ImageURL; String? ImageKey; String? ClientName; String? ClientPhone; String? ClientEmail; bool? NotifyCustomerOnVisitCompletion; int? ClientContactID; int? ProjectManagerID; String? ProjectManagerName; DateTime? StartDate; DateTime? EndDate; DateTime? ActualStartDate; DateTime? ActualEndDate; int? JobCount; int? CrewMemberCount; String? CrewAvatarsJson; String? CrewNamesSearch; int? EquipmentCount; int? MaterialCount; int? ProjectStatusID; String? ProjectStatusDescription; double? Budget; double? CostToDate; String? ProjectLocation; String? ProjectType; String? ProjectSponsor; String? CreatedBy; DateTime? CreatedAt; DateTime? UpdatedAt; String? ProjectDescription; String? Scope; int? StatusId; String? BranchId; String? BranchName; Location? Location; Project({this.ProjectID,this.ProjectUID,this.ProjectName,this.ImageURL,this.ImageKey,this.ClientName,this.ClientPhone,this.ClientEmail,this.NotifyCustomerOnVisitCompletion,this.ClientContactID,this.ProjectManagerID,this.ProjectManagerName,this.StartDate,this.EndDate,this.ActualStartDate,this.ActualEndDate,this.JobCount,this.CrewMemberCount,this.CrewAvatarsJson,this.CrewNamesSearch,this.EquipmentCount,this.MaterialCount,this.ProjectStatusID,this.ProjectStatusDescription,this.Budget,this.CostToDate,this.ProjectLocation,this.ProjectType,this.ProjectSponsor,this.CreatedBy,this.CreatedAt,this.UpdatedAt,this.ProjectDescription,this.Scope,this.StatusId,this.BranchId,this.BranchName,this.Location}); Project.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ProjectID = json['ProjectID']; ProjectUID = json['ProjectUID']; ProjectName = json['ProjectName']; ImageURL = json['ImageURL']; ImageKey = json['ImageKey']; ClientName = json['ClientName']; ClientPhone = json['ClientPhone']; ClientEmail = json['ClientEmail']; NotifyCustomerOnVisitCompletion = json['NotifyCustomerOnVisitCompletion']; ClientContactID = json['ClientContactID']; ProjectManagerID = json['ProjectManagerID']; ProjectManagerName = json['ProjectManagerName']; StartDate = JsonConverters.fromJson(json['StartDate'],'DateTime',context!); EndDate = JsonConverters.fromJson(json['EndDate'],'DateTime',context!); ActualStartDate = JsonConverters.fromJson(json['ActualStartDate'],'DateTime',context!); ActualEndDate = JsonConverters.fromJson(json['ActualEndDate'],'DateTime',context!); JobCount = json['JobCount']; CrewMemberCount = json['CrewMemberCount']; CrewAvatarsJson = json['CrewAvatarsJson']; CrewNamesSearch = json['CrewNamesSearch']; EquipmentCount = json['EquipmentCount']; MaterialCount = json['MaterialCount']; ProjectStatusID = json['ProjectStatusID']; ProjectStatusDescription = json['ProjectStatusDescription']; Budget = JsonConverters.toDouble(json['Budget']); CostToDate = JsonConverters.toDouble(json['CostToDate']); ProjectLocation = json['ProjectLocation']; ProjectType = json['ProjectType']; ProjectSponsor = json['ProjectSponsor']; CreatedBy = json['CreatedBy']; CreatedAt = JsonConverters.fromJson(json['CreatedAt'],'DateTime',context!); UpdatedAt = JsonConverters.fromJson(json['UpdatedAt'],'DateTime',context!); ProjectDescription = json['ProjectDescription']; Scope = json['Scope']; StatusId = json['StatusId']; BranchId = json['BranchId']; BranchName = json['BranchName']; Location = JsonConverters.fromJson(json['Location'],'Location',context!); return this; } Map toJson() => { 'ProjectID': ProjectID, 'ProjectUID': ProjectUID, 'ProjectName': ProjectName, 'ImageURL': ImageURL, 'ImageKey': ImageKey, 'ClientName': ClientName, 'ClientPhone': ClientPhone, 'ClientEmail': ClientEmail, 'NotifyCustomerOnVisitCompletion': NotifyCustomerOnVisitCompletion, 'ClientContactID': ClientContactID, 'ProjectManagerID': ProjectManagerID, 'ProjectManagerName': ProjectManagerName, 'StartDate': JsonConverters.toJson(StartDate,'DateTime',context!), 'EndDate': JsonConverters.toJson(EndDate,'DateTime',context!), 'ActualStartDate': JsonConverters.toJson(ActualStartDate,'DateTime',context!), 'ActualEndDate': JsonConverters.toJson(ActualEndDate,'DateTime',context!), 'JobCount': JobCount, 'CrewMemberCount': CrewMemberCount, 'CrewAvatarsJson': CrewAvatarsJson, 'CrewNamesSearch': CrewNamesSearch, 'EquipmentCount': EquipmentCount, 'MaterialCount': MaterialCount, 'ProjectStatusID': ProjectStatusID, 'ProjectStatusDescription': ProjectStatusDescription, 'Budget': Budget, 'CostToDate': CostToDate, 'ProjectLocation': ProjectLocation, 'ProjectType': ProjectType, 'ProjectSponsor': ProjectSponsor, 'CreatedBy': CreatedBy, 'CreatedAt': JsonConverters.toJson(CreatedAt,'DateTime',context!), 'UpdatedAt': JsonConverters.toJson(UpdatedAt,'DateTime',context!), 'ProjectDescription': ProjectDescription, 'Scope': Scope, 'StatusId': StatusId, 'BranchId': BranchId, 'BranchName': BranchName, 'Location': JsonConverters.toJson(Location,'Location',context!) }; getTypeName() => "Project"; TypeContext? context = _ctx; } class Equipment implements IConvertible { int? EquipmentID; String? EquipmentName; int? EquipmentTypeID; String? Manufacturer; String? EquipmentType; String? SerialNumber; String? BarCode; String? EquipmentLocation; String? ImageURL; String? ProductDetailsURL; DateTime? RecordCreatedDate; String? CreatedByUID; bool? Active; String? Notes; double? Rate; String? BranchId; String? BranchName; String? Ownership; String? RentalVendor; DateTime? RentalStart; DateTime? RentalEnd; List? Projects = []; Equipment({this.EquipmentID,this.EquipmentName,this.EquipmentTypeID,this.Manufacturer,this.EquipmentType,this.SerialNumber,this.BarCode,this.EquipmentLocation,this.ImageURL,this.ProductDetailsURL,this.RecordCreatedDate,this.CreatedByUID,this.Active,this.Notes,this.Rate,this.BranchId,this.BranchName,this.Ownership,this.RentalVendor,this.RentalStart,this.RentalEnd,this.Projects}); Equipment.fromJson(Map json) { fromMap(json); } fromMap(Map json) { EquipmentID = json['EquipmentID']; EquipmentName = json['EquipmentName']; EquipmentTypeID = json['EquipmentTypeID']; Manufacturer = json['Manufacturer']; EquipmentType = json['EquipmentType']; SerialNumber = json['SerialNumber']; BarCode = json['BarCode']; EquipmentLocation = json['EquipmentLocation']; ImageURL = json['ImageURL']; ProductDetailsURL = json['ProductDetailsURL']; RecordCreatedDate = JsonConverters.fromJson(json['RecordCreatedDate'],'DateTime',context!); CreatedByUID = json['CreatedByUID']; Active = json['Active']; Notes = json['Notes']; Rate = JsonConverters.toDouble(json['Rate']); BranchId = json['BranchId']; BranchName = json['BranchName']; Ownership = json['Ownership']; RentalVendor = json['RentalVendor']; RentalStart = JsonConverters.fromJson(json['RentalStart'],'DateTime',context!); RentalEnd = JsonConverters.fromJson(json['RentalEnd'],'DateTime',context!); Projects = JsonConverters.fromJson(json['Projects'],'List',context!); return this; } Map toJson() => { 'EquipmentID': EquipmentID, 'EquipmentName': EquipmentName, 'EquipmentTypeID': EquipmentTypeID, 'Manufacturer': Manufacturer, 'EquipmentType': EquipmentType, 'SerialNumber': SerialNumber, 'BarCode': BarCode, 'EquipmentLocation': EquipmentLocation, 'ImageURL': ImageURL, 'ProductDetailsURL': ProductDetailsURL, 'RecordCreatedDate': JsonConverters.toJson(RecordCreatedDate,'DateTime',context!), 'CreatedByUID': CreatedByUID, 'Active': Active, 'Notes': Notes, 'Rate': Rate, 'BranchId': BranchId, 'BranchName': BranchName, 'Ownership': Ownership, 'RentalVendor': RentalVendor, 'RentalStart': JsonConverters.toJson(RentalStart,'DateTime',context!), 'RentalEnd': JsonConverters.toJson(RentalEnd,'DateTime',context!), 'Projects': JsonConverters.toJson(Projects,'List',context!) }; getTypeName() => "Equipment"; TypeContext? context = _ctx; } class ProjectEquipment extends Equipment implements IConvertible { int? ProjectEquipmentID; int? ProjectID; DateTime? ProjectEndDate; DateTime? FirstJobUseDate; DateTime? LastJobUseDate; double? EquipmentRate; int? JobID; double? BilledEquipmentRate; String? Status; String? Source; int? OverlapBookings; bool? HasBookingConflict; String? ConflictJobs; ProjectEquipment({this.ProjectEquipmentID,this.ProjectID,this.ProjectEndDate,this.FirstJobUseDate,this.LastJobUseDate,this.EquipmentRate,this.JobID,this.BilledEquipmentRate,this.Status,this.Source,this.OverlapBookings,this.HasBookingConflict,this.ConflictJobs}); ProjectEquipment.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); ProjectEquipmentID = json['ProjectEquipmentID']; ProjectID = json['ProjectID']; ProjectEndDate = JsonConverters.fromJson(json['ProjectEndDate'],'DateTime',context!); FirstJobUseDate = JsonConverters.fromJson(json['FirstJobUseDate'],'DateTime',context!); LastJobUseDate = JsonConverters.fromJson(json['LastJobUseDate'],'DateTime',context!); EquipmentRate = JsonConverters.toDouble(json['EquipmentRate']); JobID = json['JobID']; BilledEquipmentRate = JsonConverters.toDouble(json['BilledEquipmentRate']); Status = json['Status']; Source = json['Source']; OverlapBookings = json['OverlapBookings']; HasBookingConflict = json['HasBookingConflict']; ConflictJobs = json['ConflictJobs']; return this; } Map toJson() => super.toJson()..addAll({ 'ProjectEquipmentID': ProjectEquipmentID, 'ProjectID': ProjectID, 'ProjectEndDate': JsonConverters.toJson(ProjectEndDate,'DateTime',context!), 'FirstJobUseDate': JsonConverters.toJson(FirstJobUseDate,'DateTime',context!), 'LastJobUseDate': JsonConverters.toJson(LastJobUseDate,'DateTime',context!), 'EquipmentRate': EquipmentRate, 'JobID': JobID, 'BilledEquipmentRate': BilledEquipmentRate, 'Status': Status, 'Source': Source, 'OverlapBookings': OverlapBookings, 'HasBookingConflict': HasBookingConflict, 'ConflictJobs': ConflictJobs }); getTypeName() => "ProjectEquipment"; TypeContext? context = _ctx; } class ProjectEquipmentResponse implements IConvertible { ResponseStatus? ResponseStatus; List? ProjectEquipment = []; ProjectEquipmentResponse({this.ResponseStatus,this.ProjectEquipment}); ProjectEquipmentResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); ProjectEquipment = JsonConverters.fromJson(json['ProjectEquipment'],'List',context!); return this; } Map toJson() => { 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!), 'ProjectEquipment': JsonConverters.toJson(ProjectEquipment,'List',context!) }; getTypeName() => "ProjectEquipmentResponse"; TypeContext? context = _ctx; } // @Route("/v1/ProjectEquipment", "GET,POST,PUT,DELETE,OPTIONS") // @Route("/v1/ProjectEquipment/{ProjectEquipmentID}", "GET,POST,PUT,DELETE,OPTIONS") class ProjectEquipmentRequest implements IReturn, IConvertible, IPost { int? ProjectEquipmentID; List? ProjectEquipment = []; ProjectEquipmentRequest({this.ProjectEquipmentID,this.ProjectEquipment}); ProjectEquipmentRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ProjectEquipmentID = json['ProjectEquipmentID']; ProjectEquipment = JsonConverters.fromJson(json['ProjectEquipment'],'List',context!); return this; } Map toJson() => { 'ProjectEquipmentID': ProjectEquipmentID, 'ProjectEquipment': JsonConverters.toJson(ProjectEquipment,'List',context!) }; createResponse() => ProjectEquipmentResponse(); getResponseTypeName() => "ProjectEquipmentResponse"; getTypeName() => "ProjectEquipmentRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: { 'Location': TypeInfo(TypeOf.Class, create:() => Location()), 'Project': TypeInfo(TypeOf.Class, create:() => Project()), 'Equipment': TypeInfo(TypeOf.Class, create:() => Equipment()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ProjectEquipment': TypeInfo(TypeOf.Class, create:() => ProjectEquipment()), 'ProjectEquipmentResponse': TypeInfo(TypeOf.Class, create:() => ProjectEquipmentResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ProjectEquipmentRequest': TypeInfo(TypeOf.Class, create:() => ProjectEquipmentRequest()), });