/* Options: Date: 2026-06-23 00:06:17 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: PmProjectsRequest.* //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/projects", Verbs="GET,OPTIONS") open class PmProjectsRequest : IReturn { open var Search:String? = null companion object { private val responseType = PmProjectsResponse::class.java } override fun getResponseType(): Any? = PmProjectsRequest.responseType } open class PmProjectsResponse { open var Projects:ArrayList = ArrayList() open var Totals:PmPortfolioTotals? = null open var ResponseStatus:ResponseStatus? = null } open class PmProjectRow { 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 Budget:Double? = null open var Spent:Double? = null open var EstimatedCost:Double? = null open var HealthPct:Int? = null open var JobCount:Int? = null open var OpenJobs:Int? = null open var GapCount:Int? = null open var OverBudget:Boolean? = null open var ProgressPct:Int? = null } open class PmPortfolioTotals { open var Projects:Int? = null open var Budget:Double? = null open var Spent:Double? = null open var OverBudget:Int? = null open var WithGaps:Int? = null }