Power.Dev Optimization Services

<back to all web services

CommonOptimizerMonthlyRequest

The following routes are available for this service:
POST/optimizer/monthly
import java.math.*
import java.util.*
import net.servicestack.client.*


open class CommonOptimizerMonthlyRequest : 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 MonthlyApiStatusResponse
{
    var failedCount:Int? = null
}

Kotlin CommonOptimizerMonthlyRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /optimizer/monthly HTTP/1.1 
Host: dev-optimization.power.dev 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<CommonOptimizerMonthlyRequest 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>
</CommonOptimizerMonthlyRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<MonthlyApiStatusResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">
  <FailedCount>0</FailedCount>
</MonthlyApiStatusResponse>