Power.Dev Optimization Services

<back to all web services

CommonOptimizerMonthlyRequest

The following routes are available for this service:
POST/optimizer/monthly

export enum 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,
}

export enum BooleanValue
{
    Undefined = 'Undefined',
    Yes = 'Yes',
    No = 'No',
    Custom = 'Custom',
}

export enum PriceMarketType
{
    Undefined = 0,
    Realtime = 1,
    DayAhead = 10,
    DART = 101,
}

export class BatteryProjectTodItem
{
    public month: number;
    public weekDay: number;
    public hour: number;
    public price: number;
    // @Ignore()
    public id: string;

    public constructor(init?: Partial<BatteryProjectTodItem>) { (Object as any).assign(this, init); }
}

export enum RevenueStackingMode
{
    SolveWithoutAncillary = 'SolveWithoutAncillary',
    SolveWithAncillary = 'SolveWithAncillary',
}

export class MonthlyRequestBase
{
    public projectId: string;
    public nodeAltId: number;
    public iso: DataProvider;
    public useEnergy: BooleanValue;
    public useAncillary: BooleanValue;
    public useCapacityTod: boolean;
    public baseMarket: PriceMarketType;
    public capacityTODs: BatteryProjectTodItem[];
    public useRegup: number;
    public useRegdown: number;
    public useSpinning: number;
    public useNonSpinning: number;
    public paraciticLossesOperation: number;
    public paraciticLossesResting: number;
    public hvacLosses: number;
    public acCablingLosses: number;
    public transformatorLosses: number;
    public otherLosses: number;
    public representativeYear: number;
    public incrementReferanceYear: number;
    public useFutureData: number;
    public maxDailyCycle: number;
    public minDailyProfitPerMw: number;
    public ancillaryFileId: number;
    public lmpFileId: number;
    public maxChargingPriceCap: number;
    public maxDischargingPriceCap: number;
    public maxAncillaryPriceCap: number;
    public revenueStackingMode: RevenueStackingMode;
    public optimizationQuality: number;
    public ensureExlusive: number;
    public nodeRefId: number;
    public useInternalSolver: boolean;

    public constructor(init?: Partial<MonthlyRequestBase>) { (Object as any).assign(this, init); }
}

export enum PowerPlantType
{
    Undefined = 'Undefined',
    Solar = 'Solar',
    Wind = 'Wind',
    Hybrid = 'Hybrid',
}

export class BatteryScenarioKeyGroup
{
    public keyId: number;
    public year: number;
    public nodeId: number;
    public provider: DataProvider;
    public zoneId: number;
    public plantType: PowerPlantType;
    public solarId: number;
    public windId: number;
    public isServerless: boolean;

    public constructor(init?: Partial<BatteryScenarioKeyGroup>) { (Object as any).assign(this, init); }
}

export enum BatteryScenarioType
{
    Undefined = 'Undefined',
    Optimization = 'Optimization',
    Sum = 'Sum',
    OptiSum = 'OptiSum',
    FullTod = 'FullTod',
    CapacityTod = 'CapacityTod',
}

export class BatteryScenarioKeyItem
{
    public projectId: string;
    public keyId: number;
    public keyType: BatteryScenarioType;
    public recordKey: string;
    public jobStatus: number;
    public status: number;
    public minDate: string;
    public maxDate: string;
    public year: number;
    public yoyStatus: number;
    public usableCapacity: number;
    public usableCapacityFactor: number;
    public solarUsableCapacity: number;
    public solarUsableCapacityFactor: number;
    public baseMarket: PriceMarketType;
    public baseCapacityRate: number;
    public capacityRate: number;
    public solarCapacityRate: number;
    public windCapacityRate: number;
    public chargeEfficinecy: number;
    public dischargeEfficinecy: number;
    public nodeId: number;
    public provider: DataProvider;
    public zoneId: number;
    public lmpFileId: number;
    public productionFileId: number;
    public loadFileId: number;
    public capacityFileId: number;
    public plantType: PowerPlantType;
    public solarId: number;
    public windId: number;
    public ancillaryIncrementFactor: number;
    public energyIncrementFactor: number;
    public capacityIncrementFactor: number;

    public constructor(init?: Partial<BatteryScenarioKeyItem>) { (Object as any).assign(this, init); }
}

export enum BatteryProjectGroup
{
    Undefined = 'Undefined',
    StandAlone = 'StandAlone',
    FTM = 'FTM',
    BTM = 'BTM',
}

export class CommonOptimizerMonthlyRequest extends MonthlyRequestBase
{
    public month: number;
    public group: BatteryScenarioKeyGroup;
    public key: BatteryScenarioKeyItem;
    public projectGroup: BatteryProjectGroup;

    public constructor(init?: Partial<CommonOptimizerMonthlyRequest>) { super(init); (Object as any).assign(this, init); }
}

export class MonthlyApiStatusResponse
{
    public failedCount: number;

    public constructor(init?: Partial<MonthlyApiStatusResponse>) { (Object as any).assign(this, init); }
}

TypeScript 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>