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