/* Options: Date: 2026-08-01 04:26:33 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: CostCalcRequest.* //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/calc", Verbs="POST") open class CostCalcRequest : IReturn { open var Input:CostInput? = null open var ContactID:Int? = null open var ProjectID:Int? = null open var ShiftPatternID:Int? = null open var Unit:String? = null companion object { private val responseType = CostCalcResponse::class.java } override fun getResponseType(): Any? = CostCalcRequest.responseType } open class CostCalcResponse { open var Result:CostBreakdown? = null open var ResolvedInput:CostInput? = null open var CanSeePay:Boolean? = null open var ResponseStatus:ResponseStatus? = null } open class CostInput { open var Base:BigDecimal? = null open var BillRate:BigDecimal? = null open var FringeCash:BigDecimal? = null open var FringePlan:BigDecimal? = null open var IsNight:Boolean? = null open var HoursPerDay:BigDecimal? = null open var OnDays:Int? = null open var OnDaysExact:BigDecimal? = null open var HasTravel:Boolean? = null open var PerDiemEligible:Boolean? = null open var PrevailingWage:Boolean? = null open var Jurisdiction:String? = null open var Unit:String? = null open var PriorHours:BigDecimal? = null open var BurdenClass:String? = null open var WcRateOverride:BigDecimal? = null } open class CostBreakdown { open var Rrop:BigDecimal? = null open var St:BigDecimal? = null open var Ot:BigDecimal? = null open var Dt:BigDecimal? = null open var TotalHours:BigDecimal? = null open var Straight:BigDecimal? = null open var DiffPay:BigDecimal? = null open var OtPremium:BigDecimal? = null open var DtPremium:BigDecimal? = null open var CashWages:BigDecimal? = null open var FringeCashPay:BigDecimal? = null open var FringePlanPay:BigDecimal? = null open var BurdenPct:BigDecimal? = null open var BurdenAmount:BigDecimal? = null open var PerDiemApplies:Boolean? = null open var PerDiemCost:BigDecimal? = null open var PerDiemTaxable:BigDecimal? = null open var PerDiemNonTax:BigDecimal? = null open var Loaded:BigDecimal? = null open var Revenue:BigDecimal? = null open var Margin:BigDecimal? = null open var MarginPct:BigDecimal? = null open var OtMultiplier:BigDecimal? = null open var DtMultiplier:BigDecimal? = null open var PerDiemDaily:BigDecimal? = null open var Lines:ArrayList = ArrayList() open var Notes:ArrayList = ArrayList() } open class CostLine { open var Label:String? = null open var Detail:String? = null open var Amount:BigDecimal? = null open var RuleId:String? = null }