Power.Dev Optimization Services

<back to all web services

CommonOptimizerMonthlyRequest

The following routes are available for this service:
POST/optimizer/monthly
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 CommonOptimizerMonthlyRequest() = 
        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 MonthlyApiStatusResponse() = 
        member val FailedCount:Int32 = new Int32() with get,set

F# 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>