/* Options: Date: 2026-06-27 20:28:29 SwiftVersion: 6.0 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.dev.dynamics.trendsic.com //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: PmJobRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/v1/pm/job/{JobID}", "GET,OPTIONS") public class PmJobRequest : IReturn, Codable { public typealias Return = PmJobResponse public var jobID:Int? required public init(){} } public class PmJobResponse : Codable { public var job:PmJob? public var responseStatus:ResponseStatus? required public init(){} } public class PmJob : Codable { public var jobID:Int? public var name:String? public var Description:String? public var status:String? public var startDate:String? public var endDate:String? public var crewCount:Int? public var budgetedHours:Double? public var equipmentCount:Int? public var materialCount:Int? public var crewCost:Double? public var equipCost:Double? public var matCost:Double? public var cost:Double? public var noCrew:Bool? public var equipConflict:Bool? public var materialGap:Bool? public var readyPct:Int? public var priority:String? public var tags:[String] = [] public var crew:[PmJobCrew] = [] public var equipment:[PmJobResource] = [] public var materials:[PmJobResource] = [] required public init(){} } public class PmJobCrew : Codable { public var contactID:Int? public var name:String? public var rate:Double? public var budgetedHours:Double? public var isOpen:Bool? required public init(){} } public class PmJobResource : Codable { public var id:Int? public var name:String? public var amount:Double? public var qty:Int? public var unit:String? required public init(){} }