Power.Dev Optimization Services

<back to all web services

TODOptimizerRequest

The following routes are available for this service:
POST/optimizer/tod
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using powerDev.Optimization.ServiceModel;
using powerDev.Common.Models;
using powerDev.Common.Types;

namespace powerDev.Common.Models
{
    public partial class AnnualRateItem
    {
        public virtual int Year { get; set; }
        public virtual decimal Value { get; set; }
    }

    public partial class TodOptimizerRequestBase
    {
        public virtual Guid ProjectId { get; set; }
        public virtual decimal ChargeDischargeLimit { get; set; }
        public virtual decimal BatteryCapacity { 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 UnavailabilityLoss { get; set; }
        public virtual decimal OtherLosses { get; set; }
        public virtual bool EnableCapacity { get; set; }
        public virtual IEnumerable<AnnualRateItem> EnergySchedule { get; set; }
        public virtual IEnumerable<AnnualRateItem> CapacitySchedule { get; set; }
        public virtual IEnumerable<YoyFactorOptimizarItem> YoyFactors { get; set; }
        public virtual IEnumerable<TodOptimizerRequestItem> Data { get; set; }
        public virtual Guid ApiActionId { get; set; }
    }

    public partial class TodOptimizerRequestItem
    {
        public virtual int Year { get; set; }
        public virtual int Month { get; set; }
        public virtual int Hour { get; set; }
        public virtual int WeekDay { get; set; }
        public virtual decimal EnergyPrice { get; set; }
        public virtual decimal CapacityPrice { get; set; }
    }

    public partial class TodOptimizerResponse
    {
        public TodOptimizerResponse()
        {
            TestItems = new List<TodOptimizerResponseItem>{};
        }

        public virtual ApiResponseStatus Status { get; set; }
        public virtual string Message { get; set; }
        public virtual Guid ApiActionId { get; set; }
        public virtual List<TodOptimizerResponseItem> TestItems { get; set; }
    }

    public partial class TodOptimizerResponseItem
        : TodOptimizerRequestItem
    {
        public virtual decimal ChargeState { get; set; }
        public virtual decimal Charging { get; set; }
        public virtual decimal Loss { get; set; }
        public virtual decimal ChargeRate { get; set; }
    }

    public partial class YoyFactorOptimizarItem
    {
        public virtual int Year { get; set; }
        public virtual decimal Factor { get; set; }
    }

}

namespace powerDev.Common.Types
{
    public enum ApiResponseStatus
    {
        Undefined = 0,
        Success = 1,
        Pending = 10,
        Failed = 100,
    }

}

namespace powerDev.Optimization.ServiceModel
{
    public partial class TODOptimizerRequest
        : TodOptimizerRequestBase
    {
    }

}

C# TODOptimizerRequest DTOs

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

HTTP + OTHER

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

POST /optimizer/tod HTTP/1.1 
Host: dev-optimization.power.dev 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"projectId":"00000000000000000000000000000000","chargeDischargeLimit":0,"batteryCapacity":0,"chargeEfficiency":0,"dischargeEfficiency":0,"paraciticLossesOperation":0,"paraciticLossesResting":0,"hvacLosses":0,"acCablingLosses":0,"transformatorLosses":0,"thermalLosses":0,"unavailabilityLoss":0,"otherLosses":0,"enableCapacity":false,"apiActionId":"00000000000000000000000000000000"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"status":"Undefined","message":"String","apiActionId":"00000000000000000000000000000000","testItems":[{"chargeState":0,"charging":0,"loss":0,"chargeRate":0,"year":0,"month":0,"hour":0,"weekDay":0,"energyPrice":0,"capacityPrice":0}]}