github.com/enbility/spine-go@v0.7.0/model/tariffinformation.go (about) 1 package model 2 3 type TariffIdType uint 4 5 type TariffCountType TariffIdType 6 7 type TierBoundaryIdType uint 8 9 type TierBoundaryCountType TierBoundaryIdType 10 11 type TierBoundaryTypeType string 12 13 const ( 14 TierBoundaryTypeTypePowerBoundary TierBoundaryTypeType = "powerBoundary" 15 TierBoundaryTypeTypeEnergyBoundary TierBoundaryTypeType = "energyBoundary" 16 TierBoundaryTypeTypeCountBoundary TierBoundaryTypeType = "countBoundary" 17 ) 18 19 type CommodityIdType uint 20 21 type TierIdType uint 22 23 type TierCountType TierIdType 24 25 type TierTypeType string 26 27 const ( 28 TierTypeTypeFixedCost TierTypeType = "fixedCost" 29 TierTypeTypeDynamicCost TierTypeType = "dynamicCost" 30 ) 31 32 type IncentiveIdType uint 33 34 type IncentiveCountType IncentiveIdType 35 36 type IncentiveTypeType string 37 38 const ( 39 IncentiveTypeTypeAbsoluteCost IncentiveTypeType = "absoluteCost" 40 IncentiveTypeTypeRelativeCost IncentiveTypeType = "relativeCost" 41 IncentiveTypeTypeRenewableEnergyPercentage IncentiveTypeType = "renewableEnergyPercentage" 42 IncentiveTypeTypeCo2Emission IncentiveTypeType = "co2Emission" 43 ) 44 45 type IncentivePriorityType uint 46 47 type IncentiveValueTypeType string 48 49 const ( 50 IncentiveValueTypeTypeValue IncentiveValueTypeType = "value" 51 IncentiveValueTypeTypeAverageValue IncentiveValueTypeType = "averageValue" 52 IncentiveValueTypeTypeMinvalue IncentiveValueTypeType = "minValue" 53 IncentiveValueTypeTypeMaxvalue IncentiveValueTypeType = "maxValue" 54 ) 55 56 type TariffOverallConstraintsDataType struct { 57 MaxTariffCount *TariffCountType `json:"maxTariffCount,omitempty"` 58 MaxBoundaryCount *TierBoundaryCountType `json:"maxBoundaryCount,omitempty"` 59 MaxTierCount *TierCountType `json:"maxTierCount,omitempty"` 60 MaxIncentiveCount *IncentiveCountType `json:"maxIncentiveCount,omitempty"` 61 MaxBoundariesPerTariff *TierBoundaryCountType `json:"maxBoundariesPerTariff,omitempty"` 62 MaxTiersPerTariff *TierCountType `json:"maxTiersPerTariff,omitempty"` 63 MaxBoundariesPerTier *TierBoundaryCountType `json:"maxBoundariesPerTier,omitempty"` 64 MaxIncentivesPerTier *IncentiveCountType `json:"maxIncentivesPerTier,omitempty"` 65 } 66 67 type TariffOverallConstraintsDataElementsType struct { 68 MaxTariffCount *ElementTagType `json:"maxTariffCount,omitempty"` 69 MaxBoundaryCount *ElementTagType `json:"maxBoundaryCount,omitempty"` 70 MaxTierCount *ElementTagType `json:"maxTierCount,omitempty"` 71 MaxIncentiveCount *ElementTagType `json:"maxIncentiveCount,omitempty"` 72 MaxBoundariesPerTariff *ElementTagType `json:"maxBoundariesPerTariff,omitempty"` 73 MaxTiersPerTariff *ElementTagType `json:"maxTiersPerTariff,omitempty"` 74 MaxBoundariesPerTier *ElementTagType `json:"maxBoundariesPerTier,omitempty"` 75 MaxIncentivesPerTier *ElementTagType `json:"maxIncentivesPerTier,omitempty"` 76 } 77 78 type TariffDataType struct { 79 TariffId *TariffIdType `json:"tariffId,omitempty" eebus:"key"` 80 ActiveTierId []TierIdType `json:"activeTierId,omitempty"` 81 } 82 83 type TariffDataElementsType struct { 84 TariffId *ElementTagType `json:"tariffId,omitempty"` 85 ActiveTierId *ElementTagType `json:"activeTierId,omitempty"` 86 } 87 88 type TariffListDataType struct { 89 TariffData []TariffDataType `json:"tariffData,omitempty"` 90 } 91 92 type TariffListDataSelectorsType struct { 93 TariffId *TariffIdType `json:"tariffId,omitempty"` 94 ActiveTierId *TierIdType `json:"activeTierId,omitempty"` 95 } 96 97 type TariffTierRelationDataType struct { 98 TariffId *TariffIdType `json:"tariffId,omitempty" eebus:"key"` 99 TierId []TierIdType `json:"tierId,omitempty"` 100 } 101 102 type TariffTierRelationDataElementsType struct { 103 TariffId *ElementTagType `json:"tariffId,omitempty"` 104 TierId *ElementTagType `json:"tierId,omitempty"` 105 } 106 107 type TariffTierRelationListDataType struct { 108 TariffTierRelationData []TariffTierRelationDataType `json:"tariffTierRelationData,omitempty"` 109 } 110 111 type TariffTierRelationListDataSelectorsType struct { 112 TariffId *TariffIdType `json:"tariffId,omitempty"` 113 TierId *TierIdType `json:"tierId,omitempty"` 114 } 115 116 type TariffBoundaryRelationDataType struct { 117 TariffId *TariffIdType `json:"tariffId,omitempty" eebus:"key"` 118 BoundaryId []TierBoundaryIdType `json:"boundaryId,omitempty"` 119 } 120 121 type TariffBoundaryRelationDataElementsType struct { 122 TariffId *ElementTagType `json:"tariffId,omitempty"` 123 BoundaryId *ElementTagType `json:"boundaryId,omitempty"` 124 } 125 126 type TariffBoundaryRelationListDataType struct { 127 TariffBoundaryRelationData []TariffBoundaryRelationDataType `json:"tariffBoundaryRelationData,omitempty"` 128 } 129 130 type TariffBoundaryRelationListDataSelectorsType struct { 131 TariffId *TariffIdType `json:"tariffId,omitempty"` 132 BoundaryId *TierBoundaryIdType `json:"boundaryId,omitempty"` 133 } 134 135 type TariffDescriptionDataType struct { 136 TariffId *TariffIdType `json:"tariffId,omitempty" eebus:"key"` 137 CommodityId *CommodityIdType `json:"commodityId,omitempty"` 138 MeasurementId *MeasurementIdType `json:"measurementId,omitempty"` 139 TariffWriteable *bool `json:"tariffWriteable,omitempty"` 140 UpdateRequired *bool `json:"updateRequired,omitempty"` 141 ScopeType *ScopeTypeType `json:"scopeType,omitempty"` 142 Label *LabelType `json:"label,omitempty"` 143 Description *DescriptionType `json:"description,omitempty"` 144 SlotIdSupport *bool `json:"slotIdSupport,omitempty"` 145 } 146 147 type TariffDescriptionDataElementsType struct { 148 TariffId *ElementTagType `json:"tariffId,omitempty"` 149 CommodityId *ElementTagType `json:"commodityId,omitempty"` 150 MeasurementId *ElementTagType `json:"measurementId,omitempty"` 151 TariffWriteable *ElementTagType `json:"tariffWriteable,omitempty"` 152 UpdateRequired *ElementTagType `json:"updateRequired,omitempty"` 153 ScopeType *ElementTagType `json:"scopeType,omitempty"` 154 Label *ElementTagType `json:"label,omitempty"` 155 Description *ElementTagType `json:"description,omitempty"` 156 SlotIdSupport *ElementTagType `json:"slotIdSupport,omitempty"` 157 } 158 159 type TariffDescriptionListDataType struct { 160 TariffDescriptionData []TariffDescriptionDataType `json:"tariffDescriptionData,omitempty"` 161 } 162 163 type TariffDescriptionListDataSelectorsType struct { 164 TariffId *TariffIdType `json:"tariffId,omitempty"` 165 CommodityId *CommodityIdType `json:"commodityId,omitempty"` 166 MeasurementId *MeasurementIdType `json:"measurementId,omitempty"` 167 ScopeType *ScopeTypeType `json:"scopeType,omitempty"` 168 } 169 170 type TierBoundaryDataType struct { 171 BoundaryId *TierBoundaryIdType `json:"boundaryId,omitempty" eebus:"key"` 172 TimePeriod *TimePeriodType `json:"timePeriod,omitempty"` 173 TimeTableId *TimeTableIdType `json:"timeTableId,omitempty"` 174 LowerBoundaryValue *ScaledNumberType `json:"lowerBoundaryValue,omitempty"` 175 UpperBoundaryValue *ScaledNumberType `json:"upperBoundaryValue,omitempty"` 176 } 177 178 type TierBoundaryDataElementsType struct { 179 BoundaryId *ElementTagType `json:"boundaryId,omitempty"` 180 TimePeriod *TimePeriodElementsType `json:"timePeriod,omitempty"` 181 TimeTableId *ElementTagType `json:"timeTableId,omitempty"` 182 LowerBoundaryValue *ScaledNumberElementsType `json:"lowerBoundaryValue,omitempty"` 183 UpperBoundaryValue *ScaledNumberElementsType `json:"upperBoundaryValue,omitempty"` 184 } 185 186 type TierBoundaryListDataType struct { 187 TierBoundaryData []TierBoundaryDataType `json:"tierBoundaryData,omitempty"` 188 } 189 190 type TierBoundaryListDataSelectorsType struct { 191 BoundaryId *TierBoundaryIdType `json:"boundaryId,omitempty"` 192 } 193 194 type TierBoundaryDescriptionDataType struct { 195 BoundaryId *TierBoundaryIdType `json:"boundaryId,omitempty" eebus:"key"` 196 BoundaryType *TierBoundaryTypeType `json:"boundaryType,omitempty"` 197 ValidForTierId *TierIdType `json:"validForTierId,omitempty"` 198 SwitchToTierIdWhenLower *TierIdType `json:"switchToTierIdWhenLower,omitempty"` 199 SwitchToTierIdWhenHigher *TierIdType `json:"switchToTierIdWhenHigher,omitempty"` 200 BoundaryUnit *UnitOfMeasurementType `json:"boundaryUnit,omitempty"` 201 Label *LabelType `json:"label,omitempty"` 202 Description *DescriptionType `json:"description,omitempty"` 203 } 204 205 type TierBoundaryDescriptionDataElementsType struct { 206 BoundaryId *ElementTagType `json:"boundaryId,omitempty"` 207 BoundaryType *ElementTagType `json:"boundaryType,omitempty"` 208 ValidForTierId *ElementTagType `json:"validForTierId,omitempty"` 209 SwitchToTierIdWhenLower *ElementTagType `json:"switchToTierIdWhenLower,omitempty"` 210 SwitchToTierIdWhenHigher *ElementTagType `json:"switchToTierIdWhenHigher,omitempty"` 211 BoundaryUnit *ElementTagType `json:"boundaryUnit,omitempty"` 212 Label *ElementTagType `json:"label,omitempty"` 213 Description *ElementTagType `json:"description,omitempty"` 214 } 215 216 type TierBoundaryDescriptionListDataType struct { 217 TierBoundaryDescriptionData []TierBoundaryDescriptionDataType `json:"tierBoundaryDescriptionData,omitempty"` 218 } 219 220 type TierBoundaryDescriptionListDataSelectorsType struct { 221 BoundaryId *TierBoundaryIdType `json:"boundaryId,omitempty"` 222 BoundaryType *TierBoundaryTypeType `json:"boundaryType,omitempty"` 223 } 224 225 type CommodityDataType struct { 226 CommodityId *CommodityIdType `json:"commodityId,omitempty" eebus:"key"` 227 CommodityType *CommodityTypeType `json:"commodityType,omitempty"` 228 PositiveEnergyDirection *EnergyDirectionType `json:"positiveEnergyDirection,omitempty"` 229 Label *LabelType `json:"label,omitempty"` 230 Description *DescriptionType `json:"description,omitempty"` 231 } 232 233 type CommodityDataElementsType struct { 234 CommodityId *ElementTagType `json:"commodityId,omitempty"` 235 CommodityType *ElementTagType `json:"commodityType,omitempty"` 236 PositiveEnergyDirection *ElementTagType `json:"positiveEnergyDirection,omitempty"` 237 Label *ElementTagType `json:"label,omitempty"` 238 Description *ElementTagType `json:"description,omitempty"` 239 } 240 241 type CommodityListDataType struct { 242 CommodityData []CommodityDataType `json:"commodityData,omitempty"` 243 } 244 245 type CommodityListDataSelectorsType struct { 246 CommodityId *CommodityIdType `json:"commodityId,omitempty"` 247 CommodityType *CommodityTypeType `json:"commodityType,omitempty"` 248 } 249 250 type TierDataType struct { 251 TierId *TierIdType `json:"tierId,omitempty" eebus:"key"` 252 TimePeriod *TimePeriodType `json:"timePeriod,omitempty"` 253 TimeTableId *TimeTableIdType `json:"timeTableId,omitempty"` 254 ActiveIncentiveId []IncentiveIdType `json:"activeIncentiveId,omitempty"` 255 } 256 257 type TierDataElementsType struct { 258 TierId *ElementTagType `json:"tierId,omitempty"` 259 TimePeriod *ElementTagType `json:"timePeriod,omitempty"` 260 TimeTableId *ElementTagType `json:"timeTableId,omitempty"` 261 ActiveIncentiveId *ElementTagType `json:"activeIncentiveId,omitempty"` 262 } 263 264 type TierListDataType struct { 265 TierData []TierDataType `json:"tierData,omitempty"` 266 } 267 268 type TierListDataSelectorsType struct { 269 TierId *TierIdType `json:"tierId,omitempty"` 270 ActiveIncentiveId *IncentiveIdType `json:"activeIncentiveId,omitempty"` 271 } 272 273 type TierIncentiveRelationDataType struct { 274 TierId *TierIdType `json:"tierId,omitempty" eebus:"key"` 275 IncentiveId []IncentiveIdType `json:"incentiveId,omitempty"` 276 } 277 278 type TierIncentiveRelationDataElementsType struct { 279 TierId *ElementTagType `json:"tierId,omitempty"` 280 IncentiveId *ElementTagType `json:"incentiveId,omitempty"` 281 } 282 283 type TierIncentiveRelationListDataType struct { 284 TierIncentiveRelationData []TierIncentiveRelationDataType `json:"tierIncentiveRelationData,omitempty"` 285 } 286 287 type TierIncentiveRelationListDataSelectorsType struct { 288 TierId *TierIdType `json:"tierId,omitempty"` 289 IncentiveId *IncentiveIdType `json:"incentiveId,omitempty"` 290 } 291 292 type TierDescriptionDataType struct { 293 TierId *TierIdType `json:"tierId,omitempty" eebus:"key"` 294 TierType *TierTypeType `json:"tierType,omitempty"` 295 Label *LabelType `json:"label,omitempty"` 296 Description *DescriptionType `json:"description,omitempty"` 297 } 298 299 type TierDescriptionDataElementsType struct { 300 TierId *ElementTagType `json:"tierId,omitempty"` 301 TierType *ElementTagType `json:"tierType,omitempty"` 302 Label *ElementTagType `json:"label,omitempty"` 303 Description *ElementTagType `json:"description,omitempty"` 304 } 305 306 type TierDescriptionListDataType struct { 307 TierDescriptionData []TierDescriptionDataType `json:"tierDescriptionData,omitempty"` 308 } 309 310 type TierDescriptionListDataSelectorsType struct { 311 TierId *TierIdType `json:"tierId,omitempty"` 312 TierType *TierTypeType `json:"tierType,omitempty"` 313 } 314 315 type IncentiveDataType struct { 316 IncentiveId *IncentiveIdType `json:"incentiveId,omitempty" eebus:"key"` 317 ValueType *IncentiveValueTypeType `json:"valueType,omitempty"` 318 Timestamp *AbsoluteOrRelativeTimeType `json:"timestamp,omitempty"` 319 TimePeriod *TimePeriodType `json:"timePeriod,omitempty"` 320 TimeTableId *TimeTableIdType `json:"timeTableId,omitempty"` 321 Value *ScaledNumberType `json:"value,omitempty"` 322 } 323 324 type IncentiveDataElementsType struct { 325 IncentiveId *ElementTagType `json:"incentiveId,omitempty"` 326 ValueType *ElementTagType `json:"valueType,omitempty"` 327 Timestamp *ElementTagType `json:"timestamp,omitempty"` 328 TimePeriod *TimePeriodElementsType `json:"timePeriod,omitempty"` 329 TimeTableId *ElementTagType `json:"timeTableId,omitempty"` 330 Value *ScaledNumberElementsType `json:"value,omitempty"` 331 } 332 333 type IncentiveListDataType struct { 334 IncentiveData []IncentiveDataType `json:"incentiveData,omitempty"` 335 } 336 337 type IncentiveListDataSelectorsType struct { 338 IncentiveId *IncentiveIdType `json:"incentiveId,omitempty"` 339 ValueType *IncentiveValueTypeType `json:"valueType,omitempty"` 340 TimestampInterval *TimestampIntervalType `json:"timestampInterval,omitempty"` 341 } 342 343 type IncentiveDescriptionDataType struct { 344 IncentiveId *IncentiveIdType `json:"incentiveId,omitempty" eebus:"key"` 345 IncentiveType *IncentiveTypeType `json:"incentiveType,omitempty"` 346 IncentivePriority *IncentivePriorityType `json:"incentivePriority,omitempty"` 347 Currency *CurrencyType `json:"currency,omitempty"` 348 Unit *UnitOfMeasurementType `json:"unit,omitempty"` 349 Label *LabelType `json:"label,omitempty"` 350 Description *DescriptionType `json:"description,omitempty"` 351 } 352 353 type IncentiveDescriptionDataElementsType struct { 354 IncentiveId *ElementTagType `json:"incentiveId,omitempty"` 355 IncentiveType *ElementTagType `json:"incentiveType,omitempty"` 356 IncentivePriority *ElementTagType `json:"incentivePriority,omitempty"` 357 Currency *ElementTagType `json:"currency,omitempty"` 358 Unit *ElementTagType `json:"unit,omitempty"` 359 Label *ElementTagType `json:"label,omitempty"` 360 Description *ElementTagType `json:"description,omitempty"` 361 } 362 363 type IncentiveDescriptionListDataType struct { 364 IncentiveDescriptionData []IncentiveDescriptionDataType `json:"incentiveDescriptionData,omitempty"` 365 } 366 367 type IncentiveDescriptionListDataSelectorsType struct { 368 IncentiveId *IncentiveIdType `json:"incentiveId,omitempty"` 369 IncentiveType *IncentiveTypeType `json:"incentiveType,omitempty"` 370 }