POST | /optimizer/yearly |
---|
import 'package:servicestack/servicestack.dart';
enum DataProvider
{
Undefined,
SPP,
ERCOT,
MISO,
CAISO,
PJM,
ISONE,
NYISO,
NW,
SW,
SE,
AESO,
IESO,
CENACE,
NONISO,
EIA,
PNM,
NREL,
NOAA,
ENTSOE,
EPIAS,
SELF,
}
enum BooleanValue
{
Undefined,
Yes,
No,
Custom,
}
enum PriceMarketType
{
Undefined,
Realtime,
DayAhead,
DART,
}
class BatteryProjectTodItem implements IConvertible
{
int? month;
int? weekDay;
int? hour;
double? price;
// @ignore()
String? id;
BatteryProjectTodItem({this.month,this.weekDay,this.hour,this.price,this.id});
BatteryProjectTodItem.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
month = json['month'];
weekDay = json['weekDay'];
hour = json['hour'];
price = JsonConverters.toDouble(json['price']);
id = json['id'];
return this;
}
Map<String, dynamic> toJson() => {
'month': month,
'weekDay': weekDay,
'hour': hour,
'price': price,
'id': id
};
getTypeName() => "BatteryProjectTodItem";
TypeContext? context = _ctx;
}
enum RevenueStackingMode
{
SolveWithoutAncillary,
SolveWithAncillary,
}
class MonthlyRequestBase implements IConvertible
{
String? projectId;
int? nodeAltId;
DataProvider? iso;
BooleanValue? useEnergy;
BooleanValue? useAncillary;
bool? useCapacityTod;
PriceMarketType? baseMarket;
List<BatteryProjectTodItem>? capacityTODs;
double? useRegup;
double? useRegdown;
double? useSpinning;
double? useNonSpinning;
double? paraciticLossesOperation;
double? paraciticLossesResting;
double? hvacLosses;
double? acCablingLosses;
double? transformatorLosses;
double? otherLosses;
int? representativeYear;
int? incrementReferanceYear;
int? useFutureData;
double? maxDailyCycle;
double? minDailyProfitPerMw;
int? ancillaryFileId;
int? lmpFileId;
double? maxChargingPriceCap;
double? maxDischargingPriceCap;
double? maxAncillaryPriceCap;
RevenueStackingMode? revenueStackingMode;
int? optimizationQuality;
int? ensureExlusive;
int? nodeRefId;
bool? useInternalSolver;
MonthlyRequestBase({this.projectId,this.nodeAltId,this.iso,this.useEnergy,this.useAncillary,this.useCapacityTod,this.baseMarket,this.capacityTODs,this.useRegup,this.useRegdown,this.useSpinning,this.useNonSpinning,this.paraciticLossesOperation,this.paraciticLossesResting,this.hvacLosses,this.acCablingLosses,this.transformatorLosses,this.otherLosses,this.representativeYear,this.incrementReferanceYear,this.useFutureData,this.maxDailyCycle,this.minDailyProfitPerMw,this.ancillaryFileId,this.lmpFileId,this.maxChargingPriceCap,this.maxDischargingPriceCap,this.maxAncillaryPriceCap,this.revenueStackingMode,this.optimizationQuality,this.ensureExlusive,this.nodeRefId,this.useInternalSolver});
MonthlyRequestBase.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
projectId = json['projectId'];
nodeAltId = json['nodeAltId'];
iso = JsonConverters.fromJson(json['iso'],'DataProvider',context!);
useEnergy = JsonConverters.fromJson(json['useEnergy'],'BooleanValue',context!);
useAncillary = JsonConverters.fromJson(json['useAncillary'],'BooleanValue',context!);
useCapacityTod = json['useCapacityTod'];
baseMarket = JsonConverters.fromJson(json['baseMarket'],'PriceMarketType',context!);
capacityTODs = JsonConverters.fromJson(json['capacityTODs'],'List<BatteryProjectTodItem>',context!);
useRegup = JsonConverters.toDouble(json['useRegup']);
useRegdown = JsonConverters.toDouble(json['useRegdown']);
useSpinning = JsonConverters.toDouble(json['useSpinning']);
useNonSpinning = JsonConverters.toDouble(json['useNonSpinning']);
paraciticLossesOperation = JsonConverters.toDouble(json['paraciticLossesOperation']);
paraciticLossesResting = JsonConverters.toDouble(json['paraciticLossesResting']);
hvacLosses = JsonConverters.toDouble(json['hvacLosses']);
acCablingLosses = JsonConverters.toDouble(json['acCablingLosses']);
transformatorLosses = JsonConverters.toDouble(json['transformatorLosses']);
otherLosses = JsonConverters.toDouble(json['otherLosses']);
representativeYear = json['representativeYear'];
incrementReferanceYear = json['incrementReferanceYear'];
useFutureData = json['useFutureData'];
maxDailyCycle = JsonConverters.toDouble(json['maxDailyCycle']);
minDailyProfitPerMw = JsonConverters.toDouble(json['minDailyProfitPerMw']);
ancillaryFileId = json['ancillaryFileId'];
lmpFileId = json['lmpFileId'];
maxChargingPriceCap = JsonConverters.toDouble(json['maxChargingPriceCap']);
maxDischargingPriceCap = JsonConverters.toDouble(json['maxDischargingPriceCap']);
maxAncillaryPriceCap = JsonConverters.toDouble(json['maxAncillaryPriceCap']);
revenueStackingMode = JsonConverters.fromJson(json['revenueStackingMode'],'RevenueStackingMode',context!);
optimizationQuality = json['optimizationQuality'];
ensureExlusive = json['ensureExlusive'];
nodeRefId = json['nodeRefId'];
useInternalSolver = json['useInternalSolver'];
return this;
}
Map<String, dynamic> toJson() => {
'projectId': projectId,
'nodeAltId': nodeAltId,
'iso': JsonConverters.toJson(iso,'DataProvider',context!),
'useEnergy': JsonConverters.toJson(useEnergy,'BooleanValue',context!),
'useAncillary': JsonConverters.toJson(useAncillary,'BooleanValue',context!),
'useCapacityTod': useCapacityTod,
'baseMarket': JsonConverters.toJson(baseMarket,'PriceMarketType',context!),
'capacityTODs': JsonConverters.toJson(capacityTODs,'List<BatteryProjectTodItem>',context!),
'useRegup': useRegup,
'useRegdown': useRegdown,
'useSpinning': useSpinning,
'useNonSpinning': useNonSpinning,
'paraciticLossesOperation': paraciticLossesOperation,
'paraciticLossesResting': paraciticLossesResting,
'hvacLosses': hvacLosses,
'acCablingLosses': acCablingLosses,
'transformatorLosses': transformatorLosses,
'otherLosses': otherLosses,
'representativeYear': representativeYear,
'incrementReferanceYear': incrementReferanceYear,
'useFutureData': useFutureData,
'maxDailyCycle': maxDailyCycle,
'minDailyProfitPerMw': minDailyProfitPerMw,
'ancillaryFileId': ancillaryFileId,
'lmpFileId': lmpFileId,
'maxChargingPriceCap': maxChargingPriceCap,
'maxDischargingPriceCap': maxDischargingPriceCap,
'maxAncillaryPriceCap': maxAncillaryPriceCap,
'revenueStackingMode': JsonConverters.toJson(revenueStackingMode,'RevenueStackingMode',context!),
'optimizationQuality': optimizationQuality,
'ensureExlusive': ensureExlusive,
'nodeRefId': nodeRefId,
'useInternalSolver': useInternalSolver
};
getTypeName() => "MonthlyRequestBase";
TypeContext? context = _ctx;
}
enum PowerPlantType
{
Undefined,
Solar,
Wind,
Hybrid,
}
class BatteryScenarioKeyGroup implements IConvertible
{
int? keyId;
int? year;
int? nodeId;
DataProvider? provider;
int? zoneId;
PowerPlantType? plantType;
int? solarId;
int? windId;
bool? isServerless;
BatteryScenarioKeyGroup({this.keyId,this.year,this.nodeId,this.provider,this.zoneId,this.plantType,this.solarId,this.windId,this.isServerless});
BatteryScenarioKeyGroup.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
keyId = json['keyId'];
year = json['year'];
nodeId = json['nodeId'];
provider = JsonConverters.fromJson(json['provider'],'DataProvider',context!);
zoneId = json['zoneId'];
plantType = JsonConverters.fromJson(json['plantType'],'PowerPlantType',context!);
solarId = json['solarId'];
windId = json['windId'];
isServerless = json['isServerless'];
return this;
}
Map<String, dynamic> toJson() => {
'keyId': keyId,
'year': year,
'nodeId': nodeId,
'provider': JsonConverters.toJson(provider,'DataProvider',context!),
'zoneId': zoneId,
'plantType': JsonConverters.toJson(plantType,'PowerPlantType',context!),
'solarId': solarId,
'windId': windId,
'isServerless': isServerless
};
getTypeName() => "BatteryScenarioKeyGroup";
TypeContext? context = _ctx;
}
enum BatteryScenarioType
{
Undefined,
Optimization,
Sum,
OptiSum,
FullTod,
CapacityTod,
}
class BatteryScenarioKeyItem implements IConvertible
{
String? projectId;
int? keyId;
BatteryScenarioType? keyType;
String? recordKey;
int? jobStatus;
int? status;
DateTime? minDate;
DateTime? maxDate;
int? year;
int? yoyStatus;
double? usableCapacity;
double? usableCapacityFactor;
double? solarUsableCapacity;
double? solarUsableCapacityFactor;
PriceMarketType? baseMarket;
double? baseCapacityRate;
double? capacityRate;
double? solarCapacityRate;
double? windCapacityRate;
double? chargeEfficinecy;
double? dischargeEfficinecy;
int? nodeId;
DataProvider? provider;
int? zoneId;
int? lmpFileId;
int? productionFileId;
int? loadFileId;
int? capacityFileId;
PowerPlantType? plantType;
int? solarId;
int? windId;
double? ancillaryIncrementFactor;
double? energyIncrementFactor;
double? capacityIncrementFactor;
BatteryScenarioKeyItem({this.projectId,this.keyId,this.keyType,this.recordKey,this.jobStatus,this.status,this.minDate,this.maxDate,this.year,this.yoyStatus,this.usableCapacity,this.usableCapacityFactor,this.solarUsableCapacity,this.solarUsableCapacityFactor,this.baseMarket,this.baseCapacityRate,this.capacityRate,this.solarCapacityRate,this.windCapacityRate,this.chargeEfficinecy,this.dischargeEfficinecy,this.nodeId,this.provider,this.zoneId,this.lmpFileId,this.productionFileId,this.loadFileId,this.capacityFileId,this.plantType,this.solarId,this.windId,this.ancillaryIncrementFactor,this.energyIncrementFactor,this.capacityIncrementFactor});
BatteryScenarioKeyItem.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
projectId = json['projectId'];
keyId = json['keyId'];
keyType = JsonConverters.fromJson(json['keyType'],'BatteryScenarioType',context!);
recordKey = json['recordKey'];
jobStatus = json['jobStatus'];
status = json['status'];
minDate = JsonConverters.fromJson(json['minDate'],'DateTime',context!);
maxDate = JsonConverters.fromJson(json['maxDate'],'DateTime',context!);
year = json['year'];
yoyStatus = json['yoyStatus'];
usableCapacity = JsonConverters.toDouble(json['usableCapacity']);
usableCapacityFactor = JsonConverters.toDouble(json['usableCapacityFactor']);
solarUsableCapacity = JsonConverters.toDouble(json['solarUsableCapacity']);
solarUsableCapacityFactor = JsonConverters.toDouble(json['solarUsableCapacityFactor']);
baseMarket = JsonConverters.fromJson(json['baseMarket'],'PriceMarketType',context!);
baseCapacityRate = JsonConverters.toDouble(json['baseCapacityRate']);
capacityRate = JsonConverters.toDouble(json['capacityRate']);
solarCapacityRate = JsonConverters.toDouble(json['solarCapacityRate']);
windCapacityRate = JsonConverters.toDouble(json['windCapacityRate']);
chargeEfficinecy = JsonConverters.toDouble(json['chargeEfficinecy']);
dischargeEfficinecy = JsonConverters.toDouble(json['dischargeEfficinecy']);
nodeId = json['nodeId'];
provider = JsonConverters.fromJson(json['provider'],'DataProvider',context!);
zoneId = json['zoneId'];
lmpFileId = json['lmpFileId'];
productionFileId = json['productionFileId'];
loadFileId = json['loadFileId'];
capacityFileId = json['capacityFileId'];
plantType = JsonConverters.fromJson(json['plantType'],'PowerPlantType',context!);
solarId = json['solarId'];
windId = json['windId'];
ancillaryIncrementFactor = JsonConverters.toDouble(json['ancillaryIncrementFactor']);
energyIncrementFactor = JsonConverters.toDouble(json['energyIncrementFactor']);
capacityIncrementFactor = JsonConverters.toDouble(json['capacityIncrementFactor']);
return this;
}
Map<String, dynamic> toJson() => {
'projectId': projectId,
'keyId': keyId,
'keyType': JsonConverters.toJson(keyType,'BatteryScenarioType',context!),
'recordKey': recordKey,
'jobStatus': jobStatus,
'status': status,
'minDate': JsonConverters.toJson(minDate,'DateTime',context!),
'maxDate': JsonConverters.toJson(maxDate,'DateTime',context!),
'year': year,
'yoyStatus': yoyStatus,
'usableCapacity': usableCapacity,
'usableCapacityFactor': usableCapacityFactor,
'solarUsableCapacity': solarUsableCapacity,
'solarUsableCapacityFactor': solarUsableCapacityFactor,
'baseMarket': JsonConverters.toJson(baseMarket,'PriceMarketType',context!),
'baseCapacityRate': baseCapacityRate,
'capacityRate': capacityRate,
'solarCapacityRate': solarCapacityRate,
'windCapacityRate': windCapacityRate,
'chargeEfficinecy': chargeEfficinecy,
'dischargeEfficinecy': dischargeEfficinecy,
'nodeId': nodeId,
'provider': JsonConverters.toJson(provider,'DataProvider',context!),
'zoneId': zoneId,
'lmpFileId': lmpFileId,
'productionFileId': productionFileId,
'loadFileId': loadFileId,
'capacityFileId': capacityFileId,
'plantType': JsonConverters.toJson(plantType,'PowerPlantType',context!),
'solarId': solarId,
'windId': windId,
'ancillaryIncrementFactor': ancillaryIncrementFactor,
'energyIncrementFactor': energyIncrementFactor,
'capacityIncrementFactor': capacityIncrementFactor
};
getTypeName() => "BatteryScenarioKeyItem";
TypeContext? context = _ctx;
}
enum BatteryProjectGroup
{
Undefined,
StandAlone,
FTM,
BTM,
}
class CommonOptimizerYearlyRequest extends MonthlyRequestBase implements IConvertible
{
int? month;
BatteryScenarioKeyGroup? group;
BatteryScenarioKeyItem? key;
BatteryProjectGroup? projectGroup;
CommonOptimizerYearlyRequest({this.month,this.group,this.key,this.projectGroup});
CommonOptimizerYearlyRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
month = json['month'];
group = JsonConverters.fromJson(json['group'],'BatteryScenarioKeyGroup',context!);
key = JsonConverters.fromJson(json['key'],'BatteryScenarioKeyItem',context!);
projectGroup = JsonConverters.fromJson(json['projectGroup'],'BatteryProjectGroup',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'month': month,
'group': JsonConverters.toJson(group,'BatteryScenarioKeyGroup',context!),
'key': JsonConverters.toJson(key,'BatteryScenarioKeyItem',context!),
'projectGroup': JsonConverters.toJson(projectGroup,'BatteryProjectGroup',context!)
});
getTypeName() => "CommonOptimizerYearlyRequest";
TypeContext? context = _ctx;
}
class YearlyApiStatusResponse implements IConvertible
{
int? failedCount;
String? message;
YearlyApiStatusResponse({this.failedCount,this.message});
YearlyApiStatusResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
failedCount = json['failedCount'];
message = json['message'];
return this;
}
Map<String, dynamic> toJson() => {
'failedCount': failedCount,
'message': message
};
getTypeName() => "YearlyApiStatusResponse";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'dev_optimization.power.dev', types: <String, TypeInfo> {
'DataProvider': TypeInfo(TypeOf.Enum, enumValues:DataProvider.values),
'BooleanValue': TypeInfo(TypeOf.Enum, enumValues:BooleanValue.values),
'PriceMarketType': TypeInfo(TypeOf.Enum, enumValues:PriceMarketType.values),
'BatteryProjectTodItem': TypeInfo(TypeOf.Class, create:() => BatteryProjectTodItem()),
'RevenueStackingMode': TypeInfo(TypeOf.Enum, enumValues:RevenueStackingMode.values),
'MonthlyRequestBase': TypeInfo(TypeOf.Class, create:() => MonthlyRequestBase()),
'List<BatteryProjectTodItem>': TypeInfo(TypeOf.Class, create:() => <BatteryProjectTodItem>[]),
'PowerPlantType': TypeInfo(TypeOf.Enum, enumValues:PowerPlantType.values),
'BatteryScenarioKeyGroup': TypeInfo(TypeOf.Class, create:() => BatteryScenarioKeyGroup()),
'BatteryScenarioType': TypeInfo(TypeOf.Enum, enumValues:BatteryScenarioType.values),
'BatteryScenarioKeyItem': TypeInfo(TypeOf.Class, create:() => BatteryScenarioKeyItem()),
'BatteryProjectGroup': TypeInfo(TypeOf.Enum, enumValues:BatteryProjectGroup.values),
'CommonOptimizerYearlyRequest': TypeInfo(TypeOf.Class, create:() => CommonOptimizerYearlyRequest()),
'YearlyApiStatusResponse': TypeInfo(TypeOf.Class, create:() => YearlyApiStatusResponse()),
});
Dart CommonOptimizerYearlyRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
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: application/xml
Content-Type: application/xml
Content-Length: length
<CommonOptimizerYearlyRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.ServiceModel">
<AcCablingLosses xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</AcCablingLosses>
<AncillaryFileId xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</AncillaryFileId>
<BaseMarket xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">Undefined</BaseMarket>
<CapacityTODs xmlns:d2p1="http://schemas.datacontract.org/2004/07/powerDev.Common.Models" i:nil="true" xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models" />
<EnsureExlusive xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</EnsureExlusive>
<HVACLosses xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</HVACLosses>
<IncrementReferanceYear xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</IncrementReferanceYear>
<Iso xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">Undefined</Iso>
<LmpFileId xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</LmpFileId>
<MaxAncillaryPriceCap xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</MaxAncillaryPriceCap>
<MaxChargingPriceCap xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</MaxChargingPriceCap>
<MaxDailyCycle xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</MaxDailyCycle>
<MaxDischargingPriceCap xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</MaxDischargingPriceCap>
<MinDailyProfitPerMw xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</MinDailyProfitPerMw>
<NodeAltId xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</NodeAltId>
<NodeRefId xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</NodeRefId>
<OptimizationQuality xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</OptimizationQuality>
<OtherLosses xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</OtherLosses>
<ParaciticLossesOperation xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</ParaciticLossesOperation>
<ParaciticLossesResting xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</ParaciticLossesResting>
<ProjectId xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">00000000-0000-0000-0000-000000000000</ProjectId>
<RepresentativeYear xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</RepresentativeYear>
<RevenueStackingMode xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">SolveWithoutAncillary</RevenueStackingMode>
<TransformatorLosses xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</TransformatorLosses>
<UseAncillary xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">Undefined</UseAncillary>
<UseCapacityTod xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">false</UseCapacityTod>
<UseEnergy xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">Undefined</UseEnergy>
<UseFutureData xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</UseFutureData>
<UseInternalSolver xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">false</UseInternalSolver>
<UseNonSpinning xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</UseNonSpinning>
<UseRegdown xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</UseRegdown>
<UseRegup xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</UseRegup>
<UseSpinning xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models">0</UseSpinning>
<Group xmlns:d2p1="http://schemas.datacontract.org/2004/07/powerDev.Common.Models">
<d2p1:IsServerless>false</d2p1:IsServerless>
<d2p1:KeyId>0</d2p1:KeyId>
<d2p1:NodeId>0</d2p1:NodeId>
<d2p1:PlantType>Undefined</d2p1:PlantType>
<d2p1:Provider>Undefined</d2p1:Provider>
<d2p1:SolarId>0</d2p1:SolarId>
<d2p1:WindId>0</d2p1:WindId>
<d2p1:Year>0</d2p1:Year>
<d2p1:ZoneId>0</d2p1:ZoneId>
</Group>
<Key xmlns:d2p1="http://schemas.datacontract.org/2004/07/powerDev.Common.Models">
<d2p1:AncillaryIncrementFactor>0</d2p1:AncillaryIncrementFactor>
<d2p1:BaseCapacityRate>0</d2p1:BaseCapacityRate>
<d2p1:BaseMarket>Undefined</d2p1:BaseMarket>
<d2p1:CapacityFileId>0</d2p1:CapacityFileId>
<d2p1:CapacityIncrementFactor>0</d2p1:CapacityIncrementFactor>
<d2p1:CapacityRate>0</d2p1:CapacityRate>
<d2p1:ChargeEfficinecy>0</d2p1:ChargeEfficinecy>
<d2p1:DischargeEfficinecy>0</d2p1:DischargeEfficinecy>
<d2p1:EnergyIncrementFactor>0</d2p1:EnergyIncrementFactor>
<d2p1:JobStatus>0</d2p1:JobStatus>
<d2p1:KeyId>0</d2p1:KeyId>
<d2p1:KeyType>Undefined</d2p1:KeyType>
<d2p1:LmpFileId>0</d2p1:LmpFileId>
<d2p1:LoadFileId>0</d2p1:LoadFileId>
<d2p1:MaxDate>0001-01-01T00:00:00</d2p1:MaxDate>
<d2p1:MinDate>0001-01-01T00:00:00</d2p1:MinDate>
<d2p1:NodeId>0</d2p1:NodeId>
<d2p1:PlantType>Undefined</d2p1:PlantType>
<d2p1:ProductionFileId>0</d2p1:ProductionFileId>
<d2p1:ProjectId>00000000-0000-0000-0000-000000000000</d2p1:ProjectId>
<d2p1:Provider>Undefined</d2p1:Provider>
<d2p1:RecordKey>String</d2p1:RecordKey>
<d2p1:SolarCapacityRate>0</d2p1:SolarCapacityRate>
<d2p1:SolarId>0</d2p1:SolarId>
<d2p1:SolarUsableCapacity>0</d2p1:SolarUsableCapacity>
<d2p1:SolarUsableCapacityFactor>0</d2p1:SolarUsableCapacityFactor>
<d2p1:Status>0</d2p1:Status>
<d2p1:UsableCapacity>0</d2p1:UsableCapacity>
<d2p1:UsableCapacityFactor>0</d2p1:UsableCapacityFactor>
<d2p1:WindCapacityRate>0</d2p1:WindCapacityRate>
<d2p1:WindId>0</d2p1:WindId>
<d2p1:Year>0</d2p1:Year>
<d2p1:YoyStatus>0</d2p1:YoyStatus>
<d2p1:ZoneId>0</d2p1:ZoneId>
</Key>
<Month>0</Month>
<ProjectGroup>Undefined</ProjectGroup>
</CommonOptimizerYearlyRequest>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <YearlyApiStatusResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.Models"> <FailedCount>0</FailedCount> <Message>String</Message> </YearlyApiStatusResponse>