Power.Dev Optimization Services

<back to all web services

WorkerRequest

The following routes are available for this service:
POST,GET/worker
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 PriceMarketType
{
    Undefined,
    Realtime,
    DayAhead,
    DART,
}

enum ShadowPriceNodeScoreType
{
    Undefined,
    DailyAvgStd,
    HourlyAvg,
}

class WorkerRequest implements IConvertible
{
    DataProvider? provider;
    String? key;
    DateTime? startDate;
    DateTime? endDate;
    List<int>? nodeIds;
    PriceMarketType? marketType;
    ShadowPriceNodeScoreType? scoreType;

    WorkerRequest({this.provider,this.key,this.startDate,this.endDate,this.nodeIds,this.marketType,this.scoreType});
    WorkerRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        provider = JsonConverters.fromJson(json['provider'],'DataProvider',context!);
        key = json['key'];
        startDate = JsonConverters.fromJson(json['startDate'],'DateTime',context!);
        endDate = JsonConverters.fromJson(json['endDate'],'DateTime',context!);
        nodeIds = JsonConverters.fromJson(json['nodeIds'],'List<int>',context!);
        marketType = JsonConverters.fromJson(json['marketType'],'PriceMarketType',context!);
        scoreType = JsonConverters.fromJson(json['scoreType'],'ShadowPriceNodeScoreType',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'provider': JsonConverters.toJson(provider,'DataProvider',context!),
        'key': key,
        'startDate': JsonConverters.toJson(startDate,'DateTime',context!),
        'endDate': JsonConverters.toJson(endDate,'DateTime',context!),
        'nodeIds': JsonConverters.toJson(nodeIds,'List<int>',context!),
        'marketType': JsonConverters.toJson(marketType,'PriceMarketType',context!),
        'scoreType': JsonConverters.toJson(scoreType,'ShadowPriceNodeScoreType',context!)
    };

    getTypeName() => "WorkerRequest";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'dev_optimization.power.dev', types: <String, TypeInfo> {
    'DataProvider': TypeInfo(TypeOf.Enum, enumValues:DataProvider.values),
    'PriceMarketType': TypeInfo(TypeOf.Enum, enumValues:PriceMarketType.values),
    'ShadowPriceNodeScoreType': TypeInfo(TypeOf.Enum, enumValues:ShadowPriceNodeScoreType.values),
    'WorkerRequest': TypeInfo(TypeOf.Class, create:() => WorkerRequest()),
});

Dart WorkerRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /worker HTTP/1.1 
Host: dev-optimization.power.dev 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<WorkerRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/powerDev.Optimization.ServiceModel">
  <EndDate>0001-01-01T00:00:00</EndDate>
  <Key>String</Key>
  <MarketType>Undefined</MarketType>
  <NodeIds xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:int>0</d2p1:int>
  </NodeIds>
  <Provider>Undefined</Provider>
  <ScoreType>Undefined</ScoreType>
  <StartDate>0001-01-01T00:00:00</StartDate>
</WorkerRequest>