POST | /optimizer/yearly |
---|
import java.math.*
import java.util.*
import net.servicestack.client.*
open class CommonOptimizerYearlyRequest : MonthlyRequestBase()
{
var month:Int? = null
var group:BatteryScenarioKeyGroup? = null
var key:BatteryScenarioKeyItem? = null
var projectGroup:BatteryProjectGroup? = null
}
open class MonthlyRequestBase
{
var projectId:UUID? = null
var nodeAltId:Int? = null
var iso:DataProvider? = null
var useEnergy:BooleanValue? = null
var useAncillary:BooleanValue? = null
var useCapacityTod:Boolean? = null
var baseMarket:PriceMarketType? = null
var capacityTODs:ArrayList<BatteryProjectTodItem> = ArrayList<BatteryProjectTodItem>()
var useRegup:BigDecimal? = null
var useRegdown:BigDecimal? = null
var useSpinning:BigDecimal? = null
var useNonSpinning:BigDecimal? = null
var paraciticLossesOperation:BigDecimal? = null
var paraciticLossesResting:BigDecimal? = null
var hvacLosses:BigDecimal? = null
var acCablingLosses:BigDecimal? = null
var transformatorLosses:BigDecimal? = null
var otherLosses:BigDecimal? = null
var representativeYear:Int? = null
var incrementReferanceYear:Int? = null
var useFutureData:Int? = null
var maxDailyCycle:BigDecimal? = null
var minDailyProfitPerMw:BigDecimal? = null
var ancillaryFileId:Int? = null
var lmpFileId:Int? = null
var maxChargingPriceCap:BigDecimal? = null
var maxDischargingPriceCap:BigDecimal? = null
var maxAncillaryPriceCap:BigDecimal? = null
var revenueStackingMode:RevenueStackingMode? = null
var optimizationQuality:Int? = null
var ensureExlusive:Int? = null
var nodeRefId:Int? = null
var useInternalSolver:Boolean? = null
}
enum class DataProvider(val value:Int)
{
Undefined(0),
Spp(1),
Ercot(2),
Miso(3),
Caiso(4),
Pjm(5),
Isone(6),
Nyiso(7),
Nw(8),
Sw(9),
Se(10),
Aeso(11),
Ieso(12),
Cenace(20),
Noniso(99),
Eia(100),
Pnm(150),
Nrel(200),
Noaa(210),
Entsoe(1000),
Epias(1010),
Self(10000),
}
enum class BooleanValue
{
Undefined,
Yes,
No,
Custom,
}
enum class PriceMarketType(val value:Int)
{
Undefined(0),
Realtime(1),
DayAhead(10),
Dart(101),
}
open class BatteryProjectTodItem
{
var month:Int? = null
var weekDay:Int? = null
var hour:Int? = null
var price:BigDecimal? = null
@Ignore()
var id:String? = null
}
enum class RevenueStackingMode
{
SolveWithoutAncillary,
SolveWithAncillary,
}
open class BatteryScenarioKeyGroup
{
var keyId:Int? = null
var year:Int? = null
var nodeId:Int? = null
var provider:DataProvider? = null
var zoneId:Int? = null
var plantType:PowerPlantType? = null
var solarId:Int? = null
var windId:Int? = null
var isServerless:Boolean? = null
}
enum class PowerPlantType
{
Undefined,
Solar,
Wind,
Hybrid,
}
open class BatteryScenarioKeyItem
{
var projectId:UUID? = null
var keyId:Int? = null
var keyType:BatteryScenarioType? = null
var recordKey:String? = null
var jobStatus:Int? = null
var status:Int? = null
var minDate:Date? = null
var maxDate:Date? = null
var year:Int? = null
var yoyStatus:Int? = null
var usableCapacity:BigDecimal? = null
var usableCapacityFactor:BigDecimal? = null
var solarUsableCapacity:BigDecimal? = null
var solarUsableCapacityFactor:BigDecimal? = null
var baseMarket:PriceMarketType? = null
var baseCapacityRate:BigDecimal? = null
var capacityRate:BigDecimal? = null
var solarCapacityRate:BigDecimal? = null
var windCapacityRate:BigDecimal? = null
var chargeEfficinecy:BigDecimal? = null
var dischargeEfficinecy:BigDecimal? = null
var nodeId:Int? = null
var provider:DataProvider? = null
var zoneId:Int? = null
var lmpFileId:Int? = null
var productionFileId:Int? = null
var loadFileId:Int? = null
var capacityFileId:Int? = null
var plantType:PowerPlantType? = null
var solarId:Int? = null
var windId:Int? = null
var ancillaryIncrementFactor:BigDecimal? = null
var energyIncrementFactor:BigDecimal? = null
var capacityIncrementFactor:BigDecimal? = null
}
enum class BatteryScenarioType
{
Undefined,
Optimization,
Sum,
OptiSum,
FullTod,
CapacityTod,
}
enum class BatteryProjectGroup
{
Undefined,
StandAlone,
Ftm,
Btm,
}
open class YearlyApiStatusResponse
{
var failedCount:Int? = null
var message:String? = null
}
Kotlin CommonOptimizerYearlyRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /optimizer/yearly HTTP/1.1
Host: dev-optimization.power.dev
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<CommonOptimizerYearlyRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.ServiceModel">
<AcCablingLosses xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</AcCablingLosses>
<AncillaryFileId xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</AncillaryFileId>
<BaseMarket xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">Undefined</BaseMarket>
<CapacityTODs xmlns:d2p1="http://schemas.datacontract.org/2004/07/powerDev.Common.Models" i:nil="true" xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models" />
<EnsureExlusive xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</EnsureExlusive>
<HVACLosses xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</HVACLosses>
<IncrementReferanceYear xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</IncrementReferanceYear>
<Iso xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">Undefined</Iso>
<LmpFileId xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</LmpFileId>
<MaxAncillaryPriceCap xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</MaxAncillaryPriceCap>
<MaxChargingPriceCap xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</MaxChargingPriceCap>
<MaxDailyCycle xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</MaxDailyCycle>
<MaxDischargingPriceCap xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</MaxDischargingPriceCap>
<MinDailyProfitPerMw xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</MinDailyProfitPerMw>
<NodeAltId xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</NodeAltId>
<NodeRefId xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</NodeRefId>
<OptimizationQuality xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</OptimizationQuality>
<OtherLosses xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</OtherLosses>
<ParaciticLossesOperation xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</ParaciticLossesOperation>
<ParaciticLossesResting xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</ParaciticLossesResting>
<ProjectId xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">00000000-0000-0000-0000-000000000000</ProjectId>
<RepresentativeYear xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</RepresentativeYear>
<RevenueStackingMode xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">SolveWithoutAncillary</RevenueStackingMode>
<TransformatorLosses xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</TransformatorLosses>
<UseAncillary xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">Undefined</UseAncillary>
<UseCapacityTod xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">false</UseCapacityTod>
<UseEnergy xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">Undefined</UseEnergy>
<UseFutureData xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</UseFutureData>
<UseInternalSolver xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">false</UseInternalSolver>
<UseNonSpinning xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</UseNonSpinning>
<UseRegdown xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</UseRegdown>
<UseRegup xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</UseRegup>
<UseSpinning xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</UseSpinning>
<Group xmlns:d2p1="http://schemas.datacontract.org/2004/07/powerDev.Common.Models">
<d2p1:IsServerless>false</d2p1:IsServerless>
<d2p1:KeyId>0</d2p1:KeyId>
<d2p1:NodeId>0</d2p1:NodeId>
<d2p1:PlantType>Undefined</d2p1:PlantType>
<d2p1:Provider>Undefined</d2p1:Provider>
<d2p1:SolarId>0</d2p1:SolarId>
<d2p1:WindId>0</d2p1:WindId>
<d2p1:Year>0</d2p1:Year>
<d2p1:ZoneId>0</d2p1:ZoneId>
</Group>
<Key xmlns:d2p1="http://schemas.datacontract.org/2004/07/powerDev.Common.Models">
<d2p1:AncillaryIncrementFactor>0</d2p1:AncillaryIncrementFactor>
<d2p1:BaseCapacityRate>0</d2p1:BaseCapacityRate>
<d2p1:BaseMarket>Undefined</d2p1:BaseMarket>
<d2p1:CapacityFileId>0</d2p1:CapacityFileId>
<d2p1:CapacityIncrementFactor>0</d2p1:CapacityIncrementFactor>
<d2p1:CapacityRate>0</d2p1:CapacityRate>
<d2p1:ChargeEfficinecy>0</d2p1:ChargeEfficinecy>
<d2p1:DischargeEfficinecy>0</d2p1:DischargeEfficinecy>
<d2p1:EnergyIncrementFactor>0</d2p1:EnergyIncrementFactor>
<d2p1:JobStatus>0</d2p1:JobStatus>
<d2p1:KeyId>0</d2p1:KeyId>
<d2p1:KeyType>Undefined</d2p1:KeyType>
<d2p1:LmpFileId>0</d2p1:LmpFileId>
<d2p1:LoadFileId>0</d2p1:LoadFileId>
<d2p1:MaxDate>0001-01-01T00:00:00</d2p1:MaxDate>
<d2p1:MinDate>0001-01-01T00:00:00</d2p1:MinDate>
<d2p1:NodeId>0</d2p1:NodeId>
<d2p1:PlantType>Undefined</d2p1:PlantType>
<d2p1:ProductionFileId>0</d2p1:ProductionFileId>
<d2p1:ProjectId>00000000-0000-0000-0000-000000000000</d2p1:ProjectId>
<d2p1:Provider>Undefined</d2p1:Provider>
<d2p1:RecordKey>String</d2p1:RecordKey>
<d2p1:SolarCapacityRate>0</d2p1:SolarCapacityRate>
<d2p1:SolarId>0</d2p1:SolarId>
<d2p1:SolarUsableCapacity>0</d2p1:SolarUsableCapacity>
<d2p1:SolarUsableCapacityFactor>0</d2p1:SolarUsableCapacityFactor>
<d2p1:Status>0</d2p1:Status>
<d2p1:UsableCapacity>0</d2p1:UsableCapacity>
<d2p1:UsableCapacityFactor>0</d2p1:UsableCapacityFactor>
<d2p1:WindCapacityRate>0</d2p1:WindCapacityRate>
<d2p1:WindId>0</d2p1:WindId>
<d2p1:Year>0</d2p1:Year>
<d2p1:YoyStatus>0</d2p1:YoyStatus>
<d2p1:ZoneId>0</d2p1:ZoneId>
</Key>
<Month>0</Month>
<ProjectGroup>Undefined</ProjectGroup>
</CommonOptimizerYearlyRequest>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <YearlyApiStatusResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models"> <FailedCount>0</FailedCount> <Message>String</Message> </YearlyApiStatusResponse>