POST | /optimizer/yearly |
---|
namespace powerDev.Optimization.ServiceModel
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
type DataProvider =
| 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
type BooleanValue =
| Undefined = 0
| Yes = 1
| No = 2
| Custom = 3
type PriceMarketType =
| Undefined = 0
| Realtime = 1
| DayAhead = 10
| DART = 101
[<AllowNullLiteral>]
type BatteryProjectTodItem() =
member val Month:Int32 = new Int32() with get,set
member val WeekDay:Int32 = new Int32() with get,set
member val Hour:Int32 = new Int32() with get,set
member val Price:Decimal = new Decimal() with get,set
[<Ignore>]
member val Id:String = null with get,set
type RevenueStackingMode =
| SolveWithoutAncillary = 0
| SolveWithAncillary = 1
[<AllowNullLiteral>]
type MonthlyRequestBase() =
member val ProjectId:Guid = new Guid() with get,set
member val NodeAltId:Int32 = new Int32() with get,set
member val Iso:DataProvider = new DataProvider() with get,set
member val UseEnergy:BooleanValue = new BooleanValue() with get,set
member val UseAncillary:BooleanValue = new BooleanValue() with get,set
member val UseCapacityTod:Boolean = new Boolean() with get,set
member val BaseMarket:PriceMarketType = new PriceMarketType() with get,set
member val CapacityTODs:IEnumerable<BatteryProjectTodItem> = null with get,set
member val UseRegup:Decimal = new Decimal() with get,set
member val UseRegdown:Decimal = new Decimal() with get,set
member val UseSpinning:Decimal = new Decimal() with get,set
member val UseNonSpinning:Decimal = new Decimal() with get,set
member val ParaciticLossesOperation:Decimal = new Decimal() with get,set
member val ParaciticLossesResting:Decimal = new Decimal() with get,set
member val HVACLosses:Decimal = new Decimal() with get,set
member val AcCablingLosses:Decimal = new Decimal() with get,set
member val TransformatorLosses:Decimal = new Decimal() with get,set
member val OtherLosses:Decimal = new Decimal() with get,set
member val RepresentativeYear:Int32 = new Int32() with get,set
member val IncrementReferanceYear:Int32 = new Int32() with get,set
member val UseFutureData:Int32 = new Int32() with get,set
member val MaxDailyCycle:Decimal = new Decimal() with get,set
member val MinDailyProfitPerMw:Decimal = new Decimal() with get,set
member val AncillaryFileId:Int32 = new Int32() with get,set
member val LmpFileId:Int32 = new Int32() with get,set
member val MaxChargingPriceCap:Decimal = new Decimal() with get,set
member val MaxDischargingPriceCap:Decimal = new Decimal() with get,set
member val MaxAncillaryPriceCap:Decimal = new Decimal() with get,set
member val RevenueStackingMode:RevenueStackingMode = new RevenueStackingMode() with get,set
member val OptimizationQuality:Int32 = new Int32() with get,set
member val EnsureExlusive:Int32 = new Int32() with get,set
member val NodeRefId:Int32 = new Int32() with get,set
member val UseInternalSolver:Boolean = new Boolean() with get,set
type PowerPlantType =
| Undefined = 0
| Solar = 1
| Wind = 2
| Hybrid = 3
[<AllowNullLiteral>]
type BatteryScenarioKeyGroup() =
member val KeyId:Int32 = new Int32() with get,set
member val Year:Int32 = new Int32() with get,set
member val NodeId:Int32 = new Int32() with get,set
member val Provider:DataProvider = new DataProvider() with get,set
member val ZoneId:Int32 = new Int32() with get,set
member val PlantType:PowerPlantType = new PowerPlantType() with get,set
member val SolarId:Int32 = new Int32() with get,set
member val WindId:Int32 = new Int32() with get,set
member val IsServerless:Boolean = new Boolean() with get,set
type BatteryScenarioType =
| Undefined = 0
| Optimization = 1
| Sum = 2
| OptiSum = 3
| FullTod = 4
| CapacityTod = 5
[<AllowNullLiteral>]
type BatteryScenarioKeyItem() =
member val ProjectId:Guid = new Guid() with get,set
member val KeyId:Int32 = new Int32() with get,set
member val KeyType:BatteryScenarioType = new BatteryScenarioType() with get,set
member val RecordKey:String = null with get,set
member val JobStatus:Int32 = new Int32() with get,set
member val Status:Int32 = new Int32() with get,set
member val MinDate:DateTime = new DateTime() with get,set
member val MaxDate:DateTime = new DateTime() with get,set
member val Year:Int32 = new Int32() with get,set
member val YoyStatus:Int32 = new Int32() with get,set
member val UsableCapacity:Decimal = new Decimal() with get,set
member val UsableCapacityFactor:Decimal = new Decimal() with get,set
member val SolarUsableCapacity:Decimal = new Decimal() with get,set
member val SolarUsableCapacityFactor:Decimal = new Decimal() with get,set
member val BaseMarket:PriceMarketType = new PriceMarketType() with get,set
member val BaseCapacityRate:Decimal = new Decimal() with get,set
member val CapacityRate:Decimal = new Decimal() with get,set
member val SolarCapacityRate:Decimal = new Decimal() with get,set
member val WindCapacityRate:Decimal = new Decimal() with get,set
member val ChargeEfficinecy:Decimal = new Decimal() with get,set
member val DischargeEfficinecy:Decimal = new Decimal() with get,set
member val NodeId:Int32 = new Int32() with get,set
member val Provider:DataProvider = new DataProvider() with get,set
member val ZoneId:Int32 = new Int32() with get,set
member val LmpFileId:Int32 = new Int32() with get,set
member val ProductionFileId:Int32 = new Int32() with get,set
member val LoadFileId:Int32 = new Int32() with get,set
member val CapacityFileId:Int32 = new Int32() with get,set
member val PlantType:PowerPlantType = new PowerPlantType() with get,set
member val SolarId:Int32 = new Int32() with get,set
member val WindId:Int32 = new Int32() with get,set
member val AncillaryIncrementFactor:Decimal = new Decimal() with get,set
member val EnergyIncrementFactor:Decimal = new Decimal() with get,set
member val CapacityIncrementFactor:Decimal = new Decimal() with get,set
type BatteryProjectGroup =
| Undefined = 0
| StandAlone = 1
| FTM = 2
| BTM = 3
[<AllowNullLiteral>]
type CommonOptimizerYearlyRequest() =
inherit MonthlyRequestBase()
member val Month:Int32 = new Int32() with get,set
member val Group:BatteryScenarioKeyGroup = null with get,set
member val Key:BatteryScenarioKeyItem = null with get,set
member val ProjectGroup:BatteryProjectGroup = new BatteryProjectGroup() with get,set
[<AllowNullLiteral>]
type YearlyApiStatusResponse() =
member val FailedCount:Int32 = new Int32() with get,set
member val Message:String = null with get,set
F# 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>