/* Options: Date: 2025-09-10 19:38:45 Version: 8.30 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://dev-optimization.power.dev //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: TODOptimizerRequest.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.* import java.util.* import net.servicestack.client.* import com.google.gson.annotations.* import com.google.gson.reflect.* @Route(Path="/optimizer/tod", Verbs="POST") open class TODOptimizerRequest : TodOptimizerRequestBase(), IReturn { companion object { private val responseType = TodOptimizerResponse::class.java } override fun getResponseType(): Any? = TODOptimizerRequest.responseType } open class TodOptimizerResponse { var status:ApiResponseStatus? = null var message:String? = null var apiActionId:UUID? = null var testItems:ArrayList = ArrayList() } open class AnnualRateItem { var year:Int? = null var value:BigDecimal? = null } open class YoyFactorOptimizarItem { var year:Int? = null var factor:BigDecimal? = null } open class TodOptimizerRequestItem { var year:Int? = null var month:Int? = null var hour:Int? = null var weekDay:Int? = null var energyPrice:BigDecimal? = null var capacityPrice:BigDecimal? = null } open class TodOptimizerRequestBase { var projectId:UUID? = null var chargeDischargeLimit:BigDecimal? = null var batteryCapacity:BigDecimal? = null var chargeEfficiency:BigDecimal? = null var dischargeEfficiency:BigDecimal? = null var paraciticLossesOperation:BigDecimal? = null var paraciticLossesResting:BigDecimal? = null var hvacLosses:BigDecimal? = null var acCablingLosses:BigDecimal? = null var transformatorLosses:BigDecimal? = null var thermalLosses:BigDecimal? = null var unavailabilityLoss:BigDecimal? = null var otherLosses:BigDecimal? = null var enableCapacity:Boolean? = null var energySchedule:ArrayList = ArrayList() var capacitySchedule:ArrayList = ArrayList() var yoyFactors:ArrayList = ArrayList() @SerializedName("data") var Data:ArrayList = ArrayList() var apiActionId:UUID? = null } enum class ApiResponseStatus(val value:Int) { Undefined(0), Success(1), Pending(10), Failed(100), } open class TodOptimizerResponseItem : TodOptimizerRequestItem() { var chargeState:BigDecimal? = null var charging:BigDecimal? = null var loss:BigDecimal? = null var chargeRate:BigDecimal? = null }