/* Options: Date: 2026-08-01 09:40:34 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: PlanningRequest.* //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/workforce/planning", Verbs="GET") open class PlanningRequest : IReturn { open var AsOf:Date? = null companion object { private val responseType = PlanningResponse::class.java } override fun getResponseType(): Any? = PlanningRequest.responseType } open class PlanningResponse { open var Surface:PlanningSurface? = null open var CanSeePay:Boolean? = null open var ResponseStatus:ResponseStatus? = null } open class PlanningSurface { open var WeekLabel:String? = null open var WeekStart:Date? = null open var WorkerCount:Int? = null open var Ot:OtExposureBoard? = null open var PerDiem:PerDiemBoard? = null open var Margin:MarginBoard? = null open var Utilization:UtilizationBoard? = null open var Suggestions:ArrayList = ArrayList() } open class OtExposureBoard { open var TotalOtCost:BigDecimal? = null open var TotalOtHours:BigDecimal? = null open var OverCount:Int? = null open var WorkerCount:Int? = null open var Rows:ArrayList = ArrayList() } open class PerDiemBoard { open var TotalCost:BigDecimal? = null open var NonTaxable:BigDecimal? = null open var Taxable:BigDecimal? = null open var AwayCount:Int? = null open var Jobs:ArrayList = ArrayList() } open class MarginBoard { open var JobCount:Int? = null open var TotalFade:BigDecimal? = null open var Jobs:ArrayList = ArrayList() } open class UtilizationBoard { open var UnderCount:Int? = null open var OverCount:Int? = null open var Rows:ArrayList = ArrayList() } open class PlanningSuggestion { open var Id:String? = null open var Kind:String? = null open var Title:String? = null open var Detail:String? = null open var SaveText:String? = null open var Effect:String? = null open var RuleId:String? = null open var LegalNote:String? = null open var ApplyLabel:String? = null open var Severity:String? = null } open class OtRow { open var ContactID:Int? = null open var WorkerName:String? = null open var ClassCode:String? = null open var Crew:String? = null open var Job:String? = null open var PatternLabel:String? = null open var ProjHours:BigDecimal? = null open var OtHours:BigDecimal? = null open var DtHours:BigDecimal? = null open var OtCost:BigDecimal? = null open var State:String? = null open var Tone:String? = null } open class PerDiemJobRow { open var Job:String? = null open var Total:BigDecimal? = null open var NonTax:BigDecimal? = null open var Tax:BigDecimal? = null open var Days:Int? = null open var AwayCount:Int? = null open var DayRateFlag:Boolean? = null } open class MarginJobRow { open var Job:String? = null open var BasePct:BigDecimal? = null open var ProjPct:BigDecimal? = null open var FadePts:BigDecimal? = null open var Severity:String? = null open var OtCost:BigDecimal? = null open var PerDiem:BigDecimal? = null } open class UtilRow { open var ContactID:Int? = null open var WorkerName:String? = null open var Crew:String? = null open var ProjHours:BigDecimal? = null open var BaselineHours:BigDecimal? = null open var Pct:BigDecimal? = null open var Band:String? = null }