/* Options: Date: 2026-06-22 22:52:51 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.dev.dynamics.trendsic.com //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: PmProjectDetailRequest.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.* */ import java.math.* import java.util.* import java.io.InputStream import net.servicestack.client.* @Route(Path="/v1/pm/project/{Uid}", Verbs="GET,OPTIONS") open class PmProjectDetailRequest : IReturn { open var Uid:String? = null companion object { private val responseType = PmProjectDetail::class.java } override fun getResponseType(): Any? = PmProjectDetailRequest.responseType } open class PmProjectDetail { open var ProjectID:Int? = null open var ProjectUID:String? = null open var Name:String? = null open var Client:String? = null open var ProjectType:String? = null open var Status:String? = null open var Branch:String? = null open var StartDate:String? = null open var EndDate:String? = null open var Description:String? = null open var Finance:PmFinance? = null open var Readiness:PmReadiness? = null open var Jobs:ArrayList = ArrayList() open var Equipment:ArrayList = ArrayList() open var Materials:ArrayList = ArrayList() open var Calendar:ArrayList = ArrayList() open var ProjectStatuses:ArrayList = ArrayList() open var ResponseStatus:ResponseStatus? = null } open class PmFinance { open var Budget:Double? = null open var Spent:Double? = null open var EstimatedCost:Double? = null open var CrewCost:Double? = null open var EquipCost:Double? = null open var MatCost:Double? = null open var Variance:Double? = null open var HealthPct:Int? = null open var SpentPct:Int? = null open var ProgressPct:Int? = null } open class PmReadiness { open var JobsNoCrew:Int? = null open var OpenRoles:Int? = null open var EquipmentConflicts:Int? = null open var MaterialGaps:Int? = null open var TotalGaps:Int? = null open var ReadyPct:Int? = null } open class PmJob { open var JobID:Int? = null open var Name:String? = null open var Description:String? = null open var Status:String? = null open var StartDate:String? = null open var EndDate:String? = null open var CrewCount:Int? = null open var BudgetedHours:Double? = null open var EquipmentCount:Int? = null open var MaterialCount:Int? = null open var CrewCost:Double? = null open var EquipCost:Double? = null open var MatCost:Double? = null open var Cost:Double? = null open var NoCrew:Boolean? = null open var EquipConflict:Boolean? = null open var MaterialGap:Boolean? = null open var ReadyPct:Int? = null open var Crew:ArrayList = ArrayList() open var Equipment:ArrayList = ArrayList() open var Materials:ArrayList = ArrayList() } open class PmEquipmentRow { open var EquipmentID:Int? = null open var Name:String? = null open var EquipmentType:String? = null open var SerialNumber:String? = null open var UsedByJobs:String? = null open var Available:Boolean? = null open var Conflicts:ArrayList = ArrayList() open var MaintenanceIntervalDays:Int? = null open var LastServiceDate:String? = null open var NextServiceDate:String? = null open var MaintenanceState:String? = null } open class PmMaterialRow { open var MaterialID:Int? = null open var Name:String? = null open var MaterialType:String? = null open var OnHand:Int? = null open var NeededByJobs:Int? = null open var QtyNeeded:Int? = null open var ToOrder:Int? = null open var UnitCost:Double? = null open var LineCost:Double? = null open var ProjectMaterialID:Int? = null open var StatusID:Int? = null open var Status:String? = null open var Supplier:String? = null open var OrderDate:String? = null open var DeliveryDate:String? = null open var Shortfall:Boolean? = null } open class PmCalendarBar { open var JobID:Int? = null open var Name:String? = null open var StartDate:String? = null open var EndDate:String? = null open var Status:String? = null } open class PmCatalogItem { open var Id:Int? = null open var Name:String? = null open var Amount:Double? = null } open class PmJobCrew { open var ContactID:Int? = null open var Name:String? = null open var Rate:Double? = null open var BudgetedHours:Double? = null open var IsOpen:Boolean? = null } open class PmJobResource { open var Id:Int? = null open var Name:String? = null open var Amount:Double? = null open var Qty:Int? = null } open class PmConflict { open var ProjectName:String? = null open var JobName:String? = null open var StartDate:String? = null open var EndDate:String? = null }