Power.Dev Optimization Services

<back to all web services

TODOptimizerRequest

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

Namespace Global

    Namespace powerDev.Common.Models

        Public Partial Class AnnualRateItem
            Public Overridable Property Year As Integer
            Public Overridable Property Value As Decimal
        End Class

        Public Partial Class TodOptimizerRequestBase
            Public Overridable Property ProjectId As Guid
            Public Overridable Property ChargeDischargeLimit As Decimal
            Public Overridable Property BatteryCapacity As Decimal
            Public Overridable Property ChargeEfficiency As Decimal
            Public Overridable Property DischargeEfficiency As Decimal
            Public Overridable Property ParaciticLossesOperation As Decimal
            Public Overridable Property ParaciticLossesResting As Decimal
            Public Overridable Property HVACLosses As Decimal
            Public Overridable Property AcCablingLosses As Decimal
            Public Overridable Property TransformatorLosses As Decimal
            Public Overridable Property ThermalLosses As Decimal
            Public Overridable Property UnavailabilityLoss As Decimal
            Public Overridable Property OtherLosses As Decimal
            Public Overridable Property EnableCapacity As Boolean
            Public Overridable Property EnergySchedule As IEnumerable(Of AnnualRateItem)
            Public Overridable Property CapacitySchedule As IEnumerable(Of AnnualRateItem)
            Public Overridable Property YoyFactors As IEnumerable(Of YoyFactorOptimizarItem)
            Public Overridable Property Data As IEnumerable(Of TodOptimizerRequestItem)
            Public Overridable Property ApiActionId As Guid
        End Class

        Public Partial Class TodOptimizerRequestItem
            Public Overridable Property Year As Integer
            Public Overridable Property Month As Integer
            Public Overridable Property Hour As Integer
            Public Overridable Property WeekDay As Integer
            Public Overridable Property EnergyPrice As Decimal
            Public Overridable Property CapacityPrice As Decimal
        End Class

        Public Partial Class TodOptimizerResponse
            Public Sub New()
                TestItems = New List(Of TodOptimizerResponseItem)
            End Sub

            Public Overridable Property Status As ApiResponseStatus
            Public Overridable Property Message As String
            Public Overridable Property ApiActionId As Guid
            Public Overridable Property TestItems As List(Of TodOptimizerResponseItem)
        End Class

        Public Partial Class TodOptimizerResponseItem
            Inherits TodOptimizerRequestItem
            Public Overridable Property ChargeState As Decimal
            Public Overridable Property Charging As Decimal
            Public Overridable Property Loss As Decimal
            Public Overridable Property ChargeRate As Decimal
        End Class

        Public Partial Class YoyFactorOptimizarItem
            Public Overridable Property Year As Integer
            Public Overridable Property Factor As Decimal
        End Class
    End Namespace

    Namespace powerDev.Common.Types

        Public Enum ApiResponseStatus
            Undefined = 0
            Success = 1
            Pending = 10
            Failed = 100
        End Enum
    End Namespace

    Namespace powerDev.Optimization.ServiceModel

        Public Partial Class TODOptimizerRequest
            Inherits TodOptimizerRequestBase
        End Class
    End Namespace
End Namespace

VB.NET TODOptimizerRequest 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 /optimizer/tod HTTP/1.1 
Host: dev-optimization.power.dev 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<TODOptimizerRequest 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.Common.Models">0</AcCablingLosses>
  <ApiActionId xmlns="http://schemas.datacontract.org/2004/07/powerDev.Common.Models">00000000-0000-0000-0000-000000000000</ApiActionId>
  <BatteryCapacity xmlns="http://schemas.datacontract.org/2004/07/powerDev.Common.Models">0</BatteryCapacity>
  <CapacitySchedule i:nil="true" xmlns="http://schemas.datacontract.org/2004/07/powerDev.Common.Models" />
  <ChargeDischargeLimit xmlns="http://schemas.datacontract.org/2004/07/powerDev.Common.Models">0</ChargeDischargeLimit>
  <ChargeEfficiency xmlns="http://schemas.datacontract.org/2004/07/powerDev.Common.Models">0</ChargeEfficiency>
  <Data i:nil="true" xmlns="http://schemas.datacontract.org/2004/07/powerDev.Common.Models" />
  <DischargeEfficiency xmlns="http://schemas.datacontract.org/2004/07/powerDev.Common.Models">0</DischargeEfficiency>
  <EnableCapacity xmlns="http://schemas.datacontract.org/2004/07/powerDev.Common.Models">false</EnableCapacity>
  <EnergySchedule i:nil="true" xmlns="http://schemas.datacontract.org/2004/07/powerDev.Common.Models" />
  <HVACLosses xmlns="http://schemas.datacontract.org/2004/07/powerDev.Common.Models">0</HVACLosses>
  <OtherLosses xmlns="http://schemas.datacontract.org/2004/07/powerDev.Common.Models">0</OtherLosses>
  <ParaciticLossesOperation xmlns="http://schemas.datacontract.org/2004/07/powerDev.Common.Models">0</ParaciticLossesOperation>
  <ParaciticLossesResting xmlns="http://schemas.datacontract.org/2004/07/powerDev.Common.Models">0</ParaciticLossesResting>
  <ProjectId xmlns="http://schemas.datacontract.org/2004/07/powerDev.Common.Models">00000000-0000-0000-0000-000000000000</ProjectId>
  <ThermalLosses xmlns="http://schemas.datacontract.org/2004/07/powerDev.Common.Models">0</ThermalLosses>
  <TransformatorLosses xmlns="http://schemas.datacontract.org/2004/07/powerDev.Common.Models">0</TransformatorLosses>
  <UnavailabilityLoss xmlns="http://schemas.datacontract.org/2004/07/powerDev.Common.Models">0</UnavailabilityLoss>
  <YoyFactors i:nil="true" xmlns="http://schemas.datacontract.org/2004/07/powerDev.Common.Models" />
</TODOptimizerRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<TodOptimizerResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/powerDev.Common.Models">
  <ApiActionId>00000000-0000-0000-0000-000000000000</ApiActionId>
  <Message>String</Message>
  <Status>Undefined</Status>
  <TestItems>
    <TodOptimizerResponseItem>
      <CapacityPrice>0</CapacityPrice>
      <EnergyPrice>0</EnergyPrice>
      <Hour>0</Hour>
      <Month>0</Month>
      <WeekDay>0</WeekDay>
      <Year>0</Year>
      <ChargeRate>0</ChargeRate>
      <ChargeState>0</ChargeState>
      <Charging>0</Charging>
      <Loss>0</Loss>
    </TodOptimizerResponseItem>
  </TestItems>
</TodOptimizerResponse>