(* Options: Date: 2025-09-10 19:36:33 Version: 8.30 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://dev-optimization.power.dev //GlobalNamespace: //MakeDataContractsExtensible: False //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //ExportValueTypes: False IncludeTypes: CommonOptimizerMonthlyRequest.* //ExcludeTypes: //InitializeCollections: True //AddNamespaces: *) namespace powerDev.Optimization.ServiceModel open System open System.Collections open System.Collections.Generic open System.Runtime.Serialization open ServiceStack open ServiceStack.DataAnnotations type 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 type PowerPlantType = | Undefined = 0 | Solar = 1 | Wind = 2 | Hybrid = 3 [] type BatteryScenarioKeyGroup() = member val KeyId:Int32 = new Int32() with get,set member val Year:Int32 = new Int32() with get,set member val NodeId:Int32 = new Int32() with get,set member val Provider:DataProvider = new DataProvider() with get,set member val ZoneId:Int32 = new Int32() with get,set member val PlantType:PowerPlantType = new PowerPlantType() with get,set member val SolarId:Int32 = new Int32() with get,set member val WindId:Int32 = new Int32() with get,set member val IsServerless:Boolean = new Boolean() with get,set type BatteryScenarioType = | Undefined = 0 | Optimization = 1 | Sum = 2 | OptiSum = 3 | FullTod = 4 | CapacityTod = 5 type PriceMarketType = | Undefined = 0 | Realtime = 1 | DayAhead = 10 | DART = 101 [] type BatteryScenarioKeyItem() = member val ProjectId:Guid = new Guid() with get,set member val KeyId:Int32 = new Int32() with get,set member val KeyType:BatteryScenarioType = new BatteryScenarioType() with get,set member val RecordKey:String = null with get,set member val JobStatus:Int32 = new Int32() with get,set member val Status:Int32 = new Int32() with get,set member val MinDate:DateTime = new DateTime() with get,set member val MaxDate:DateTime = new DateTime() with get,set member val Year:Int32 = new Int32() with get,set member val YoyStatus:Int32 = new Int32() with get,set member val UsableCapacity:Decimal = new Decimal() with get,set member val UsableCapacityFactor:Decimal = new Decimal() with get,set member val SolarUsableCapacity:Decimal = new Decimal() with get,set member val SolarUsableCapacityFactor:Decimal = new Decimal() with get,set member val BaseMarket:PriceMarketType = new PriceMarketType() with get,set member val BaseCapacityRate:Decimal = new Decimal() with get,set member val CapacityRate:Decimal = new Decimal() with get,set member val SolarCapacityRate:Decimal = new Decimal() with get,set member val WindCapacityRate:Decimal = new Decimal() with get,set member val ChargeEfficinecy:Decimal = new Decimal() with get,set member val DischargeEfficinecy:Decimal = new Decimal() with get,set member val NodeId:Int32 = new Int32() with get,set member val Provider:DataProvider = new DataProvider() with get,set member val ZoneId:Int32 = new Int32() with get,set member val LmpFileId:Int32 = new Int32() with get,set member val ProductionFileId:Int32 = new Int32() with get,set member val LoadFileId:Int32 = new Int32() with get,set member val CapacityFileId:Int32 = new Int32() with get,set member val PlantType:PowerPlantType = new PowerPlantType() with get,set member val SolarId:Int32 = new Int32() with get,set member val WindId:Int32 = new Int32() with get,set member val AncillaryIncrementFactor:Decimal = new Decimal() with get,set member val EnergyIncrementFactor:Decimal = new Decimal() with get,set member val CapacityIncrementFactor:Decimal = new Decimal() with get,set type BatteryProjectGroup = | Undefined = 0 | StandAlone = 1 | FTM = 2 | BTM = 3 type BooleanValue = | Undefined = 0 | Yes = 1 | No = 2 | Custom = 3 [] type BatteryProjectTodItem() = member val Month:Int32 = new Int32() with get,set member val WeekDay:Int32 = new Int32() with get,set member val Hour:Int32 = new Int32() with get,set member val Price:Decimal = new Decimal() with get,set [] member val Id:String = null with get,set type RevenueStackingMode = | SolveWithoutAncillary = 0 | SolveWithAncillary = 1 [] type MonthlyRequestBase() = member val ProjectId:Guid = new Guid() with get,set member val NodeAltId:Int32 = new Int32() with get,set member val Iso:DataProvider = new DataProvider() with get,set member val UseEnergy:BooleanValue = new BooleanValue() with get,set member val UseAncillary:BooleanValue = new BooleanValue() with get,set member val UseCapacityTod:Boolean = new Boolean() with get,set member val BaseMarket:PriceMarketType = new PriceMarketType() with get,set member val CapacityTODs:IEnumerable = null with get,set member val UseRegup:Decimal = new Decimal() with get,set member val UseRegdown:Decimal = new Decimal() with get,set member val UseSpinning:Decimal = new Decimal() with get,set member val UseNonSpinning:Decimal = new Decimal() with get,set member val ParaciticLossesOperation:Decimal = new Decimal() with get,set member val ParaciticLossesResting:Decimal = new Decimal() with get,set member val HVACLosses:Decimal = new Decimal() with get,set member val AcCablingLosses:Decimal = new Decimal() with get,set member val TransformatorLosses:Decimal = new Decimal() with get,set member val OtherLosses:Decimal = new Decimal() with get,set member val RepresentativeYear:Int32 = new Int32() with get,set member val IncrementReferanceYear:Int32 = new Int32() with get,set member val UseFutureData:Int32 = new Int32() with get,set member val MaxDailyCycle:Decimal = new Decimal() with get,set member val MinDailyProfitPerMw:Decimal = new Decimal() with get,set member val AncillaryFileId:Int32 = new Int32() with get,set member val LmpFileId:Int32 = new Int32() with get,set member val MaxChargingPriceCap:Decimal = new Decimal() with get,set member val MaxDischargingPriceCap:Decimal = new Decimal() with get,set member val MaxAncillaryPriceCap:Decimal = new Decimal() with get,set member val RevenueStackingMode:RevenueStackingMode = new RevenueStackingMode() with get,set member val OptimizationQuality:Int32 = new Int32() with get,set member val EnsureExlusive:Int32 = new Int32() with get,set member val NodeRefId:Int32 = new Int32() with get,set member val UseInternalSolver:Boolean = new Boolean() with get,set [] type MonthlyApiStatusResponse() = member val FailedCount:Int32 = new Int32() with get,set [] [] type CommonOptimizerMonthlyRequest() = inherit MonthlyRequestBase() interface IReturn member val Month:Int32 = new Int32() with get,set member val Group:BatteryScenarioKeyGroup = null with get,set member val Key:BatteryScenarioKeyItem = null with get,set member val ProjectGroup:BatteryProjectGroup = new BatteryProjectGroup() with get,set