POST | /optimizer/yearly |
---|
import java.math.*;
import java.util.*;
import net.servicestack.client.*;
public class dtos
{
public static class CommonOptimizerYearlyRequest extends MonthlyRequestBase
{
public Integer month = null;
public BatteryScenarioKeyGroup group = null;
public BatteryScenarioKeyItem key = null;
public BatteryProjectGroup projectGroup = null;
public Integer getMonth() { return month; }
public CommonOptimizerYearlyRequest setMonth(Integer value) { this.month = value; return this; }
public BatteryScenarioKeyGroup getGroup() { return group; }
public CommonOptimizerYearlyRequest setGroup(BatteryScenarioKeyGroup value) { this.group = value; return this; }
public BatteryScenarioKeyItem getKey() { return key; }
public CommonOptimizerYearlyRequest setKey(BatteryScenarioKeyItem value) { this.key = value; return this; }
public BatteryProjectGroup getProjectGroup() { return projectGroup; }
public CommonOptimizerYearlyRequest setProjectGroup(BatteryProjectGroup value) { this.projectGroup = value; return this; }
}
public static class MonthlyRequestBase
{
public UUID projectId = null;
public Integer nodeAltId = null;
public DataProvider iso = null;
public BooleanValue useEnergy = null;
public BooleanValue useAncillary = null;
public Boolean useCapacityTod = null;
public PriceMarketType baseMarket = null;
public ArrayList<BatteryProjectTodItem> capacityTODs = null;
public BigDecimal useRegup = null;
public BigDecimal useRegdown = null;
public BigDecimal useSpinning = null;
public BigDecimal useNonSpinning = null;
public BigDecimal paraciticLossesOperation = null;
public BigDecimal paraciticLossesResting = null;
public BigDecimal hvacLosses = null;
public BigDecimal acCablingLosses = null;
public BigDecimal transformatorLosses = null;
public BigDecimal otherLosses = null;
public Integer representativeYear = null;
public Integer incrementReferanceYear = null;
public Integer useFutureData = null;
public BigDecimal maxDailyCycle = null;
public BigDecimal minDailyProfitPerMw = null;
public Integer ancillaryFileId = null;
public Integer lmpFileId = null;
public BigDecimal maxChargingPriceCap = null;
public BigDecimal maxDischargingPriceCap = null;
public BigDecimal maxAncillaryPriceCap = null;
public RevenueStackingMode revenueStackingMode = null;
public Integer optimizationQuality = null;
public Integer ensureExlusive = null;
public Integer nodeRefId = null;
public Boolean useInternalSolver = null;
public UUID getProjectId() { return projectId; }
public MonthlyRequestBase setProjectId(UUID value) { this.projectId = value; return this; }
public Integer getNodeAltId() { return nodeAltId; }
public MonthlyRequestBase setNodeAltId(Integer value) { this.nodeAltId = value; return this; }
public DataProvider getIso() { return iso; }
public MonthlyRequestBase setIso(DataProvider value) { this.iso = value; return this; }
public BooleanValue isUseEnergy() { return useEnergy; }
public MonthlyRequestBase setUseEnergy(BooleanValue value) { this.useEnergy = value; return this; }
public BooleanValue isUseAncillary() { return useAncillary; }
public MonthlyRequestBase setUseAncillary(BooleanValue value) { this.useAncillary = value; return this; }
public Boolean isUseCapacityTod() { return useCapacityTod; }
public MonthlyRequestBase setUseCapacityTod(Boolean value) { this.useCapacityTod = value; return this; }
public PriceMarketType getBaseMarket() { return baseMarket; }
public MonthlyRequestBase setBaseMarket(PriceMarketType value) { this.baseMarket = value; return this; }
public ArrayList<BatteryProjectTodItem> getCapacityTODs() { return capacityTODs; }
public MonthlyRequestBase setCapacityTODs(ArrayList<BatteryProjectTodItem> value) { this.capacityTODs = value; return this; }
public BigDecimal getUseRegup() { return useRegup; }
public MonthlyRequestBase setUseRegup(BigDecimal value) { this.useRegup = value; return this; }
public BigDecimal getUseRegdown() { return useRegdown; }
public MonthlyRequestBase setUseRegdown(BigDecimal value) { this.useRegdown = value; return this; }
public BigDecimal getUseSpinning() { return useSpinning; }
public MonthlyRequestBase setUseSpinning(BigDecimal value) { this.useSpinning = value; return this; }
public BigDecimal getUseNonSpinning() { return useNonSpinning; }
public MonthlyRequestBase setUseNonSpinning(BigDecimal value) { this.useNonSpinning = value; return this; }
public BigDecimal getParaciticLossesOperation() { return paraciticLossesOperation; }
public MonthlyRequestBase setParaciticLossesOperation(BigDecimal value) { this.paraciticLossesOperation = value; return this; }
public BigDecimal getParaciticLossesResting() { return paraciticLossesResting; }
public MonthlyRequestBase setParaciticLossesResting(BigDecimal value) { this.paraciticLossesResting = value; return this; }
public BigDecimal getHvacLosses() { return hvacLosses; }
public MonthlyRequestBase setHvacLosses(BigDecimal value) { this.hvacLosses = value; return this; }
public BigDecimal getAcCablingLosses() { return acCablingLosses; }
public MonthlyRequestBase setAcCablingLosses(BigDecimal value) { this.acCablingLosses = value; return this; }
public BigDecimal getTransformatorLosses() { return transformatorLosses; }
public MonthlyRequestBase setTransformatorLosses(BigDecimal value) { this.transformatorLosses = value; return this; }
public BigDecimal getOtherLosses() { return otherLosses; }
public MonthlyRequestBase setOtherLosses(BigDecimal value) { this.otherLosses = value; return this; }
public Integer getRepresentativeYear() { return representativeYear; }
public MonthlyRequestBase setRepresentativeYear(Integer value) { this.representativeYear = value; return this; }
public Integer getIncrementReferanceYear() { return incrementReferanceYear; }
public MonthlyRequestBase setIncrementReferanceYear(Integer value) { this.incrementReferanceYear = value; return this; }
public Integer getUseFutureData() { return useFutureData; }
public MonthlyRequestBase setUseFutureData(Integer value) { this.useFutureData = value; return this; }
public BigDecimal getMaxDailyCycle() { return maxDailyCycle; }
public MonthlyRequestBase setMaxDailyCycle(BigDecimal value) { this.maxDailyCycle = value; return this; }
public BigDecimal getMinDailyProfitPerMw() { return minDailyProfitPerMw; }
public MonthlyRequestBase setMinDailyProfitPerMw(BigDecimal value) { this.minDailyProfitPerMw = value; return this; }
public Integer getAncillaryFileId() { return ancillaryFileId; }
public MonthlyRequestBase setAncillaryFileId(Integer value) { this.ancillaryFileId = value; return this; }
public Integer getLmpFileId() { return lmpFileId; }
public MonthlyRequestBase setLmpFileId(Integer value) { this.lmpFileId = value; return this; }
public BigDecimal getMaxChargingPriceCap() { return maxChargingPriceCap; }
public MonthlyRequestBase setMaxChargingPriceCap(BigDecimal value) { this.maxChargingPriceCap = value; return this; }
public BigDecimal getMaxDischargingPriceCap() { return maxDischargingPriceCap; }
public MonthlyRequestBase setMaxDischargingPriceCap(BigDecimal value) { this.maxDischargingPriceCap = value; return this; }
public BigDecimal getMaxAncillaryPriceCap() { return maxAncillaryPriceCap; }
public MonthlyRequestBase setMaxAncillaryPriceCap(BigDecimal value) { this.maxAncillaryPriceCap = value; return this; }
public RevenueStackingMode getRevenueStackingMode() { return revenueStackingMode; }
public MonthlyRequestBase setRevenueStackingMode(RevenueStackingMode value) { this.revenueStackingMode = value; return this; }
public Integer getOptimizationQuality() { return optimizationQuality; }
public MonthlyRequestBase setOptimizationQuality(Integer value) { this.optimizationQuality = value; return this; }
public Integer getEnsureExlusive() { return ensureExlusive; }
public MonthlyRequestBase setEnsureExlusive(Integer value) { this.ensureExlusive = value; return this; }
public Integer getNodeRefId() { return nodeRefId; }
public MonthlyRequestBase setNodeRefId(Integer value) { this.nodeRefId = value; return this; }
public Boolean isUseInternalSolver() { return useInternalSolver; }
public MonthlyRequestBase setUseInternalSolver(Boolean value) { this.useInternalSolver = value; return this; }
}
public static 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);
private final int value;
DataProvider(final int intValue) { value = intValue; }
public int getValue() { return value; }
}
public static enum BooleanValue
{
Undefined,
Yes,
No,
Custom;
}
public static enum PriceMarketType
{
Undefined(0),
Realtime(1),
DayAhead(10),
Dart(101);
private final int value;
PriceMarketType(final int intValue) { value = intValue; }
public int getValue() { return value; }
}
public static class BatteryProjectTodItem
{
public Integer month = null;
public Integer weekDay = null;
public Integer hour = null;
public BigDecimal price = null;
@Ignore()
public String id = null;
public Integer getMonth() { return month; }
public BatteryProjectTodItem setMonth(Integer value) { this.month = value; return this; }
public Integer getWeekDay() { return weekDay; }
public BatteryProjectTodItem setWeekDay(Integer value) { this.weekDay = value; return this; }
public Integer getHour() { return hour; }
public BatteryProjectTodItem setHour(Integer value) { this.hour = value; return this; }
public BigDecimal getPrice() { return price; }
public BatteryProjectTodItem setPrice(BigDecimal value) { this.price = value; return this; }
public String getId() { return id; }
public BatteryProjectTodItem setId(String value) { this.id = value; return this; }
}
public static enum RevenueStackingMode
{
SolveWithoutAncillary,
SolveWithAncillary;
}
public static class BatteryScenarioKeyGroup
{
public Integer keyId = null;
public Integer year = null;
public Integer nodeId = null;
public DataProvider provider = null;
public Integer zoneId = null;
public PowerPlantType plantType = null;
public Integer solarId = null;
public Integer windId = null;
public Boolean isServerless = null;
public Integer getKeyId() { return keyId; }
public BatteryScenarioKeyGroup setKeyId(Integer value) { this.keyId = value; return this; }
public Integer getYear() { return year; }
public BatteryScenarioKeyGroup setYear(Integer value) { this.year = value; return this; }
public Integer getNodeId() { return nodeId; }
public BatteryScenarioKeyGroup setNodeId(Integer value) { this.nodeId = value; return this; }
public DataProvider getProvider() { return provider; }
public BatteryScenarioKeyGroup setProvider(DataProvider value) { this.provider = value; return this; }
public Integer getZoneId() { return zoneId; }
public BatteryScenarioKeyGroup setZoneId(Integer value) { this.zoneId = value; return this; }
public PowerPlantType getPlantType() { return plantType; }
public BatteryScenarioKeyGroup setPlantType(PowerPlantType value) { this.plantType = value; return this; }
public Integer getSolarId() { return solarId; }
public BatteryScenarioKeyGroup setSolarId(Integer value) { this.solarId = value; return this; }
public Integer getWindId() { return windId; }
public BatteryScenarioKeyGroup setWindId(Integer value) { this.windId = value; return this; }
public Boolean getIsServerless() { return isServerless; }
public BatteryScenarioKeyGroup setIsServerless(Boolean value) { this.isServerless = value; return this; }
}
public static enum PowerPlantType
{
Undefined,
Solar,
Wind,
Hybrid;
}
public static class BatteryScenarioKeyItem
{
public UUID projectId = null;
public Integer keyId = null;
public BatteryScenarioType keyType = null;
public String recordKey = null;
public Integer jobStatus = null;
public Integer status = null;
public Date minDate = null;
public Date maxDate = null;
public Integer year = null;
public Integer yoyStatus = null;
public BigDecimal usableCapacity = null;
public BigDecimal usableCapacityFactor = null;
public BigDecimal solarUsableCapacity = null;
public BigDecimal solarUsableCapacityFactor = null;
public PriceMarketType baseMarket = null;
public BigDecimal baseCapacityRate = null;
public BigDecimal capacityRate = null;
public BigDecimal solarCapacityRate = null;
public BigDecimal windCapacityRate = null;
public BigDecimal chargeEfficinecy = null;
public BigDecimal dischargeEfficinecy = null;
public Integer nodeId = null;
public DataProvider provider = null;
public Integer zoneId = null;
public Integer lmpFileId = null;
public Integer productionFileId = null;
public Integer loadFileId = null;
public Integer capacityFileId = null;
public PowerPlantType plantType = null;
public Integer solarId = null;
public Integer windId = null;
public BigDecimal ancillaryIncrementFactor = null;
public BigDecimal energyIncrementFactor = null;
public BigDecimal capacityIncrementFactor = null;
public UUID getProjectId() { return projectId; }
public BatteryScenarioKeyItem setProjectId(UUID value) { this.projectId = value; return this; }
public Integer getKeyId() { return keyId; }
public BatteryScenarioKeyItem setKeyId(Integer value) { this.keyId = value; return this; }
public BatteryScenarioType getKeyType() { return keyType; }
public BatteryScenarioKeyItem setKeyType(BatteryScenarioType value) { this.keyType = value; return this; }
public String getRecordKey() { return recordKey; }
public BatteryScenarioKeyItem setRecordKey(String value) { this.recordKey = value; return this; }
public Integer getJobStatus() { return jobStatus; }
public BatteryScenarioKeyItem setJobStatus(Integer value) { this.jobStatus = value; return this; }
public Integer getStatus() { return status; }
public BatteryScenarioKeyItem setStatus(Integer value) { this.status = value; return this; }
public Date getMinDate() { return minDate; }
public BatteryScenarioKeyItem setMinDate(Date value) { this.minDate = value; return this; }
public Date getMaxDate() { return maxDate; }
public BatteryScenarioKeyItem setMaxDate(Date value) { this.maxDate = value; return this; }
public Integer getYear() { return year; }
public BatteryScenarioKeyItem setYear(Integer value) { this.year = value; return this; }
public Integer getYoyStatus() { return yoyStatus; }
public BatteryScenarioKeyItem setYoyStatus(Integer value) { this.yoyStatus = value; return this; }
public BigDecimal getUsableCapacity() { return usableCapacity; }
public BatteryScenarioKeyItem setUsableCapacity(BigDecimal value) { this.usableCapacity = value; return this; }
public BigDecimal getUsableCapacityFactor() { return usableCapacityFactor; }
public BatteryScenarioKeyItem setUsableCapacityFactor(BigDecimal value) { this.usableCapacityFactor = value; return this; }
public BigDecimal getSolarUsableCapacity() { return solarUsableCapacity; }
public BatteryScenarioKeyItem setSolarUsableCapacity(BigDecimal value) { this.solarUsableCapacity = value; return this; }
public BigDecimal getSolarUsableCapacityFactor() { return solarUsableCapacityFactor; }
public BatteryScenarioKeyItem setSolarUsableCapacityFactor(BigDecimal value) { this.solarUsableCapacityFactor = value; return this; }
public PriceMarketType getBaseMarket() { return baseMarket; }
public BatteryScenarioKeyItem setBaseMarket(PriceMarketType value) { this.baseMarket = value; return this; }
public BigDecimal getBaseCapacityRate() { return baseCapacityRate; }
public BatteryScenarioKeyItem setBaseCapacityRate(BigDecimal value) { this.baseCapacityRate = value; return this; }
public BigDecimal getCapacityRate() { return capacityRate; }
public BatteryScenarioKeyItem setCapacityRate(BigDecimal value) { this.capacityRate = value; return this; }
public BigDecimal getSolarCapacityRate() { return solarCapacityRate; }
public BatteryScenarioKeyItem setSolarCapacityRate(BigDecimal value) { this.solarCapacityRate = value; return this; }
public BigDecimal getWindCapacityRate() { return windCapacityRate; }
public BatteryScenarioKeyItem setWindCapacityRate(BigDecimal value) { this.windCapacityRate = value; return this; }
public BigDecimal getChargeEfficinecy() { return chargeEfficinecy; }
public BatteryScenarioKeyItem setChargeEfficinecy(BigDecimal value) { this.chargeEfficinecy = value; return this; }
public BigDecimal getDischargeEfficinecy() { return dischargeEfficinecy; }
public BatteryScenarioKeyItem setDischargeEfficinecy(BigDecimal value) { this.dischargeEfficinecy = value; return this; }
public Integer getNodeId() { return nodeId; }
public BatteryScenarioKeyItem setNodeId(Integer value) { this.nodeId = value; return this; }
public DataProvider getProvider() { return provider; }
public BatteryScenarioKeyItem setProvider(DataProvider value) { this.provider = value; return this; }
public Integer getZoneId() { return zoneId; }
public BatteryScenarioKeyItem setZoneId(Integer value) { this.zoneId = value; return this; }
public Integer getLmpFileId() { return lmpFileId; }
public BatteryScenarioKeyItem setLmpFileId(Integer value) { this.lmpFileId = value; return this; }
public Integer getProductionFileId() { return productionFileId; }
public BatteryScenarioKeyItem setProductionFileId(Integer value) { this.productionFileId = value; return this; }
public Integer getLoadFileId() { return loadFileId; }
public BatteryScenarioKeyItem setLoadFileId(Integer value) { this.loadFileId = value; return this; }
public Integer getCapacityFileId() { return capacityFileId; }
public BatteryScenarioKeyItem setCapacityFileId(Integer value) { this.capacityFileId = value; return this; }
public PowerPlantType getPlantType() { return plantType; }
public BatteryScenarioKeyItem setPlantType(PowerPlantType value) { this.plantType = value; return this; }
public Integer getSolarId() { return solarId; }
public BatteryScenarioKeyItem setSolarId(Integer value) { this.solarId = value; return this; }
public Integer getWindId() { return windId; }
public BatteryScenarioKeyItem setWindId(Integer value) { this.windId = value; return this; }
public BigDecimal getAncillaryIncrementFactor() { return ancillaryIncrementFactor; }
public BatteryScenarioKeyItem setAncillaryIncrementFactor(BigDecimal value) { this.ancillaryIncrementFactor = value; return this; }
public BigDecimal getEnergyIncrementFactor() { return energyIncrementFactor; }
public BatteryScenarioKeyItem setEnergyIncrementFactor(BigDecimal value) { this.energyIncrementFactor = value; return this; }
public BigDecimal getCapacityIncrementFactor() { return capacityIncrementFactor; }
public BatteryScenarioKeyItem setCapacityIncrementFactor(BigDecimal value) { this.capacityIncrementFactor = value; return this; }
}
public static enum BatteryScenarioType
{
Undefined,
Optimization,
Sum,
OptiSum,
FullTod,
CapacityTod;
}
public static enum BatteryProjectGroup
{
Undefined,
StandAlone,
Ftm,
Btm;
}
public static class YearlyApiStatusResponse
{
public Integer failedCount = null;
public String message = null;
public Integer getFailedCount() { return failedCount; }
public YearlyApiStatusResponse setFailedCount(Integer value) { this.failedCount = value; return this; }
public String getMessage() { return message; }
public YearlyApiStatusResponse setMessage(String value) { this.message = value; return this; }
}
}
Java CommonOptimizerYearlyRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
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: text/csv
Content-Type: text/csv
Content-Length: length
{"month":0,"group":{"keyId":0,"year":0,"nodeId":0,"provider":"Undefined","zoneId":0,"plantType":"Undefined","solarId":0,"windId":0,"isServerless":false},"key":{"projectId":"00000000000000000000000000000000","keyId":0,"keyType":"Undefined","recordKey":"String","jobStatus":0,"status":0,"year":0,"yoyStatus":0,"usableCapacity":0,"usableCapacityFactor":0,"solarUsableCapacity":0,"solarUsableCapacityFactor":0,"baseMarket":"Undefined","baseCapacityRate":0,"capacityRate":0,"solarCapacityRate":0,"windCapacityRate":0,"chargeEfficinecy":0,"dischargeEfficinecy":0,"nodeId":0,"provider":"Undefined","zoneId":0,"lmpFileId":0,"productionFileId":0,"loadFileId":0,"capacityFileId":0,"plantType":"Undefined","solarId":0,"windId":0,"ancillaryIncrementFactor":0,"energyIncrementFactor":0,"capacityIncrementFactor":0},"projectGroup":"Undefined","projectId":"00000000000000000000000000000000","nodeAltId":0,"iso":"Undefined","useEnergy":"Undefined","useAncillary":"Undefined","useCapacityTod":false,"baseMarket":"Undefined","useRegup":0,"useRegdown":0,"useSpinning":0,"useNonSpinning":0,"paraciticLossesOperation":0,"paraciticLossesResting":0,"hvacLosses":0,"acCablingLosses":0,"transformatorLosses":0,"otherLosses":0,"representativeYear":0,"incrementReferanceYear":0,"useFutureData":0,"maxDailyCycle":0,"minDailyProfitPerMw":0,"ancillaryFileId":0,"lmpFileId":0,"maxChargingPriceCap":0,"maxDischargingPriceCap":0,"maxAncillaryPriceCap":0,"revenueStackingMode":"SolveWithoutAncillary","optimizationQuality":0,"ensureExlusive":0,"nodeRefId":0,"useInternalSolver":false}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"failedCount":0,"message":"String"}