/* Options: Date: 2025-09-10 19:19:32 Version: 8.30 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://dev-optimization.power.dev //Package: //GlobalNamespace: dtos //AddPropertyAccessors: True //SettersReturnThis: True //AddServiceStackTypes: True //AddResponseStatus: False //AddDescriptionAsComments: True //AddImplicitVersion: IncludeTypes: CommonOptimizerYearlyRequest.* //ExcludeTypes: //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.*; import java.util.*; import net.servicestack.client.*; public class dtos { @Route(Path="/optimizer/yearly", Verbs="POST") public static class CommonOptimizerYearlyRequest extends MonthlyRequestBase implements IReturn { 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; } private static Object responseType = YearlyApiStatusResponse.class; public Object getResponseType() { return responseType; } } 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; } } 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 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 BatteryProjectGroup { Undefined, StandAlone, Ftm, Btm; } 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 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 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 getCapacityTODs() { return capacityTODs; } public MonthlyRequestBase setCapacityTODs(ArrayList 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 PowerPlantType { Undefined, Solar, Wind, Hybrid; } public static enum BatteryScenarioType { Undefined, Optimization, Sum, OptiSum, FullTod, CapacityTod; } }