/* Options: Date: 2025-09-10 19:16:19 Version: 8.30 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://dev-optimization.power.dev //GlobalNamespace: //MakePartial: True //MakeVirtual: True //MakeInternal: False //MakeDataContractsExtensible: False //AddNullableAnnotations: False //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //InitializeCollections: True //ExportValueTypes: False IncludeTypes: CommonOptimizerRequest.* //ExcludeTypes: //AddNamespaces: //AddDefaultXmlNamespace: http://schemas.servicestack.net/types */ using System; using System.Collections; using System.Collections.Generic; using System.Runtime.Serialization; using ServiceStack; using ServiceStack.DataAnnotations; using powerDev.Common.Models; using powerDev.Common.Types; using powerDev.Common.Types.Enums; using powerDev.Optimization.ServiceModel; 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 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 { [Route("/optimizer/ftm", "POST")] [Route("/optimizer/common", "POST")] public partial class CommonOptimizerRequest : CommonOptimizerPortalRequestBase, IReturn { } }