/* Options: Date: 2025-09-10 19:27:45 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: CommonOptimizerYearlyRequest.* //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.Models; using powerDev.Optimization.ServiceModel; namespace powerDev.Common.Models { public partial class BatteryProjectTodItem { public virtual int Month { get; set; } public virtual int WeekDay { get; set; } public virtual int Hour { get; set; } public virtual decimal Price { get; set; } [Ignore] public virtual string Id { get; set; } } public partial class BatteryScenarioKeyGroup { public virtual int KeyId { get; set; } public virtual int Year { get; set; } public virtual int NodeId { get; set; } public virtual DataProvider Provider { get; set; } public virtual int ZoneId { get; set; } public virtual PowerPlantType PlantType { get; set; } public virtual int SolarId { get; set; } public virtual int WindId { get; set; } public virtual bool IsServerless { get; set; } } public partial class BatteryScenarioKeyItem { public virtual Guid ProjectId { get; set; } public virtual int KeyId { get; set; } public virtual BatteryScenarioType KeyType { get; set; } public virtual string RecordKey { get; set; } public virtual int JobStatus { get; set; } public virtual int Status { get; set; } public virtual DateTime MinDate { get; set; } public virtual DateTime MaxDate { get; set; } public virtual int Year { get; set; } public virtual int YoyStatus { get; set; } public virtual decimal UsableCapacity { get; set; } public virtual decimal UsableCapacityFactor { get; set; } public virtual decimal SolarUsableCapacity { get; set; } public virtual decimal SolarUsableCapacityFactor { get; set; } public virtual PriceMarketType BaseMarket { get; set; } public virtual decimal BaseCapacityRate { get; set; } public virtual decimal CapacityRate { get; set; } public virtual decimal SolarCapacityRate { get; set; } public virtual decimal WindCapacityRate { get; set; } public virtual decimal ChargeEfficinecy { get; set; } public virtual decimal DischargeEfficinecy { get; set; } public virtual int NodeId { get; set; } public virtual DataProvider Provider { get; set; } public virtual int ZoneId { 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 PowerPlantType PlantType { get; set; } public virtual int SolarId { get; set; } public virtual int WindId { get; set; } public virtual decimal AncillaryIncrementFactor { get; set; } public virtual decimal EnergyIncrementFactor { get; set; } public virtual decimal CapacityIncrementFactor { get; set; } } } namespace powerDev.Common.Types { public enum BatteryProjectGroup { Undefined, StandAlone, FTM, BTM, } public enum BatteryScenarioType { Undefined, Optimization, Sum, OptiSum, FullTod, CapacityTod, } 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, } } namespace powerDev.Common.Types.Enums { public enum PowerPlantType { Undefined, Solar, Wind, Hybrid, } public enum RevenueStackingMode { SolveWithoutAncillary, SolveWithAncillary, } } namespace powerDev.Optimization.Models { public partial class MonthlyRequestBase { public virtual Guid ProjectId { get; set; } public virtual int NodeAltId { get; set; } public virtual DataProvider Iso { get; set; } public virtual BooleanValue UseEnergy { get; set; } public virtual BooleanValue UseAncillary { get; set; } public virtual bool UseCapacityTod { get; set; } public virtual PriceMarketType BaseMarket { get; set; } public virtual IEnumerable CapacityTODs { 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 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 OtherLosses { get; set; } public virtual int RepresentativeYear { get; set; } public virtual int IncrementReferanceYear { 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 int LmpFileId { 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 int EnsureExlusive { get; set; } public virtual int NodeRefId { get; set; } public virtual bool UseInternalSolver { get; set; } } public partial class YearlyApiStatusResponse { public virtual int FailedCount { get; set; } public virtual string Message { get; set; } } } namespace powerDev.Optimization.ServiceModel { [Route("/optimizer/yearly", "POST")] public partial class CommonOptimizerYearlyRequest : MonthlyRequestBase, IReturn { public virtual int Month { get; set; } public virtual BatteryScenarioKeyGroup Group { get; set; } public virtual BatteryScenarioKeyItem Key { get; set; } public virtual BatteryProjectGroup ProjectGroup { get; set; } } }