POST | /optimizer/ftm | ||
---|---|---|---|
POST | /optimizer/common |
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using powerDev.Optimization.ServiceModel;
using powerDev.Common.Models;
using powerDev.Common.Types;
using powerDev.Common.Types.Enums;
namespace powerDev.Common.Models
{
public partial class BatteryProjectForOptimizer
{
public virtual Guid ProjectId { get; set; }
public virtual string Version { get; set; }
public virtual Guid BaseId { get; set; }
public virtual int AltId { get; set; }
public virtual BatterySimulationType SimulationType { get; set; }
public virtual BatteryProjectGroup ProjectGroup { get; set; }
public virtual BatteryProjectAction ProjectAction { get; set; }
public virtual DataProvider Iso { get; set; }
public virtual string Name { get; set; }
public virtual int BaseNodeId { get; set; }
public virtual int OrgNodeId { get; set; }
public virtual int BaseZoneId { get; set; }
public virtual BatteryDataSoruce DataSource { get; set; }
public virtual PriceMarketType BaseMarket { get; set; }
public virtual TimeGranularity PriceGranularity { get; set; }
public virtual DateTime StartDate { get; set; }
public virtual DateTime EndDate { get; set; }
public virtual decimal BatteryCapacity { get; set; }
public virtual decimal InterconnectionLimit { get; set; }
public virtual decimal NamepaletCapacity { get; set; }
[Ignore]
public virtual decimal ChargeDischargeLimit { get; set; }
[Ignore]
public virtual decimal BaseCapacityRate { get; set; }
[Ignore]
public virtual decimal CapacityRate { get; set; }
public virtual decimal ChargeEfficiency { get; set; }
public virtual decimal DisChargeEfficiency { get; set; }
public virtual decimal ParaciticLossesOperation { get; set; }
public virtual decimal ParaciticLossesResting { get; set; }
public virtual decimal HVACLosses { get; set; }
public virtual decimal AcCablingLosses { get; set; }
public virtual decimal TransformatorLosses { get; set; }
public virtual decimal ThermalLosses { get; set; }
public virtual decimal OtherLosses { get; set; }
public virtual BooleanValue UseEnergy { get; set; }
public virtual BooleanValue UseCapacity { get; set; }
public virtual CapacityMethod CapacityBasis { get; set; }
public virtual decimal CapacityPayment { get; set; }
public virtual decimal NetCapacityFactor { get; set; }
public virtual BooleanValue UseAncillary { get; set; }
public virtual BatteryProductionDataSource ProductionDataSource { get; set; }
public virtual PowerPlantType PowerPlantType { get; set; }
public virtual decimal SolarAcCapacity { get; set; }
public virtual decimal SolarDcCapacity { get; set; }
public virtual decimal WindAcCapacity { get; set; }
[Ignore]
public virtual decimal SolarCapacityRate { get; set; }
[Ignore]
public virtual decimal WindCapacityRate { get; set; }
public virtual int Status { get; set; }
public virtual int SimulationStatus { get; set; }
public virtual DateTime LastSimulationDate { get; set; }
public virtual DateTime DataStartDate { get; set; }
public virtual DateTime DataEndDate { get; set; }
public virtual int SolarId { get; set; }
public virtual int WindId { get; set; }
public virtual int LmpFileId { get; set; }
public virtual int ProductionFileId { get; set; }
public virtual int LoadFileId { get; set; }
public virtual int CapacityFileId { get; set; }
public virtual int NodeAltId { get; set; }
public virtual int NodeRefId { get; set; }
public virtual decimal UseRegup { get; set; }
public virtual decimal UseRegdown { get; set; }
public virtual decimal UseSpinning { get; set; }
public virtual decimal UseNonSpinning { get; set; }
public virtual decimal SolarDegredation { get; set; }
public virtual decimal BatteryDegredation { get; set; }
public virtual decimal Augmentation { get; set; }
public virtual decimal AugmentationFrequency { get; set; }
public virtual decimal EnergyIncrement { get; set; }
public virtual decimal AncillaryIncrement { get; set; }
public virtual int EnableGridArbitrage { get; set; }
public virtual int IncrementReferanceYear { get; set; }
public virtual int RepresentativeYear { get; set; }
public virtual int UseFutureData { get; set; }
public virtual decimal MaxDailyCycle { get; set; }
public virtual decimal MinDailyProfitPerMw { get; set; }
public virtual int AncillaryFileId { get; set; }
public virtual decimal MaxChargingPriceCap { get; set; }
public virtual decimal MaxDischargingPriceCap { get; set; }
public virtual decimal MaxAncillaryPriceCap { get; set; }
public virtual RevenueStackingMode RevenueStackingMode { get; set; }
public virtual int OptimizationQuality { get; set; }
public virtual bool UseInternalSolver { get; set; }
}
public partial class CommonOptimizerPortalRequestBase
{
public virtual Guid ProjectId { get; set; }
public virtual bool IsBatchSimulation { get; set; }
public virtual bool Force { get; set; }
public virtual bool DisableEBSSpot { get; set; }
public virtual bool IsServerless { get; set; }
public virtual Guid ApiActionId { get; set; }
public virtual int NodeId { get; set; }
public virtual int ParallelProject { get; set; }
public virtual int ParallelYears { get; set; }
public virtual int EnsureExlusive { get; set; }
}
public partial class CommonOptimizerResponse
{
public virtual ApiResponseStatus Status { get; set; }
public virtual string Message { get; set; }
public virtual Guid ApiActionId { get; set; }
public virtual string Detail { get; set; }
public virtual IEnumerable<BatteryProjectForOptimizer> Items { get; set; }
}
}
namespace powerDev.Common.Types
{
public enum ApiResponseStatus
{
Undefined = 0,
Success = 1,
Pending = 10,
Failed = 100,
}
public enum BatteryDataSoruce
{
Undefined,
Merchant,
Future,
TOD,
}
public enum BatteryProjectAction
{
Undefined,
Arbitrage,
PeakShaving,
Smooting,
Firming,
}
public enum BatteryProjectGroup
{
Undefined,
StandAlone,
FTM,
BTM,
}
public enum BooleanValue
{
Undefined,
Yes,
No,
Custom,
}
public 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,
}
public enum PriceMarketType
{
Undefined = 0,
Realtime = 1,
DayAhead = 10,
DART = 101,
}
public enum TimeGranularity
{
Undefined = 0,
hourly = 1,
daily = 2,
weekly = 3,
monthy = 4,
yearly = 5,
fivemin = 10,
tenmin = 11,
fifteenmin = 12,
halfhour = 13,
quarterly = 14,
twohours = 21,
threehours = 22,
fourhours = 24,
sixhours = 26,
eighthours = 28,
twelvehours = 32,
irregular = 100,
}
}
namespace powerDev.Common.Types.Enums
{
public enum BatteryProductionDataSource
{
Undefined,
SetClosest,
UploadedFile,
}
public enum BatterySimulationType
{
Undefined = 0,
SingleRun = 1,
BatchSimulation = 2,
BatchSub = 21,
Siting = 100,
}
public enum CapacityMethod
{
Undefined,
Annual,
Tod,
Schedule,
}
public enum PowerPlantType
{
Undefined,
Solar,
Wind,
Hybrid,
}
public enum RevenueStackingMode
{
SolveWithoutAncillary,
SolveWithAncillary,
}
}
namespace powerDev.Optimization.ServiceModel
{
public partial class CommonOptimizerRequest
: CommonOptimizerPortalRequestBase
{
}
}
C# CommonOptimizerRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /optimizer/ftm HTTP/1.1
Host: dev-optimization.power.dev
Accept: application/json
Content-Type: application/json
Content-Length: length
{"projectId":"00000000000000000000000000000000","isBatchSimulation":false,"force":false,"disableEBSSpot":false,"isServerless":false,"apiActionId":"00000000000000000000000000000000","nodeId":0,"parallelProject":0,"parallelYears":0,"ensureExlusive":0}
HTTP/1.1 200 OK Content-Type: application/json Content-Length: length {"status":"Undefined","message":"String","apiActionId":"00000000000000000000000000000000","detail":"String"}