energy

package
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 19, 2024 License: MIT Imports: 2 Imported by: 0

README

Applying patches

patch_*.go file contains patched go types which support unmashalling different JSON variants from AER energy plans endpoints. When generating energy.gen.go, you need to apply JSON-patch to swagger file first, and generate only afterwards.

You can apply JSON-patch with json-patch or any tool that supports RFC6902 JSON patches.

$ cat cdr_energy.swagger.json | json-patch -p cdr_energy.swagger.json.patch > patched_cdr_energy.swagger.json

$ oapi-codegen -config config.yaml patched_cdr_energy.swagger.json > energy.gen.go

Documentation

Overview

Package energy provides primitives to interact with the openapi HTTP API.

Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.3.0 DO NOT EDIT.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CommonPAFAddress

type CommonPAFAddress struct {
	// BuildingName1 Building/Property name 1
	BuildingName1 *string `json:"buildingName1,omitempty"`

	// BuildingName2 Building/Property name 2
	BuildingName2 *string `json:"buildingName2,omitempty"`

	// Dpid Unique identifier for an address as defined by Australia Post.  Also known as Delivery Point Identifier
	Dpid *string `json:"dpid,omitempty"`

	// FlatUnitNumber Unit number (including suffix, if applicable)
	FlatUnitNumber *string `json:"flatUnitNumber,omitempty"`

	// FlatUnitType Type of flat or unit for the address
	FlatUnitType *string `json:"flatUnitType,omitempty"`

	// FloorLevelNumber Floor or level number (including alpha characters)
	FloorLevelNumber *string `json:"floorLevelNumber,omitempty"`

	// FloorLevelType Type of floor or level for the address
	FloorLevelType *string `json:"floorLevelType,omitempty"`

	// LocalityName Full name of locality
	LocalityName string `json:"localityName"`

	// LotNumber Allotment number for the address
	LotNumber *string `json:"lotNumber,omitempty"`

	// PostalDeliveryNumber Postal delivery number if the address is a postal delivery type
	PostalDeliveryNumber *int `json:"postalDeliveryNumber,omitempty"`

	// PostalDeliveryNumberPrefix Postal delivery number prefix related to the postal delivery number
	PostalDeliveryNumberPrefix *string `json:"postalDeliveryNumberPrefix,omitempty"`

	// PostalDeliveryNumberSuffix Postal delivery number suffix related to the postal delivery number
	PostalDeliveryNumberSuffix *string `json:"postalDeliveryNumberSuffix,omitempty"`

	// PostalDeliveryType Postal delivery type. (eg. PO BOX). Valid enumeration defined by Australia Post PAF code file
	PostalDeliveryType *string `json:"postalDeliveryType,omitempty"`

	// Postcode Postcode for the locality
	Postcode string `json:"postcode"`

	// State State in which the address belongs. Valid enumeration defined by Australia Post PAF code file [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT
	State string `json:"state"`

	// StreetName The name of the street
	StreetName *string `json:"streetName,omitempty"`

	// StreetSuffix The street type suffix. Valid enumeration defined by Australia Post PAF code file
	StreetSuffix *string `json:"streetSuffix,omitempty"`

	// StreetType The street type. Valid enumeration defined by Australia Post PAF code file
	StreetType *string `json:"streetType,omitempty"`

	// ThoroughfareNumber1 Thoroughfare number for a property (first number in a property ranged address)
	ThoroughfareNumber1 *int `json:"thoroughfareNumber1,omitempty"`

	// ThoroughfareNumber1Suffix Suffix for the thoroughfare number. Only relevant is thoroughfareNumber1 is populated
	ThoroughfareNumber1Suffix *string `json:"thoroughfareNumber1Suffix,omitempty"`

	// ThoroughfareNumber2 Second thoroughfare number (only used if the property has a ranged address eg 23-25)
	ThoroughfareNumber2 *int `json:"thoroughfareNumber2,omitempty"`

	// ThoroughfareNumber2Suffix Suffix for the second thoroughfare number. Only relevant is thoroughfareNumber2 is populated
	ThoroughfareNumber2Suffix *string `json:"thoroughfareNumber2Suffix,omitempty"`
}

CommonPAFAddress Australian address formatted according to the file format defined by the [PAF file format](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). Required if addressUType is set to paf

type CommonPhysicalAddress

type CommonPhysicalAddress struct {
	// AddressUType The type of address object present
	AddressUType CommonPhysicalAddressAddressUType `json:"addressUType"`

	// Paf Australian address formatted according to the file format defined by the [PAF file format](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). Required if addressUType is set to paf
	Paf *CommonPAFAddress `json:"paf,omitempty"`

	// Simple Required if addressUType is set to simple
	Simple *CommonSimpleAddress `json:"simple,omitempty"`
}

CommonPhysicalAddress defines model for CommonPhysicalAddress.

type CommonPhysicalAddressAddressUType

type CommonPhysicalAddressAddressUType string

CommonPhysicalAddressAddressUType The type of address object present

Defines values for CommonPhysicalAddressAddressUType.

type CommonSimpleAddress

type CommonSimpleAddress struct {
	// AddressLine1 First line of the standard address object
	AddressLine1 string `json:"addressLine1"`

	// AddressLine2 Second line of the standard address object
	AddressLine2 *string `json:"addressLine2,omitempty"`

	// AddressLine3 Third line of the standard address object
	AddressLine3 *string `json:"addressLine3,omitempty"`

	// City Name of the city or locality
	City string `json:"city"`

	// Country A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code. Australia (AUS) is assumed if country is not present.
	Country *string `json:"country,omitempty"`

	// MailingName Name of the individual or business formatted for inclusion in an address used for physical mail
	MailingName *string `json:"mailingName,omitempty"`

	// Postcode Mandatory for Australian addresses
	Postcode *string `json:"postcode,omitempty"`

	// State Free text if the country is not Australia. If country is Australia then must be one of the values defined by the [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf) in the PAF file format. NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT
	State string `json:"state"`
}

CommonSimpleAddress Required if addressUType is set to simple

type EnergyAccountBaseV2

type EnergyAccountBaseV2 struct {
	// AccountId The ID of the account.  To be created in accordance with CDR ID permanence requirements
	AccountId string `json:"accountId"`

	// AccountNumber Optional identifier of the account as defined by the data holder.  This must be the value presented on physical statements (if it exists) and must not be used for the value of accountId
	AccountNumber *string `json:"accountNumber,omitempty"`

	// CreationDate The date that the account was created or opened. Mandatory if openStatus is OPEN
	CreationDate *string `json:"creationDate,omitempty"`

	// DisplayName An optional display name for the account if one exists or can be derived.  The content of this field is at the discretion of the data holder
	DisplayName *string `json:"displayName,omitempty"`

	// OpenStatus Open or closed status for the account. If not present then OPEN is assumed
	OpenStatus *EnergyAccountBaseV2OpenStatus `json:"openStatus,omitempty"`
}

EnergyAccountBaseV2 defines model for EnergyAccountBaseV2.

type EnergyAccountBaseV2OpenStatus

type EnergyAccountBaseV2OpenStatus string

EnergyAccountBaseV2OpenStatus Open or closed status for the account. If not present then OPEN is assumed

const (
	EnergyAccountBaseV2OpenStatusCLOSED EnergyAccountBaseV2OpenStatus = "CLOSED"
	EnergyAccountBaseV2OpenStatusOPEN   EnergyAccountBaseV2OpenStatus = "OPEN"
)

Defines values for EnergyAccountBaseV2OpenStatus.

type EnergyAccountDetailResponseV4 added in v0.3.0

type EnergyAccountDetailResponseV4 struct {
	Data  EnergyAccountDetailV4 `json:"data"`
	Links Links                 `json:"links"`
	Meta  *Meta                 `json:"meta,omitempty"`
}

EnergyAccountDetailResponseV4 defines model for EnergyAccountDetailResponseV4.

type EnergyAccountDetailV4 added in v0.3.0

type EnergyAccountDetailV4 struct {
	// AccountId The ID of the account.  To be created in accordance with CDR ID permanence requirements
	AccountId string `json:"accountId"`

	// AccountNumber Optional identifier of the account as defined by the data holder.  This must be the value presented on physical statements (if it exists) and must not be used for the value of accountId
	AccountNumber *string `json:"accountNumber,omitempty"`

	// CreationDate The date that the account was created or opened. Mandatory if openStatus is OPEN
	CreationDate *string `json:"creationDate,omitempty"`

	// DisplayName An optional display name for the account if one exists or can be derived.  The content of this field is at the discretion of the data holder
	DisplayName *string `json:"displayName,omitempty"`

	// OpenStatus Open or closed status for the account. If not present then OPEN is assumed
	OpenStatus *EnergyAccountDetailV4OpenStatus `json:"openStatus,omitempty"`

	// Plans The array of plans containing service points and associated plan details
	Plans []EnergyAccountDetailV4AllOfPlans `json:"plans"`
}

EnergyAccountDetailV4 defines model for EnergyAccountDetailV4.

type EnergyAccountDetailV4AllOf added in v0.3.0

type EnergyAccountDetailV4AllOf struct {
	// Plans The array of plans containing service points and associated plan details
	Plans []EnergyAccountDetailV4AllOfPlans `json:"plans"`
}

EnergyAccountDetailV4AllOf The array of plans containing service points and associated plan details

type EnergyAccountDetailV4AllOfAuthorisedContacts added in v0.3.0

type EnergyAccountDetailV4AllOfAuthorisedContacts struct {
	// FirstName For people with single names this field need not be present. The single name should be in the lastName field
	FirstName *string `json:"firstName,omitempty"`

	// LastName For people with single names the single name should be in this field
	LastName string `json:"lastName"`

	// MiddleNames Field is mandatory but array may be empty
	MiddleNames *[]string `json:"middleNames,omitempty"`

	// Prefix Also known as title or salutation. The prefix to the name (e.g. Mr, Mrs, Ms, Miss, Sir, etc)
	Prefix *string `json:"prefix,omitempty"`

	// Suffix Used for a trailing suffix to the name (e.g. Jr)
	Suffix *string `json:"suffix,omitempty"`
}

EnergyAccountDetailV4AllOfAuthorisedContacts defines model for EnergyAccountDetailV4_allOf_authorisedContacts.

type EnergyAccountDetailV4AllOfPlanDetail added in v0.3.0

type EnergyAccountDetailV4AllOfPlanDetail struct {
	ElectricityContract *EnergyPlanContractV3 `json:"electricityContract,omitempty"`

	// FuelType The fuel types covered by the plan
	FuelType    EnergyAccountDetailV4AllOfPlanDetailFuelType `json:"fuelType"`
	GasContract *EnergyPlanContractV3                        `json:"gasContract,omitempty"`

	// IsContingentPlan Flag that indicates that the plan is contingent on the customer taking up an alternate fuel plan from the same retailer (for instance, if the fuelType is ELECTRICITY then a GAS plan from the same retailer must be taken up). Has no meaning if the plan has a fuelType of DUAL. If absent the value is assumed to be false
	IsContingentPlan *bool `json:"isContingentPlan,omitempty"`

	// MeteringCharges Charges for metering included in the plan
	MeteringCharges *[]EnergyPlanDetailV3AllOfMeteringCharges `json:"meteringCharges,omitempty"`
}

EnergyAccountDetailV4AllOfPlanDetail Detail on the plan applicable to this account. Mandatory if openStatus is OPEN

type EnergyAccountDetailV4AllOfPlanDetailFuelType added in v0.3.0

type EnergyAccountDetailV4AllOfPlanDetailFuelType string

EnergyAccountDetailV4AllOfPlanDetailFuelType The fuel types covered by the plan

const (
	EnergyAccountDetailV4AllOfPlanDetailFuelTypeDUAL        EnergyAccountDetailV4AllOfPlanDetailFuelType = "DUAL"
	EnergyAccountDetailV4AllOfPlanDetailFuelTypeELECTRICITY EnergyAccountDetailV4AllOfPlanDetailFuelType = "ELECTRICITY"
	EnergyAccountDetailV4AllOfPlanDetailFuelTypeGAS         EnergyAccountDetailV4AllOfPlanDetailFuelType = "GAS"
)

Defines values for EnergyAccountDetailV4AllOfPlanDetailFuelType.

type EnergyAccountDetailV4AllOfPlans added in v0.3.0

type EnergyAccountDetailV4AllOfPlans struct {
	// AuthorisedContacts An array of additional contacts that are authorised to act on this account
	AuthorisedContacts *[]EnergyAccountDetailV4AllOfAuthorisedContacts `json:"authorisedContacts,omitempty"`

	// Nickname Optional display name for the plan provided by the customer to help differentiate multiple plans
	Nickname *string `json:"nickname,omitempty"`

	// PlanDetail Detail on the plan applicable to this account. Mandatory if openStatus is OPEN
	PlanDetail *EnergyAccountDetailV4AllOfPlanDetail `json:"planDetail,omitempty"`

	// PlanOverview Mandatory if openStatus is OPEN
	PlanOverview *EnergyAccountV2AllOfPlanOverview `json:"planOverview,omitempty"`

	// ServicePointIds An array of servicePointIds, representing NMIs, that this account is linked to
	ServicePointIds []string `json:"servicePointIds"`
}

EnergyAccountDetailV4AllOfPlans defines model for EnergyAccountDetailV4_allOf_plans.

type EnergyAccountDetailV4OpenStatus added in v0.3.0

type EnergyAccountDetailV4OpenStatus string

EnergyAccountDetailV4OpenStatus Open or closed status for the account. If not present then OPEN is assumed

const (
	EnergyAccountDetailV4OpenStatusCLOSED EnergyAccountDetailV4OpenStatus = "CLOSED"
	EnergyAccountDetailV4OpenStatusOPEN   EnergyAccountDetailV4OpenStatus = "OPEN"
)

Defines values for EnergyAccountDetailV4OpenStatus.

type EnergyAccountListResponseV2

type EnergyAccountListResponseV2 struct {
	Data  EnergyAccountListResponseV2Data `json:"data"`
	Links LinksPaginated                  `json:"links"`
	Meta  MetaPaginated                   `json:"meta"`
}

EnergyAccountListResponseV2 defines model for EnergyAccountListResponseV2.

type EnergyAccountListResponseV2Data added in v0.1.6

type EnergyAccountListResponseV2Data struct {
	// Accounts Array of accounts
	Accounts []EnergyAccountV2 `json:"accounts"`
}

EnergyAccountListResponseV2Data defines model for EnergyAccountListResponseV2_data.

type EnergyAccountV2

type EnergyAccountV2 struct {
	// AccountId The ID of the account.  To be created in accordance with CDR ID permanence requirements
	AccountId string `json:"accountId"`

	// AccountNumber Optional identifier of the account as defined by the data holder.  This must be the value presented on physical statements (if it exists) and must not be used for the value of accountId
	AccountNumber *string `json:"accountNumber,omitempty"`

	// CreationDate The date that the account was created or opened. Mandatory if openStatus is OPEN
	CreationDate *string `json:"creationDate,omitempty"`

	// DisplayName An optional display name for the account if one exists or can be derived.  The content of this field is at the discretion of the data holder
	DisplayName *string `json:"displayName,omitempty"`

	// OpenStatus Open or closed status for the account. If not present then OPEN is assumed
	OpenStatus *EnergyAccountV2OpenStatus `json:"openStatus,omitempty"`

	// Plans The array of plans containing service points and associated plan details
	Plans []EnergyAccountV2AllOfPlans `json:"plans"`
}

EnergyAccountV2 defines model for EnergyAccountV2.

type EnergyAccountV2AllOf added in v0.1.6

type EnergyAccountV2AllOf struct {
	// Plans The array of plans containing service points and associated plan details
	Plans []EnergyAccountV2AllOfPlans `json:"plans"`
}

EnergyAccountV2AllOf The array of plans containing service points and associated plan details

type EnergyAccountV2AllOfPlanOverview added in v0.1.6

type EnergyAccountV2AllOfPlanOverview struct {
	// DisplayName The name of the plan if one exists
	DisplayName *string `json:"displayName,omitempty"`

	// EndDate The end date of the applicability of this plan
	EndDate *string `json:"endDate,omitempty"`

	// StartDate The start date of the applicability of this plan
	StartDate string `json:"startDate"`
}

EnergyAccountV2AllOfPlanOverview Mandatory if openStatus is OPEN

type EnergyAccountV2AllOfPlans added in v0.1.6

type EnergyAccountV2AllOfPlans struct {
	// Nickname Optional display name for the plan provided by the customer to help differentiate multiple plans
	Nickname *string `json:"nickname,omitempty"`

	// PlanOverview Mandatory if openStatus is OPEN
	PlanOverview *EnergyAccountV2AllOfPlanOverview `json:"planOverview,omitempty"`

	// ServicePointIds An array of servicePointIds, representing NMIs, that this plan is linked to.  If there are no service points allocated to this plan then an empty array would be expected
	ServicePointIds []string `json:"servicePointIds"`
}

EnergyAccountV2AllOfPlans defines model for EnergyAccountV2_allOf_plans.

type EnergyAccountV2OpenStatus

type EnergyAccountV2OpenStatus string

EnergyAccountV2OpenStatus Open or closed status for the account. If not present then OPEN is assumed

const (
	EnergyAccountV2OpenStatusCLOSED EnergyAccountV2OpenStatus = "CLOSED"
	EnergyAccountV2OpenStatusOPEN   EnergyAccountV2OpenStatus = "OPEN"
)

Defines values for EnergyAccountV2OpenStatus.

type EnergyBalanceListResponse

type EnergyBalanceListResponse struct {
	Data  EnergyBalanceListResponseData `json:"data"`
	Links LinksPaginated                `json:"links"`
	Meta  MetaPaginated                 `json:"meta"`
}

EnergyBalanceListResponse defines model for EnergyBalanceListResponse.

type EnergyBalanceListResponseData added in v0.1.6

type EnergyBalanceListResponseData struct {
	// Balances Array of account balances
	Balances []EnergyBalanceListResponseDataBalances `json:"balances"`
}

EnergyBalanceListResponseData defines model for EnergyBalanceListResponse_data.

type EnergyBalanceListResponseDataBalances added in v0.1.6

type EnergyBalanceListResponseDataBalances struct {
	// AccountId The ID of the account
	AccountId string `json:"accountId"`

	// Balance The current balance of the account.  A positive value indicates that amount is owing to be paid.  A negative value indicates that the account is in credit
	Balance string `json:"balance"`
}

EnergyBalanceListResponseDataBalances defines model for EnergyBalanceListResponse_data_balances.

type EnergyBalanceResponse

type EnergyBalanceResponse struct {
	Data  EnergyBalanceResponseData `json:"data"`
	Links Links                     `json:"links"`
	Meta  *Meta                     `json:"meta,omitempty"`
}

EnergyBalanceResponse defines model for EnergyBalanceResponse.

type EnergyBalanceResponseData added in v0.1.6

type EnergyBalanceResponseData struct {
	// Balance The current balance of the account.  A positive value indicates that amount is owing to be paid.  A negative value indicates that the account is in credit
	Balance string `json:"balance"`
}

EnergyBalanceResponseData defines model for EnergyBalanceResponse_data.

type EnergyBillingDemandTransactionV3 added in v0.3.0

type EnergyBillingDemandTransactionV3 struct {
	// Adjustments Optional array of adjustments arising for this transaction
	Adjustments *[]EnergyBillingUsageTransactionV2Adjustments `json:"adjustments,omitempty"`

	// Amount The amount charged or credited for this transaction prior to any adjustments being applied.  A negative value indicates a credit
	Amount string `json:"amount"`

	// CalculationFactors Additional calculation factors that inform the transaction
	CalculationFactors *[]EnergyBillingUsageTransactionV2CalculationFactors `json:"calculationFactors,omitempty"`

	// Description Optional description of the transaction that can be used for display purposes
	Description *string `json:"description,omitempty"`

	// EndDate Date and time when the demand period ends
	EndDate string `json:"endDate"`

	// InvoiceNumber The number of the invoice in which this transaction is included if it has been issued
	InvoiceNumber *string `json:"invoiceNumber,omitempty"`

	// IsEstimate Flag indicating if the usage is estimated or actual.  True indicates estimate.  False or absent indicates actual
	IsEstimate *bool `json:"isEstimate,omitempty"`

	// MeasureUnit The measurement unit of rate. Assumed to be KVA if absent
	MeasureUnit *EnergyBillingDemandTransactionV3MeasureUnit `json:"measureUnit,omitempty"`

	// Rate The rate for the demand charge in measureUnit. Assumed to be KVA if measureUnit not provided. A negative value indicates power generated
	Rate float32 `json:"rate"`

	// ServicePointId The ID of the service point to which this transaction applies if any
	ServicePointId *string `json:"servicePointId,omitempty"`

	// StartDate Date and time when the demand period starts
	StartDate string `json:"startDate"`

	// TimeOfUseType The time of use type that the transaction applies to
	TimeOfUseType EnergyBillingDemandTransactionV3TimeOfUseType `json:"timeOfUseType"`
}

EnergyBillingDemandTransactionV3 defines model for EnergyBillingDemandTransactionV3.

type EnergyBillingDemandTransactionV3MeasureUnit added in v0.3.0

type EnergyBillingDemandTransactionV3MeasureUnit string

EnergyBillingDemandTransactionV3MeasureUnit The measurement unit of rate. Assumed to be KVA if absent

const (
	EnergyBillingDemandTransactionV3MeasureUnitDAYS  EnergyBillingDemandTransactionV3MeasureUnit = "DAYS"
	EnergyBillingDemandTransactionV3MeasureUnitKVA   EnergyBillingDemandTransactionV3MeasureUnit = "KVA"
	EnergyBillingDemandTransactionV3MeasureUnitKVAR  EnergyBillingDemandTransactionV3MeasureUnit = "KVAR"
	EnergyBillingDemandTransactionV3MeasureUnitKVARH EnergyBillingDemandTransactionV3MeasureUnit = "KVARH"
	EnergyBillingDemandTransactionV3MeasureUnitKW    EnergyBillingDemandTransactionV3MeasureUnit = "KW"
	EnergyBillingDemandTransactionV3MeasureUnitKWH   EnergyBillingDemandTransactionV3MeasureUnit = "KWH"
	EnergyBillingDemandTransactionV3MeasureUnitMETER EnergyBillingDemandTransactionV3MeasureUnit = "METER"
	EnergyBillingDemandTransactionV3MeasureUnitMONTH EnergyBillingDemandTransactionV3MeasureUnit = "MONTH"
)

Defines values for EnergyBillingDemandTransactionV3MeasureUnit.

type EnergyBillingDemandTransactionV3TimeOfUseType added in v0.3.0

type EnergyBillingDemandTransactionV3TimeOfUseType string

EnergyBillingDemandTransactionV3TimeOfUseType The time of use type that the transaction applies to

const (
	EnergyBillingDemandTransactionV3TimeOfUseTypeAGGREGATE           EnergyBillingDemandTransactionV3TimeOfUseType = "AGGREGATE"
	EnergyBillingDemandTransactionV3TimeOfUseTypeALLDAY              EnergyBillingDemandTransactionV3TimeOfUseType = "ALL_DAY"
	EnergyBillingDemandTransactionV3TimeOfUseTypeCONTROLLEDLOAD      EnergyBillingDemandTransactionV3TimeOfUseType = "CONTROLLED_LOAD"
	EnergyBillingDemandTransactionV3TimeOfUseTypeEXCESS              EnergyBillingDemandTransactionV3TimeOfUseType = "EXCESS"
	EnergyBillingDemandTransactionV3TimeOfUseTypeOFFPEAK             EnergyBillingDemandTransactionV3TimeOfUseType = "OFF_PEAK"
	EnergyBillingDemandTransactionV3TimeOfUseTypeOFFPEAKDEMANDCHARGE EnergyBillingDemandTransactionV3TimeOfUseType = "OFF_PEAK_DEMAND_CHARGE"
	EnergyBillingDemandTransactionV3TimeOfUseTypePEAK                EnergyBillingDemandTransactionV3TimeOfUseType = "PEAK"
	EnergyBillingDemandTransactionV3TimeOfUseTypeSHOULDER            EnergyBillingDemandTransactionV3TimeOfUseType = "SHOULDER"
	EnergyBillingDemandTransactionV3TimeOfUseTypeSHOULDER1           EnergyBillingDemandTransactionV3TimeOfUseType = "SHOULDER1"
	EnergyBillingDemandTransactionV3TimeOfUseTypeSHOULDER2           EnergyBillingDemandTransactionV3TimeOfUseType = "SHOULDER2"
	EnergyBillingDemandTransactionV3TimeOfUseTypeSOLAR               EnergyBillingDemandTransactionV3TimeOfUseType = "SOLAR"
)

Defines values for EnergyBillingDemandTransactionV3TimeOfUseType.

type EnergyBillingListResponseV3 added in v0.3.0

type EnergyBillingListResponseV3 struct {
	Data  EnergyBillingListResponseV3Data `json:"data"`
	Links LinksPaginated                  `json:"links"`
	Meta  MetaPaginated                   `json:"meta"`
}

EnergyBillingListResponseV3 defines model for EnergyBillingListResponseV3.

type EnergyBillingListResponseV3Data added in v0.3.0

type EnergyBillingListResponseV3Data struct {
	// Transactions Array of transactions sorted by date and time in descending order
	Transactions []EnergyBillingTransactionV3 `json:"transactions"`
}

EnergyBillingListResponseV3Data defines model for EnergyBillingListResponseV3_data.

type EnergyBillingOnceOffTransaction

type EnergyBillingOnceOffTransaction struct {
	// Amount The amount of the charge or credit.  A positive value indicates a charge and a negative value indicates a credit
	Amount string `json:"amount"`

	// Description A free text description of the item
	Description string `json:"description"`

	// InvoiceNumber The number of the invoice in which this transaction is included if it has been issued
	InvoiceNumber *string `json:"invoiceNumber,omitempty"`

	// ServicePointId The ID of the service point to which this transaction applies if any
	ServicePointId *string `json:"servicePointId,omitempty"`
}

EnergyBillingOnceOffTransaction defines model for EnergyBillingOnceOffTransaction.

type EnergyBillingOtherTransaction

type EnergyBillingOtherTransaction struct {
	// Adjustments Optional array of adjustments arising for this transaction
	Adjustments *[]EnergyBillingUsageTransactionV2Adjustments `json:"adjustments,omitempty"`

	// Amount The amount of the charge
	Amount string `json:"amount"`

	// CalculationFactors Additional calculation factors that inform the transaction
	CalculationFactors *[]EnergyBillingUsageTransactionV2CalculationFactors `json:"calculationFactors,omitempty"`

	// Description A free text description of the item
	Description string `json:"description"`

	// EndDate Optional end date for the application of the charge
	EndDate *string `json:"endDate,omitempty"`

	// InvoiceNumber The number of the invoice in which this transaction is included if it has been issued
	InvoiceNumber *string `json:"invoiceNumber,omitempty"`

	// ServicePointId The ID of the service point to which this transaction applies if any
	ServicePointId *string `json:"servicePointId,omitempty"`

	// StartDate Optional start date for the application of the charge
	StartDate *string `json:"startDate,omitempty"`

	// Type Type of charge. Assumed to be other if absent
	Type *EnergyBillingOtherTransactionType `json:"type,omitempty"`
}

EnergyBillingOtherTransaction defines model for EnergyBillingOtherTransaction.

type EnergyBillingOtherTransactionType

type EnergyBillingOtherTransactionType string

EnergyBillingOtherTransactionType Type of charge. Assumed to be other if absent

const (
	EnergyBillingOtherTransactionTypeENVIRONMENTAL EnergyBillingOtherTransactionType = "ENVIRONMENTAL"
	EnergyBillingOtherTransactionTypeMETERING      EnergyBillingOtherTransactionType = "METERING"
	EnergyBillingOtherTransactionTypeNETWORK       EnergyBillingOtherTransactionType = "NETWORK"
	EnergyBillingOtherTransactionTypeOTHER         EnergyBillingOtherTransactionType = "OTHER"
	EnergyBillingOtherTransactionTypeRCTI          EnergyBillingOtherTransactionType = "RCTI"
	EnergyBillingOtherTransactionTypeREGULATED     EnergyBillingOtherTransactionType = "REGULATED"
	EnergyBillingOtherTransactionTypeRETAILSERVICE EnergyBillingOtherTransactionType = "RETAIL_SERVICE"
)

Defines values for EnergyBillingOtherTransactionType.

type EnergyBillingPaymentTransaction

type EnergyBillingPaymentTransaction struct {
	// Amount The amount paid
	Amount string `json:"amount"`

	// Method The method of payment
	Method EnergyBillingPaymentTransactionMethod `json:"method"`
}

EnergyBillingPaymentTransaction defines model for EnergyBillingPaymentTransaction.

type EnergyBillingPaymentTransactionMethod

type EnergyBillingPaymentTransactionMethod string

EnergyBillingPaymentTransactionMethod The method of payment

const (
	EnergyBillingPaymentTransactionMethodBPAY        EnergyBillingPaymentTransactionMethod = "BPAY"
	EnergyBillingPaymentTransactionMethodCARD        EnergyBillingPaymentTransactionMethod = "CARD"
	EnergyBillingPaymentTransactionMethodCASH        EnergyBillingPaymentTransactionMethod = "CASH"
	EnergyBillingPaymentTransactionMethodCHEQUE      EnergyBillingPaymentTransactionMethod = "CHEQUE"
	EnergyBillingPaymentTransactionMethodDIRECTDEBIT EnergyBillingPaymentTransactionMethod = "DIRECT_DEBIT"
	EnergyBillingPaymentTransactionMethodOTHER       EnergyBillingPaymentTransactionMethod = "OTHER"
	EnergyBillingPaymentTransactionMethodTRANSFER    EnergyBillingPaymentTransactionMethod = "TRANSFER"
)

Defines values for EnergyBillingPaymentTransactionMethod.

type EnergyBillingTransactionV3 added in v0.3.0

type EnergyBillingTransactionV3 struct {
	// AccountId The ID of the account for which transaction applies
	AccountId string                            `json:"accountId"`
	Demand    *EnergyBillingDemandTransactionV3 `json:"demand,omitempty"`

	// ExecutionDateTime The date and time that the transaction occurred
	ExecutionDateTime string `json:"executionDateTime"`

	// Gst The GST incurred in the transaction.  Should not be included for credits or payments.  If absent zero is assumed
	Gst          *string                          `json:"gst,omitempty"`
	OnceOff      *EnergyBillingOnceOffTransaction `json:"onceOff,omitempty"`
	OtherCharges *EnergyBillingOtherTransaction   `json:"otherCharges,omitempty"`
	Payment      *EnergyBillingPaymentTransaction `json:"payment,omitempty"`

	// TransactionUType Indicator of the type of transaction object present in this record
	TransactionUType EnergyBillingTransactionV3TransactionUType `json:"transactionUType"`
	Usage            *EnergyBillingUsageTransactionV2           `json:"usage,omitempty"`
}

EnergyBillingTransactionV3 defines model for EnergyBillingTransactionV3.

type EnergyBillingTransactionV3TransactionUType added in v0.3.0

type EnergyBillingTransactionV3TransactionUType string

EnergyBillingTransactionV3TransactionUType Indicator of the type of transaction object present in this record

Defines values for EnergyBillingTransactionV3TransactionUType.

type EnergyBillingUsageTransactionV2 added in v0.3.0

type EnergyBillingUsageTransactionV2 struct {
	// Adjustments Optional array of adjustments arising for this transaction
	Adjustments *[]EnergyBillingUsageTransactionV2Adjustments `json:"adjustments,omitempty"`

	// Amount The amount charged or credited for this transaction prior to any adjustments being applied.  A negative value indicates a credit
	Amount string `json:"amount"`

	// CalculationFactors Additional calculation factors that inform the transaction
	CalculationFactors *[]EnergyBillingUsageTransactionV2CalculationFactors `json:"calculationFactors,omitempty"`

	// Description Optional description of the transaction that can be used for display purposes
	Description *string `json:"description,omitempty"`

	// EndDate Date and time when the usage period ends
	EndDate string `json:"endDate"`

	// InvoiceNumber The number of the invoice in which this transaction is included if it has been issued
	InvoiceNumber *string `json:"invoiceNumber,omitempty"`

	// IsEstimate Flag indicating if the usage is estimated or actual.  True indicates estimate.  False or absent indicates actual
	IsEstimate *bool `json:"isEstimate,omitempty"`

	// MeasureUnit The measurement unit of rate. Assumed to be KWH if absent
	MeasureUnit *EnergyBillingUsageTransactionV2MeasureUnit `json:"measureUnit,omitempty"`

	// ServicePointId The ID of the service point to which this transaction applies if any
	ServicePointId *string `json:"servicePointId,omitempty"`

	// StartDate Date and time when the usage period starts
	StartDate string `json:"startDate"`

	// TimeOfUseType The time of use type that the transaction applies to
	TimeOfUseType EnergyBillingUsageTransactionV2TimeOfUseType `json:"timeOfUseType"`

	// Usage The usage for the period in measure unit.  A negative value indicates power generated
	Usage float32 `json:"usage"`
}

EnergyBillingUsageTransactionV2 defines model for EnergyBillingUsageTransactionV2.

type EnergyBillingUsageTransactionV2Adjustments added in v0.3.0

type EnergyBillingUsageTransactionV2Adjustments struct {
	// Amount The amount of the adjustment
	Amount string `json:"amount"`

	// Description A free text description of the adjustment
	Description string `json:"description"`
}

EnergyBillingUsageTransactionV2Adjustments defines model for EnergyBillingUsageTransactionV2_adjustments.

type EnergyBillingUsageTransactionV2CalculationFactors added in v0.3.0

type EnergyBillingUsageTransactionV2CalculationFactors struct {
	// Type The type of the calculation factor
	Type EnergyBillingUsageTransactionV2CalculationFactorsType `json:"type"`

	// Value The value of the calculation factor
	Value float32 `json:"value"`
}

EnergyBillingUsageTransactionV2CalculationFactors defines model for EnergyBillingUsageTransactionV2_calculationFactors.

type EnergyBillingUsageTransactionV2CalculationFactorsType added in v0.3.0

type EnergyBillingUsageTransactionV2CalculationFactorsType string

EnergyBillingUsageTransactionV2CalculationFactorsType The type of the calculation factor

Defines values for EnergyBillingUsageTransactionV2CalculationFactorsType.

type EnergyBillingUsageTransactionV2MeasureUnit added in v0.3.0

type EnergyBillingUsageTransactionV2MeasureUnit string

EnergyBillingUsageTransactionV2MeasureUnit The measurement unit of rate. Assumed to be KWH if absent

const (
	EnergyBillingUsageTransactionV2MeasureUnitDAYS  EnergyBillingUsageTransactionV2MeasureUnit = "DAYS"
	EnergyBillingUsageTransactionV2MeasureUnitKVA   EnergyBillingUsageTransactionV2MeasureUnit = "KVA"
	EnergyBillingUsageTransactionV2MeasureUnitKVAR  EnergyBillingUsageTransactionV2MeasureUnit = "KVAR"
	EnergyBillingUsageTransactionV2MeasureUnitKVARH EnergyBillingUsageTransactionV2MeasureUnit = "KVARH"
	EnergyBillingUsageTransactionV2MeasureUnitKW    EnergyBillingUsageTransactionV2MeasureUnit = "KW"
	EnergyBillingUsageTransactionV2MeasureUnitKWH   EnergyBillingUsageTransactionV2MeasureUnit = "KWH"
	EnergyBillingUsageTransactionV2MeasureUnitMETER EnergyBillingUsageTransactionV2MeasureUnit = "METER"
	EnergyBillingUsageTransactionV2MeasureUnitMONTH EnergyBillingUsageTransactionV2MeasureUnit = "MONTH"
)

Defines values for EnergyBillingUsageTransactionV2MeasureUnit.

type EnergyBillingUsageTransactionV2TimeOfUseType added in v0.3.0

type EnergyBillingUsageTransactionV2TimeOfUseType string

EnergyBillingUsageTransactionV2TimeOfUseType The time of use type that the transaction applies to

const (
	EnergyBillingUsageTransactionV2TimeOfUseTypeAGGREGATE           EnergyBillingUsageTransactionV2TimeOfUseType = "AGGREGATE"
	EnergyBillingUsageTransactionV2TimeOfUseTypeALLDAY              EnergyBillingUsageTransactionV2TimeOfUseType = "ALL_DAY"
	EnergyBillingUsageTransactionV2TimeOfUseTypeCONTROLLEDLOAD      EnergyBillingUsageTransactionV2TimeOfUseType = "CONTROLLED_LOAD"
	EnergyBillingUsageTransactionV2TimeOfUseTypeOFFPEAK             EnergyBillingUsageTransactionV2TimeOfUseType = "OFF_PEAK"
	EnergyBillingUsageTransactionV2TimeOfUseTypeOFFPEAKDEMANDCHARGE EnergyBillingUsageTransactionV2TimeOfUseType = "OFF_PEAK_DEMAND_CHARGE"
	EnergyBillingUsageTransactionV2TimeOfUseTypePEAK                EnergyBillingUsageTransactionV2TimeOfUseType = "PEAK"
	EnergyBillingUsageTransactionV2TimeOfUseTypeSHOULDER            EnergyBillingUsageTransactionV2TimeOfUseType = "SHOULDER"
	EnergyBillingUsageTransactionV2TimeOfUseTypeSHOULDER1           EnergyBillingUsageTransactionV2TimeOfUseType = "SHOULDER1"
	EnergyBillingUsageTransactionV2TimeOfUseTypeSHOULDER2           EnergyBillingUsageTransactionV2TimeOfUseType = "SHOULDER2"
	EnergyBillingUsageTransactionV2TimeOfUseTypeSOLAR               EnergyBillingUsageTransactionV2TimeOfUseType = "SOLAR"
)

Defines values for EnergyBillingUsageTransactionV2TimeOfUseType.

type EnergyConcession

type EnergyConcession struct {
	// AdditionalInfo Display text providing more information on the concession. Mandatory if type is VARIABLE
	AdditionalInfo *string `json:"additionalInfo,omitempty"`

	// AdditionalInfoUri Optional link to additional information regarding the concession
	AdditionalInfoUri *string `json:"additionalInfoUri,omitempty"`

	// Amount Conditional attribute for the amount of discount for the concession- required if type is FIXED_AMOUNT
	Amount *string `json:"amount,omitempty"`

	// AppliedTo Array of ENUM's to specify what the concession applies to. Multiple ENUM values can be provided. If absent, USAGE is assumed
	AppliedTo *[]EnergyConcessionAppliedTo `json:"appliedTo,omitempty"`

	// DiscountFrequency Conditional attribute for frequency at which a concession is applied. Required if type is FIXED_AMOUNT or FIXED_PERCENTAGE. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax)
	DiscountFrequency *string `json:"discountFrequency,omitempty"`

	// DisplayName The display name of the concession
	DisplayName string `json:"displayName"`

	// EndDate Optional end date for the application of the concession
	EndDate *string `json:"endDate,omitempty"`

	// Percentage Conditional attribute for the percentage of discount of concession - required if type is FIXED_PERCENTAGE
	Percentage *string `json:"percentage,omitempty"`

	// StartDate Optional start date for the application of the concession
	StartDate *string `json:"startDate,omitempty"`

	// Type Indicator of the method of concession calculation
	Type EnergyConcessionType `json:"type"`
}

EnergyConcession defines model for EnergyConcession.

type EnergyConcessionAppliedTo

type EnergyConcessionAppliedTo string

EnergyConcessionAppliedTo defines model for EnergyConcession.AppliedTo.

const (
	CONTROLLEDLOAD EnergyConcessionAppliedTo = "CONTROLLED_LOAD"
	INVOICE        EnergyConcessionAppliedTo = "INVOICE"
	SERVICECHARGE  EnergyConcessionAppliedTo = "SERVICE_CHARGE"
	USAGE          EnergyConcessionAppliedTo = "USAGE"
)

Defines values for EnergyConcessionAppliedTo.

type EnergyConcessionType

type EnergyConcessionType string

EnergyConcessionType Indicator of the method of concession calculation

const (
	EnergyConcessionTypeFIXEDAMOUNT     EnergyConcessionType = "FIXED_AMOUNT"
	EnergyConcessionTypeFIXEDPERCENTAGE EnergyConcessionType = "FIXED_PERCENTAGE"
	EnergyConcessionTypeVARIABLE        EnergyConcessionType = "VARIABLE"
)

Defines values for EnergyConcessionType.

type EnergyConcessionsResponse

type EnergyConcessionsResponse struct {
	Data  EnergyConcessionsResponseData `json:"data"`
	Links Links                         `json:"links"`
	Meta  *Meta                         `json:"meta,omitempty"`
}

EnergyConcessionsResponse defines model for EnergyConcessionsResponse.

type EnergyConcessionsResponseData added in v0.1.6

type EnergyConcessionsResponseData struct {
	// Concessions Array may be empty if no concessions exist
	Concessions []EnergyConcession `json:"concessions"`
}

EnergyConcessionsResponseData defines model for EnergyConcessionsResponse_data.

type EnergyDerDetailResponse

type EnergyDerDetailResponse struct {
	Data  EnergyDerRecord `json:"data"`
	Links Links           `json:"links"`
	Meta  *Meta           `json:"meta,omitempty"`
}

EnergyDerDetailResponse defines model for EnergyDerDetailResponse.

type EnergyDerListResponse

type EnergyDerListResponse struct {
	Data  EnergyDerListResponseData `json:"data"`
	Links LinksPaginated            `json:"links"`
	Meta  MetaPaginated             `json:"meta"`
}

EnergyDerListResponse defines model for EnergyDerListResponse.

type EnergyDerListResponseData added in v0.1.6

type EnergyDerListResponseData struct {
	// DerRecords Array of meter reads
	DerRecords []EnergyDerRecord `json:"derRecords"`
}

EnergyDerListResponseData defines model for EnergyDerListResponse_data.

type EnergyDerRecord

type EnergyDerRecord struct {
	AcConnections []EnergyDerRecordAcConnections `json:"acConnections"`

	// ApprovedCapacity Approved small generating unit capacity as agreed with NSP in the connection agreement, expressed in kVA. Value of 0 indicates no DER record exists for the given servicePointId
	ApprovedCapacity float32 `json:"approvedCapacity"`

	// AvailablePhasesCount The number of phases available for the installation of DER. Acceptable values are 0, 1, 2 or 3. Value of 0 indicates no DER record exists for the given servicePointId
	AvailablePhasesCount int `json:"availablePhasesCount"`

	// HasCentralProtectionControl For DER installations where NSPs specify the need for additional forms of protection above those inbuilt in an inverter.  If absent then assumed to be false
	HasCentralProtectionControl *bool `json:"hasCentralProtectionControl,omitempty"`

	// InstalledPhasesCount The number of phases that DER is connected to. Acceptable values are 0, 1, 2 or 3. Value of 0 indicates no DER record exists for the given servicePointId
	InstalledPhasesCount int `json:"installedPhasesCount"`

	// IslandableInstallation For identification of small generating units designed with the ability to operate in an islanded mode
	IslandableInstallation bool `json:"islandableInstallation"`

	// ProtectionMode Required only when the hasCentralProtectionAndControl flag is set to true.  One or more of the object fields will be provided to describe the protection modes in place
	ProtectionMode *EnergyDerRecordProtectionMode `json:"protectionMode,omitempty"`

	// ServicePointId Tokenised ID of the service point to be used for referring to the service point in the CDR API suite.  To be created in accordance with CDR ID permanence requirements
	ServicePointId string `json:"servicePointId"`
}

EnergyDerRecord defines model for EnergyDerRecord.

type EnergyDerRecordAcConnections added in v0.1.6

type EnergyDerRecordAcConnections struct {
	// CommissioningDate The date that the DER installation is commissioned
	CommissioningDate string `json:"commissioningDate"`

	// ConnectionIdentifier AC Connection ID as defined in the DER register.  Does not align with CDR ID permanence standards
	ConnectionIdentifier float32 `json:"connectionIdentifier"`

	// Count Number of AC Connections in the group. For the suite of AC Connections to be considered as a group, all of the AC Connections included must have the same attributes
	Count      int                         `json:"count"`
	DerDevices []EnergyDerRecordDerDevices `json:"derDevices"`

	// EquipmentType Indicates whether the DER device is connected via an inverter (and what category of inverter it is) or not (e.g. rotating machine). If absent, assume equipment type to be “OTHER”.
	EquipmentType *EnergyDerRecordAcConnectionsEquipmentType `json:"equipmentType,omitempty"`

	// InverterDeviceCapacity The rated AC output power that is listed in the product specified by the manufacturer. Mandatory if equipmentType is INVERTER. Default is 0 if value not known
	InverterDeviceCapacity *float32 `json:"inverterDeviceCapacity,omitempty"`

	// InverterModelNumber The inverter model number. Mandatory if equipmentType is INVERTER
	InverterModelNumber *string `json:"inverterModelNumber,omitempty"`

	// InverterSeries The inverter series. Mandatory if equipmentType is INVERTER
	InverterSeries *string `json:"inverterSeries,omitempty"`

	// ManufacturerName The name of the inverter manufacturer. Mandatory if equipmentType is INVERTER
	ManufacturerName *string `json:"manufacturerName,omitempty"`

	// Status Code used to indicate the status of the Inverter. This will be used to identify if an inverter is active or inactive or decommissioned
	Status EnergyDerRecordAcConnectionsStatus `json:"status"`
}

EnergyDerRecordAcConnections defines model for EnergyDerRecord_acConnections.

type EnergyDerRecordAcConnectionsEquipmentType

type EnergyDerRecordAcConnectionsEquipmentType string

EnergyDerRecordAcConnectionsEquipmentType Indicates whether the DER device is connected via an inverter (and what category of inverter it is) or not (e.g. rotating machine). If absent, assume equipment type to be “OTHER”.

const (
	EnergyDerRecordAcConnectionsEquipmentTypeINVERTER EnergyDerRecordAcConnectionsEquipmentType = "INVERTER"
	EnergyDerRecordAcConnectionsEquipmentTypeOTHER    EnergyDerRecordAcConnectionsEquipmentType = "OTHER"
)

Defines values for EnergyDerRecordAcConnectionsEquipmentType.

type EnergyDerRecordAcConnectionsStatus

type EnergyDerRecordAcConnectionsStatus string

EnergyDerRecordAcConnectionsStatus Code used to indicate the status of the Inverter. This will be used to identify if an inverter is active or inactive or decommissioned

const (
	EnergyDerRecordAcConnectionsStatusACTIVE         EnergyDerRecordAcConnectionsStatus = "ACTIVE"
	EnergyDerRecordAcConnectionsStatusDECOMMISSIONED EnergyDerRecordAcConnectionsStatus = "DECOMMISSIONED"
	EnergyDerRecordAcConnectionsStatusINACTIVE       EnergyDerRecordAcConnectionsStatus = "INACTIVE"
)

Defines values for EnergyDerRecordAcConnectionsStatus.

type EnergyDerRecordDerDevices added in v0.1.6

type EnergyDerRecordDerDevices struct {
	// Count Number of devices in the group of DER devices
	Count int `json:"count"`

	// DeviceIdentifier Unique identifier for a single DER device or a group of DER devices with the same attributes. Does not align with CDR ID permanence standards
	DeviceIdentifier float32 `json:"deviceIdentifier"`

	// Manufacturer The name of the device manufacturer. If absent then assumed to be “unknown”
	Manufacturer *string `json:"manufacturer,omitempty"`

	// ModelNumber The model number of the device. If absent then assumed to be “unknown”
	ModelNumber *string `json:"modelNumber,omitempty"`

	// NominalRatedCapacity Maximum output in kVA that is listed in the product specification by the manufacturer. This refers to the capacity of each unit within the device group. Default is 0 if value not known
	NominalRatedCapacity float32 `json:"nominalRatedCapacity"`

	// NominalStorageCapacity Maximum storage capacity in kVAh. This refers to the capacity of each storage module within the device group. Mandatory if type is equal to “STORAGE”. Default is 0 if value not known
	NominalStorageCapacity *float32 `json:"nominalStorageCapacity,omitempty"`

	// Status Code used to indicate the status of the device. This will be used to identify if an inverter is active or inactive or decommissioned
	Status *EnergyDerRecordDerDevicesStatus `json:"status,omitempty"`

	// Subtype Used to indicate the primary technology used in the DER device. This field is also used to record for example the battery chemistry, or the type of PV panel. It is also used to record if a battery is contained in an electric vehicle connected in a vehicle-to-grid arrangement. If absent then assumed to be “other”
	Subtype *string `json:"subtype,omitempty"`

	// Type Used to indicate the primary technology used in the DER device
	Type EnergyDerRecordDerDevicesType `json:"type"`
}

EnergyDerRecordDerDevices defines model for EnergyDerRecord_derDevices.

type EnergyDerRecordDerDevicesStatus added in v0.1.6

type EnergyDerRecordDerDevicesStatus string

EnergyDerRecordDerDevicesStatus Code used to indicate the status of the device. This will be used to identify if an inverter is active or inactive or decommissioned

const (
	EnergyDerRecordDerDevicesStatusACTIVE         EnergyDerRecordDerDevicesStatus = "ACTIVE"
	EnergyDerRecordDerDevicesStatusDECOMMISSIONED EnergyDerRecordDerDevicesStatus = "DECOMMISSIONED"
	EnergyDerRecordDerDevicesStatusINACTIVE       EnergyDerRecordDerDevicesStatus = "INACTIVE"
)

Defines values for EnergyDerRecordDerDevicesStatus.

type EnergyDerRecordDerDevicesType added in v0.1.6

type EnergyDerRecordDerDevicesType string

EnergyDerRecordDerDevicesType Used to indicate the primary technology used in the DER device

const (
	EnergyDerRecordDerDevicesTypeFOSSIL     EnergyDerRecordDerDevicesType = "FOSSIL"
	EnergyDerRecordDerDevicesTypeGEOTHERMAL EnergyDerRecordDerDevicesType = "GEOTHERMAL"
	EnergyDerRecordDerDevicesTypeHYDRO      EnergyDerRecordDerDevicesType = "HYDRO"
	EnergyDerRecordDerDevicesTypeOTHER      EnergyDerRecordDerDevicesType = "OTHER"
	EnergyDerRecordDerDevicesTypeRENEWABLE  EnergyDerRecordDerDevicesType = "RENEWABLE"
	EnergyDerRecordDerDevicesTypeSOLARPV    EnergyDerRecordDerDevicesType = "SOLAR_PV"
	EnergyDerRecordDerDevicesTypeSTORAGE    EnergyDerRecordDerDevicesType = "STORAGE"
	EnergyDerRecordDerDevicesTypeWIND       EnergyDerRecordDerDevicesType = "WIND"
)

Defines values for EnergyDerRecordDerDevicesType.

type EnergyDerRecordProtectionMode added in v0.1.6

type EnergyDerRecordProtectionMode struct {
	// ExportLimitKva Maximum amount of power (kVA) that may be exported from a connection point to the grid, as monitored by a control / relay function. An absent value indicates no limit
	ExportLimitKva *float32 `json:"exportLimitKva,omitempty"`

	// FrequencyRateOfChange Rate of change of frequency trip point (Hz/s).
	FrequencyRateOfChange *float32 `json:"frequencyRateOfChange,omitempty"`

	// InterTripScheme Description of the form of inter-trip (e.g. 'from local substation').
	InterTripScheme *string `json:"interTripScheme,omitempty"`

	// NeutralVoltageDisplacement Trip voltage.
	NeutralVoltageDisplacement *float32 `json:"neutralVoltageDisplacement,omitempty"`

	// OverFrequencyProtection Protective function limit in Hz.
	OverFrequencyProtection *float32 `json:"overFrequencyProtection,omitempty"`

	// OverFrequencyProtectionDelay Trip delay time in seconds.
	OverFrequencyProtectionDelay *float32 `json:"overFrequencyProtectionDelay,omitempty"`

	// OverVoltageProtection Protective function limit in V.
	OverVoltageProtection *float32 `json:"overVoltageProtection,omitempty"`

	// OverVoltageProtectionDelay Trip delay time in seconds.
	OverVoltageProtectionDelay *float32 `json:"overVoltageProtectionDelay,omitempty"`

	// SustainedOverVoltage Sustained over voltage.
	SustainedOverVoltage *float32 `json:"sustainedOverVoltage,omitempty"`

	// SustainedOverVoltageDelay Sustained Over voltage protection delay in seconds.
	SustainedOverVoltageDelay *float32 `json:"sustainedOverVoltageDelay,omitempty"`

	// UnderFrequencyProtection Protective function limit in Hz.
	UnderFrequencyProtection *float32 `json:"underFrequencyProtection,omitempty"`

	// UnderFrequencyProtectionDelay Trip delay time in seconds.
	UnderFrequencyProtectionDelay *float32 `json:"underFrequencyProtectionDelay,omitempty"`

	// UnderVoltageProtection Protective function limit in V.
	UnderVoltageProtection *float32 `json:"underVoltageProtection,omitempty"`

	// UnderVoltageProtectionDelay Trip delay time in seconds.
	UnderVoltageProtectionDelay *float32 `json:"underVoltageProtectionDelay,omitempty"`

	// VoltageVectorShift Trip angle in degrees.
	VoltageVectorShift *float32 `json:"voltageVectorShift,omitempty"`
}

EnergyDerRecordProtectionMode Required only when the hasCentralProtectionAndControl flag is set to true. One or more of the object fields will be provided to describe the protection modes in place

type EnergyInvoice

type EnergyInvoice struct {
	// AccountCharges Object contains account level charges and credits related to electricity usage
	AccountCharges *EnergyInvoiceAccountCharges `json:"accountCharges,omitempty"`

	// AccountId The ID of the account for which the invoice was issued
	AccountId string `json:"accountId"`

	// BalanceAtIssue The account balance at the time the invoice was issued
	BalanceAtIssue string `json:"balanceAtIssue"`

	// DueDate The date that the invoice is due to be paid
	DueDate     *string                               `json:"dueDate,omitempty"`
	Electricity *EnergyInvoiceElectricityUsageCharges `json:"electricity,omitempty"`
	Gas         *EnergyInvoiceGasUsageCharges         `json:"gas,omitempty"`

	// GstAmount The total GST amount for this invoice.  If absent then zero is assumed
	GstAmount *string `json:"gstAmount,omitempty"`

	// InvoiceAmount The net amount due for this invoice regardless of previous balance
	InvoiceAmount *string `json:"invoiceAmount,omitempty"`

	// InvoiceNumber The number assigned to this invoice by the energy Retailer
	InvoiceNumber string `json:"invoiceNumber"`

	// IssueDate The date that the invoice was actually issued (as opposed to generated or calculated)
	IssueDate string `json:"issueDate"`

	// PayOnTimeDiscount A discount for on time payment
	PayOnTimeDiscount *EnergyInvoicePayOnTimeDiscount `json:"payOnTimeDiscount,omitempty"`

	// PaymentStatus Indicator of the payment status for the invoice
	PaymentStatus EnergyInvoicePaymentStatus `json:"paymentStatus"`

	// Period Object containing the start and end date for the period covered by the invoice.  Mandatory if any usage or demand based charges are included in the invoice
	Period *EnergyInvoicePeriod `json:"period,omitempty"`

	// ServicePoints Array of service point IDs to which this invoice applies. May be empty if the invoice contains no electricity usage related charges
	ServicePoints []string `json:"servicePoints"`
}

EnergyInvoice defines model for EnergyInvoice.

type EnergyInvoiceAccountCharges

type EnergyInvoiceAccountCharges struct {
	// TotalCharges The aggregate total of account level charges for the period covered by the invoice
	TotalCharges string `json:"totalCharges"`

	// TotalDiscounts The aggregate total of account level discounts or credits for the period covered by the invoice
	TotalDiscounts string `json:"totalDiscounts"`

	// TotalGst The total GST for all account level charges.  If absent then zero is assumed
	TotalGst *string `json:"totalGst,omitempty"`
}

EnergyInvoiceAccountCharges Object contains account level charges and credits related to electricity usage

type EnergyInvoiceElectricityUsageCharges

type EnergyInvoiceElectricityUsageCharges struct {
	// OtherCharges Optional array of charges that may be part of the invoice (for e.g. environmental charges for C&I consumers) (exclusive of GST)
	OtherCharges *[]EnergyInvoiceGasUsageChargesOtherCharges `json:"otherCharges,omitempty"`

	// TotalGenerationCredits The aggregate total of generation credits for the period covered by the invoice (exclusive of GST)
	TotalGenerationCredits string `json:"totalGenerationCredits"`

	// TotalGst The total GST for all electricity usage charges.  If absent then zero is assumed
	TotalGst *string `json:"totalGst,omitempty"`

	// TotalOnceOffCharges The aggregate total of any once off charges arising from electricity usage for the period covered by the invoice (exclusive of GST)
	TotalOnceOffCharges string `json:"totalOnceOffCharges"`

	// TotalOnceOffDiscounts The aggregate total of any once off discounts or credits arising from electricity usage for the period covered by the invoice (exclusive of GST)
	TotalOnceOffDiscounts string `json:"totalOnceOffDiscounts"`

	// TotalUsageCharges The aggregate total of usage charges for the period covered by the invoice (exclusive of GST)
	TotalUsageCharges string `json:"totalUsageCharges"`
}

EnergyInvoiceElectricityUsageCharges defines model for EnergyInvoiceElectricityUsageCharges.

type EnergyInvoiceGasUsageCharges

type EnergyInvoiceGasUsageCharges struct {
	// OtherCharges Optional array of charges that may be part of the invoice (for e.g. environmental charges for C&I consumers) (exclusive of GST)
	OtherCharges *[]EnergyInvoiceGasUsageChargesOtherCharges `json:"otherCharges,omitempty"`

	// TotalGenerationCredits The aggregate total of generation credits for the period covered by the invoice (exclusive of GST)
	TotalGenerationCredits string `json:"totalGenerationCredits"`

	// TotalGst The total GST for all gas usage charges.  If absent then zero is assumed
	TotalGst *string `json:"totalGst,omitempty"`

	// TotalOnceOffCharges The aggregate total of any once off charges arising from gas usage for the period covered by the invoice (exclusive of GST)
	TotalOnceOffCharges string `json:"totalOnceOffCharges"`

	// TotalOnceOffDiscounts The aggregate total of any once off discounts or credits arising from gas usage for the period covered by the invoice (exclusive of GST)
	TotalOnceOffDiscounts string `json:"totalOnceOffDiscounts"`

	// TotalUsageCharges The aggregate total of usage charges for the period covered by the invoice (exclusive of GST)
	TotalUsageCharges string `json:"totalUsageCharges"`
}

EnergyInvoiceGasUsageCharges defines model for EnergyInvoiceGasUsageCharges.

type EnergyInvoiceGasUsageChargesOtherCharges added in v0.1.6

type EnergyInvoiceGasUsageChargesOtherCharges struct {
	// Amount The aggregate total of charges for this item (exclusive of GST)
	Amount string `json:"amount"`

	// Description A free text description of the type of charge
	Description string `json:"description"`

	// Type Type of charge. Assumed to be other if absent
	Type *EnergyInvoiceGasUsageChargesOtherChargesType `json:"type,omitempty"`
}

EnergyInvoiceGasUsageChargesOtherCharges defines model for EnergyInvoiceGasUsageCharges_otherCharges.

type EnergyInvoiceGasUsageChargesOtherChargesType

type EnergyInvoiceGasUsageChargesOtherChargesType string

EnergyInvoiceGasUsageChargesOtherChargesType Type of charge. Assumed to be other if absent

const (
	EnergyInvoiceGasUsageChargesOtherChargesTypeENVIRONMENTAL EnergyInvoiceGasUsageChargesOtherChargesType = "ENVIRONMENTAL"
	EnergyInvoiceGasUsageChargesOtherChargesTypeMETERING      EnergyInvoiceGasUsageChargesOtherChargesType = "METERING"
	EnergyInvoiceGasUsageChargesOtherChargesTypeNETWORK       EnergyInvoiceGasUsageChargesOtherChargesType = "NETWORK"
	EnergyInvoiceGasUsageChargesOtherChargesTypeOTHER         EnergyInvoiceGasUsageChargesOtherChargesType = "OTHER"
	EnergyInvoiceGasUsageChargesOtherChargesTypeRCTI          EnergyInvoiceGasUsageChargesOtherChargesType = "RCTI"
	EnergyInvoiceGasUsageChargesOtherChargesTypeREGULATED     EnergyInvoiceGasUsageChargesOtherChargesType = "REGULATED"
	EnergyInvoiceGasUsageChargesOtherChargesTypeRETAILSERVICE EnergyInvoiceGasUsageChargesOtherChargesType = "RETAIL_SERVICE"
)

Defines values for EnergyInvoiceGasUsageChargesOtherChargesType.

type EnergyInvoiceListResponse

type EnergyInvoiceListResponse struct {
	Data  EnergyInvoiceListResponseData `json:"data"`
	Links LinksPaginated                `json:"links"`
	Meta  MetaPaginated                 `json:"meta"`
}

EnergyInvoiceListResponse defines model for EnergyInvoiceListResponse.

type EnergyInvoiceListResponseData added in v0.1.6

type EnergyInvoiceListResponseData struct {
	// Invoices Array of invoices sorted by issue date in descending order
	Invoices []EnergyInvoice `json:"invoices"`
}

EnergyInvoiceListResponseData defines model for EnergyInvoiceListResponse_data.

type EnergyInvoicePayOnTimeDiscount added in v0.1.6

type EnergyInvoicePayOnTimeDiscount struct {
	// Date The date by which the invoice must be paid to receive the pay on time discount
	Date string `json:"date"`

	// DiscountAmount The amount that will be discounted if the invoice is paid by the date specified
	DiscountAmount string `json:"discountAmount"`

	// GstAmount The GST amount that will be discounted if the invoice is paid by the date specified.  If absent then zero is assumed
	GstAmount *string `json:"gstAmount,omitempty"`
}

EnergyInvoicePayOnTimeDiscount A discount for on time payment

type EnergyInvoicePaymentStatus

type EnergyInvoicePaymentStatus string

EnergyInvoicePaymentStatus Indicator of the payment status for the invoice

const (
	NOTPAID       EnergyInvoicePaymentStatus = "NOT_PAID"
	PARTIALLYPAID EnergyInvoicePaymentStatus = "PARTIALLY_PAID"
)

Defines values for EnergyInvoicePaymentStatus.

type EnergyInvoicePeriod added in v0.1.6

type EnergyInvoicePeriod struct {
	// EndDate The end date of the period covered by this invoice
	EndDate string `json:"endDate"`

	// StartDate The start date of the period covered by this invoice
	StartDate string `json:"startDate"`
}

EnergyInvoicePeriod Object containing the start and end date for the period covered by the invoice. Mandatory if any usage or demand based charges are included in the invoice

type EnergyPaymentSchedule

type EnergyPaymentSchedule struct {
	// Amount Optional payment amount indicating that a constant payment amount is scheduled to be paid (used in bill smoothing scenarios)
	Amount *string `json:"amount,omitempty"`

	// CardDebit Represents a regular credit card payment schedule. Mandatory if paymentScheduleUType is set to cardDebit
	CardDebit *EnergyPaymentScheduleCardDebit `json:"cardDebit,omitempty"`

	// DigitalWallet Represents a regular payment from a digital wallet. Mandatory if paymentScheduleUType is set to digitalWallet
	DigitalWallet *EnergyPaymentScheduleDigitalWallet `json:"digitalWallet,omitempty"`

	// DirectDebit Represents a regular direct debit from a specified bank account. Mandatory if paymentScheduleUType is set to directDebit
	DirectDebit *EnergyPaymentScheduleDirectDebit `json:"directDebit,omitempty"`

	// ManualPayment Represents a manual payment schedule where the customer pays in response to a delivered statement. Mandatory if paymentScheduleUType is set to manualPayment
	ManualPayment *EnergyPaymentScheduleManualPayment `json:"manualPayment,omitempty"`

	// PaymentScheduleUType The type of object present in this response
	PaymentScheduleUType EnergyPaymentSchedulePaymentScheduleUType `json:"paymentScheduleUType"`
}

EnergyPaymentSchedule defines model for EnergyPaymentSchedule.

type EnergyPaymentScheduleCardDebit added in v0.1.6

type EnergyPaymentScheduleCardDebit struct {
	// CalculationType The mechanism by which the payment amount is calculated.  Explanation of values are as follows:<br/><ul><li>**STATIC** - Indicates a consistent, static amount, per payment</li><li>**BALANCE** - Indicates that the outstanding balance for the account is paid per period</li><li>**CALCULATED** - Indicates that the payment amount is variable and calculated using a pre-defined algorithm</li></ul>
	CalculationType EnergyPaymentScheduleCardDebitCalculationType `json:"calculationType"`

	// CardScheme The type of credit card held on file
	CardScheme EnergyPaymentScheduleCardDebitCardScheme `json:"cardScheme"`

	// PaymentFrequency The frequency that payments will occur.  Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax)
	PaymentFrequency string `json:"paymentFrequency"`
}

EnergyPaymentScheduleCardDebit Represents a regular credit card payment schedule. Mandatory if paymentScheduleUType is set to cardDebit

type EnergyPaymentScheduleCardDebitCalculationType

type EnergyPaymentScheduleCardDebitCalculationType string

EnergyPaymentScheduleCardDebitCalculationType The mechanism by which the payment amount is calculated. Explanation of values are as follows:<br/><ul><li>**STATIC** - Indicates a consistent, static amount, per payment</li><li>**BALANCE** - Indicates that the outstanding balance for the account is paid per period</li><li>**CALCULATED** - Indicates that the payment amount is variable and calculated using a pre-defined algorithm</li></ul>

const (
	EnergyPaymentScheduleCardDebitCalculationTypeBALANCE    EnergyPaymentScheduleCardDebitCalculationType = "BALANCE"
	EnergyPaymentScheduleCardDebitCalculationTypeCALCULATED EnergyPaymentScheduleCardDebitCalculationType = "CALCULATED"
	EnergyPaymentScheduleCardDebitCalculationTypeSTATIC     EnergyPaymentScheduleCardDebitCalculationType = "STATIC"
)

Defines values for EnergyPaymentScheduleCardDebitCalculationType.

type EnergyPaymentScheduleCardDebitCardScheme

type EnergyPaymentScheduleCardDebitCardScheme string

EnergyPaymentScheduleCardDebitCardScheme The type of credit card held on file

const (
	EnergyPaymentScheduleCardDebitCardSchemeAMEX       EnergyPaymentScheduleCardDebitCardScheme = "AMEX"
	EnergyPaymentScheduleCardDebitCardSchemeDINERS     EnergyPaymentScheduleCardDebitCardScheme = "DINERS"
	EnergyPaymentScheduleCardDebitCardSchemeMASTERCARD EnergyPaymentScheduleCardDebitCardScheme = "MASTERCARD"
	EnergyPaymentScheduleCardDebitCardSchemeOTHER      EnergyPaymentScheduleCardDebitCardScheme = "OTHER"
	EnergyPaymentScheduleCardDebitCardSchemeUNKNOWN    EnergyPaymentScheduleCardDebitCardScheme = "UNKNOWN"
	EnergyPaymentScheduleCardDebitCardSchemeVISA       EnergyPaymentScheduleCardDebitCardScheme = "VISA"
)

Defines values for EnergyPaymentScheduleCardDebitCardScheme.

type EnergyPaymentScheduleDigitalWallet added in v0.1.6

type EnergyPaymentScheduleDigitalWallet struct {
	// CalculationType The mechanism by which the payment amount is calculated.  Explanation of values are as follows:<br/><ul><li>**STATIC** - Indicates a consistent, static amount, per payment</li><li>**BALANCE** - Indicates that the outstanding balance for the account is paid per period</li><li>**CALCULATED** - Indicates that the payment amount is variable and calculated using a pre-defined algorithm</li></ul>
	CalculationType EnergyPaymentScheduleDigitalWalletCalculationType `json:"calculationType"`

	// Identifier The identifier of the digital wallet (dependent on type)
	Identifier string `json:"identifier"`

	// Name The display name of the wallet as given by the customer, else a default value defined by the data holder
	Name string `json:"name"`

	// PaymentFrequency The frequency that payments will occur.  Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax)
	PaymentFrequency string `json:"paymentFrequency"`

	// Provider The provider of the digital wallet
	Provider EnergyPaymentScheduleDigitalWalletProvider `json:"provider"`

	// Type The type of the digital wallet identifier
	Type EnergyPaymentScheduleDigitalWalletType `json:"type"`
}

EnergyPaymentScheduleDigitalWallet Represents a regular payment from a digital wallet. Mandatory if paymentScheduleUType is set to digitalWallet

type EnergyPaymentScheduleDigitalWalletCalculationType

type EnergyPaymentScheduleDigitalWalletCalculationType string

EnergyPaymentScheduleDigitalWalletCalculationType The mechanism by which the payment amount is calculated. Explanation of values are as follows:<br/><ul><li>**STATIC** - Indicates a consistent, static amount, per payment</li><li>**BALANCE** - Indicates that the outstanding balance for the account is paid per period</li><li>**CALCULATED** - Indicates that the payment amount is variable and calculated using a pre-defined algorithm</li></ul>

const (
	EnergyPaymentScheduleDigitalWalletCalculationTypeBALANCE    EnergyPaymentScheduleDigitalWalletCalculationType = "BALANCE"
	EnergyPaymentScheduleDigitalWalletCalculationTypeCALCULATED EnergyPaymentScheduleDigitalWalletCalculationType = "CALCULATED"
	EnergyPaymentScheduleDigitalWalletCalculationTypeSTATIC     EnergyPaymentScheduleDigitalWalletCalculationType = "STATIC"
)

Defines values for EnergyPaymentScheduleDigitalWalletCalculationType.

type EnergyPaymentScheduleDigitalWalletProvider

type EnergyPaymentScheduleDigitalWalletProvider string

EnergyPaymentScheduleDigitalWalletProvider The provider of the digital wallet

const (
	EnergyPaymentScheduleDigitalWalletProviderOTHER    EnergyPaymentScheduleDigitalWalletProvider = "OTHER"
	EnergyPaymentScheduleDigitalWalletProviderPAYPALAU EnergyPaymentScheduleDigitalWalletProvider = "PAYPAL_AU"
)

Defines values for EnergyPaymentScheduleDigitalWalletProvider.

type EnergyPaymentScheduleDigitalWalletType

type EnergyPaymentScheduleDigitalWalletType string

EnergyPaymentScheduleDigitalWalletType The type of the digital wallet identifier

const (
	CONTACTNAME EnergyPaymentScheduleDigitalWalletType = "CONTACT_NAME"
	EMAIL       EnergyPaymentScheduleDigitalWalletType = "EMAIL"
	TELEPHONE   EnergyPaymentScheduleDigitalWalletType = "TELEPHONE"
)

Defines values for EnergyPaymentScheduleDigitalWalletType.

type EnergyPaymentScheduleDirectDebit added in v0.1.6

type EnergyPaymentScheduleDirectDebit struct {
	// AccountNumber The unmasked account number for the account to be debited. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces.  Is required if isTokenised is absent or false
	AccountNumber *string `json:"accountNumber,omitempty"`

	// Bsb The unmasked BSB for the account to be debited. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces.  Is required if isTokenised is absent or false
	Bsb *string `json:"bsb,omitempty"`

	// CalculationType The mechanism by which the payment amount is calculated.  Explanation of values are as follows:<br/><ul><li>**STATIC** - Indicates a consistent, static amount, per payment</li><li>**BALANCE** - Indicates that the outstanding balance for the account is paid per period</li><li>**CALCULATED** - Indicates that the payment amount is variable and calculated using a pre-defined algorithm</li></ul>
	CalculationType EnergyPaymentScheduleDirectDebitCalculationType `json:"calculationType"`

	// IsTokenised Flag indicating that the account details are tokenised, or held in a closed system, and is not accessible through any other channels. False if absent
	IsTokenised *bool `json:"isTokenised,omitempty"`

	// PaymentFrequency The frequency that payments will occur.  Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax)
	PaymentFrequency string `json:"paymentFrequency"`
}

EnergyPaymentScheduleDirectDebit Represents a regular direct debit from a specified bank account. Mandatory if paymentScheduleUType is set to directDebit

type EnergyPaymentScheduleDirectDebitCalculationType

type EnergyPaymentScheduleDirectDebitCalculationType string

EnergyPaymentScheduleDirectDebitCalculationType The mechanism by which the payment amount is calculated. Explanation of values are as follows:<br/><ul><li>**STATIC** - Indicates a consistent, static amount, per payment</li><li>**BALANCE** - Indicates that the outstanding balance for the account is paid per period</li><li>**CALCULATED** - Indicates that the payment amount is variable and calculated using a pre-defined algorithm</li></ul>

Defines values for EnergyPaymentScheduleDirectDebitCalculationType.

type EnergyPaymentScheduleManualPayment added in v0.1.6

type EnergyPaymentScheduleManualPayment struct {
	// BillFrequency The frequency with which a bill will be issued.  Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax)
	BillFrequency string `json:"billFrequency"`
}

EnergyPaymentScheduleManualPayment Represents a manual payment schedule where the customer pays in response to a delivered statement. Mandatory if paymentScheduleUType is set to manualPayment

type EnergyPaymentSchedulePaymentScheduleUType

type EnergyPaymentSchedulePaymentScheduleUType string

EnergyPaymentSchedulePaymentScheduleUType The type of object present in this response

const (
	CardDebit     EnergyPaymentSchedulePaymentScheduleUType = "cardDebit"
	DigitalWallet EnergyPaymentSchedulePaymentScheduleUType = "digitalWallet"
	DirectDebit   EnergyPaymentSchedulePaymentScheduleUType = "directDebit"
	ManualPayment EnergyPaymentSchedulePaymentScheduleUType = "manualPayment"
)

Defines values for EnergyPaymentSchedulePaymentScheduleUType.

type EnergyPaymentScheduleResponse

type EnergyPaymentScheduleResponse struct {
	Data  EnergyPaymentScheduleResponseData `json:"data"`
	Links Links                             `json:"links"`
	Meta  *Meta                             `json:"meta,omitempty"`
}

EnergyPaymentScheduleResponse defines model for EnergyPaymentScheduleResponse.

type EnergyPaymentScheduleResponseData added in v0.1.6

type EnergyPaymentScheduleResponseData struct {
	// PaymentSchedules Array may be empty if no payment schedule exist
	PaymentSchedules []EnergyPaymentSchedule `json:"paymentSchedules"`
}

EnergyPaymentScheduleResponseData defines model for EnergyPaymentScheduleResponse_data.

type EnergyPlan

type EnergyPlan struct {
	// AdditionalInformation Object that contains links to additional information on specific topics
	AdditionalInformation *EnergyPlanAdditionalInformation `json:"additionalInformation,omitempty"`

	// ApplicationUri A link to an application web page where this plan can be applied for
	ApplicationUri *string `json:"applicationUri,omitempty"`

	// Brand The ID of the brand under which this plan is offered
	Brand string `json:"brand"`

	// BrandName The display name of the brand under which this plan is offered
	BrandName string `json:"brandName"`

	// CustomerType The type of customer that the plan is offered to.  If absent then the plan is available to all customers
	CustomerType *EnergyPlanCustomerType `json:"customerType,omitempty"`

	// Description A description of the plan
	Description *string `json:"description,omitempty"`

	// DisplayName The display name of the plan
	DisplayName *string `json:"displayName,omitempty"`

	// EffectiveFrom The date and time from which this plan is effective (ie. is available for origination). Used to enable the articulation of products to the regime before they are available for customers to originate
	EffectiveFrom *string `json:"effectiveFrom,omitempty"`

	// EffectiveTo The date and time at which this plan will be retired and will no longer be offered. Used to enable the managed deprecation of plans
	EffectiveTo *string `json:"effectiveTo,omitempty"`

	// FuelType The fuel types covered by the plan
	FuelType EnergyPlanFuelType `json:"fuelType"`

	// Geography Describes the geographical area that the plan is available for.  If absent then it is assumed the plan is not geographically limited
	Geography *EnergyPlanGeography `json:"geography,omitempty"`

	// LastUpdated The last date and time that the information for this plan was changed (or the creation date for the plan if it has never been altered)
	LastUpdated string `json:"lastUpdated"`

	// PlanId The ID of the specific plan
	PlanId string `json:"planId"`

	// Type The type of the plan
	Type EnergyPlanType `json:"type"`
}

EnergyPlan defines model for EnergyPlan.

type EnergyPlanAdditionalInformation added in v0.1.6

type EnergyPlanAdditionalInformation struct {
	// BundleUri A link to detail on bundles that this plan can be a part of
	BundleUri *string `json:"bundleUri,omitempty"`

	// EligibilityUri A link to detail on eligibility criteria for the plan
	EligibilityUri *string `json:"eligibilityUri,omitempty"`

	// OverviewUri A link to a general overview of the plan
	OverviewUri *string `json:"overviewUri,omitempty"`

	// PricingUri A link to detail on pricing for the plan
	PricingUri *string `json:"pricingUri,omitempty"`

	// TermsUri A link to terms and conditions for the plan
	TermsUri *string `json:"termsUri,omitempty"`
}

EnergyPlanAdditionalInformation Object that contains links to additional information on specific topics

type EnergyPlanContractFullV3 added in v0.3.0

type EnergyPlanContractFullV3 struct {
	// AdditionalFeeInformation Free text field containing additional information of the fees for this contract
	AdditionalFeeInformation *string `json:"additionalFeeInformation,omitempty"`

	// BenefitPeriod Description of the benefit period.  Should only be present if termType has the value ONGOING
	BenefitPeriod *string `json:"benefitPeriod,omitempty"`

	// BillFrequency An array of the available billing schedules for this contract. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax)
	BillFrequency []string `json:"billFrequency"`

	// ControlledLoad Required if pricing model is SINGLE_RATE_CONT_LOAD or TIME_OF_USE_CONT_LOAD or FLEXIBLE_CONT_LOAD
	ControlledLoad *EnergyPlanControlledLoadV2 `json:"controlledLoad,omitempty"`

	// CoolingOffDays Number of days in the cooling off period for the contract.  Mandatory for plans with type of MARKET
	CoolingOffDays *PatchedCoolingOffDays `json:"coolingOffDays,omitempty"`

	// Discounts Optional list of discounts available for the contract
	Discounts *EnergyPlanDiscounts `json:"discounts,omitempty"`

	// Eligibility Eligibility restrictions or requirements
	Eligibility *EnergyPlanEligibility `json:"eligibility,omitempty"`

	// Fees An array of fees applicable to the plan
	Fees *EnergyPlanFees `json:"fees,omitempty"`

	// GreenPowerCharges Optional list of charges applicable to green power
	GreenPowerCharges *EnergyPlanGreenPowerCharges `json:"greenPowerCharges,omitempty"`

	// Incentives Optional list of incentives available for the contract
	Incentives *EnergyPlanIncentives `json:"incentives,omitempty"`

	// IntrinsicGreenPower Describes intrinsic green power for the plan.  If present then the plan includes a percentage of green power in the base plan. Should not be present for gas contracts
	IntrinsicGreenPower *EnergyPlanContractV3IntrinsicGreenPower `json:"intrinsicGreenPower,omitempty"`

	// IsFixed Flag indicating whether prices are fixed or variable
	IsFixed bool `json:"isFixed"`

	// MeterTypes An array of the meter types that this contract is available for
	MeterTypes *[]string `json:"meterTypes,omitempty"`

	// OnExpiryDescription Free text field that describes what will occur on or prior to expiry of the fixed contract term or benefit period
	OnExpiryDescription *string `json:"onExpiryDescription,omitempty"`

	// PaymentOption Payment options for this contract
	PaymentOption []EnergyPlanContractFullV3PaymentOption `json:"paymentOption"`

	// PricingModel The pricing model for the contract.  Contracts for gas must use SINGLE_RATE.  Note that the detail for the enumeration values are:<ul><li>**SINGLE_RATE** - all energy usage is charged at a single unit rate no matter when it is consumed. Multiple unit rates may exist that correspond to varying volumes of usage i.e. a ‘block’ or ‘step’ tariff (first 50kWh @ X cents, next 50kWh at Y cents etc.</li><li>**SINGLE_RATE_CONT_LOAD** - as above, but with an additional, separate unit rate charged for all energy usage from a controlled load i.e. separately metered appliance like hot water service, pool pump etc.</li><li>**TIME_OF_USE** - energy usage is charged at unit rates that vary dependent on time of day and day of week that the energy is consumed</li><li>**TIME_OF_USE_CONT_LOAD** - as above, but with an additional, separate unit rate charged for all energy usage from a controlled load i.e. separately metered appliance like hot water service, pool pump etc.</li><li>**FLEXIBLE** - energy usage is charged at unit rates that vary based on external factors</li><li>**FLEXIBLE_CONT_LOAD** - as above, but with an additional, separate unit rate charged for all energy usage from a controlled load i.e. separately metered appliance like hot water service, pool pump etc.</li><li>**QUOTA** - all energy usage is charged at a single fixed rate, up to a specified usage quota/allowance. All excess usage beyond the allowance is then charged at a single unit rate (may not be the best way to explain it but it is essentially a ‘subscription’ or telco style product i.e. $50/month for up to 150kWh included usage</li></ul>
	PricingModel EnergyPlanContractFullV3PricingModel `json:"pricingModel"`

	// SolarFeedInTariff Array of feed in tariffs for solar power
	SolarFeedInTariff *EnergyPlanSolarFeedInTariffV3 `json:"solarFeedInTariff,omitempty"`

	// TariffPeriod Array of tariff periods
	TariffPeriod EnergyPlanTariffPeriodV2 `json:"tariffPeriod"`

	// TermType The term for the contract.  If absent assumes no specified term
	TermType *EnergyPlanContractFullV3TermType `json:"termType,omitempty"`

	// Terms Free text description of the terms for the contract
	Terms *string `json:"terms,omitempty"`

	// TimeZone Required if pricingModel is set to TIME_OF_USE.  Defines the time zone to use for calculation of the time of use thresholds. Defaults to AEST if absent
	TimeZone *EnergyPlanContractFullV3TimeZone `json:"timeZone,omitempty"`

	// Variation Free text description of price variation policy and conditions for the contract.  Mandatory if `isFixed` is false
	Variation *string `json:"variation,omitempty"`
}

EnergyPlanContractFullV3 defines model for EnergyPlanContractFullV3.

type EnergyPlanContractFullV3AllOf added in v0.3.0

type EnergyPlanContractFullV3AllOf struct {
	// BenefitPeriod Description of the benefit period.  Should only be present if termType has the value ONGOING
	BenefitPeriod *string `json:"benefitPeriod,omitempty"`

	// BillFrequency An array of the available billing schedules for this contract. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax)
	BillFrequency []string `json:"billFrequency"`

	// CoolingOffDays Number of days in the cooling off period for the contract.  Mandatory for plans with type of MARKET
	CoolingOffDays *PatchedCoolingOffDays `json:"coolingOffDays,omitempty"`

	// MeterTypes An array of the meter types that this contract is available for
	MeterTypes *[]string `json:"meterTypes,omitempty"`

	// TermType The term for the contract.  If absent assumes no specified term
	TermType *EnergyPlanContractFullV3AllOfTermType `json:"termType,omitempty"`

	// Terms Free text description of the terms for the contract
	Terms *string `json:"terms,omitempty"`
}

EnergyPlanContractFullV3AllOf defines model for EnergyPlanContractFullV3_allOf.

type EnergyPlanContractFullV3AllOfTermType added in v0.3.0

type EnergyPlanContractFullV3AllOfTermType string

EnergyPlanContractFullV3AllOfTermType The term for the contract. If absent assumes no specified term

const (
	EnergyPlanContractFullV3AllOfTermTypeN1YEAR  EnergyPlanContractFullV3AllOfTermType = "1_YEAR"
	EnergyPlanContractFullV3AllOfTermTypeN2YEAR  EnergyPlanContractFullV3AllOfTermType = "2_YEAR"
	EnergyPlanContractFullV3AllOfTermTypeN3YEAR  EnergyPlanContractFullV3AllOfTermType = "3_YEAR"
	EnergyPlanContractFullV3AllOfTermTypeN4YEAR  EnergyPlanContractFullV3AllOfTermType = "4_YEAR"
	EnergyPlanContractFullV3AllOfTermTypeN5YEAR  EnergyPlanContractFullV3AllOfTermType = "5_YEAR"
	EnergyPlanContractFullV3AllOfTermTypeONGOING EnergyPlanContractFullV3AllOfTermType = "ONGOING"
	EnergyPlanContractFullV3AllOfTermTypeOTHER   EnergyPlanContractFullV3AllOfTermType = "OTHER"
)

Defines values for EnergyPlanContractFullV3AllOfTermType.

type EnergyPlanContractFullV3PaymentOption added in v0.3.0

type EnergyPlanContractFullV3PaymentOption string

EnergyPlanContractFullV3PaymentOption defines model for EnergyPlanContractFullV3.PaymentOption.

const (
	EnergyPlanContractFullV3PaymentOptionBPAY        EnergyPlanContractFullV3PaymentOption = "BPAY"
	EnergyPlanContractFullV3PaymentOptionCREDITCARD  EnergyPlanContractFullV3PaymentOption = "CREDIT_CARD"
	EnergyPlanContractFullV3PaymentOptionDIRECTDEBIT EnergyPlanContractFullV3PaymentOption = "DIRECT_DEBIT"
	EnergyPlanContractFullV3PaymentOptionOTHER       EnergyPlanContractFullV3PaymentOption = "OTHER"
	EnergyPlanContractFullV3PaymentOptionPAPERBILL   EnergyPlanContractFullV3PaymentOption = "PAPER_BILL"
)

Defines values for EnergyPlanContractFullV3PaymentOption.

type EnergyPlanContractFullV3PricingModel added in v0.3.0

type EnergyPlanContractFullV3PricingModel string

EnergyPlanContractFullV3PricingModel The pricing model for the contract. Contracts for gas must use SINGLE_RATE. Note that the detail for the enumeration values are:<ul><li>**SINGLE_RATE** - all energy usage is charged at a single unit rate no matter when it is consumed. Multiple unit rates may exist that correspond to varying volumes of usage i.e. a ‘block’ or ‘step’ tariff (first 50kWh @ X cents, next 50kWh at Y cents etc.</li><li>**SINGLE_RATE_CONT_LOAD** - as above, but with an additional, separate unit rate charged for all energy usage from a controlled load i.e. separately metered appliance like hot water service, pool pump etc.</li><li>**TIME_OF_USE** - energy usage is charged at unit rates that vary dependent on time of day and day of week that the energy is consumed</li><li>**TIME_OF_USE_CONT_LOAD** - as above, but with an additional, separate unit rate charged for all energy usage from a controlled load i.e. separately metered appliance like hot water service, pool pump etc.</li><li>**FLEXIBLE** - energy usage is charged at unit rates that vary based on external factors</li><li>**FLEXIBLE_CONT_LOAD** - as above, but with an additional, separate unit rate charged for all energy usage from a controlled load i.e. separately metered appliance like hot water service, pool pump etc.</li><li>**QUOTA** - all energy usage is charged at a single fixed rate, up to a specified usage quota/allowance. All excess usage beyond the allowance is then charged at a single unit rate (may not be the best way to explain it but it is essentially a ‘subscription’ or telco style product i.e. $50/month for up to 150kWh included usage</li></ul>

const (
	EnergyPlanContractFullV3PricingModelFLEXIBLE           EnergyPlanContractFullV3PricingModel = "FLEXIBLE"
	EnergyPlanContractFullV3PricingModelFLEXIBLECONTLOAD   EnergyPlanContractFullV3PricingModel = "FLEXIBLE_CONT_LOAD"
	EnergyPlanContractFullV3PricingModelQUOTA              EnergyPlanContractFullV3PricingModel = "QUOTA"
	EnergyPlanContractFullV3PricingModelSINGLERATE         EnergyPlanContractFullV3PricingModel = "SINGLE_RATE"
	EnergyPlanContractFullV3PricingModelSINGLERATECONTLOAD EnergyPlanContractFullV3PricingModel = "SINGLE_RATE_CONT_LOAD"
	EnergyPlanContractFullV3PricingModelTIMEOFUSE          EnergyPlanContractFullV3PricingModel = "TIME_OF_USE"
	EnergyPlanContractFullV3PricingModelTIMEOFUSECONTLOAD  EnergyPlanContractFullV3PricingModel = "TIME_OF_USE_CONT_LOAD"
)

Defines values for EnergyPlanContractFullV3PricingModel.

type EnergyPlanContractFullV3TermType added in v0.3.0

type EnergyPlanContractFullV3TermType string

EnergyPlanContractFullV3TermType The term for the contract. If absent assumes no specified term

const (
	EnergyPlanContractFullV3TermTypeN1YEAR  EnergyPlanContractFullV3TermType = "1_YEAR"
	EnergyPlanContractFullV3TermTypeN2YEAR  EnergyPlanContractFullV3TermType = "2_YEAR"
	EnergyPlanContractFullV3TermTypeN3YEAR  EnergyPlanContractFullV3TermType = "3_YEAR"
	EnergyPlanContractFullV3TermTypeN4YEAR  EnergyPlanContractFullV3TermType = "4_YEAR"
	EnergyPlanContractFullV3TermTypeN5YEAR  EnergyPlanContractFullV3TermType = "5_YEAR"
	EnergyPlanContractFullV3TermTypeONGOING EnergyPlanContractFullV3TermType = "ONGOING"
	EnergyPlanContractFullV3TermTypeOTHER   EnergyPlanContractFullV3TermType = "OTHER"
)

Defines values for EnergyPlanContractFullV3TermType.

type EnergyPlanContractFullV3TimeZone added in v0.3.0

type EnergyPlanContractFullV3TimeZone string

EnergyPlanContractFullV3TimeZone Required if pricingModel is set to TIME_OF_USE. Defines the time zone to use for calculation of the time of use thresholds. Defaults to AEST if absent

const (
	EnergyPlanContractFullV3TimeZoneAEST  EnergyPlanContractFullV3TimeZone = "AEST"
	EnergyPlanContractFullV3TimeZoneLOCAL EnergyPlanContractFullV3TimeZone = "LOCAL"
)

Defines values for EnergyPlanContractFullV3TimeZone.

type EnergyPlanContractV3 added in v0.3.0

type EnergyPlanContractV3 struct {
	// AdditionalFeeInformation Free text field containing additional information of the fees for this contract
	AdditionalFeeInformation *string `json:"additionalFeeInformation,omitempty"`

	// ControlledLoad Required if pricing model is SINGLE_RATE_CONT_LOAD or TIME_OF_USE_CONT_LOAD or FLEXIBLE_CONT_LOAD
	ControlledLoad *EnergyPlanControlledLoadV2 `json:"controlledLoad,omitempty"`

	// Discounts Optional list of discounts available for the contract
	Discounts *EnergyPlanDiscounts `json:"discounts,omitempty"`

	// Eligibility Eligibility restrictions or requirements
	Eligibility *EnergyPlanEligibility `json:"eligibility,omitempty"`

	// Fees An array of fees applicable to the plan
	Fees *EnergyPlanFees `json:"fees,omitempty"`

	// GreenPowerCharges Optional list of charges applicable to green power
	GreenPowerCharges *EnergyPlanGreenPowerCharges `json:"greenPowerCharges,omitempty"`

	// Incentives Optional list of incentives available for the contract
	Incentives *EnergyPlanIncentives `json:"incentives,omitempty"`

	// IntrinsicGreenPower Describes intrinsic green power for the plan.  If present then the plan includes a percentage of green power in the base plan. Should not be present for gas contracts
	IntrinsicGreenPower *EnergyPlanContractV3IntrinsicGreenPower `json:"intrinsicGreenPower,omitempty"`

	// IsFixed Flag indicating whether prices are fixed or variable
	IsFixed bool `json:"isFixed"`

	// OnExpiryDescription Free text field that describes what will occur on or prior to expiry of the fixed contract term or benefit period
	OnExpiryDescription *string `json:"onExpiryDescription,omitempty"`

	// PaymentOption Payment options for this contract
	PaymentOption []EnergyPlanContractV3PaymentOption `json:"paymentOption"`

	// PricingModel The pricing model for the contract.  Contracts for gas must use SINGLE_RATE.  Note that the detail for the enumeration values are:<ul><li>**SINGLE_RATE** - all energy usage is charged at a single unit rate no matter when it is consumed. Multiple unit rates may exist that correspond to varying volumes of usage i.e. a ‘block’ or ‘step’ tariff (first 50kWh @ X cents, next 50kWh at Y cents etc.</li><li>**SINGLE_RATE_CONT_LOAD** - as above, but with an additional, separate unit rate charged for all energy usage from a controlled load i.e. separately metered appliance like hot water service, pool pump etc.</li><li>**TIME_OF_USE** - energy usage is charged at unit rates that vary dependent on time of day and day of week that the energy is consumed</li><li>**TIME_OF_USE_CONT_LOAD** - as above, but with an additional, separate unit rate charged for all energy usage from a controlled load i.e. separately metered appliance like hot water service, pool pump etc.</li><li>**FLEXIBLE** - energy usage is charged at unit rates that vary based on external factors</li><li>**FLEXIBLE_CONT_LOAD** - as above, but with an additional, separate unit rate charged for all energy usage from a controlled load i.e. separately metered appliance like hot water service, pool pump etc.</li><li>**QUOTA** - all energy usage is charged at a single fixed rate, up to a specified usage quota/allowance. All excess usage beyond the allowance is then charged at a single unit rate (may not be the best way to explain it but it is essentially a ‘subscription’ or telco style product i.e. $50/month for up to 150kWh included usage</li></ul>
	PricingModel EnergyPlanContractV3PricingModel `json:"pricingModel"`

	// SolarFeedInTariff Array of feed in tariffs for solar power
	SolarFeedInTariff *EnergyPlanSolarFeedInTariffV3 `json:"solarFeedInTariff,omitempty"`

	// TariffPeriod Array of tariff periods
	TariffPeriod EnergyPlanTariffPeriodV2 `json:"tariffPeriod"`

	// TimeZone Required if pricingModel is set to TIME_OF_USE.  Defines the time zone to use for calculation of the time of use thresholds. Defaults to AEST if absent
	TimeZone *EnergyPlanContractV3TimeZone `json:"timeZone,omitempty"`

	// Variation Free text description of price variation policy and conditions for the contract.  Mandatory if `isFixed` is false
	Variation *string `json:"variation,omitempty"`
}

EnergyPlanContractV3 defines model for EnergyPlanContractV3.

type EnergyPlanContractV3IntrinsicGreenPower added in v0.3.0

type EnergyPlanContractV3IntrinsicGreenPower struct {
	// GreenPercentage Percentage of green power intrinsically included in the plan
	GreenPercentage string `json:"greenPercentage"`
}

EnergyPlanContractV3IntrinsicGreenPower Describes intrinsic green power for the plan. If present then the plan includes a percentage of green power in the base plan. Should not be present for gas contracts

type EnergyPlanContractV3PaymentOption added in v0.3.0

type EnergyPlanContractV3PaymentOption string

EnergyPlanContractV3PaymentOption defines model for EnergyPlanContractV3.PaymentOption.

const (
	EnergyPlanContractV3PaymentOptionBPAY        EnergyPlanContractV3PaymentOption = "BPAY"
	EnergyPlanContractV3PaymentOptionCREDITCARD  EnergyPlanContractV3PaymentOption = "CREDIT_CARD"
	EnergyPlanContractV3PaymentOptionDIRECTDEBIT EnergyPlanContractV3PaymentOption = "DIRECT_DEBIT"
	EnergyPlanContractV3PaymentOptionOTHER       EnergyPlanContractV3PaymentOption = "OTHER"
	EnergyPlanContractV3PaymentOptionPAPERBILL   EnergyPlanContractV3PaymentOption = "PAPER_BILL"
)

Defines values for EnergyPlanContractV3PaymentOption.

type EnergyPlanContractV3PricingModel added in v0.3.0

type EnergyPlanContractV3PricingModel string

EnergyPlanContractV3PricingModel The pricing model for the contract. Contracts for gas must use SINGLE_RATE. Note that the detail for the enumeration values are:<ul><li>**SINGLE_RATE** - all energy usage is charged at a single unit rate no matter when it is consumed. Multiple unit rates may exist that correspond to varying volumes of usage i.e. a ‘block’ or ‘step’ tariff (first 50kWh @ X cents, next 50kWh at Y cents etc.</li><li>**SINGLE_RATE_CONT_LOAD** - as above, but with an additional, separate unit rate charged for all energy usage from a controlled load i.e. separately metered appliance like hot water service, pool pump etc.</li><li>**TIME_OF_USE** - energy usage is charged at unit rates that vary dependent on time of day and day of week that the energy is consumed</li><li>**TIME_OF_USE_CONT_LOAD** - as above, but with an additional, separate unit rate charged for all energy usage from a controlled load i.e. separately metered appliance like hot water service, pool pump etc.</li><li>**FLEXIBLE** - energy usage is charged at unit rates that vary based on external factors</li><li>**FLEXIBLE_CONT_LOAD** - as above, but with an additional, separate unit rate charged for all energy usage from a controlled load i.e. separately metered appliance like hot water service, pool pump etc.</li><li>**QUOTA** - all energy usage is charged at a single fixed rate, up to a specified usage quota/allowance. All excess usage beyond the allowance is then charged at a single unit rate (may not be the best way to explain it but it is essentially a ‘subscription’ or telco style product i.e. $50/month for up to 150kWh included usage</li></ul>

const (
	EnergyPlanContractV3PricingModelFLEXIBLE           EnergyPlanContractV3PricingModel = "FLEXIBLE"
	EnergyPlanContractV3PricingModelFLEXIBLECONTLOAD   EnergyPlanContractV3PricingModel = "FLEXIBLE_CONT_LOAD"
	EnergyPlanContractV3PricingModelQUOTA              EnergyPlanContractV3PricingModel = "QUOTA"
	EnergyPlanContractV3PricingModelSINGLERATE         EnergyPlanContractV3PricingModel = "SINGLE_RATE"
	EnergyPlanContractV3PricingModelSINGLERATECONTLOAD EnergyPlanContractV3PricingModel = "SINGLE_RATE_CONT_LOAD"
	EnergyPlanContractV3PricingModelTIMEOFUSE          EnergyPlanContractV3PricingModel = "TIME_OF_USE"
	EnergyPlanContractV3PricingModelTIMEOFUSECONTLOAD  EnergyPlanContractV3PricingModel = "TIME_OF_USE_CONT_LOAD"
)

Defines values for EnergyPlanContractV3PricingModel.

type EnergyPlanContractV3TimeZone added in v0.3.0

type EnergyPlanContractV3TimeZone string

EnergyPlanContractV3TimeZone Required if pricingModel is set to TIME_OF_USE. Defines the time zone to use for calculation of the time of use thresholds. Defaults to AEST if absent

const (
	EnergyPlanContractV3TimeZoneAEST  EnergyPlanContractV3TimeZone = "AEST"
	EnergyPlanContractV3TimeZoneLOCAL EnergyPlanContractV3TimeZone = "LOCAL"
)

Defines values for EnergyPlanContractV3TimeZone.

type EnergyPlanControlledLoadV2 added in v0.3.0

type EnergyPlanControlledLoadV2 = []struct {
	// DisplayName A display name for the controlled load
	DisplayName string `json:"displayName"`

	// EndDate Optional end date of the application of the controlled load rate
	EndDate *string `json:"endDate,omitempty"`

	// RateBlockUType Specifies the type of controlloed load rate
	RateBlockUType EnergyPlanControlledLoadV2RateBlockUType `json:"rateBlockUType"`

	// SingleRate Object representing a single controlled load rate.  Required if rateBlockUType is singleRate
	SingleRate *struct {
		// DailySupplyCharge The daily supply charge (exclusive of GST) for this controlled load tier
		DailySupplyCharge *string `json:"dailySupplyCharge,omitempty"`

		// Description Description of the controlled load rate
		Description *string `json:"description,omitempty"`

		// DisplayName Display name of the controlled load rate
		DisplayName string `json:"displayName"`

		// Period Usage period for which the block rate applies. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). Defaults to P1Y if absent
		Period *string `json:"period,omitempty"`

		// Rates Array of controlled load rates in order of usage volume
		Rates []struct {
			// MeasureUnit The measurement unit of rate. Assumed to be KWH if absent
			MeasureUnit *EnergyPlanControlledLoadV2SingleRateRatesMeasureUnit `json:"measureUnit,omitempty"`

			// UnitPrice Unit price of usage per  measure unit (exclusive of GST)
			UnitPrice string `json:"unitPrice"`

			// Volume Volume in kWh that this rate applies to.  Only applicable for ‘stepped’ rates where different rates apply for different volumes of usage in a period
			Volume *float32 `json:"volume,omitempty"`
		} `json:"rates"`
	} `json:"singleRate,omitempty"`

	// StartDate Optional start date of the application of the controlled load rate
	StartDate *string `json:"startDate,omitempty"`

	// TimeOfUseRates Array of objects representing time of use rates.  Required if rateBlockUType is timeOfUseRates
	TimeOfUseRates *[]struct {
		// DailySupplyCharge The daily supply charge (exclusive of GST) for this controlled load tier
		DailySupplyCharge *string `json:"dailySupplyCharge,omitempty"`

		// Description Description of the controlled load rate
		Description *string `json:"description,omitempty"`

		// DisplayName Display name of the controlled load rate
		DisplayName string `json:"displayName"`

		// Period Usage period for which the block rate applies. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). Defaults to P1Y if absent
		Period *string `json:"period,omitempty"`

		// Rates Array of controlled load rates in order of usage volume
		Rates []struct {
			// MeasureUnit The measurement unit of rate. Assumed to be KWH if absent
			MeasureUnit *EnergyPlanControlledLoadV2TimeOfUseRatesRatesMeasureUnit `json:"measureUnit,omitempty"`

			// UnitPrice Unit price of usage per  measure unit (exclusive of GST)
			UnitPrice string `json:"unitPrice"`

			// Volume Volume in kWh that this rate applies to.  Only applicable for ‘stepped’ rates where different rates apply for different volumes of usage in a period
			Volume *float32 `json:"volume,omitempty"`
		} `json:"rates"`

		// TimeOfUse Array of times of use.
		TimeOfUse []struct {
			// AdditionalInfo Display text providing more information on the contrlled load, for e.g. controlled load availability if specific day/time is not known. Required if startTime and endTime absent or if additionalInfoUri provided
			AdditionalInfo *string `json:"additionalInfo,omitempty"`

			// AdditionalInfoUri Optional link to additional information regarding the controlled load
			AdditionalInfoUri *string `json:"additionalInfoUri,omitempty"`

			// Days The days that the rate applies to
			Days *[]EnergyPlanControlledLoadV2TimeOfUseRatesTimeOfUseDays `json:"days,omitempty"`

			// EndTime The end of the time period per day for which the controlled load rate applies. Required if startTime provided.
			//
			// Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone.
			EndTime *string `json:"endTime,omitempty"`

			// StartTime The beginning of the time period per day for which the controlled load rate applies. Required if endTime provided.
			//
			// Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone.
			StartTime *string `json:"startTime,omitempty"`
		} `json:"timeOfUse"`

		// Type The type of usage that the rate applies to
		Type EnergyPlanControlledLoadV2TimeOfUseRatesType `json:"type"`
	} `json:"timeOfUseRates,omitempty"`
}

EnergyPlanControlledLoadV2 Required if pricing model is SINGLE_RATE_CONT_LOAD or TIME_OF_USE_CONT_LOAD or FLEXIBLE_CONT_LOAD

type EnergyPlanControlledLoadV2RateBlockUType added in v0.3.0

type EnergyPlanControlledLoadV2RateBlockUType string

EnergyPlanControlledLoadV2RateBlockUType Specifies the type of controlloed load rate

const (
	EnergyPlanControlledLoadV2RateBlockUTypeSingleRate     EnergyPlanControlledLoadV2RateBlockUType = "singleRate"
	EnergyPlanControlledLoadV2RateBlockUTypeTimeOfUseRates EnergyPlanControlledLoadV2RateBlockUType = "timeOfUseRates"
)

Defines values for EnergyPlanControlledLoadV2RateBlockUType.

type EnergyPlanControlledLoadV2SingleRateRatesMeasureUnit added in v0.3.0

type EnergyPlanControlledLoadV2SingleRateRatesMeasureUnit string

EnergyPlanControlledLoadV2SingleRateRatesMeasureUnit The measurement unit of rate. Assumed to be KWH if absent

const (
	EnergyPlanControlledLoadV2SingleRateRatesMeasureUnitDAYS  EnergyPlanControlledLoadV2SingleRateRatesMeasureUnit = "DAYS"
	EnergyPlanControlledLoadV2SingleRateRatesMeasureUnitKVA   EnergyPlanControlledLoadV2SingleRateRatesMeasureUnit = "KVA"
	EnergyPlanControlledLoadV2SingleRateRatesMeasureUnitKVAR  EnergyPlanControlledLoadV2SingleRateRatesMeasureUnit = "KVAR"
	EnergyPlanControlledLoadV2SingleRateRatesMeasureUnitKVARH EnergyPlanControlledLoadV2SingleRateRatesMeasureUnit = "KVARH"
	EnergyPlanControlledLoadV2SingleRateRatesMeasureUnitKW    EnergyPlanControlledLoadV2SingleRateRatesMeasureUnit = "KW"
	EnergyPlanControlledLoadV2SingleRateRatesMeasureUnitKWH   EnergyPlanControlledLoadV2SingleRateRatesMeasureUnit = "KWH"
	EnergyPlanControlledLoadV2SingleRateRatesMeasureUnitMETER EnergyPlanControlledLoadV2SingleRateRatesMeasureUnit = "METER"
	EnergyPlanControlledLoadV2SingleRateRatesMeasureUnitMONTH EnergyPlanControlledLoadV2SingleRateRatesMeasureUnit = "MONTH"
)

Defines values for EnergyPlanControlledLoadV2SingleRateRatesMeasureUnit.

type EnergyPlanControlledLoadV2TimeOfUseRatesRatesMeasureUnit added in v0.3.0

type EnergyPlanControlledLoadV2TimeOfUseRatesRatesMeasureUnit string

EnergyPlanControlledLoadV2TimeOfUseRatesRatesMeasureUnit The measurement unit of rate. Assumed to be KWH if absent

const (
	EnergyPlanControlledLoadV2TimeOfUseRatesRatesMeasureUnitDAYS  EnergyPlanControlledLoadV2TimeOfUseRatesRatesMeasureUnit = "DAYS"
	EnergyPlanControlledLoadV2TimeOfUseRatesRatesMeasureUnitKVA   EnergyPlanControlledLoadV2TimeOfUseRatesRatesMeasureUnit = "KVA"
	EnergyPlanControlledLoadV2TimeOfUseRatesRatesMeasureUnitKVAR  EnergyPlanControlledLoadV2TimeOfUseRatesRatesMeasureUnit = "KVAR"
	EnergyPlanControlledLoadV2TimeOfUseRatesRatesMeasureUnitKVARH EnergyPlanControlledLoadV2TimeOfUseRatesRatesMeasureUnit = "KVARH"
	EnergyPlanControlledLoadV2TimeOfUseRatesRatesMeasureUnitKW    EnergyPlanControlledLoadV2TimeOfUseRatesRatesMeasureUnit = "KW"
	EnergyPlanControlledLoadV2TimeOfUseRatesRatesMeasureUnitKWH   EnergyPlanControlledLoadV2TimeOfUseRatesRatesMeasureUnit = "KWH"
	EnergyPlanControlledLoadV2TimeOfUseRatesRatesMeasureUnitMETER EnergyPlanControlledLoadV2TimeOfUseRatesRatesMeasureUnit = "METER"
	EnergyPlanControlledLoadV2TimeOfUseRatesRatesMeasureUnitMONTH EnergyPlanControlledLoadV2TimeOfUseRatesRatesMeasureUnit = "MONTH"
)

Defines values for EnergyPlanControlledLoadV2TimeOfUseRatesRatesMeasureUnit.

type EnergyPlanControlledLoadV2TimeOfUseRatesTimeOfUseDays added in v0.3.0

type EnergyPlanControlledLoadV2TimeOfUseRatesTimeOfUseDays string

EnergyPlanControlledLoadV2TimeOfUseRatesTimeOfUseDays defines model for EnergyPlanControlledLoadV2.TimeOfUseRates.TimeOfUse.Days.

const (
	EnergyPlanControlledLoadV2TimeOfUseRatesTimeOfUseDaysFRI            EnergyPlanControlledLoadV2TimeOfUseRatesTimeOfUseDays = "FRI"
	EnergyPlanControlledLoadV2TimeOfUseRatesTimeOfUseDaysMON            EnergyPlanControlledLoadV2TimeOfUseRatesTimeOfUseDays = "MON"
	EnergyPlanControlledLoadV2TimeOfUseRatesTimeOfUseDaysPUBLICHOLIDAYS EnergyPlanControlledLoadV2TimeOfUseRatesTimeOfUseDays = "PUBLIC_HOLIDAYS"
	EnergyPlanControlledLoadV2TimeOfUseRatesTimeOfUseDaysSAT            EnergyPlanControlledLoadV2TimeOfUseRatesTimeOfUseDays = "SAT"
	EnergyPlanControlledLoadV2TimeOfUseRatesTimeOfUseDaysSUN            EnergyPlanControlledLoadV2TimeOfUseRatesTimeOfUseDays = "SUN"
	EnergyPlanControlledLoadV2TimeOfUseRatesTimeOfUseDaysTHU            EnergyPlanControlledLoadV2TimeOfUseRatesTimeOfUseDays = "THU"
	EnergyPlanControlledLoadV2TimeOfUseRatesTimeOfUseDaysTUE            EnergyPlanControlledLoadV2TimeOfUseRatesTimeOfUseDays = "TUE"
	EnergyPlanControlledLoadV2TimeOfUseRatesTimeOfUseDaysWED            EnergyPlanControlledLoadV2TimeOfUseRatesTimeOfUseDays = "WED"
)

Defines values for EnergyPlanControlledLoadV2TimeOfUseRatesTimeOfUseDays.

type EnergyPlanControlledLoadV2TimeOfUseRatesType added in v0.3.0

type EnergyPlanControlledLoadV2TimeOfUseRatesType string

EnergyPlanControlledLoadV2TimeOfUseRatesType The type of usage that the rate applies to

const (
	EnergyPlanControlledLoadV2TimeOfUseRatesTypeOFFPEAK     EnergyPlanControlledLoadV2TimeOfUseRatesType = "OFF_PEAK"
	EnergyPlanControlledLoadV2TimeOfUseRatesTypePEAK        EnergyPlanControlledLoadV2TimeOfUseRatesType = "PEAK"
	EnergyPlanControlledLoadV2TimeOfUseRatesTypeSHOULDER    EnergyPlanControlledLoadV2TimeOfUseRatesType = "SHOULDER"
	EnergyPlanControlledLoadV2TimeOfUseRatesTypeSOLARSPONGE EnergyPlanControlledLoadV2TimeOfUseRatesType = "SOLAR_SPONGE"
)

Defines values for EnergyPlanControlledLoadV2TimeOfUseRatesType.

type EnergyPlanCustomerType

type EnergyPlanCustomerType string

EnergyPlanCustomerType The type of customer that the plan is offered to. If absent then the plan is available to all customers

const (
	EnergyPlanCustomerTypeBUSINESS    EnergyPlanCustomerType = "BUSINESS"
	EnergyPlanCustomerTypeRESIDENTIAL EnergyPlanCustomerType = "RESIDENTIAL"
)

Defines values for EnergyPlanCustomerType.

type EnergyPlanDetailV3 added in v0.3.0

type EnergyPlanDetailV3 struct {
	// AdditionalInformation Object that contains links to additional information on specific topics
	AdditionalInformation *EnergyPlanAdditionalInformation `json:"additionalInformation,omitempty"`

	// ApplicationUri A link to an application web page where this plan can be applied for
	ApplicationUri *string `json:"applicationUri,omitempty"`

	// Brand The ID of the brand under which this plan is offered
	Brand string `json:"brand"`

	// BrandName The display name of the brand under which this plan is offered
	BrandName string `json:"brandName"`

	// CustomerType The type of customer that the plan is offered to.  If absent then the plan is available to all customers
	CustomerType *EnergyPlanDetailV3CustomerType `json:"customerType,omitempty"`

	// Description A description of the plan
	Description *string `json:"description,omitempty"`

	// DisplayName The display name of the plan
	DisplayName *string `json:"displayName,omitempty"`

	// EffectiveFrom The date and time from which this plan is effective (ie. is available for origination). Used to enable the articulation of products to the regime before they are available for customers to originate
	EffectiveFrom *string `json:"effectiveFrom,omitempty"`

	// EffectiveTo The date and time at which this plan will be retired and will no longer be offered. Used to enable the managed deprecation of plans
	EffectiveTo         *string                   `json:"effectiveTo,omitempty"`
	ElectricityContract *EnergyPlanContractFullV3 `json:"electricityContract,omitempty"`

	// FuelType The fuel types covered by the plan
	FuelType    EnergyPlanDetailV3FuelType `json:"fuelType"`
	GasContract *EnergyPlanContractFullV3  `json:"gasContract,omitempty"`

	// Geography Describes the geographical area that the plan is available for.  If absent then it is assumed the plan is not geographically limited
	Geography *EnergyPlanGeography `json:"geography,omitempty"`

	// LastUpdated The last date and time that the information for this plan was changed (or the creation date for the plan if it has never been altered)
	LastUpdated string `json:"lastUpdated"`

	// MeteringCharges Charges for metering included in the plan
	MeteringCharges *[]EnergyPlanDetailV3AllOfMeteringCharges `json:"meteringCharges,omitempty"`

	// PlanId The ID of the specific plan
	PlanId string `json:"planId"`

	// Type The type of the plan
	Type EnergyPlanDetailV3Type `json:"type"`
}

EnergyPlanDetailV3 defines model for EnergyPlanDetailV3.

type EnergyPlanDetailV3AllOf added in v0.3.0

type EnergyPlanDetailV3AllOf struct {
	ElectricityContract *EnergyPlanContractFullV3 `json:"electricityContract,omitempty"`
	GasContract         *EnergyPlanContractFullV3 `json:"gasContract,omitempty"`

	// MeteringCharges Charges for metering included in the plan
	MeteringCharges *[]EnergyPlanDetailV3AllOfMeteringCharges `json:"meteringCharges,omitempty"`
}

EnergyPlanDetailV3AllOf defines model for EnergyPlanDetailV3_allOf.

type EnergyPlanDetailV3AllOfMeteringCharges added in v0.3.0

type EnergyPlanDetailV3AllOfMeteringCharges struct {
	// Description Description of the charge
	Description *string `json:"description,omitempty"`

	// DisplayName Display name of the charge
	DisplayName string `json:"displayName"`

	// MaximumValue The upper limit of the charge if the charge could occur in a range
	MaximumValue *string `json:"maximumValue,omitempty"`

	// MinimumValue Minimum value of the charge if the charge is a range or the absolute value of the charge if no range is specified
	MinimumValue string `json:"minimumValue"`

	// Period The charges that occur on a schedule indicates the frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax)
	Period *string `json:"period,omitempty"`
}

EnergyPlanDetailV3AllOfMeteringCharges defines model for EnergyPlanDetailV3_allOf_meteringCharges.

type EnergyPlanDetailV3CustomerType added in v0.3.0

type EnergyPlanDetailV3CustomerType string

EnergyPlanDetailV3CustomerType The type of customer that the plan is offered to. If absent then the plan is available to all customers

const (
	EnergyPlanDetailV3CustomerTypeBUSINESS    EnergyPlanDetailV3CustomerType = "BUSINESS"
	EnergyPlanDetailV3CustomerTypeRESIDENTIAL EnergyPlanDetailV3CustomerType = "RESIDENTIAL"
)

Defines values for EnergyPlanDetailV3CustomerType.

type EnergyPlanDetailV3FuelType added in v0.3.0

type EnergyPlanDetailV3FuelType string

EnergyPlanDetailV3FuelType The fuel types covered by the plan

const (
	EnergyPlanDetailV3FuelTypeDUAL        EnergyPlanDetailV3FuelType = "DUAL"
	EnergyPlanDetailV3FuelTypeELECTRICITY EnergyPlanDetailV3FuelType = "ELECTRICITY"
	EnergyPlanDetailV3FuelTypeGAS         EnergyPlanDetailV3FuelType = "GAS"
)

Defines values for EnergyPlanDetailV3FuelType.

type EnergyPlanDetailV3Type added in v0.3.0

type EnergyPlanDetailV3Type string

EnergyPlanDetailV3Type The type of the plan

const (
	EnergyPlanDetailV3TypeMARKET    EnergyPlanDetailV3Type = "MARKET"
	EnergyPlanDetailV3TypeREGULATED EnergyPlanDetailV3Type = "REGULATED"
	EnergyPlanDetailV3TypeSTANDING  EnergyPlanDetailV3Type = "STANDING"
)

Defines values for EnergyPlanDetailV3Type.

type EnergyPlanDiscounts

type EnergyPlanDiscounts = []struct {
	// Category The type of the discount.  Mandatory if the discount type is CONDITIONAL
	Category *EnergyPlanDiscountsCategory `json:"category,omitempty"`

	// Description The description of the discount
	Description *string `json:"description,omitempty"`

	// DisplayName The display name of the discount
	DisplayName string `json:"displayName"`

	// EndDate Optional end date for the discount after which the discount is no longer available
	EndDate *string `json:"endDate,omitempty"`

	// FixedAmount Required if methodUType is fixedAmount
	FixedAmount *struct {
		// Amount The amount of the discount
		Amount string `json:"amount"`
	} `json:"fixedAmount,omitempty"`

	// MethodUType The method of calculation of the discount
	MethodUType EnergyPlanDiscountsMethodUType `json:"methodUType"`

	// PercentOfBill Required if methodUType is percentOfBill
	PercentOfBill *struct {
		// Rate The rate of the discount applied to the bill amount
		Rate string `json:"rate"`
	} `json:"percentOfBill,omitempty"`

	// PercentOfUse Required if methodUType is percentOfUse
	PercentOfUse *struct {
		// Rate The rate of the discount applied to the usageamount
		Rate string `json:"rate"`
	} `json:"percentOfUse,omitempty"`

	// PercentOverThreshold Required if methodUType is percentOverThreshold
	PercentOverThreshold *struct {
		// Rate The rate of the discount over the usage amount
		Rate string `json:"rate"`

		// UsageAmount The usage amount threshold above which the discount applies
		UsageAmount string `json:"usageAmount"`
	} `json:"percentOverThreshold,omitempty"`

	// Type The type of the discount
	Type EnergyPlanDiscountsType `json:"type"`
}

EnergyPlanDiscounts Optional list of discounts available for the contract

type EnergyPlanDiscountsCategory

type EnergyPlanDiscountsCategory string

EnergyPlanDiscountsCategory The type of the discount. Mandatory if the discount type is CONDITIONAL

const (
	EnergyPlanDiscountsCategoryDIRECTDEBIT        EnergyPlanDiscountsCategory = "DIRECT_DEBIT"
	EnergyPlanDiscountsCategoryGUARANTEEDDISCOUNT EnergyPlanDiscountsCategory = "GUARANTEED_DISCOUNT"
	EnergyPlanDiscountsCategoryOTHER              EnergyPlanDiscountsCategory = "OTHER"
	EnergyPlanDiscountsCategoryPAYONTIME          EnergyPlanDiscountsCategory = "PAY_ON_TIME"
)

Defines values for EnergyPlanDiscountsCategory.

type EnergyPlanDiscountsMethodUType

type EnergyPlanDiscountsMethodUType string

EnergyPlanDiscountsMethodUType The method of calculation of the discount

const (
	FixedAmount          EnergyPlanDiscountsMethodUType = "fixedAmount"
	PercentOfBill        EnergyPlanDiscountsMethodUType = "percentOfBill"
	PercentOfUse         EnergyPlanDiscountsMethodUType = "percentOfUse"
	PercentOverThreshold EnergyPlanDiscountsMethodUType = "percentOverThreshold"
)

Defines values for EnergyPlanDiscountsMethodUType.

type EnergyPlanDiscountsType

type EnergyPlanDiscountsType string

EnergyPlanDiscountsType The type of the discount

const (
	EnergyPlanDiscountsTypeCONDITIONAL EnergyPlanDiscountsType = "CONDITIONAL"
	EnergyPlanDiscountsTypeGUARANTEED  EnergyPlanDiscountsType = "GUARANTEED"
	EnergyPlanDiscountsTypeOTHER       EnergyPlanDiscountsType = "OTHER"
)

Defines values for EnergyPlanDiscountsType.

type EnergyPlanEligibility

type EnergyPlanEligibility = []struct {
	// Description A description of the eligibility restriction
	Description *string `json:"description,omitempty"`

	// Information Information of the eligibility restriction specific to the type of the restriction
	Information string `json:"information"`

	// Type The type of the eligibility restriction.<br/>The CONTINGENT_PLAN value indicates that the plan is contingent on the customer taking up an alternate fuel plan from the same retailer (for instance, if the fuelType is ELECTRICITY then a GAS plan from the same retailer must be taken up)
	Type EnergyPlanEligibilityType `json:"type"`
}

EnergyPlanEligibility Eligibility restrictions or requirements

type EnergyPlanEligibilityType

type EnergyPlanEligibilityType string

EnergyPlanEligibilityType The type of the eligibility restriction.<br/>The CONTINGENT_PLAN value indicates that the plan is contingent on the customer taking up an alternate fuel plan from the same retailer (for instance, if the fuelType is ELECTRICITY then a GAS plan from the same retailer must be taken up)

const (
	EnergyPlanEligibilityTypeCONTINGENTPLAN     EnergyPlanEligibilityType = "CONTINGENT_PLAN"
	EnergyPlanEligibilityTypeEXISTINGBASICMETER EnergyPlanEligibilityType = "EXISTING_BASIC_METER"
	EnergyPlanEligibilityTypeEXISTINGBATTERY    EnergyPlanEligibilityType = "EXISTING_BATTERY"
	EnergyPlanEligibilityTypeEXISTINGCUST       EnergyPlanEligibilityType = "EXISTING_CUST"
	EnergyPlanEligibilityTypeEXISTINGPOOL       EnergyPlanEligibilityType = "EXISTING_POOL"
	EnergyPlanEligibilityTypeEXISTINGSMARTMETER EnergyPlanEligibilityType = "EXISTING_SMART_METER"
	EnergyPlanEligibilityTypeEXISTINGSOLAR      EnergyPlanEligibilityType = "EXISTING_SOLAR"
	EnergyPlanEligibilityTypeGROUPBUYMEMBER     EnergyPlanEligibilityType = "GROUP_BUY_MEMBER"
	EnergyPlanEligibilityTypeLOYALTYMEMBER      EnergyPlanEligibilityType = "LOYALTY_MEMBER"
	EnergyPlanEligibilityTypeMINIMUMUSAGE       EnergyPlanEligibilityType = "MINIMUM_USAGE"
	EnergyPlanEligibilityTypeNEWCUSTOMER        EnergyPlanEligibilityType = "NEW_CUSTOMER"
	EnergyPlanEligibilityTypeNOSOLARFIT         EnergyPlanEligibilityType = "NO_SOLAR_FIT"
	EnergyPlanEligibilityTypeONLINEONLY         EnergyPlanEligibilityType = "ONLINE_ONLY"
	EnergyPlanEligibilityTypeORGMEMBER          EnergyPlanEligibilityType = "ORG_MEMBER"
	EnergyPlanEligibilityTypeOTHER              EnergyPlanEligibilityType = "OTHER"
	EnergyPlanEligibilityTypeREQEQUIPSUPPLIER   EnergyPlanEligibilityType = "REQ_EQUIP_SUPPLIER"
	EnergyPlanEligibilityTypeSENIORCARD         EnergyPlanEligibilityType = "SENIOR_CARD"
	EnergyPlanEligibilityTypeSMALLBUSINESS      EnergyPlanEligibilityType = "SMALL_BUSINESS"
	EnergyPlanEligibilityTypeSPECIFICLOCATION   EnergyPlanEligibilityType = "SPECIFIC_LOCATION"
	EnergyPlanEligibilityTypeSPORTCLUBMEMBER    EnergyPlanEligibilityType = "SPORT_CLUB_MEMBER"
	EnergyPlanEligibilityTypeTHIRDPARTYONLY     EnergyPlanEligibilityType = "THIRD_PARTY_ONLY"
)

Defines values for EnergyPlanEligibilityType.

type EnergyPlanFees

type EnergyPlanFees = []struct {
	// Amount The fee amount. Required if term is not PERCENT_OF_BILL
	Amount *string `json:"amount,omitempty"`

	// Description A description of the fee
	Description *string `json:"description,omitempty"`

	// Rate The fee rate. Required if term is PERCENT_OF_BILL
	Rate *string `json:"rate,omitempty"`

	// Term The term of the fee
	Term EnergyPlanFeesTerm `json:"term"`

	// Type The type of the fee
	Type EnergyPlanFeesType `json:"type"`
}

EnergyPlanFees An array of fees applicable to the plan

type EnergyPlanFeesTerm

type EnergyPlanFeesTerm string

EnergyPlanFeesTerm The term of the fee

const (
	EnergyPlanFeesTermANNUAL        EnergyPlanFeesTerm = "ANNUAL"
	EnergyPlanFeesTermBIANNUAL      EnergyPlanFeesTerm = "BIANNUAL"
	EnergyPlanFeesTermDAILY         EnergyPlanFeesTerm = "DAILY"
	EnergyPlanFeesTermFIXED         EnergyPlanFeesTerm = "FIXED"
	EnergyPlanFeesTermMONTHLY       EnergyPlanFeesTerm = "MONTHLY"
	EnergyPlanFeesTermN1YEAR        EnergyPlanFeesTerm = "1_YEAR"
	EnergyPlanFeesTermN2YEAR        EnergyPlanFeesTerm = "2_YEAR"
	EnergyPlanFeesTermN3YEAR        EnergyPlanFeesTerm = "3_YEAR"
	EnergyPlanFeesTermN4YEAR        EnergyPlanFeesTerm = "4_YEAR"
	EnergyPlanFeesTermN5YEAR        EnergyPlanFeesTerm = "5_YEAR"
	EnergyPlanFeesTermPERCENTOFBILL EnergyPlanFeesTerm = "PERCENT_OF_BILL"
	EnergyPlanFeesTermVARIABLE      EnergyPlanFeesTerm = "VARIABLE"
	EnergyPlanFeesTermWEEKLY        EnergyPlanFeesTerm = "WEEKLY"
)

Defines values for EnergyPlanFeesTerm.

type EnergyPlanFeesType

type EnergyPlanFeesType string

EnergyPlanFeesType The type of the fee

const (
	EnergyPlanFeesTypeCCPROCESSING      EnergyPlanFeesType = "CC_PROCESSING"
	EnergyPlanFeesTypeCHEQUEDISHONOUR   EnergyPlanFeesType = "CHEQUE_DISHONOUR"
	EnergyPlanFeesTypeCONNECTION        EnergyPlanFeesType = "CONNECTION"
	EnergyPlanFeesTypeCONTRIBUTION      EnergyPlanFeesType = "CONTRIBUTION"
	EnergyPlanFeesTypeDDDISHONOUR       EnergyPlanFeesType = "DD_DISHONOUR"
	EnergyPlanFeesTypeDISCONNECTION     EnergyPlanFeesType = "DISCONNECTION"
	EnergyPlanFeesTypeDISCONNECTMOVEOUT EnergyPlanFeesType = "DISCONNECT_MOVE_OUT"
	EnergyPlanFeesTypeDISCONNECTNONPAY  EnergyPlanFeesType = "DISCONNECT_NON_PAY"
	EnergyPlanFeesTypeESTABLISHMENT     EnergyPlanFeesType = "ESTABLISHMENT"
	EnergyPlanFeesTypeEXIT              EnergyPlanFeesType = "EXIT"
	EnergyPlanFeesTypeLATEPAYMENT       EnergyPlanFeesType = "LATE_PAYMENT"
	EnergyPlanFeesTypeMEMBERSHIP        EnergyPlanFeesType = "MEMBERSHIP"
	EnergyPlanFeesTypeOTHER             EnergyPlanFeesType = "OTHER"
	EnergyPlanFeesTypePAPERBILL         EnergyPlanFeesType = "PAPER_BILL"
	EnergyPlanFeesTypePAYMENTPROCESSING EnergyPlanFeesType = "PAYMENT_PROCESSING"
	EnergyPlanFeesTypeRECONNECTION      EnergyPlanFeesType = "RECONNECTION"
)

Defines values for EnergyPlanFeesType.

type EnergyPlanFuelType

type EnergyPlanFuelType string

EnergyPlanFuelType The fuel types covered by the plan

const (
	EnergyPlanFuelTypeDUAL        EnergyPlanFuelType = "DUAL"
	EnergyPlanFuelTypeELECTRICITY EnergyPlanFuelType = "ELECTRICITY"
	EnergyPlanFuelTypeGAS         EnergyPlanFuelType = "GAS"
)

Defines values for EnergyPlanFuelType.

type EnergyPlanGeography added in v0.1.6

type EnergyPlanGeography struct {
	// Distributors Array of distributors for the plan. Must have at least one entry
	Distributors []string `json:"distributors"`

	// ExcludedPostcodes Array of valid Australian postcodes that are specifically excluded from the plan.  Each element is a single four digit postcode (e.g. 3000) or a range of postcodes defined by two four digit postcodes and a hyphen (e.g. 3000-3999)
	ExcludedPostcodes *[]string `json:"excludedPostcodes,omitempty"`

	// IncludedPostcodes Array of valid Australian postcodes that are included from the plan.  If absent defaults to all non-excluded postcodes.  Each element is a single four digit postcode (e.g. 3000) or a range of postcodes defined by two four digit postcodes and a hyphen (e.g. 3000-3999)
	IncludedPostcodes *[]string `json:"includedPostcodes,omitempty"`
}

EnergyPlanGeography Describes the geographical area that the plan is available for. If absent then it is assumed the plan is not geographically limited

type EnergyPlanGreenPowerCharges

type EnergyPlanGreenPowerCharges = []struct {
	// Description The description of the charge
	Description *string `json:"description,omitempty"`

	// DisplayName The display name of the charge
	DisplayName string `json:"displayName"`

	// Scheme The applicable green power scheme
	Scheme EnergyPlanGreenPowerChargesScheme `json:"scheme"`

	// Tiers Array of charge tiers based on the percentage of green power used for the period implied by the type.  Array is in order of increasing percentage of green power
	Tiers []struct {
		// Amount The amount of the charge if the type implies the application of a fixed amount
		Amount *string `json:"amount,omitempty"`

		// PercentGreen The upper percentage of green power used applicable for this tier
		PercentGreen string `json:"percentGreen"`

		// Rate The rate of the charge if the type implies the application of a rate
		Rate *string `json:"rate,omitempty"`
	} `json:"tiers"`

	// Type The type of charge
	Type EnergyPlanGreenPowerChargesType `json:"type"`
}

EnergyPlanGreenPowerCharges Optional list of charges applicable to green power

type EnergyPlanGreenPowerChargesScheme

type EnergyPlanGreenPowerChargesScheme string

EnergyPlanGreenPowerChargesScheme The applicable green power scheme

const (
	EnergyPlanGreenPowerChargesSchemeGREENPOWER EnergyPlanGreenPowerChargesScheme = "GREENPOWER"
	EnergyPlanGreenPowerChargesSchemeOTHER      EnergyPlanGreenPowerChargesScheme = "OTHER"
)

Defines values for EnergyPlanGreenPowerChargesScheme.

type EnergyPlanGreenPowerChargesType

type EnergyPlanGreenPowerChargesType string

EnergyPlanGreenPowerChargesType The type of charge

const (
	FIXEDPERDAY   EnergyPlanGreenPowerChargesType = "FIXED_PER_DAY"
	FIXEDPERMONTH EnergyPlanGreenPowerChargesType = "FIXED_PER_MONTH"
	FIXEDPERUNIT  EnergyPlanGreenPowerChargesType = "FIXED_PER_UNIT"
	FIXEDPERWEEK  EnergyPlanGreenPowerChargesType = "FIXED_PER_WEEK"
	PERCENTOFBILL EnergyPlanGreenPowerChargesType = "PERCENT_OF_BILL"
	PERCENTOFUSE  EnergyPlanGreenPowerChargesType = "PERCENT_OF_USE"
)

Defines values for EnergyPlanGreenPowerChargesType.

type EnergyPlanIncentives

type EnergyPlanIncentives = []struct {
	// Category The type of the incentive
	Category EnergyPlanIncentivesCategory `json:"category"`

	// Description The description of the incentive
	Description string `json:"description"`

	// DisplayName The display name of the incentive
	DisplayName string `json:"displayName"`

	// Eligibility A display message outlining an eligibility criteria that may apply
	Eligibility *string `json:"eligibility,omitempty"`
}

EnergyPlanIncentives Optional list of incentives available for the contract

type EnergyPlanIncentivesCategory

type EnergyPlanIncentivesCategory string

EnergyPlanIncentivesCategory The type of the incentive

const (
	EnergyPlanIncentivesCategoryACCOUNTCREDIT EnergyPlanIncentivesCategory = "ACCOUNT_CREDIT"
	EnergyPlanIncentivesCategoryGIFT          EnergyPlanIncentivesCategory = "GIFT"
	EnergyPlanIncentivesCategoryOTHER         EnergyPlanIncentivesCategory = "OTHER"
)

Defines values for EnergyPlanIncentivesCategory.

type EnergyPlanListResponse

type EnergyPlanListResponse struct {
	Data  EnergyPlanListResponseData `json:"data"`
	Links LinksPaginated             `json:"links"`
	Meta  MetaPaginated              `json:"meta"`
}

EnergyPlanListResponse defines model for EnergyPlanListResponse.

type EnergyPlanListResponseData added in v0.1.6

type EnergyPlanListResponseData struct {
	// Plans Array of plans
	Plans []EnergyPlan `json:"plans"`
}

EnergyPlanListResponseData defines model for EnergyPlanListResponse_data.

type EnergyPlanResponseV3 added in v0.3.0

type EnergyPlanResponseV3 struct {
	Data  EnergyPlanDetailV3 `json:"data"`
	Links Links              `json:"links"`
	Meta  *Meta              `json:"meta,omitempty"`
}

EnergyPlanResponseV3 defines model for EnergyPlanResponseV3.

type EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsTimeVariationsDays added in v0.1.6

type EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsTimeVariationsDays string

EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsTimeVariationsDays defines model for EnergyPlanSolarFeedInTariffV2.TimeVaryingTariffs.TimeVariations.Days.

const (
	EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsTimeVariationsDaysFRI            EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsTimeVariationsDays = "FRI"
	EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsTimeVariationsDaysMON            EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsTimeVariationsDays = "MON"
	EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsTimeVariationsDaysPUBLICHOLIDAYS EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsTimeVariationsDays = "PUBLIC_HOLIDAYS"
	EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsTimeVariationsDaysSAT            EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsTimeVariationsDays = "SAT"
	EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsTimeVariationsDaysSUN            EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsTimeVariationsDays = "SUN"
	EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsTimeVariationsDaysTHU            EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsTimeVariationsDays = "THU"
	EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsTimeVariationsDaysTUE            EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsTimeVariationsDays = "TUE"
	EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsTimeVariationsDaysWED            EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsTimeVariationsDays = "WED"
)

Defines values for EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsTimeVariationsDays.

type EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsType added in v0.1.6

type EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsType string

EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsType The type of the charging time period. If absent applies to all periods

type EnergyPlanSolarFeedInTariffV3 added in v0.3.0

type EnergyPlanSolarFeedInTariffV3 = []struct {
	// Description A description of the tariff
	Description *string `json:"description,omitempty"`

	// DisplayName The name of the tariff
	DisplayName string `json:"displayName"`

	// EndDate The end date of the application of the feed in tariff
	EndDate *string `json:"endDate,omitempty"`

	// PayerType The type of the payer
	PayerType EnergyPlanSolarFeedInTariffV3PayerType `json:"payerType"`

	// Scheme The applicable scheme
	Scheme EnergyPlanSolarFeedInTariffV3Scheme `json:"scheme"`

	// SingleTariff Represents a constant tariff.  Mandatory if tariffUType is set to singleTariff
	SingleTariff *PatchedEnergyPlanSolarFeedInTariffSingleTariff `json:"singleTariff,omitempty"`

	// StartDate The start date of the application of the feed in tariff
	StartDate *string `json:"startDate,omitempty"`

	// TariffUType The type of the payer
	TariffUType EnergyPlanSolarFeedInTariffV3TariffUType `json:"tariffUType"`

	// TimeVaryingTariffs Represents a tariff based on time.  Mandatory if tariffUType is set to timeVaryingTariffs
	TimeVaryingTariffs *PatchedEnergyPlanSolarFeedInTariffTimeVaryingTariff `json:"timeVaryingTariffs,omitempty"`
}

EnergyPlanSolarFeedInTariffV3 Array of feed in tariffs for solar power

type EnergyPlanSolarFeedInTariffV3PayerType added in v0.3.0

type EnergyPlanSolarFeedInTariffV3PayerType string

EnergyPlanSolarFeedInTariffV3PayerType The type of the payer

const (
	GOVERNMENT EnergyPlanSolarFeedInTariffV3PayerType = "GOVERNMENT"
	RETAILER   EnergyPlanSolarFeedInTariffV3PayerType = "RETAILER"
)

Defines values for EnergyPlanSolarFeedInTariffV3PayerType.

type EnergyPlanSolarFeedInTariffV3Scheme added in v0.3.0

type EnergyPlanSolarFeedInTariffV3Scheme string

EnergyPlanSolarFeedInTariffV3Scheme The applicable scheme

const (
	EnergyPlanSolarFeedInTariffV3SchemeCURRENT  EnergyPlanSolarFeedInTariffV3Scheme = "CURRENT"
	EnergyPlanSolarFeedInTariffV3SchemeOTHER    EnergyPlanSolarFeedInTariffV3Scheme = "OTHER"
	EnergyPlanSolarFeedInTariffV3SchemePREMIUM  EnergyPlanSolarFeedInTariffV3Scheme = "PREMIUM"
	EnergyPlanSolarFeedInTariffV3SchemeVARIABLE EnergyPlanSolarFeedInTariffV3Scheme = "VARIABLE"
)

Defines values for EnergyPlanSolarFeedInTariffV3Scheme.

type EnergyPlanSolarFeedInTariffV3TariffUType added in v0.3.0

type EnergyPlanSolarFeedInTariffV3TariffUType string

EnergyPlanSolarFeedInTariffV3TariffUType The type of the payer

const (
	SingleTariff       EnergyPlanSolarFeedInTariffV3TariffUType = "singleTariff"
	TimeVaryingTariffs EnergyPlanSolarFeedInTariffV3TariffUType = "timeVaryingTariffs"
)

Defines values for EnergyPlanSolarFeedInTariffV3TariffUType.

type EnergyPlanTariffPeriodDemandChargesDays

type EnergyPlanTariffPeriodDemandChargesDays string

EnergyPlanTariffPeriodDemandChargesDays defines model for EnergyPlanTariffPeriod.DemandCharges.Days.

const (
	EnergyPlanTariffPeriodDemandChargesDaysFRI            EnergyPlanTariffPeriodDemandChargesDays = "FRI"
	EnergyPlanTariffPeriodDemandChargesDaysMON            EnergyPlanTariffPeriodDemandChargesDays = "MON"
	EnergyPlanTariffPeriodDemandChargesDaysPUBLICHOLIDAYS EnergyPlanTariffPeriodDemandChargesDays = "PUBLIC_HOLIDAYS"
	EnergyPlanTariffPeriodDemandChargesDaysSAT            EnergyPlanTariffPeriodDemandChargesDays = "SAT"
	EnergyPlanTariffPeriodDemandChargesDaysSUN            EnergyPlanTariffPeriodDemandChargesDays = "SUN"
	EnergyPlanTariffPeriodDemandChargesDaysTHU            EnergyPlanTariffPeriodDemandChargesDays = "THU"
	EnergyPlanTariffPeriodDemandChargesDaysTUE            EnergyPlanTariffPeriodDemandChargesDays = "TUE"
	EnergyPlanTariffPeriodDemandChargesDaysWED            EnergyPlanTariffPeriodDemandChargesDays = "WED"
)

Defines values for EnergyPlanTariffPeriodDemandChargesDays.

type EnergyPlanTariffPeriodV2 added in v0.3.0

type EnergyPlanTariffPeriodV2 = []struct {
	// BandedDailySupplyCharges Array representing banded daily supply charge rates.  Mandatory if dailySupplyChargeType is BAND
	BandedDailySupplyCharges *[]struct {
		// MeasureUnit The measurement unit of rate. Assumed to be DAYS if absent
		MeasureUnit *EnergyPlanTariffPeriodV2BandedDailySupplyChargesMeasureUnit `json:"measureUnit,omitempty"`

		// UnitPrice The amount of daily supply charge for the band, in dollars per day exclusive of GST
		UnitPrice string `json:"unitPrice"`

		// Volume Volume the charge applies to
		Volume *float32 `json:"volume,omitempty"`
	} `json:"bandedDailySupplyCharges,omitempty"`

	// DailySupplyCharge The amount of access charge for the tariff period, in dollars per day exclusive of GST. Mandatory if dailySupplyChargeType is SINGLE
	DailySupplyCharge *string `json:"dailySupplyCharge,omitempty"`

	// DailySupplyChargeType Specifies if daily supply charge is single or banded. Default value is SINGLE if field not provided
	DailySupplyChargeType *EnergyPlanTariffPeriodV2DailySupplyChargeType `json:"dailySupplyChargeType,omitempty"`

	// DemandCharges Array of demand charges.  Required if rateBlockUType is demandCharges
	DemandCharges *[]struct {
		// Amount The charge amount per  measure unit exclusive of GST
		Amount string `json:"amount"`

		// ChargePeriod Charge period for the demand tariff
		ChargePeriod EnergyPlanTariffPeriodV2DemandChargesChargePeriod `json:"chargePeriod"`

		// Days The days that the demand tariff applies to
		Days *PatchedDemandChargesDays `json:"days,omitempty"`

		// Description Description of the charge
		Description *string `json:"description,omitempty"`

		// DisplayName Display name of the charge
		DisplayName string `json:"displayName"`

		// EndTime End of the period.
		//
		// Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone.
		EndTime string `json:"endTime"`

		// MaxDemand Maximum demand for this demand tariff in kW.  If present, must be higher than the value of the minDemand field
		MaxDemand *string `json:"maxDemand,omitempty"`

		// MeasureUnit The measurement unit of charge amount. Assumed to be KWH if absent
		MeasureUnit *EnergyPlanTariffPeriodV2DemandChargesMeasureUnit `json:"measureUnit,omitempty"`

		// MeasurementPeriod Application period for the demand tariff
		MeasurementPeriod EnergyPlanTariffPeriodV2DemandChargesMeasurementPeriod `json:"measurementPeriod"`

		// MinDemand Minimum demand for this demand tariff in kW.  If absent then 0 is assumed
		MinDemand *string `json:"minDemand,omitempty"`

		// StartTime Start of the period.
		//
		// Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone.
		StartTime string `json:"startTime"`
	} `json:"demandCharges,omitempty"`

	// DisplayName The name of the tariff period
	DisplayName string `json:"displayName"`

	// EndDate The end date of the tariff period in a calendar year.  Formatted in mm-dd format
	EndDate string `json:"endDate"`

	// RateBlockUType Specifies the type of rate applicable to this tariff period
	RateBlockUType EnergyPlanTariffPeriodV2RateBlockUType `json:"rateBlockUType"`

	// SingleRate Object representing a single rate.  Required if rateBlockUType is singleRate
	SingleRate *struct {
		// Description Description of the rate
		Description *string `json:"description,omitempty"`

		// DisplayName Display name of the rate
		DisplayName string `json:"displayName"`

		// GeneralUnitPrice The block rate (unit price) for any usage above the included fixed usage, in dollars per kWh inclusive of GST.  Only required if pricingModel field is ‘QUOTA’
		GeneralUnitPrice *string `json:"generalUnitPrice,omitempty"`

		// Period Usage period for which the block rate applies. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax)
		Period *string `json:"period,omitempty"`

		// Rates Array of controlled load rates in order of usage volume
		Rates []struct {
			// MeasureUnit The measurement unit of rate. Assumed to be KWH if absent
			MeasureUnit *EnergyPlanTariffPeriodV2SingleRateRatesMeasureUnit `json:"measureUnit,omitempty"`

			// UnitPrice Unit price of usage per measure unit (exclusive of GST)
			UnitPrice string `json:"unitPrice"`

			// Volume Volume in kWh that this rate applies to.  Only applicable for ‘stepped’ rates where different rates apply for different volumes of usage in a period
			Volume *float32 `json:"volume,omitempty"`
		} `json:"rates"`
	} `json:"singleRate,omitempty"`

	// StartDate The start date of the tariff period in a calendar year.  Formatted in mm-dd format
	StartDate string `json:"startDate"`

	// TimeOfUseRates Array of objects representing time of use rates.  Required if rateBlockUType is timeOfUseRates
	TimeOfUseRates *[]struct {
		// Description Description of the rate
		Description *string `json:"description,omitempty"`

		// DisplayName Display name of the rate
		DisplayName string `json:"displayName"`

		// Period Usage period for which the block rate applies. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). Defaults to P1Y if absent
		Period *string `json:"period,omitempty"`

		// Rates Array of controlled load rates in order of usage volume
		Rates []struct {
			// MeasureUnit The measurement unit of rate. Assumed to be KWH if absent
			MeasureUnit *EnergyPlanTariffPeriodV2TimeOfUseRatesRatesMeasureUnit `json:"measureUnit,omitempty"`

			// UnitPrice Unit price of usage per  measure unit (exclusive of GST)
			UnitPrice string `json:"unitPrice"`

			// Volume Volume in kWh that this rate applies to.  Only applicable for ‘stepped’ rates where different rates apply for different volumes of usage in a period
			Volume *float32 `json:"volume,omitempty"`
		} `json:"rates"`

		// TimeOfUse Array of times of use
		TimeOfUse []struct {
			// Days The days that the rate applies to
			Days []EnergyPlanTariffPeriodV2TimeOfUseRatesTimeOfUseDays `json:"days"`

			// EndTime End of the period.
			//
			// Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone.
			EndTime string `json:"endTime"`

			// StartTime Start of the period.
			//
			// Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone.
			StartTime string `json:"startTime"`
		} `json:"timeOfUse"`

		// Type The type of usage that the rate applies to
		Type EnergyPlanTariffPeriodV2TimeOfUseRatesType `json:"type"`
	} `json:"timeOfUseRates,omitempty"`

	// TimeZone Specifies the charge specific time zone for calculation of the time of use thresholds. If absent, timezone value in EnergyPlanContract is assumed.
	TimeZone *EnergyPlanTariffPeriodV2TimeZone `json:"timeZone,omitempty"`

	// Type Type of charge. Assumed to be other if absent
	Type *EnergyPlanTariffPeriodV2Type `json:"type,omitempty"`
}

EnergyPlanTariffPeriodV2 Array of tariff periods

type EnergyPlanTariffPeriodV2BandedDailySupplyChargesMeasureUnit added in v0.3.0

type EnergyPlanTariffPeriodV2BandedDailySupplyChargesMeasureUnit string

EnergyPlanTariffPeriodV2BandedDailySupplyChargesMeasureUnit The measurement unit of rate. Assumed to be DAYS if absent

const (
	EnergyPlanTariffPeriodV2BandedDailySupplyChargesMeasureUnitDAYS  EnergyPlanTariffPeriodV2BandedDailySupplyChargesMeasureUnit = "DAYS"
	EnergyPlanTariffPeriodV2BandedDailySupplyChargesMeasureUnitKVA   EnergyPlanTariffPeriodV2BandedDailySupplyChargesMeasureUnit = "KVA"
	EnergyPlanTariffPeriodV2BandedDailySupplyChargesMeasureUnitKVAR  EnergyPlanTariffPeriodV2BandedDailySupplyChargesMeasureUnit = "KVAR"
	EnergyPlanTariffPeriodV2BandedDailySupplyChargesMeasureUnitKVARH EnergyPlanTariffPeriodV2BandedDailySupplyChargesMeasureUnit = "KVARH"
	EnergyPlanTariffPeriodV2BandedDailySupplyChargesMeasureUnitKW    EnergyPlanTariffPeriodV2BandedDailySupplyChargesMeasureUnit = "KW"
	EnergyPlanTariffPeriodV2BandedDailySupplyChargesMeasureUnitKWH   EnergyPlanTariffPeriodV2BandedDailySupplyChargesMeasureUnit = "KWH"
	EnergyPlanTariffPeriodV2BandedDailySupplyChargesMeasureUnitMETER EnergyPlanTariffPeriodV2BandedDailySupplyChargesMeasureUnit = "METER"
	EnergyPlanTariffPeriodV2BandedDailySupplyChargesMeasureUnitMONTH EnergyPlanTariffPeriodV2BandedDailySupplyChargesMeasureUnit = "MONTH"
)

Defines values for EnergyPlanTariffPeriodV2BandedDailySupplyChargesMeasureUnit.

type EnergyPlanTariffPeriodV2DailySupplyChargeType added in v0.3.0

type EnergyPlanTariffPeriodV2DailySupplyChargeType string

EnergyPlanTariffPeriodV2DailySupplyChargeType Specifies if daily supply charge is single or banded. Default value is SINGLE if field not provided

Defines values for EnergyPlanTariffPeriodV2DailySupplyChargeType.

type EnergyPlanTariffPeriodV2DemandChargesChargePeriod added in v0.3.0

type EnergyPlanTariffPeriodV2DemandChargesChargePeriod string

EnergyPlanTariffPeriodV2DemandChargesChargePeriod Charge period for the demand tariff

const (
	EnergyPlanTariffPeriodV2DemandChargesChargePeriodDAY          EnergyPlanTariffPeriodV2DemandChargesChargePeriod = "DAY"
	EnergyPlanTariffPeriodV2DemandChargesChargePeriodMONTH        EnergyPlanTariffPeriodV2DemandChargesChargePeriod = "MONTH"
	EnergyPlanTariffPeriodV2DemandChargesChargePeriodTARIFFPERIOD EnergyPlanTariffPeriodV2DemandChargesChargePeriod = "TARIFF_PERIOD"
)

Defines values for EnergyPlanTariffPeriodV2DemandChargesChargePeriod.

type EnergyPlanTariffPeriodV2DemandChargesMeasureUnit added in v0.3.0

type EnergyPlanTariffPeriodV2DemandChargesMeasureUnit string

EnergyPlanTariffPeriodV2DemandChargesMeasureUnit The measurement unit of charge amount. Assumed to be KWH if absent

const (
	EnergyPlanTariffPeriodV2DemandChargesMeasureUnitDAYS  EnergyPlanTariffPeriodV2DemandChargesMeasureUnit = "DAYS"
	EnergyPlanTariffPeriodV2DemandChargesMeasureUnitKVA   EnergyPlanTariffPeriodV2DemandChargesMeasureUnit = "KVA"
	EnergyPlanTariffPeriodV2DemandChargesMeasureUnitKVAR  EnergyPlanTariffPeriodV2DemandChargesMeasureUnit = "KVAR"
	EnergyPlanTariffPeriodV2DemandChargesMeasureUnitKVARH EnergyPlanTariffPeriodV2DemandChargesMeasureUnit = "KVARH"
	EnergyPlanTariffPeriodV2DemandChargesMeasureUnitKW    EnergyPlanTariffPeriodV2DemandChargesMeasureUnit = "KW"
	EnergyPlanTariffPeriodV2DemandChargesMeasureUnitKWH   EnergyPlanTariffPeriodV2DemandChargesMeasureUnit = "KWH"
	EnergyPlanTariffPeriodV2DemandChargesMeasureUnitMETER EnergyPlanTariffPeriodV2DemandChargesMeasureUnit = "METER"
	EnergyPlanTariffPeriodV2DemandChargesMeasureUnitMONTH EnergyPlanTariffPeriodV2DemandChargesMeasureUnit = "MONTH"
)

Defines values for EnergyPlanTariffPeriodV2DemandChargesMeasureUnit.

type EnergyPlanTariffPeriodV2DemandChargesMeasurementPeriod added in v0.3.0

type EnergyPlanTariffPeriodV2DemandChargesMeasurementPeriod string

EnergyPlanTariffPeriodV2DemandChargesMeasurementPeriod Application period for the demand tariff

const (
	EnergyPlanTariffPeriodV2DemandChargesMeasurementPeriodDAY          EnergyPlanTariffPeriodV2DemandChargesMeasurementPeriod = "DAY"
	EnergyPlanTariffPeriodV2DemandChargesMeasurementPeriodMONTH        EnergyPlanTariffPeriodV2DemandChargesMeasurementPeriod = "MONTH"
	EnergyPlanTariffPeriodV2DemandChargesMeasurementPeriodTARIFFPERIOD EnergyPlanTariffPeriodV2DemandChargesMeasurementPeriod = "TARIFF_PERIOD"
)

Defines values for EnergyPlanTariffPeriodV2DemandChargesMeasurementPeriod.

type EnergyPlanTariffPeriodV2RateBlockUType added in v0.3.0

type EnergyPlanTariffPeriodV2RateBlockUType string

EnergyPlanTariffPeriodV2RateBlockUType Specifies the type of rate applicable to this tariff period

const (
	EnergyPlanTariffPeriodV2RateBlockUTypeDemandCharges  EnergyPlanTariffPeriodV2RateBlockUType = "demandCharges"
	EnergyPlanTariffPeriodV2RateBlockUTypeSingleRate     EnergyPlanTariffPeriodV2RateBlockUType = "singleRate"
	EnergyPlanTariffPeriodV2RateBlockUTypeTimeOfUseRates EnergyPlanTariffPeriodV2RateBlockUType = "timeOfUseRates"
)

Defines values for EnergyPlanTariffPeriodV2RateBlockUType.

type EnergyPlanTariffPeriodV2SingleRateRatesMeasureUnit added in v0.3.0

type EnergyPlanTariffPeriodV2SingleRateRatesMeasureUnit string

EnergyPlanTariffPeriodV2SingleRateRatesMeasureUnit The measurement unit of rate. Assumed to be KWH if absent

const (
	EnergyPlanTariffPeriodV2SingleRateRatesMeasureUnitDAYS  EnergyPlanTariffPeriodV2SingleRateRatesMeasureUnit = "DAYS"
	EnergyPlanTariffPeriodV2SingleRateRatesMeasureUnitKVA   EnergyPlanTariffPeriodV2SingleRateRatesMeasureUnit = "KVA"
	EnergyPlanTariffPeriodV2SingleRateRatesMeasureUnitKVAR  EnergyPlanTariffPeriodV2SingleRateRatesMeasureUnit = "KVAR"
	EnergyPlanTariffPeriodV2SingleRateRatesMeasureUnitKVARH EnergyPlanTariffPeriodV2SingleRateRatesMeasureUnit = "KVARH"
	EnergyPlanTariffPeriodV2SingleRateRatesMeasureUnitKW    EnergyPlanTariffPeriodV2SingleRateRatesMeasureUnit = "KW"
	EnergyPlanTariffPeriodV2SingleRateRatesMeasureUnitKWH   EnergyPlanTariffPeriodV2SingleRateRatesMeasureUnit = "KWH"
	EnergyPlanTariffPeriodV2SingleRateRatesMeasureUnitMETER EnergyPlanTariffPeriodV2SingleRateRatesMeasureUnit = "METER"
	EnergyPlanTariffPeriodV2SingleRateRatesMeasureUnitMONTH EnergyPlanTariffPeriodV2SingleRateRatesMeasureUnit = "MONTH"
)

Defines values for EnergyPlanTariffPeriodV2SingleRateRatesMeasureUnit.

type EnergyPlanTariffPeriodV2TimeOfUseRatesRatesMeasureUnit added in v0.3.0

type EnergyPlanTariffPeriodV2TimeOfUseRatesRatesMeasureUnit string

EnergyPlanTariffPeriodV2TimeOfUseRatesRatesMeasureUnit The measurement unit of rate. Assumed to be KWH if absent

const (
	EnergyPlanTariffPeriodV2TimeOfUseRatesRatesMeasureUnitDAYS  EnergyPlanTariffPeriodV2TimeOfUseRatesRatesMeasureUnit = "DAYS"
	EnergyPlanTariffPeriodV2TimeOfUseRatesRatesMeasureUnitKVA   EnergyPlanTariffPeriodV2TimeOfUseRatesRatesMeasureUnit = "KVA"
	EnergyPlanTariffPeriodV2TimeOfUseRatesRatesMeasureUnitKVAR  EnergyPlanTariffPeriodV2TimeOfUseRatesRatesMeasureUnit = "KVAR"
	EnergyPlanTariffPeriodV2TimeOfUseRatesRatesMeasureUnitKVARH EnergyPlanTariffPeriodV2TimeOfUseRatesRatesMeasureUnit = "KVARH"
	EnergyPlanTariffPeriodV2TimeOfUseRatesRatesMeasureUnitKW    EnergyPlanTariffPeriodV2TimeOfUseRatesRatesMeasureUnit = "KW"
	EnergyPlanTariffPeriodV2TimeOfUseRatesRatesMeasureUnitKWH   EnergyPlanTariffPeriodV2TimeOfUseRatesRatesMeasureUnit = "KWH"
	EnergyPlanTariffPeriodV2TimeOfUseRatesRatesMeasureUnitMETER EnergyPlanTariffPeriodV2TimeOfUseRatesRatesMeasureUnit = "METER"
	EnergyPlanTariffPeriodV2TimeOfUseRatesRatesMeasureUnitMONTH EnergyPlanTariffPeriodV2TimeOfUseRatesRatesMeasureUnit = "MONTH"
)

Defines values for EnergyPlanTariffPeriodV2TimeOfUseRatesRatesMeasureUnit.

type EnergyPlanTariffPeriodV2TimeOfUseRatesTimeOfUseDays added in v0.3.0

type EnergyPlanTariffPeriodV2TimeOfUseRatesTimeOfUseDays string

EnergyPlanTariffPeriodV2TimeOfUseRatesTimeOfUseDays defines model for EnergyPlanTariffPeriodV2.TimeOfUseRates.TimeOfUse.Days.

const (
	EnergyPlanTariffPeriodV2TimeOfUseRatesTimeOfUseDaysFRI            EnergyPlanTariffPeriodV2TimeOfUseRatesTimeOfUseDays = "FRI"
	EnergyPlanTariffPeriodV2TimeOfUseRatesTimeOfUseDaysMON            EnergyPlanTariffPeriodV2TimeOfUseRatesTimeOfUseDays = "MON"
	EnergyPlanTariffPeriodV2TimeOfUseRatesTimeOfUseDaysPUBLICHOLIDAYS EnergyPlanTariffPeriodV2TimeOfUseRatesTimeOfUseDays = "PUBLIC_HOLIDAYS"
	EnergyPlanTariffPeriodV2TimeOfUseRatesTimeOfUseDaysSAT            EnergyPlanTariffPeriodV2TimeOfUseRatesTimeOfUseDays = "SAT"
	EnergyPlanTariffPeriodV2TimeOfUseRatesTimeOfUseDaysSUN            EnergyPlanTariffPeriodV2TimeOfUseRatesTimeOfUseDays = "SUN"
	EnergyPlanTariffPeriodV2TimeOfUseRatesTimeOfUseDaysTHU            EnergyPlanTariffPeriodV2TimeOfUseRatesTimeOfUseDays = "THU"
	EnergyPlanTariffPeriodV2TimeOfUseRatesTimeOfUseDaysTUE            EnergyPlanTariffPeriodV2TimeOfUseRatesTimeOfUseDays = "TUE"
	EnergyPlanTariffPeriodV2TimeOfUseRatesTimeOfUseDaysWED            EnergyPlanTariffPeriodV2TimeOfUseRatesTimeOfUseDays = "WED"
)

Defines values for EnergyPlanTariffPeriodV2TimeOfUseRatesTimeOfUseDays.

type EnergyPlanTariffPeriodV2TimeOfUseRatesType added in v0.3.0

type EnergyPlanTariffPeriodV2TimeOfUseRatesType string

EnergyPlanTariffPeriodV2TimeOfUseRatesType The type of usage that the rate applies to

const (
	EnergyPlanTariffPeriodV2TimeOfUseRatesTypeOFFPEAK   EnergyPlanTariffPeriodV2TimeOfUseRatesType = "OFF_PEAK"
	EnergyPlanTariffPeriodV2TimeOfUseRatesTypePEAK      EnergyPlanTariffPeriodV2TimeOfUseRatesType = "PEAK"
	EnergyPlanTariffPeriodV2TimeOfUseRatesTypeSHOULDER  EnergyPlanTariffPeriodV2TimeOfUseRatesType = "SHOULDER"
	EnergyPlanTariffPeriodV2TimeOfUseRatesTypeSHOULDER1 EnergyPlanTariffPeriodV2TimeOfUseRatesType = "SHOULDER1"
	EnergyPlanTariffPeriodV2TimeOfUseRatesTypeSHOULDER2 EnergyPlanTariffPeriodV2TimeOfUseRatesType = "SHOULDER2"
)

Defines values for EnergyPlanTariffPeriodV2TimeOfUseRatesType.

type EnergyPlanTariffPeriodV2TimeZone added in v0.3.0

type EnergyPlanTariffPeriodV2TimeZone string

EnergyPlanTariffPeriodV2TimeZone Specifies the charge specific time zone for calculation of the time of use thresholds. If absent, timezone value in EnergyPlanContract is assumed.

const (
	AEST  EnergyPlanTariffPeriodV2TimeZone = "AEST"
	LOCAL EnergyPlanTariffPeriodV2TimeZone = "LOCAL"
)

Defines values for EnergyPlanTariffPeriodV2TimeZone.

type EnergyPlanTariffPeriodV2Type added in v0.3.0

type EnergyPlanTariffPeriodV2Type string

EnergyPlanTariffPeriodV2Type Type of charge. Assumed to be other if absent

const (
	EnergyPlanTariffPeriodV2TypeENVIRONMENTAL EnergyPlanTariffPeriodV2Type = "ENVIRONMENTAL"
	EnergyPlanTariffPeriodV2TypeMETERING      EnergyPlanTariffPeriodV2Type = "METERING"
	EnergyPlanTariffPeriodV2TypeNETWORK       EnergyPlanTariffPeriodV2Type = "NETWORK"
	EnergyPlanTariffPeriodV2TypeOTHER         EnergyPlanTariffPeriodV2Type = "OTHER"
	EnergyPlanTariffPeriodV2TypeRCTI          EnergyPlanTariffPeriodV2Type = "RCTI"
	EnergyPlanTariffPeriodV2TypeREGULATED     EnergyPlanTariffPeriodV2Type = "REGULATED"
	EnergyPlanTariffPeriodV2TypeRETAILSERVICE EnergyPlanTariffPeriodV2Type = "RETAIL_SERVICE"
)

Defines values for EnergyPlanTariffPeriodV2Type.

type EnergyPlanType

type EnergyPlanType string

EnergyPlanType The type of the plan

const (
	EnergyPlanTypeMARKET    EnergyPlanType = "MARKET"
	EnergyPlanTypeREGULATED EnergyPlanType = "REGULATED"
	EnergyPlanTypeSTANDING  EnergyPlanType = "STANDING"
)

Defines values for EnergyPlanType.

type EnergyServicePoint

type EnergyServicePoint struct {
	ConsumerProfile *EnergyServicePointConsumerProfile `json:"consumerProfile,omitempty"`

	// IsGenerator This flag determines whether the energy at this connection point is to be treated as consumer load or as a generating unit(this may include generator auxiliary loads). If absent defaults to false. <br>**Note:** Only applicable for scheduled or semischeduled generators, does not indicate on site generation by consumer
	IsGenerator *bool `json:"isGenerator,omitempty"`

	// JurisdictionCode Jurisdiction code to which the service point belongs.This code defines the jurisdictional rules which apply to the service point. Note the details of enumeration values below:<ul><li>**ALL** - All Jurisdictions</li><li>**ACT** - Australian Capital Territory</li><li>**NEM** - National Electricity Market</li><li>**NSW** - New South Wales</li><li>**QLD** - Queensland</li><li>**SA** - South Australia</li><li>**TAS** - Tasmania</li><li>**VIC** - Victoria</li></ul>
	JurisdictionCode EnergyServicePointJurisdictionCode `json:"jurisdictionCode"`

	// LastUpdateDateTime The date and time that the information for this service point was modified
	LastUpdateDateTime string `json:"lastUpdateDateTime"`

	// NationalMeteringId The independent ID of the service point, known in the industry as the NMI
	NationalMeteringId string `json:"nationalMeteringId"`

	// ServicePointClassification The classification of the service point as defined in MSATS procedures
	ServicePointClassification EnergyServicePointServicePointClassification `json:"servicePointClassification"`

	// ServicePointId Tokenised ID of the service point to be used for referring to the service point in the CDR API suite. To be created in accordance with CDR ID permanence requirements
	ServicePointId string `json:"servicePointId"`

	// ServicePointStatus Code used to indicate the status of the service point. Note the details for the enumeration values below:<ul><li>**ACTIVE** - An active, energised, service point</li><li>**DE_ENERGISED** - The service point exists but is deenergised</li><li>**EXTINCT** - The service point has been permanently decommissioned</li><li>**GREENFIELD** - Applies to a service point that has never been energised</li><li>**OFF_MARKET** - Applies when the service point is no longer settled in the NEM</li></ul>
	ServicePointStatus EnergyServicePointServicePointStatus `json:"servicePointStatus"`

	// ValidFromDate The latest start date from which the constituent data sets of this service point became valid
	ValidFromDate string `json:"validFromDate"`
}

EnergyServicePoint defines model for EnergyServicePoint.

type EnergyServicePointConsumerProfile added in v0.1.6

type EnergyServicePointConsumerProfile struct {
	// Classification A code that defines the consumer class as defined in the National Energy Retail Regulations, or in overriding Jurisdictional instruments
	Classification *EnergyServicePointConsumerProfileClassification `json:"classification,omitempty"`

	// Threshold A code that defines the consumption threshold as defined in the National Energy Retail Regulations, or in overriding Jurisdictional instruments. Note the details of enumeration values below: <ul><li>**LOW** - Consumption is less than the ‘lower consumption threshold’ as defined in the National Energy Retail Regulations</li><li>**MEDIUM** - Consumption is equal to or greater than the ‘lower consumption threshold’, but less than the ‘upper consumption threshold’, as defined in the National Energy Retail Regulations</li><li>**HIGH** - Consumption is equal to or greater than the ‘upper consumption threshold’ as defined in the National Energy Retail Regulations</li></ul>
	Threshold *EnergyServicePointConsumerProfileThreshold `json:"threshold,omitempty"`
}

EnergyServicePointConsumerProfile defines model for EnergyServicePoint_consumerProfile.

type EnergyServicePointConsumerProfileClassification

type EnergyServicePointConsumerProfileClassification string

EnergyServicePointConsumerProfileClassification A code that defines the consumer class as defined in the National Energy Retail Regulations, or in overriding Jurisdictional instruments

const (
	BUSINESS    EnergyServicePointConsumerProfileClassification = "BUSINESS"
	RESIDENTIAL EnergyServicePointConsumerProfileClassification = "RESIDENTIAL"
)

Defines values for EnergyServicePointConsumerProfileClassification.

type EnergyServicePointConsumerProfileThreshold added in v0.1.6

type EnergyServicePointConsumerProfileThreshold string

EnergyServicePointConsumerProfileThreshold A code that defines the consumption threshold as defined in the National Energy Retail Regulations, or in overriding Jurisdictional instruments. Note the details of enumeration values below: <ul><li>**LOW** - Consumption is less than the ‘lower consumption threshold’ as defined in the National Energy Retail Regulations</li><li>**MEDIUM** - Consumption is equal to or greater than the ‘lower consumption threshold’, but less than the ‘upper consumption threshold’, as defined in the National Energy Retail Regulations</li><li>**HIGH** - Consumption is equal to or greater than the ‘upper consumption threshold’ as defined in the National Energy Retail Regulations</li></ul>

Defines values for EnergyServicePointConsumerProfileThreshold.

type EnergyServicePointDetail

type EnergyServicePointDetail struct {
	ConsumerProfile        *EnergyServicePointConsumerProfile             `json:"consumerProfile,omitempty"`
	DistributionLossFactor EnergyServicePointDetailDistributionLossFactor `json:"distributionLossFactor"`

	// IsGenerator This flag determines whether the energy at this connection point is to be treated as consumer load or as a generating unit(this may include generator auxiliary loads). If absent defaults to false. <br>**Note:** Only applicable for scheduled or semischeduled generators, does not indicate on site generation by consumer
	IsGenerator *bool `json:"isGenerator,omitempty"`

	// JurisdictionCode Jurisdiction code to which the service point belongs.This code defines the jurisdictional rules which apply to the service point. Note the details of enumeration values below:<ul><li>**ALL** - All Jurisdictions</li><li>**ACT** - Australian Capital Territory</li><li>**NEM** - National Electricity Market</li><li>**NSW** - New South Wales</li><li>**QLD** - Queensland</li><li>**SA** - South Australia</li><li>**TAS** - Tasmania</li><li>**VIC** - Victoria</li></ul>
	JurisdictionCode EnergyServicePointDetailJurisdictionCode `json:"jurisdictionCode"`

	// LastUpdateDateTime The date and time that the information for this service point was modified
	LastUpdateDateTime string                `json:"lastUpdateDateTime"`
	Location           CommonPhysicalAddress `json:"location"`

	// Meters The meters associated with the service point. This may be empty where there are no meters physically installed at the service point
	Meters *[]EnergyServicePointDetailMeters `json:"meters,omitempty"`

	// NationalMeteringId The independent ID of the service point, known in the industry as the NMI
	NationalMeteringId  string                                        `json:"nationalMeteringId"`
	RelatedParticipants []EnergyServicePointDetailRelatedParticipants `json:"relatedParticipants"`

	// ServicePointClassification The classification of the service point as defined in MSATS procedures
	ServicePointClassification EnergyServicePointDetailServicePointClassification `json:"servicePointClassification"`

	// ServicePointId The tokenised ID of the service point for use in the CDR APIs.  Created according to the CDR rules for ID permanence
	ServicePointId string `json:"servicePointId"`

	// ServicePointStatus Code used to indicate the status of the service point. Note the details for the enumeration values below:<ul><li>**ACTIVE** - An active, energised, service point</li><li>**DE_ENERGISED** - The service point exists but is deenergised</li><li>**EXTINCT** - The service point has been permanently decommissioned</li><li>**GREENFIELD** - Applies to a service point that has never been energised</li><li>**OFF_MARKET** - Applies when the service point is no longer settled in the NEM</li></ul>
	ServicePointStatus EnergyServicePointDetailServicePointStatus `json:"servicePointStatus"`

	// ValidFromDate The latest start date from which the constituent data sets of this service point became valid
	ValidFromDate string `json:"validFromDate"`
}

EnergyServicePointDetail defines model for EnergyServicePointDetail.

type EnergyServicePointDetailDistributionLossFactor added in v0.1.6

type EnergyServicePointDetailDistributionLossFactor struct {
	// Code A code used to identify data loss factor for the service point values.  Refer to AEMO distribution loss factor documents for each financial year to interpret
	Code string `json:"code"`

	// Description Description of the data loss factor code and value
	Description string `json:"description"`

	// LossValue The value associated with the loss factor code
	LossValue string `json:"lossValue"`
}

EnergyServicePointDetailDistributionLossFactor defines model for EnergyServicePointDetail_distributionLossFactor.

type EnergyServicePointDetailJurisdictionCode

type EnergyServicePointDetailJurisdictionCode string

EnergyServicePointDetailJurisdictionCode Jurisdiction code to which the service point belongs.This code defines the jurisdictional rules which apply to the service point. Note the details of enumeration values below:<ul><li>**ALL** - All Jurisdictions</li><li>**ACT** - Australian Capital Territory</li><li>**NEM** - National Electricity Market</li><li>**NSW** - New South Wales</li><li>**QLD** - Queensland</li><li>**SA** - South Australia</li><li>**TAS** - Tasmania</li><li>**VIC** - Victoria</li></ul>

const (
	EnergyServicePointDetailJurisdictionCodeACT EnergyServicePointDetailJurisdictionCode = "ACT"
	EnergyServicePointDetailJurisdictionCodeALL EnergyServicePointDetailJurisdictionCode = "ALL"
	EnergyServicePointDetailJurisdictionCodeNEM EnergyServicePointDetailJurisdictionCode = "NEM"
	EnergyServicePointDetailJurisdictionCodeNSW EnergyServicePointDetailJurisdictionCode = "NSW"
	EnergyServicePointDetailJurisdictionCodeQLD EnergyServicePointDetailJurisdictionCode = "QLD"
	EnergyServicePointDetailJurisdictionCodeSA  EnergyServicePointDetailJurisdictionCode = "SA"
	EnergyServicePointDetailJurisdictionCodeTAS EnergyServicePointDetailJurisdictionCode = "TAS"
	EnergyServicePointDetailJurisdictionCodeVIC EnergyServicePointDetailJurisdictionCode = "VIC"
)

Defines values for EnergyServicePointDetailJurisdictionCode.

type EnergyServicePointDetailMeters added in v0.1.6

type EnergyServicePointDetailMeters struct {
	// MeterId The meter ID uniquely identifies a meter for a given service point.  It is unique in the context of the service point.  It is not globally unique
	MeterId string `json:"meterId"`

	// Registers Usage data registers available from the meter. This may be empty where there are no meters physically installed at the service point
	Registers *[]EnergyServicePointDetailRegisters `json:"registers,omitempty"`

	// Specifications Technical characteristics of the meter
	Specifications EnergyServicePointDetailSpecifications `json:"specifications"`
}

EnergyServicePointDetailMeters defines model for EnergyServicePointDetail_meters.

type EnergyServicePointDetailRegisters added in v0.1.6

type EnergyServicePointDetailRegisters struct {
	// AveragedDailyLoad The energy delivered through a connection point or metering point over an extended period normalised to a 'per day' basis (kWh). This value is calculated annually.
	AveragedDailyLoad *float32 `json:"averagedDailyLoad,omitempty"`

	// ConsumptionType Actual/Subtractive Indicator. Note the details of enumeration values below: <ul><li>**ACTUAL** implies volume of energy actually metered between two dates</li><li>**CUMULATIVE** indicates a meter reading for a specific date. A second Meter Reading is required to determine the consumption between those two Meter Reading dates</li></ul>
	ConsumptionType *EnergyServicePointDetailRegistersConsumptionType `json:"consumptionType,omitempty"`

	// ControlledLoad Indicates whether the energy recorded by this register is created under a Controlled Load regime
	ControlledLoad *bool `json:"controlledLoad,omitempty"`

	// Multiplier Multiplier required to take a register value and turn it into a value representing billable energy
	Multiplier *float32 `json:"multiplier,omitempty"`

	// NetworkTariffCode The Network Tariff Code is a free text field containing a code supplied and published by the local network service provider
	NetworkTariffCode *string `json:"networkTariffCode,omitempty"`

	// RegisterConsumptionType Indicates the consumption type of register
	RegisterConsumptionType EnergyServicePointDetailRegistersRegisterConsumptionType `json:"registerConsumptionType"`

	// RegisterId Unique identifier of the register within this service point.  Is not globally unique
	RegisterId string `json:"registerId"`

	// RegisterSuffix Register suffix of the meter register where the meter reads are obtained
	RegisterSuffix *string `json:"registerSuffix,omitempty"`

	// TimeOfDay Code to identify the time validity of register contents
	TimeOfDay *EnergyServicePointDetailRegistersTimeOfDay `json:"timeOfDay,omitempty"`

	// UnitOfMeasure The unit of measure for data held in this register
	UnitOfMeasure *string `json:"unitOfMeasure,omitempty"`
}

EnergyServicePointDetailRegisters defines model for EnergyServicePointDetail_registers.

type EnergyServicePointDetailRegistersConsumptionType added in v0.1.6

type EnergyServicePointDetailRegistersConsumptionType string

EnergyServicePointDetailRegistersConsumptionType Actual/Subtractive Indicator. Note the details of enumeration values below: <ul><li>**ACTUAL** implies volume of energy actually metered between two dates</li><li>**CUMULATIVE** indicates a meter reading for a specific date. A second Meter Reading is required to determine the consumption between those two Meter Reading dates</li></ul>

const (
	EnergyServicePointDetailRegistersConsumptionTypeACTUAL     EnergyServicePointDetailRegistersConsumptionType = "ACTUAL"
	EnergyServicePointDetailRegistersConsumptionTypeCUMULATIVE EnergyServicePointDetailRegistersConsumptionType = "CUMULATIVE"
)

Defines values for EnergyServicePointDetailRegistersConsumptionType.

type EnergyServicePointDetailRegistersRegisterConsumptionType added in v0.1.6

type EnergyServicePointDetailRegistersRegisterConsumptionType string

EnergyServicePointDetailRegistersRegisterConsumptionType Indicates the consumption type of register

const (
	EnergyServicePointDetailRegistersRegisterConsumptionTypeACTIVE         EnergyServicePointDetailRegistersRegisterConsumptionType = "ACTIVE"
	EnergyServicePointDetailRegistersRegisterConsumptionTypeACTIVEIMPORT   EnergyServicePointDetailRegistersRegisterConsumptionType = "ACTIVE_IMPORT"
	EnergyServicePointDetailRegistersRegisterConsumptionTypeBASIC          EnergyServicePointDetailRegistersRegisterConsumptionType = "BASIC"
	EnergyServicePointDetailRegistersRegisterConsumptionTypeINTERVAL       EnergyServicePointDetailRegistersRegisterConsumptionType = "INTERVAL"
	EnergyServicePointDetailRegistersRegisterConsumptionTypePROFILEDATA    EnergyServicePointDetailRegistersRegisterConsumptionType = "PROFILE_DATA"
	EnergyServicePointDetailRegistersRegisterConsumptionTypeREACTIVE       EnergyServicePointDetailRegistersRegisterConsumptionType = "REACTIVE"
	EnergyServicePointDetailRegistersRegisterConsumptionTypeREACTIVEIMPORT EnergyServicePointDetailRegistersRegisterConsumptionType = "REACTIVE_IMPORT"
)

Defines values for EnergyServicePointDetailRegistersRegisterConsumptionType.

type EnergyServicePointDetailRegistersTimeOfDay added in v0.1.6

type EnergyServicePointDetailRegistersTimeOfDay string

EnergyServicePointDetailRegistersTimeOfDay Code to identify the time validity of register contents

const (
	EnergyServicePointDetailRegistersTimeOfDayALLDAY     EnergyServicePointDetailRegistersTimeOfDay = "ALLDAY"
	EnergyServicePointDetailRegistersTimeOfDayBUSINESS   EnergyServicePointDetailRegistersTimeOfDay = "BUSINESS"
	EnergyServicePointDetailRegistersTimeOfDayCONTROLLED EnergyServicePointDetailRegistersTimeOfDay = "CONTROLLED"
	EnergyServicePointDetailRegistersTimeOfDayDEMAND     EnergyServicePointDetailRegistersTimeOfDay = "DEMAND"
	EnergyServicePointDetailRegistersTimeOfDayEVENING    EnergyServicePointDetailRegistersTimeOfDay = "EVENING"
	EnergyServicePointDetailRegistersTimeOfDayINTERVAL   EnergyServicePointDetailRegistersTimeOfDay = "INTERVAL"
	EnergyServicePointDetailRegistersTimeOfDayOFFPEAK    EnergyServicePointDetailRegistersTimeOfDay = "OFFPEAK"
	EnergyServicePointDetailRegistersTimeOfDayPEAK       EnergyServicePointDetailRegistersTimeOfDay = "PEAK"
	EnergyServicePointDetailRegistersTimeOfDaySHOULDER   EnergyServicePointDetailRegistersTimeOfDay = "SHOULDER"
)

Defines values for EnergyServicePointDetailRegistersTimeOfDay.

type EnergyServicePointDetailRelatedParticipants added in v0.1.6

type EnergyServicePointDetailRelatedParticipants struct {
	// Party The name of the party/organisation related to this service point
	Party string `json:"party"`

	// Role The role performed by this participant in relation to the service point. Note the details of enumeration values below: <ul><li>**FRMP** - Financially Responsible Market Participant</li><li>**LNSP** - Local Network Service Provider or Embedded Network Manager for child connection points</li><li>**DRSP** - wholesale Demand Response and/or market ancillary Service Provider and note that where it is not relevant for a NMI it will not be included</li></ul>
	Role EnergyServicePointDetailRelatedParticipantsRole `json:"role"`
}

EnergyServicePointDetailRelatedParticipants defines model for EnergyServicePointDetail_relatedParticipants.

type EnergyServicePointDetailRelatedParticipantsRole

type EnergyServicePointDetailRelatedParticipantsRole string

EnergyServicePointDetailRelatedParticipantsRole The role performed by this participant in relation to the service point. Note the details of enumeration values below: <ul><li>**FRMP** - Financially Responsible Market Participant</li><li>**LNSP** - Local Network Service Provider or Embedded Network Manager for child connection points</li><li>**DRSP** - wholesale Demand Response and/or market ancillary Service Provider and note that where it is not relevant for a NMI it will not be included</li></ul>

Defines values for EnergyServicePointDetailRelatedParticipantsRole.

type EnergyServicePointDetailResponse

type EnergyServicePointDetailResponse struct {
	Data  EnergyServicePointDetail `json:"data"`
	Links Links                    `json:"links"`
	Meta  *Meta                    `json:"meta,omitempty"`
}

EnergyServicePointDetailResponse defines model for EnergyServicePointDetailResponse.

type EnergyServicePointDetailServicePointClassification

type EnergyServicePointDetailServicePointClassification string

EnergyServicePointDetailServicePointClassification The classification of the service point as defined in MSATS procedures

const (
	EnergyServicePointDetailServicePointClassificationDISTRIBUTIONWHOLESALE          EnergyServicePointDetailServicePointClassification = "DISTRIBUTION_WHOLESALE"
	EnergyServicePointDetailServicePointClassificationEXTERNALPROFILE                EnergyServicePointDetailServicePointClassification = "EXTERNAL_PROFILE"
	EnergyServicePointDetailServicePointClassificationGENERATOR                      EnergyServicePointDetailServicePointClassification = "GENERATOR"
	EnergyServicePointDetailServicePointClassificationLARGE                          EnergyServicePointDetailServicePointClassification = "LARGE"
	EnergyServicePointDetailServicePointClassificationNONCONTESTUNMETEREDLOAD        EnergyServicePointDetailServicePointClassification = "NON_CONTEST_UNMETERED_LOAD"
	EnergyServicePointDetailServicePointClassificationNONREGISTEREDEMBEDDEDGENERATOR EnergyServicePointDetailServicePointClassification = "NON_REGISTERED_EMBEDDED_GENERATOR"
	EnergyServicePointDetailServicePointClassificationSMALL                          EnergyServicePointDetailServicePointClassification = "SMALL"
	EnergyServicePointDetailServicePointClassificationWHOLESALE                      EnergyServicePointDetailServicePointClassification = "WHOLESALE"
)

Defines values for EnergyServicePointDetailServicePointClassification.

type EnergyServicePointDetailServicePointStatus

type EnergyServicePointDetailServicePointStatus string

EnergyServicePointDetailServicePointStatus Code used to indicate the status of the service point. Note the details for the enumeration values below:<ul><li>**ACTIVE** - An active, energised, service point</li><li>**DE_ENERGISED** - The service point exists but is deenergised</li><li>**EXTINCT** - The service point has been permanently decommissioned</li><li>**GREENFIELD** - Applies to a service point that has never been energised</li><li>**OFF_MARKET** - Applies when the service point is no longer settled in the NEM</li></ul>

const (
	EnergyServicePointDetailServicePointStatusACTIVE      EnergyServicePointDetailServicePointStatus = "ACTIVE"
	EnergyServicePointDetailServicePointStatusDEENERGISED EnergyServicePointDetailServicePointStatus = "DE_ENERGISED"
	EnergyServicePointDetailServicePointStatusEXTINCT     EnergyServicePointDetailServicePointStatus = "EXTINCT"
	EnergyServicePointDetailServicePointStatusGREENFIELD  EnergyServicePointDetailServicePointStatus = "GREENFIELD"
	EnergyServicePointDetailServicePointStatusOFFMARKET   EnergyServicePointDetailServicePointStatus = "OFF_MARKET"
)

Defines values for EnergyServicePointDetailServicePointStatus.

type EnergyServicePointDetailSpecifications added in v0.1.6

type EnergyServicePointDetailSpecifications struct {
	// InstallationType The metering Installation type code indicates whether the metering installation has to be manually read. Note the details of enumeration values below: <ul><li>**BASIC** - Accumulation Meter – Type 6</li><li>**COMMS1** - Interval Meter with communications – Type 1</li><li>**COMMS2** - Interval Meter with communications – Type 2</li><li>**COMMS3** - Interval Meter with communications – Type 3</li><li>**COMMS4** - Interval Meter with communications – Type 4</li><li>**COMMS4C** - CT connected metering installation that meets the minimum services specifications</li><li>**COMMS4D** - Whole current metering installation that meets the minimum services specifications</li><li>**MRAM** - Small customer metering installation – Type 4A</li><li>**MRIM** - Manually Read Interval Meter – Type 5</li><li>**UMCP** - Unmetered Supply – Type 7</li><li>**VICAMI** - A relevant metering installation as defined in clause 9.9C of the NER</li><li>**NCONUML** - Non-contestable unmeter load - Introduced as part of Global Settlement</li></ul>
	InstallationType EnergyServicePointDetailSpecificationsInstallationType `json:"installationType"`

	// Manufacturer Free text field to identify the manufacturer of the installed meter
	Manufacturer *string `json:"manufacturer,omitempty"`

	// Model Free text field to identify the meter manufacturer’s designation for the meter model
	Model *string `json:"model,omitempty"`

	// NextScheduledReadDate This date is the next scheduled meter read date (NSRD) if a manual Meter Reading is required
	NextScheduledReadDate *string `json:"nextScheduledReadDate,omitempty"`

	// ReadType Code to denote the method and frequency of Meter Reading. The value is formatted as follows: <ul><li>First Character = Remote (R) or Manual (M)</li><li>Second Character = Mode: T = telephone W = wireless P = powerline I = infra-red G = galvanic V = visual </li><li>Third Character = Frequency of Scheduled Meter Readings: 1 = Twelve times per year 2 = Six times per year 3 = Four times per year D = Daily or weekly</li><li>Optional Fourth Character = to identify what interval length the meter is capable of reading. This includes five, 15 and 30 minute granularity as the following: A – 5 minute B – 15 minute C – 30 minute D – Cannot convert to 5 minute (i.e. due to metering installation de-energised) M - Manually Read Accumulation Meter</li></ul> For example, <ul><li>MV3 = Manual, Visual, Quarterly</li> <li>MV3M = Manual, Visual, Quarterly, Manually Read Accumulation Meter</li> <li>RWDC = Remote, Wireless, Daily, 30 minutes interval</li></ul>
	ReadType *string `json:"readType,omitempty"`

	// Status A code to denote the status of the meter. Note the details of enumeration values below: <ul><li>**CURRENT** -Applies when a meter is current and not disconnected</li><li>**DISCONNECTED** - Applies when a meter is present but has been remotely disconnected</li></ul>
	Status EnergyServicePointDetailSpecificationsStatus `json:"status"`
}

EnergyServicePointDetailSpecifications Technical characteristics of the meter

type EnergyServicePointDetailSpecificationsInstallationType added in v0.1.6

type EnergyServicePointDetailSpecificationsInstallationType string

EnergyServicePointDetailSpecificationsInstallationType The metering Installation type code indicates whether the metering installation has to be manually read. Note the details of enumeration values below: <ul><li>**BASIC** - Accumulation Meter – Type 6</li><li>**COMMS1** - Interval Meter with communications – Type 1</li><li>**COMMS2** - Interval Meter with communications – Type 2</li><li>**COMMS3** - Interval Meter with communications – Type 3</li><li>**COMMS4** - Interval Meter with communications – Type 4</li><li>**COMMS4C** - CT connected metering installation that meets the minimum services specifications</li><li>**COMMS4D** - Whole current metering installation that meets the minimum services specifications</li><li>**MRAM** - Small customer metering installation – Type 4A</li><li>**MRIM** - Manually Read Interval Meter – Type 5</li><li>**UMCP** - Unmetered Supply – Type 7</li><li>**VICAMI** - A relevant metering installation as defined in clause 9.9C of the NER</li><li>**NCONUML** - Non-contestable unmeter load - Introduced as part of Global Settlement</li></ul>

type EnergyServicePointDetailSpecificationsStatus added in v0.1.6

type EnergyServicePointDetailSpecificationsStatus string

EnergyServicePointDetailSpecificationsStatus A code to denote the status of the meter. Note the details of enumeration values below: <ul><li>**CURRENT** -Applies when a meter is current and not disconnected</li><li>**DISCONNECTED** - Applies when a meter is present but has been remotely disconnected</li></ul>

const (
	EnergyServicePointDetailSpecificationsStatusCURRENT      EnergyServicePointDetailSpecificationsStatus = "CURRENT"
	EnergyServicePointDetailSpecificationsStatusDISCONNECTED EnergyServicePointDetailSpecificationsStatus = "DISCONNECTED"
)

Defines values for EnergyServicePointDetailSpecificationsStatus.

type EnergyServicePointJurisdictionCode

type EnergyServicePointJurisdictionCode string

EnergyServicePointJurisdictionCode Jurisdiction code to which the service point belongs.This code defines the jurisdictional rules which apply to the service point. Note the details of enumeration values below:<ul><li>**ALL** - All Jurisdictions</li><li>**ACT** - Australian Capital Territory</li><li>**NEM** - National Electricity Market</li><li>**NSW** - New South Wales</li><li>**QLD** - Queensland</li><li>**SA** - South Australia</li><li>**TAS** - Tasmania</li><li>**VIC** - Victoria</li></ul>

const (
	EnergyServicePointJurisdictionCodeACT EnergyServicePointJurisdictionCode = "ACT"
	EnergyServicePointJurisdictionCodeALL EnergyServicePointJurisdictionCode = "ALL"
	EnergyServicePointJurisdictionCodeNEM EnergyServicePointJurisdictionCode = "NEM"
	EnergyServicePointJurisdictionCodeNSW EnergyServicePointJurisdictionCode = "NSW"
	EnergyServicePointJurisdictionCodeQLD EnergyServicePointJurisdictionCode = "QLD"
	EnergyServicePointJurisdictionCodeSA  EnergyServicePointJurisdictionCode = "SA"
	EnergyServicePointJurisdictionCodeTAS EnergyServicePointJurisdictionCode = "TAS"
	EnergyServicePointJurisdictionCodeVIC EnergyServicePointJurisdictionCode = "VIC"
)

Defines values for EnergyServicePointJurisdictionCode.

type EnergyServicePointListResponse

type EnergyServicePointListResponse struct {
	Data  EnergyServicePointListResponseData `json:"data"`
	Links LinksPaginated                     `json:"links"`
	Meta  MetaPaginated                      `json:"meta"`
}

EnergyServicePointListResponse defines model for EnergyServicePointListResponse.

type EnergyServicePointListResponseData added in v0.1.6

type EnergyServicePointListResponseData struct {
	ServicePoints []EnergyServicePoint `json:"servicePoints"`
}

EnergyServicePointListResponseData defines model for EnergyServicePointListResponse_data.

type EnergyServicePointServicePointClassification

type EnergyServicePointServicePointClassification string

EnergyServicePointServicePointClassification The classification of the service point as defined in MSATS procedures

const (
	EnergyServicePointServicePointClassificationDISTRIBUTIONWHOLESALE          EnergyServicePointServicePointClassification = "DISTRIBUTION_WHOLESALE"
	EnergyServicePointServicePointClassificationEXTERNALPROFILE                EnergyServicePointServicePointClassification = "EXTERNAL_PROFILE"
	EnergyServicePointServicePointClassificationGENERATOR                      EnergyServicePointServicePointClassification = "GENERATOR"
	EnergyServicePointServicePointClassificationLARGE                          EnergyServicePointServicePointClassification = "LARGE"
	EnergyServicePointServicePointClassificationNONCONTESTUNMETEREDLOAD        EnergyServicePointServicePointClassification = "NON_CONTEST_UNMETERED_LOAD"
	EnergyServicePointServicePointClassificationNONREGISTEREDEMBEDDEDGENERATOR EnergyServicePointServicePointClassification = "NON_REGISTERED_EMBEDDED_GENERATOR"
	EnergyServicePointServicePointClassificationSMALL                          EnergyServicePointServicePointClassification = "SMALL"
	EnergyServicePointServicePointClassificationWHOLESALE                      EnergyServicePointServicePointClassification = "WHOLESALE"
)

Defines values for EnergyServicePointServicePointClassification.

type EnergyServicePointServicePointStatus

type EnergyServicePointServicePointStatus string

EnergyServicePointServicePointStatus Code used to indicate the status of the service point. Note the details for the enumeration values below:<ul><li>**ACTIVE** - An active, energised, service point</li><li>**DE_ENERGISED** - The service point exists but is deenergised</li><li>**EXTINCT** - The service point has been permanently decommissioned</li><li>**GREENFIELD** - Applies to a service point that has never been energised</li><li>**OFF_MARKET** - Applies when the service point is no longer settled in the NEM</li></ul>

const (
	EnergyServicePointServicePointStatusACTIVE      EnergyServicePointServicePointStatus = "ACTIVE"
	EnergyServicePointServicePointStatusDEENERGISED EnergyServicePointServicePointStatus = "DE_ENERGISED"
	EnergyServicePointServicePointStatusEXTINCT     EnergyServicePointServicePointStatus = "EXTINCT"
	EnergyServicePointServicePointStatusGREENFIELD  EnergyServicePointServicePointStatus = "GREENFIELD"
	EnergyServicePointServicePointStatusOFFMARKET   EnergyServicePointServicePointStatus = "OFF_MARKET"
)

Defines values for EnergyServicePointServicePointStatus.

type EnergyUsageListResponse

type EnergyUsageListResponse struct {
	Data  EnergyUsageListResponseData `json:"data"`
	Links LinksPaginated              `json:"links"`
	Meta  MetaPaginated               `json:"meta"`
}

EnergyUsageListResponse defines model for EnergyUsageListResponse.

type EnergyUsageListResponseData added in v0.1.6

type EnergyUsageListResponseData struct {
	// Reads Array of meter reads sorted by NMI in ascending order followed by readStartDate in descending order
	Reads []EnergyUsageRead `json:"reads"`
}

EnergyUsageListResponseData defines model for EnergyUsageListResponse_data.

type EnergyUsageRead

type EnergyUsageRead struct {
	// BasicRead Mandatory if readUType is set to basicRead
	BasicRead *EnergyUsageReadBasicRead `json:"basicRead,omitempty"`

	// ControlledLoad Indicates whether the energy recorded by this register is created under a Controlled Load regime
	ControlledLoad *bool `json:"controlledLoad,omitempty"`

	// IntervalRead Mandatory if readUType is set to intervalRead
	IntervalRead *EnergyUsageReadIntervalRead `json:"intervalRead,omitempty"`

	// MeterId Meter id/serial number as it appears in customer’s bill. ID permanence rules do not apply.
	MeterId *string `json:"meterId,omitempty"`

	// ReadEndDate Date when the meter reads end in AEST.  If absent then assumed to be equal to readStartDate.  In this case the entry represents data for a single date specified by readStartDate.
	ReadEndDate *string `json:"readEndDate,omitempty"`

	// ReadStartDate Date when the meter reads start in AEST and assumed to start from 12:00 am AEST.
	ReadStartDate string `json:"readStartDate"`

	// ReadUType Specify the type of the meter read data
	ReadUType EnergyUsageReadReadUType `json:"readUType"`

	// RegisterId Register ID of the meter register where the meter reads are obtained
	RegisterId *string `json:"registerId,omitempty"`

	// RegisterSuffix Register suffix of the meter register where the meter reads are obtained
	RegisterSuffix string `json:"registerSuffix"`

	// ServicePointId Tokenised ID of the service point to be used for referring to the service point in the CDR API suite.  To be created in accordance with CDR ID permanence requirements
	ServicePointId string `json:"servicePointId"`

	// UnitOfMeasure Unit of measure of the meter reads. Refer to Appendix B of <a href='https://www.aemo.com.au/-/media/files/stakeholder_consultation/consultations/nem-consultations/2019/5ms-metering-package-2/final-determination/mdff-specification-nem12-nem13-v21-final-determination-clean.pdf?la=en&hash=03FCBA0D60E091DE00F2361AE76206EA'>MDFF Specification NEM12 NEM13 v2.1</a> for a list of possible values.
	UnitOfMeasure *string `json:"unitOfMeasure,omitempty"`
}

EnergyUsageRead defines model for EnergyUsageRead.

type EnergyUsageReadBasicRead added in v0.1.6

type EnergyUsageReadBasicRead struct {
	// Quality The quality of the read taken.  If absent then assumed to be ACTUAL
	Quality *EnergyUsageReadBasicReadQuality `json:"quality,omitempty"`

	// Value Meter read value.  If positive then it means consumption, if negative it means export
	Value float32 `json:"value"`
}

EnergyUsageReadBasicRead Mandatory if readUType is set to basicRead

type EnergyUsageReadBasicReadQuality

type EnergyUsageReadBasicReadQuality string

EnergyUsageReadBasicReadQuality The quality of the read taken. If absent then assumed to be ACTUAL

const (
	EnergyUsageReadBasicReadQualityACTUAL          EnergyUsageReadBasicReadQuality = "ACTUAL"
	EnergyUsageReadBasicReadQualityFINALSUBSTITUTE EnergyUsageReadBasicReadQuality = "FINAL_SUBSTITUTE"
	EnergyUsageReadBasicReadQualitySUBSTITUTE      EnergyUsageReadBasicReadQuality = "SUBSTITUTE"
)

Defines values for EnergyUsageReadBasicReadQuality.

type EnergyUsageReadIntervalRead added in v0.1.6

type EnergyUsageReadIntervalRead struct {
	// AggregateValue The aggregate sum of the interval read values. If positive then it means net consumption, if negative it means net export
	AggregateValue float32 `json:"aggregateValue"`

	// IntervalReads Array of Interval read values. If positive then it means consumption, if negative it means export. Required when interval-reads query parameter equals FULL or  MIN_30.<br>Each read value indicates the read for the interval specified by readIntervalLength beginning at midnight of readStartDate (for example 00:00 to 00:30 would be the first reading in a 30 minute Interval)
	IntervalReads *[]float32 `json:"intervalReads,omitempty"`

	// ReadIntervalLength Read interval length in minutes. Required when interval-reads query parameter equals FULL or MIN_30
	ReadIntervalLength *int `json:"readIntervalLength,omitempty"`

	// ReadQualities  Specifies quality of reads that are not ACTUAL.  For read indices that are not specified, quality is assumed to be ACTUAL. If not present, all quality of all reads are assumed to be actual. Required when interval-reads query parameter equals FULL or MIN_30
	ReadQualities *[]EnergyUsageReadIntervalReadReadQualities `json:"readQualities,omitempty"`
}

EnergyUsageReadIntervalRead Mandatory if readUType is set to intervalRead

type EnergyUsageReadIntervalReadReadQualities added in v0.1.6

type EnergyUsageReadIntervalReadReadQualities struct {
	// EndInterval End interval for read quality flag
	EndInterval int `json:"endInterval"`

	// Quality The quality of the read taken
	Quality EnergyUsageReadIntervalReadReadQualitiesQuality `json:"quality"`

	// StartInterval Start interval for read quality flag. First read begins at 1
	StartInterval int `json:"startInterval"`
}

EnergyUsageReadIntervalReadReadQualities defines model for EnergyUsageRead_intervalRead_readQualities.

type EnergyUsageReadIntervalReadReadQualitiesQuality

type EnergyUsageReadIntervalReadReadQualitiesQuality string

EnergyUsageReadIntervalReadReadQualitiesQuality The quality of the read taken

const (
	FINALSUBSTITUTE EnergyUsageReadIntervalReadReadQualitiesQuality = "FINAL_SUBSTITUTE"
	SUBSTITUTE      EnergyUsageReadIntervalReadReadQualitiesQuality = "SUBSTITUTE"
)

Defines values for EnergyUsageReadIntervalReadReadQualitiesQuality.

type EnergyUsageReadReadUType

type EnergyUsageReadReadUType string

EnergyUsageReadReadUType Specify the type of the meter read data

const (
	BasicRead    EnergyUsageReadReadUType = "basicRead"
	IntervalRead EnergyUsageReadReadUType = "intervalRead"
)

Defines values for EnergyUsageReadReadUType.

type GetAccountParams

type GetAccountParams struct {
	// XV Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
	XV string `json:"x-v"`

	// XMinV Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
	XMinV *string `json:"x-min-v,omitempty"`

	// XFapiInteractionId An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a **[[RFC4122]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.
	XFapiInteractionId *string `json:"x-fapi-interaction-id,omitempty"`

	// XFapiAuthDate The time when the customer last logged in to the Data Recipient Software Product as described in **[[FAPI-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.  Required for all resource calls (customer present and unattended). Not required for unauthenticated calls.
	XFapiAuthDate *string `json:"x-fapi-auth-date,omitempty"`

	// XFapiCustomerIpAddress The customer's original IP address if the customer is currently logged in to the data recipient. The presence of this header indicates that the API is being called in a customer present context. Not to be included for unauthenticated calls.
	XFapiCustomerIpAddress *string `json:"x-fapi-customer-ip-address,omitempty"`

	// XCdsClientHeaders The customer's original standard http headers [Base64](#common-field-types) encoded, including the original User Agent header, if the customer is currently logged in to the data recipient. Mandatory for customer present calls.  Not required for unattended or unauthenticated calls.
	XCdsClientHeaders *string `json:"x-cds-client-headers,omitempty"`
}

GetAccountParams defines parameters for GetAccount.

type GetBalanceForAccountParams

type GetBalanceForAccountParams struct {
	// XV Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
	XV string `json:"x-v"`

	// XMinV Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
	XMinV *string `json:"x-min-v,omitempty"`

	// XFapiInteractionId An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a **[[RFC4122]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.
	XFapiInteractionId *string `json:"x-fapi-interaction-id,omitempty"`

	// XFapiAuthDate The time when the customer last logged in to the Data Recipient Software Product as described in **[[FAPI-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.  Required for all resource calls (customer present and unattended). Not required for unauthenticated calls.
	XFapiAuthDate *string `json:"x-fapi-auth-date,omitempty"`

	// XFapiCustomerIpAddress The customer's original IP address if the customer is currently logged in to the data recipient. The presence of this header indicates that the API is being called in a customer present context. Not to be included for unauthenticated calls.
	XFapiCustomerIpAddress *string `json:"x-fapi-customer-ip-address,omitempty"`

	// XCdsClientHeaders The customer's original standard http headers [Base64](#common-field-types) encoded, including the original User Agent header, if the customer is currently logged in to the data recipient. Mandatory for customer present calls.  Not required for unattended or unauthenticated calls.
	XCdsClientHeaders *string `json:"x-cds-client-headers,omitempty"`
}

GetBalanceForAccountParams defines parameters for GetBalanceForAccount.

type GetBillingForAccountParams

type GetBillingForAccountParams struct {
	// NewestTime Constrain the request to records with effective time at or before this date/time.  If absent defaults to current date/time.  Format is aligned to DateTimeString common type
	NewestTime *string `form:"newest-time,omitempty" json:"newest-time,omitempty"`

	// OldestTime Constrain the request to records with effective time at or after this date/time. If absent defaults to newest-time minus 12 months.  Format is aligned to DateTimeString common type
	OldestTime *string `form:"oldest-time,omitempty" json:"oldest-time,omitempty"`

	// Page Page of results to request (standard pagination)
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize Page size to request.  Default is 25 (standard pagination)
	PageSize *int `form:"page-size,omitempty" json:"page-size,omitempty"`

	// XV Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
	XV string `json:"x-v"`

	// XMinV Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
	XMinV *string `json:"x-min-v,omitempty"`

	// XFapiInteractionId An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a **[[RFC4122]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.
	XFapiInteractionId *string `json:"x-fapi-interaction-id,omitempty"`

	// XFapiAuthDate The time when the customer last logged in to the Data Recipient Software Product as described in **[[FAPI-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.  Required for all resource calls (customer present and unattended). Not required for unauthenticated calls.
	XFapiAuthDate *string `json:"x-fapi-auth-date,omitempty"`

	// XFapiCustomerIpAddress The customer's original IP address if the customer is currently logged in to the data recipient. The presence of this header indicates that the API is being called in a customer present context. Not to be included for unauthenticated calls.
	XFapiCustomerIpAddress *string `json:"x-fapi-customer-ip-address,omitempty"`

	// XCdsClientHeaders The customer's original standard http headers [Base64](#common-field-types) encoded, including the original User Agent header, if the customer is currently logged in to the data recipient. Mandatory for customer present calls.  Not required for unattended or unauthenticated calls.
	XCdsClientHeaders *string `json:"x-cds-client-headers,omitempty"`
}

GetBillingForAccountParams defines parameters for GetBillingForAccount.

type GetConcessionsParams

type GetConcessionsParams struct {
	// XV Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
	XV string `json:"x-v"`

	// XMinV Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
	XMinV *string `json:"x-min-v,omitempty"`

	// XFapiInteractionId An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a **[[RFC4122]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.
	XFapiInteractionId *string `json:"x-fapi-interaction-id,omitempty"`

	// XFapiAuthDate The time when the customer last logged in to the Data Recipient Software Product as described in **[[FAPI-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.  Required for all resource calls (customer present and unattended). Not required for unauthenticated calls.
	XFapiAuthDate *string `json:"x-fapi-auth-date,omitempty"`

	// XFapiCustomerIpAddress The customer's original IP address if the customer is currently logged in to the data recipient. The presence of this header indicates that the API is being called in a customer present context. Not to be included for unauthenticated calls.
	XFapiCustomerIpAddress *string `json:"x-fapi-customer-ip-address,omitempty"`

	// XCdsClientHeaders The customer's original standard http headers [Base64](#common-field-types) encoded, including the original User Agent header, if the customer is currently logged in to the data recipient. Mandatory for customer present calls.  Not required for unattended or unauthenticated calls.
	XCdsClientHeaders *string `json:"x-cds-client-headers,omitempty"`
}

GetConcessionsParams defines parameters for GetConcessions.

type GetDERForServicePointParams

type GetDERForServicePointParams struct {
	// XV Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
	XV string `json:"x-v"`

	// XMinV Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
	XMinV *string `json:"x-min-v,omitempty"`

	// XFapiInteractionId An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a **[[RFC4122]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.
	XFapiInteractionId *string `json:"x-fapi-interaction-id,omitempty"`

	// XFapiAuthDate The time when the customer last logged in to the Data Recipient Software Product as described in **[[FAPI-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.  Required for all resource calls (customer present and unattended). Not required for unauthenticated calls.
	XFapiAuthDate *string `json:"x-fapi-auth-date,omitempty"`

	// XFapiCustomerIpAddress The customer's original IP address if the customer is currently logged in to the data recipient. The presence of this header indicates that the API is being called in a customer present context. Not to be included for unauthenticated calls.
	XFapiCustomerIpAddress *string `json:"x-fapi-customer-ip-address,omitempty"`

	// XCdsClientHeaders The customer's original standard http headers [Base64](#common-field-types) encoded, including the original User Agent header, if the customer is currently logged in to the data recipient. Mandatory for customer present calls.  Not required for unattended or unauthenticated calls.
	XCdsClientHeaders *string `json:"x-cds-client-headers,omitempty"`
}

GetDERForServicePointParams defines parameters for GetDERForServicePoint.

type GetInvoicesForAccountParams

type GetInvoicesForAccountParams struct {
	// NewestDate Constrain the request to records with issue date at or before this date.  If absent defaults to current date.  Format is aligned to DateString common type
	NewestDate *string `form:"newest-date,omitempty" json:"newest-date,omitempty"`

	// OldestDate Constrain the request to records with issue date at or after this date. If absent defaults to newest-date minus 24 months.  Format is aligned to DateString common type
	OldestDate *string `form:"oldest-date,omitempty" json:"oldest-date,omitempty"`

	// Page Page of results to request (standard pagination)
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize Page size to request.  Default is 25 (standard pagination)
	PageSize *int `form:"page-size,omitempty" json:"page-size,omitempty"`

	// XV Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
	XV string `json:"x-v"`

	// XMinV Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
	XMinV *string `json:"x-min-v,omitempty"`

	// XFapiInteractionId An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a **[[RFC4122]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.
	XFapiInteractionId *string `json:"x-fapi-interaction-id,omitempty"`

	// XFapiAuthDate The time when the customer last logged in to the Data Recipient Software Product as described in **[[FAPI-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.  Required for all resource calls (customer present and unattended). Not required for unauthenticated calls.
	XFapiAuthDate *string `json:"x-fapi-auth-date,omitempty"`

	// XFapiCustomerIpAddress The customer's original IP address if the customer is currently logged in to the data recipient. The presence of this header indicates that the API is being called in a customer present context. Not to be included for unauthenticated calls.
	XFapiCustomerIpAddress *string `json:"x-fapi-customer-ip-address,omitempty"`

	// XCdsClientHeaders The customer's original standard http headers [Base64](#common-field-types) encoded, including the original User Agent header, if the customer is currently logged in to the data recipient. Mandatory for customer present calls.  Not required for unattended or unauthenticated calls.
	XCdsClientHeaders *string `json:"x-cds-client-headers,omitempty"`
}

GetInvoicesForAccountParams defines parameters for GetInvoicesForAccount.

type GetPaymentScheduleParams

type GetPaymentScheduleParams struct {
	// XV Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
	XV string `json:"x-v"`

	// XMinV Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
	XMinV *string `json:"x-min-v,omitempty"`

	// XFapiInteractionId An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a **[[RFC4122]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.
	XFapiInteractionId *string `json:"x-fapi-interaction-id,omitempty"`

	// XFapiAuthDate The time when the customer last logged in to the Data Recipient Software Product as described in **[[FAPI-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.  Required for all resource calls (customer present and unattended). Not required for unauthenticated calls.
	XFapiAuthDate *string `json:"x-fapi-auth-date,omitempty"`

	// XFapiCustomerIpAddress The customer's original IP address if the customer is currently logged in to the data recipient. The presence of this header indicates that the API is being called in a customer present context. Not to be included for unauthenticated calls.
	XFapiCustomerIpAddress *string `json:"x-fapi-customer-ip-address,omitempty"`

	// XCdsClientHeaders The customer's original standard http headers [Base64](#common-field-types) encoded, including the original User Agent header, if the customer is currently logged in to the data recipient. Mandatory for customer present calls.  Not required for unattended or unauthenticated calls.
	XCdsClientHeaders *string `json:"x-cds-client-headers,omitempty"`
}

GetPaymentScheduleParams defines parameters for GetPaymentSchedule.

type GetPlanParams

type GetPlanParams struct {
	// XV Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
	XV string `json:"x-v"`

	// XMinV Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
	XMinV *string `json:"x-min-v,omitempty"`
}

GetPlanParams defines parameters for GetPlan.

type GetServicePointParams

type GetServicePointParams struct {
	// XV Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
	XV string `json:"x-v"`

	// XMinV Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
	XMinV *string `json:"x-min-v,omitempty"`

	// XFapiInteractionId An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a **[[RFC4122]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.
	XFapiInteractionId *string `json:"x-fapi-interaction-id,omitempty"`

	// XFapiAuthDate The time when the customer last logged in to the Data Recipient Software Product as described in **[[FAPI-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.  Required for all resource calls (customer present and unattended). Not required for unauthenticated calls.
	XFapiAuthDate *string `json:"x-fapi-auth-date,omitempty"`

	// XFapiCustomerIpAddress The customer's original IP address if the customer is currently logged in to the data recipient. The presence of this header indicates that the API is being called in a customer present context. Not to be included for unauthenticated calls.
	XFapiCustomerIpAddress *string `json:"x-fapi-customer-ip-address,omitempty"`

	// XCdsClientHeaders The customer's original standard http headers [Base64](#common-field-types) encoded, including the original User Agent header, if the customer is currently logged in to the data recipient. Mandatory for customer present calls.  Not required for unattended or unauthenticated calls.
	XCdsClientHeaders *string `json:"x-cds-client-headers,omitempty"`
}

GetServicePointParams defines parameters for GetServicePoint.

type GetUsageForServicePointParams

type GetUsageForServicePointParams struct {
	// OldestDate Constrain the request to records with effective date at or after this date. If absent defaults to newest-date minus 24 months.  Format is aligned to DateString common type
	OldestDate *string `form:"oldest-date,omitempty" json:"oldest-date,omitempty"`

	// NewestDate Constrain the request to records with effective date at or before this date.  If absent defaults to current date.  Format is aligned to DateString common type
	NewestDate *string `form:"newest-date,omitempty" json:"newest-date,omitempty"`

	// IntervalReads Type of interval reads. Any one of the valid values for this field can be supplied. If absent defaults to NONE
	IntervalReads *GetUsageForServicePointParamsIntervalReads `form:"interval-reads,omitempty" json:"interval-reads,omitempty"`

	// Page Page of results to request (standard pagination)
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize Page size to request.  Default is 25 (standard pagination)
	PageSize *int `form:"page-size,omitempty" json:"page-size,omitempty"`

	// XV Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
	XV string `json:"x-v"`

	// XMinV Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
	XMinV *string `json:"x-min-v,omitempty"`

	// XFapiInteractionId An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a **[[RFC4122]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.
	XFapiInteractionId *string `json:"x-fapi-interaction-id,omitempty"`

	// XFapiAuthDate The time when the customer last logged in to the Data Recipient Software Product as described in **[[FAPI-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.  Required for all resource calls (customer present and unattended). Not required for unauthenticated calls.
	XFapiAuthDate *string `json:"x-fapi-auth-date,omitempty"`

	// XFapiCustomerIpAddress The customer's original IP address if the customer is currently logged in to the data recipient. The presence of this header indicates that the API is being called in a customer present context. Not to be included for unauthenticated calls.
	XFapiCustomerIpAddress *string `json:"x-fapi-customer-ip-address,omitempty"`

	// XCdsClientHeaders The customer's original standard http headers [Base64](#common-field-types) encoded, including the original User Agent header, if the customer is currently logged in to the data recipient. Mandatory for customer present calls.  Not required for unattended or unauthenticated calls.
	XCdsClientHeaders *string `json:"x-cds-client-headers,omitempty"`
}

GetUsageForServicePointParams defines parameters for GetUsageForServicePoint.

type GetUsageForServicePointParamsIntervalReads

type GetUsageForServicePointParamsIntervalReads string

GetUsageForServicePointParamsIntervalReads defines parameters for GetUsageForServicePoint.

Defines values for GetUsageForServicePointParamsIntervalReads.

type Links struct {
	// Self Fully qualified link that generated the current response document
	Self string `json:"self"`
}

Links defines model for Links.

type LinksPaginated

type LinksPaginated struct {
	// First URI to the first page of this set. Mandatory if this response is not the first page
	First *string `json:"first,omitempty"`

	// Last URI to the last page of this set. Mandatory if this response is not the last page
	Last *string `json:"last,omitempty"`

	// Next URI to the next page of this set. Mandatory if this response is not the last page
	Next *string `json:"next,omitempty"`

	// Prev URI to the previous page of this set. Mandatory if this response is not the first page
	Prev *string `json:"prev,omitempty"`

	// Self Fully qualified link that generated the current response document
	Self string `json:"self"`
}

LinksPaginated defines model for LinksPaginated.

type ListAccountsParams

type ListAccountsParams struct {
	// OpenStatus Used to filter results according to open/closed status. Values can be OPEN, CLOSED or ALL. If absent then ALL is assumed
	OpenStatus *ListAccountsParamsOpenStatus `form:"open-status,omitempty" json:"open-status,omitempty"`

	// Page Page of results to request (standard pagination)
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize Page size to request.  Default is 25 (standard pagination)
	PageSize *int `form:"page-size,omitempty" json:"page-size,omitempty"`

	// XV Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
	XV string `json:"x-v"`

	// XMinV Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
	XMinV *string `json:"x-min-v,omitempty"`

	// XFapiInteractionId An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a **[[RFC4122]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.
	XFapiInteractionId *string `json:"x-fapi-interaction-id,omitempty"`

	// XFapiAuthDate The time when the customer last logged in to the Data Recipient Software Product as described in **[[FAPI-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.  Required for all resource calls (customer present and unattended). Not required for unauthenticated calls.
	XFapiAuthDate *string `json:"x-fapi-auth-date,omitempty"`

	// XFapiCustomerIpAddress The customer's original IP address if the customer is currently logged in to the data recipient. The presence of this header indicates that the API is being called in a customer present context. Not to be included for unauthenticated calls.
	XFapiCustomerIpAddress *string `json:"x-fapi-customer-ip-address,omitempty"`

	// XCdsClientHeaders The customer's original standard http headers [Base64](#common-field-types) encoded, including the original User Agent header, if the customer is currently logged in to the data recipient. Mandatory for customer present calls.  Not required for unattended or unauthenticated calls.
	XCdsClientHeaders *string `json:"x-cds-client-headers,omitempty"`
}

ListAccountsParams defines parameters for ListAccounts.

type ListAccountsParamsOpenStatus

type ListAccountsParamsOpenStatus string

ListAccountsParamsOpenStatus defines parameters for ListAccounts.

const (
	ListAccountsParamsOpenStatusALL    ListAccountsParamsOpenStatus = "ALL"
	ListAccountsParamsOpenStatusCLOSED ListAccountsParamsOpenStatus = "CLOSED"
	ListAccountsParamsOpenStatusOPEN   ListAccountsParamsOpenStatus = "OPEN"
)

Defines values for ListAccountsParamsOpenStatus.

type ListBalancesBulkParams

type ListBalancesBulkParams struct {
	// Page Page of results to request (standard pagination)
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize Page size to request.  Default is 25 (standard pagination)
	PageSize *int `form:"page-size,omitempty" json:"page-size,omitempty"`

	// XV Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
	XV string `json:"x-v"`

	// XMinV Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
	XMinV *string `json:"x-min-v,omitempty"`

	// XFapiInteractionId An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a **[[RFC4122]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.
	XFapiInteractionId *string `json:"x-fapi-interaction-id,omitempty"`

	// XFapiAuthDate The time when the customer last logged in to the Data Recipient Software Product as described in **[[FAPI-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.  Required for all resource calls (customer present and unattended). Not required for unauthenticated calls.
	XFapiAuthDate *string `json:"x-fapi-auth-date,omitempty"`

	// XFapiCustomerIpAddress The customer's original IP address if the customer is currently logged in to the data recipient. The presence of this header indicates that the API is being called in a customer present context. Not to be included for unauthenticated calls.
	XFapiCustomerIpAddress *string `json:"x-fapi-customer-ip-address,omitempty"`

	// XCdsClientHeaders The customer's original standard http headers [Base64](#common-field-types) encoded, including the original User Agent header, if the customer is currently logged in to the data recipient. Mandatory for customer present calls.  Not required for unattended or unauthenticated calls.
	XCdsClientHeaders *string `json:"x-cds-client-headers,omitempty"`
}

ListBalancesBulkParams defines parameters for ListBalancesBulk.

type ListBalancesForAccountsJSONRequestBody

type ListBalancesForAccountsJSONRequestBody = RequestAccountIdList

ListBalancesForAccountsJSONRequestBody defines body for ListBalancesForAccounts for application/json ContentType.

type ListBalancesForAccountsParams

type ListBalancesForAccountsParams struct {
	// Page Page of results to request (standard pagination)
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize Page size to request.  Default is 25 (standard pagination)
	PageSize *int `form:"page-size,omitempty" json:"page-size,omitempty"`

	// XV Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
	XV string `json:"x-v"`

	// XMinV Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
	XMinV *string `json:"x-min-v,omitempty"`

	// XFapiInteractionId An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a **[[RFC4122]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.
	XFapiInteractionId *string `json:"x-fapi-interaction-id,omitempty"`

	// XFapiAuthDate The time when the customer last logged in to the Data Recipient Software Product as described in **[[FAPI-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.  Required for all resource calls (customer present and unattended). Not required for unauthenticated calls.
	XFapiAuthDate *string `json:"x-fapi-auth-date,omitempty"`

	// XFapiCustomerIpAddress The customer's original IP address if the customer is currently logged in to the data recipient. The presence of this header indicates that the API is being called in a customer present context. Not to be included for unauthenticated calls.
	XFapiCustomerIpAddress *string `json:"x-fapi-customer-ip-address,omitempty"`

	// XCdsClientHeaders The customer's original standard http headers [Base64](#common-field-types) encoded, including the original User Agent header, if the customer is currently logged in to the data recipient. Mandatory for customer present calls.  Not required for unattended or unauthenticated calls.
	XCdsClientHeaders *string `json:"x-cds-client-headers,omitempty"`
}

ListBalancesForAccountsParams defines parameters for ListBalancesForAccounts.

type ListBillingBulkParams

type ListBillingBulkParams struct {
	// NewestTime Constrain the request to records with effective time at or before this date/time.  If absent defaults to current date/time.  Format is aligned to DateTimeString common type
	NewestTime *string `form:"newest-time,omitempty" json:"newest-time,omitempty"`

	// OldestTime Constrain the request to records with effective time at or after this date/time. If absent defaults to newest-time minus 12 months.  Format is aligned to DateTimeString common type
	OldestTime *string `form:"oldest-time,omitempty" json:"oldest-time,omitempty"`

	// Page Page of results to request (standard pagination)
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize Page size to request.  Default is 25 (standard pagination)
	PageSize *int `form:"page-size,omitempty" json:"page-size,omitempty"`

	// XV Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
	XV string `json:"x-v"`

	// XMinV Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
	XMinV *string `json:"x-min-v,omitempty"`

	// XFapiInteractionId An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a **[[RFC4122]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.
	XFapiInteractionId *string `json:"x-fapi-interaction-id,omitempty"`

	// XFapiAuthDate The time when the customer last logged in to the Data Recipient Software Product as described in **[[FAPI-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.  Required for all resource calls (customer present and unattended). Not required for unauthenticated calls.
	XFapiAuthDate *string `json:"x-fapi-auth-date,omitempty"`

	// XFapiCustomerIpAddress The customer's original IP address if the customer is currently logged in to the data recipient. The presence of this header indicates that the API is being called in a customer present context. Not to be included for unauthenticated calls.
	XFapiCustomerIpAddress *string `json:"x-fapi-customer-ip-address,omitempty"`

	// XCdsClientHeaders The customer's original standard http headers [Base64](#common-field-types) encoded, including the original User Agent header, if the customer is currently logged in to the data recipient. Mandatory for customer present calls.  Not required for unattended or unauthenticated calls.
	XCdsClientHeaders *string `json:"x-cds-client-headers,omitempty"`
}

ListBillingBulkParams defines parameters for ListBillingBulk.

type ListBillingForAccountsJSONRequestBody

type ListBillingForAccountsJSONRequestBody = RequestAccountIdList

ListBillingForAccountsJSONRequestBody defines body for ListBillingForAccounts for application/json ContentType.

type ListBillingForAccountsParams

type ListBillingForAccountsParams struct {
	// NewestTime Constrain the request to records with effective time at or before this date/time.  If absent defaults to current date/time.  Format is aligned to DateTimeString common type
	NewestTime *string `form:"newest-time,omitempty" json:"newest-time,omitempty"`

	// OldestTime Constrain the request to records with effective time at or after this date/time. If absent defaults to newest-time minus 12 months.  Format is aligned to DateTimeString common type
	OldestTime *string `form:"oldest-time,omitempty" json:"oldest-time,omitempty"`

	// Page Page of results to request (standard pagination)
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize Page size to request.  Default is 25 (standard pagination)
	PageSize *int `form:"page-size,omitempty" json:"page-size,omitempty"`

	// XV Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
	XV string `json:"x-v"`

	// XMinV Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
	XMinV *string `json:"x-min-v,omitempty"`

	// XFapiInteractionId An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a **[[RFC4122]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.
	XFapiInteractionId *string `json:"x-fapi-interaction-id,omitempty"`

	// XFapiAuthDate The time when the customer last logged in to the Data Recipient Software Product as described in **[[FAPI-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.  Required for all resource calls (customer present and unattended). Not required for unauthenticated calls.
	XFapiAuthDate *string `json:"x-fapi-auth-date,omitempty"`

	// XFapiCustomerIpAddress The customer's original IP address if the customer is currently logged in to the data recipient. The presence of this header indicates that the API is being called in a customer present context. Not to be included for unauthenticated calls.
	XFapiCustomerIpAddress *string `json:"x-fapi-customer-ip-address,omitempty"`

	// XCdsClientHeaders The customer's original standard http headers [Base64](#common-field-types) encoded, including the original User Agent header, if the customer is currently logged in to the data recipient. Mandatory for customer present calls.  Not required for unattended or unauthenticated calls.
	XCdsClientHeaders *string `json:"x-cds-client-headers,omitempty"`
}

ListBillingForAccountsParams defines parameters for ListBillingForAccounts.

type ListDERBulkParams

type ListDERBulkParams struct {
	// Page Page of results to request (standard pagination)
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize Page size to request.  Default is 25 (standard pagination)
	PageSize *int `form:"page-size,omitempty" json:"page-size,omitempty"`

	// XV Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
	XV string `json:"x-v"`

	// XMinV Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
	XMinV *string `json:"x-min-v,omitempty"`

	// XFapiInteractionId An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a **[[RFC4122]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.
	XFapiInteractionId *string `json:"x-fapi-interaction-id,omitempty"`

	// XFapiAuthDate The time when the customer last logged in to the Data Recipient Software Product as described in **[[FAPI-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.  Required for all resource calls (customer present and unattended). Not required for unauthenticated calls.
	XFapiAuthDate *string `json:"x-fapi-auth-date,omitempty"`

	// XFapiCustomerIpAddress The customer's original IP address if the customer is currently logged in to the data recipient. The presence of this header indicates that the API is being called in a customer present context. Not to be included for unauthenticated calls.
	XFapiCustomerIpAddress *string `json:"x-fapi-customer-ip-address,omitempty"`

	// XCdsClientHeaders The customer's original standard http headers [Base64](#common-field-types) encoded, including the original User Agent header, if the customer is currently logged in to the data recipient. Mandatory for customer present calls.  Not required for unattended or unauthenticated calls.
	XCdsClientHeaders *string `json:"x-cds-client-headers,omitempty"`
}

ListDERBulkParams defines parameters for ListDERBulk.

type ListDERForServicePointsJSONRequestBody

type ListDERForServicePointsJSONRequestBody = RequestServicePointIdList

ListDERForServicePointsJSONRequestBody defines body for ListDERForServicePoints for application/json ContentType.

type ListDERForServicePointsParams

type ListDERForServicePointsParams struct {
	// Page Page of results to request (standard pagination)
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize Page size to request.  Default is 25 (standard pagination)
	PageSize *int `form:"page-size,omitempty" json:"page-size,omitempty"`

	// XV Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
	XV string `json:"x-v"`

	// XMinV Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
	XMinV *string `json:"x-min-v,omitempty"`

	// XFapiInteractionId An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a **[[RFC4122]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.
	XFapiInteractionId *string `json:"x-fapi-interaction-id,omitempty"`

	// XFapiAuthDate The time when the customer last logged in to the Data Recipient Software Product as described in **[[FAPI-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.  Required for all resource calls (customer present and unattended). Not required for unauthenticated calls.
	XFapiAuthDate *string `json:"x-fapi-auth-date,omitempty"`

	// XFapiCustomerIpAddress The customer's original IP address if the customer is currently logged in to the data recipient. The presence of this header indicates that the API is being called in a customer present context. Not to be included for unauthenticated calls.
	XFapiCustomerIpAddress *string `json:"x-fapi-customer-ip-address,omitempty"`

	// XCdsClientHeaders The customer's original standard http headers [Base64](#common-field-types) encoded, including the original User Agent header, if the customer is currently logged in to the data recipient. Mandatory for customer present calls.  Not required for unattended or unauthenticated calls.
	XCdsClientHeaders *string `json:"x-cds-client-headers,omitempty"`
}

ListDERForServicePointsParams defines parameters for ListDERForServicePoints.

type ListInvoicesBulkParams

type ListInvoicesBulkParams struct {
	// NewestDate Constrain the request to records with issue date at or before this date.  If absent defaults to current date.  Format is aligned to DateString common type
	NewestDate *string `form:"newest-date,omitempty" json:"newest-date,omitempty"`

	// OldestDate Constrain the request to records with issue date at or after this date. If absent defaults to newest-date minus 24 months.  Format is aligned to DateString common type
	OldestDate *string `form:"oldest-date,omitempty" json:"oldest-date,omitempty"`

	// Page Page of results to request (standard pagination)
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize Page size to request.  Default is 25 (standard pagination)
	PageSize *int `form:"page-size,omitempty" json:"page-size,omitempty"`

	// XV Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
	XV string `json:"x-v"`

	// XMinV Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
	XMinV *string `json:"x-min-v,omitempty"`

	// XFapiInteractionId An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a **[[RFC4122]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.
	XFapiInteractionId *string `json:"x-fapi-interaction-id,omitempty"`

	// XFapiAuthDate The time when the customer last logged in to the Data Recipient Software Product as described in **[[FAPI-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.  Required for all resource calls (customer present and unattended). Not required for unauthenticated calls.
	XFapiAuthDate *string `json:"x-fapi-auth-date,omitempty"`

	// XFapiCustomerIpAddress The customer's original IP address if the customer is currently logged in to the data recipient. The presence of this header indicates that the API is being called in a customer present context. Not to be included for unauthenticated calls.
	XFapiCustomerIpAddress *string `json:"x-fapi-customer-ip-address,omitempty"`

	// XCdsClientHeaders The customer's original standard http headers [Base64](#common-field-types) encoded, including the original User Agent header, if the customer is currently logged in to the data recipient. Mandatory for customer present calls.  Not required for unattended or unauthenticated calls.
	XCdsClientHeaders *string `json:"x-cds-client-headers,omitempty"`
}

ListInvoicesBulkParams defines parameters for ListInvoicesBulk.

type ListInvoicesForAccountsJSONRequestBody

type ListInvoicesForAccountsJSONRequestBody = RequestAccountIdList

ListInvoicesForAccountsJSONRequestBody defines body for ListInvoicesForAccounts for application/json ContentType.

type ListInvoicesForAccountsParams

type ListInvoicesForAccountsParams struct {
	// NewestDate Constrain the request to records with issue date at or before this date.  If absent defaults to current date.  Format is aligned to DateString common type
	NewestDate *string `form:"newest-date,omitempty" json:"newest-date,omitempty"`

	// OldestDate Constrain the request to records with issue date at or after this date. If absent defaults to newest-date minus 24 months.  Format is aligned to DateString common type
	OldestDate *string `form:"oldest-date,omitempty" json:"oldest-date,omitempty"`

	// Page Page of results to request (standard pagination)
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize Page size to request.  Default is 25 (standard pagination)
	PageSize *int `form:"page-size,omitempty" json:"page-size,omitempty"`

	// XV Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
	XV string `json:"x-v"`

	// XMinV Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
	XMinV *string `json:"x-min-v,omitempty"`

	// XFapiInteractionId An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a **[[RFC4122]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.
	XFapiInteractionId *string `json:"x-fapi-interaction-id,omitempty"`

	// XFapiAuthDate The time when the customer last logged in to the Data Recipient Software Product as described in **[[FAPI-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.  Required for all resource calls (customer present and unattended). Not required for unauthenticated calls.
	XFapiAuthDate *string `json:"x-fapi-auth-date,omitempty"`

	// XFapiCustomerIpAddress The customer's original IP address if the customer is currently logged in to the data recipient. The presence of this header indicates that the API is being called in a customer present context. Not to be included for unauthenticated calls.
	XFapiCustomerIpAddress *string `json:"x-fapi-customer-ip-address,omitempty"`

	// XCdsClientHeaders The customer's original standard http headers [Base64](#common-field-types) encoded, including the original User Agent header, if the customer is currently logged in to the data recipient. Mandatory for customer present calls.  Not required for unattended or unauthenticated calls.
	XCdsClientHeaders *string `json:"x-cds-client-headers,omitempty"`
}

ListInvoicesForAccountsParams defines parameters for ListInvoicesForAccounts.

type ListPlansParams

type ListPlansParams struct {
	// Type Used to filter results on the type field.  Any one of the valid values for this field can be supplied plus 'ALL'.  If absent defaults to 'ALL'
	Type *ListPlansParamsType `form:"type,omitempty" json:"type,omitempty"`

	// FuelType Used to filter results on the fuelType field.  Any one of the valid values for this field can be supplied plus 'ALL'.  If absent defaults to 'ALL'
	FuelType *ListPlansParamsFuelType `form:"fuelType,omitempty" json:"fuelType,omitempty"`

	// Effective Allows for the filtering of plans based on whether the current time is within the period of time defined as effective by the effectiveFrom and effectiveTo fields. Valid values are ‘CURRENT’, ‘FUTURE’ and ‘ALL’. If absent defaults to 'CURRENT'
	Effective *ListPlansParamsEffective `form:"effective,omitempty" json:"effective,omitempty"`

	// UpdatedSince Only include plans that have been updated after the specified date and time.  If absent defaults to include all plans
	UpdatedSince *string `form:"updated-since,omitempty" json:"updated-since,omitempty"`

	// Brand Used to filter results on the brand field.  If absent defaults to include all plans
	Brand *string `form:"brand,omitempty" json:"brand,omitempty"`

	// Page Page of results to request (standard pagination)
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize Page size to request.  Default is 25 (standard pagination)
	PageSize *int `form:"page-size,omitempty" json:"page-size,omitempty"`

	// XV Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
	XV string `json:"x-v"`

	// XMinV Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
	XMinV *string `json:"x-min-v,omitempty"`
}

ListPlansParams defines parameters for ListPlans.

type ListPlansParamsEffective

type ListPlansParamsEffective string

ListPlansParamsEffective defines parameters for ListPlans.

const (
	ListPlansParamsEffectiveALL     ListPlansParamsEffective = "ALL"
	ListPlansParamsEffectiveCURRENT ListPlansParamsEffective = "CURRENT"
	ListPlansParamsEffectiveFUTURE  ListPlansParamsEffective = "FUTURE"
)

Defines values for ListPlansParamsEffective.

type ListPlansParamsFuelType

type ListPlansParamsFuelType string

ListPlansParamsFuelType defines parameters for ListPlans.

const (
	ListPlansParamsFuelTypeALL         ListPlansParamsFuelType = "ALL"
	ListPlansParamsFuelTypeDUAL        ListPlansParamsFuelType = "DUAL"
	ListPlansParamsFuelTypeELECTRICITY ListPlansParamsFuelType = "ELECTRICITY"
	ListPlansParamsFuelTypeGAS         ListPlansParamsFuelType = "GAS"
)

Defines values for ListPlansParamsFuelType.

type ListPlansParamsType

type ListPlansParamsType string

ListPlansParamsType defines parameters for ListPlans.

const (
	ListPlansParamsTypeALL       ListPlansParamsType = "ALL"
	ListPlansParamsTypeMARKET    ListPlansParamsType = "MARKET"
	ListPlansParamsTypeREGULATED ListPlansParamsType = "REGULATED"
	ListPlansParamsTypeSTANDING  ListPlansParamsType = "STANDING"
)

Defines values for ListPlansParamsType.

type ListServicePointsParams

type ListServicePointsParams struct {
	// Page Page of results to request (standard pagination)
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize Page size to request.  Default is 25 (standard pagination)
	PageSize *int `form:"page-size,omitempty" json:"page-size,omitempty"`

	// XV Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
	XV string `json:"x-v"`

	// XMinV Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
	XMinV *string `json:"x-min-v,omitempty"`

	// XFapiInteractionId An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a **[[RFC4122]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.
	XFapiInteractionId *string `json:"x-fapi-interaction-id,omitempty"`

	// XFapiAuthDate The time when the customer last logged in to the Data Recipient Software Product as described in **[[FAPI-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.  Required for all resource calls (customer present and unattended). Not required for unauthenticated calls.
	XFapiAuthDate *string `json:"x-fapi-auth-date,omitempty"`

	// XFapiCustomerIpAddress The customer's original IP address if the customer is currently logged in to the data recipient. The presence of this header indicates that the API is being called in a customer present context. Not to be included for unauthenticated calls.
	XFapiCustomerIpAddress *string `json:"x-fapi-customer-ip-address,omitempty"`

	// XCdsClientHeaders The customer's original standard http headers [Base64](#common-field-types) encoded, including the original User Agent header, if the customer is currently logged in to the data recipient. Mandatory for customer present calls.  Not required for unattended or unauthenticated calls.
	XCdsClientHeaders *string `json:"x-cds-client-headers,omitempty"`
}

ListServicePointsParams defines parameters for ListServicePoints.

type ListUsageBulkParams

type ListUsageBulkParams struct {
	// IntervalReads Type of interval reads. Any one of the valid values for this field can be supplied. If absent defaults to NONE
	IntervalReads *ListUsageBulkParamsIntervalReads `form:"interval-reads,omitempty" json:"interval-reads,omitempty"`

	// OldestDate Constrain the request to records with effective date at or after this date. If absent defaults to newest-date minus 24 months.  Format is aligned to DateString common type
	OldestDate *string `form:"oldest-date,omitempty" json:"oldest-date,omitempty"`

	// NewestDate Constrain the request to records with effective date at or before this date.  If absent defaults to current date.  Format is aligned to DateString common type
	NewestDate *string `form:"newest-date,omitempty" json:"newest-date,omitempty"`

	// Page Page of results to request (standard pagination)
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize Page size to request.  Default is 25 (standard pagination)
	PageSize *int `form:"page-size,omitempty" json:"page-size,omitempty"`

	// XV Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
	XV string `json:"x-v"`

	// XMinV Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
	XMinV *string `json:"x-min-v,omitempty"`

	// XFapiInteractionId An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a **[[RFC4122]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.
	XFapiInteractionId *string `json:"x-fapi-interaction-id,omitempty"`

	// XFapiAuthDate The time when the customer last logged in to the Data Recipient Software Product as described in **[[FAPI-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.  Required for all resource calls (customer present and unattended). Not required for unauthenticated calls.
	XFapiAuthDate *string `json:"x-fapi-auth-date,omitempty"`

	// XFapiCustomerIpAddress The customer's original IP address if the customer is currently logged in to the data recipient. The presence of this header indicates that the API is being called in a customer present context. Not to be included for unauthenticated calls.
	XFapiCustomerIpAddress *string `json:"x-fapi-customer-ip-address,omitempty"`

	// XCdsClientHeaders The customer's original standard http headers [Base64](#common-field-types) encoded, including the original User Agent header, if the customer is currently logged in to the data recipient. Mandatory for customer present calls.  Not required for unattended or unauthenticated calls.
	XCdsClientHeaders *string `json:"x-cds-client-headers,omitempty"`
}

ListUsageBulkParams defines parameters for ListUsageBulk.

type ListUsageBulkParamsIntervalReads

type ListUsageBulkParamsIntervalReads string

ListUsageBulkParamsIntervalReads defines parameters for ListUsageBulk.

const (
	ListUsageBulkParamsIntervalReadsFULL  ListUsageBulkParamsIntervalReads = "FULL"
	ListUsageBulkParamsIntervalReadsMIN30 ListUsageBulkParamsIntervalReads = "MIN_30"
	ListUsageBulkParamsIntervalReadsNONE  ListUsageBulkParamsIntervalReads = "NONE"
)

Defines values for ListUsageBulkParamsIntervalReads.

type ListUsageForServicePointsJSONRequestBody

type ListUsageForServicePointsJSONRequestBody = RequestServicePointIdList

ListUsageForServicePointsJSONRequestBody defines body for ListUsageForServicePoints for application/json ContentType.

type ListUsageForServicePointsParams

type ListUsageForServicePointsParams struct {
	// OldestDate Constrain the request to records with effective date at or after this date. If absent defaults to newest-date minus 24 months.  Format is aligned to DateString common type
	OldestDate *string `form:"oldest-date,omitempty" json:"oldest-date,omitempty"`

	// NewestDate Constrain the request to records with effective date at or before this date.  If absent defaults to current date.  Format is aligned to DateString common type
	NewestDate *string `form:"newest-date,omitempty" json:"newest-date,omitempty"`

	// IntervalReads Type of interval reads. Any one of the valid values for this field can be supplied. If absent defaults to NONE
	IntervalReads *ListUsageForServicePointsParamsIntervalReads `form:"interval-reads,omitempty" json:"interval-reads,omitempty"`

	// Page Page of results to request (standard pagination)
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize Page size to request.  Default is 25 (standard pagination)
	PageSize *int `form:"page-size,omitempty" json:"page-size,omitempty"`

	// XV Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If the value of [x-min-v](#request-headers) is equal to or higher than the value of [x-v](#request-headers) then the [x-min-v](#request-headers) header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See [HTTP Headers](#request-headers)
	XV string `json:"x-v"`

	// XMinV Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between [x-min-v](#request-headers) and [x-v](#request-headers). If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
	XMinV *string `json:"x-min-v,omitempty"`

	// XFapiInteractionId An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation id. If provided, the data holder must play back this value in the x-fapi-interaction-id response header. If not provided a **[[RFC4122]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.
	XFapiInteractionId *string `json:"x-fapi-interaction-id,omitempty"`

	// XFapiAuthDate The time when the customer last logged in to the Data Recipient Software Product as described in **[[FAPI-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**.  Required for all resource calls (customer present and unattended). Not required for unauthenticated calls.
	XFapiAuthDate *string `json:"x-fapi-auth-date,omitempty"`

	// XFapiCustomerIpAddress The customer's original IP address if the customer is currently logged in to the data recipient. The presence of this header indicates that the API is being called in a customer present context. Not to be included for unauthenticated calls.
	XFapiCustomerIpAddress *string `json:"x-fapi-customer-ip-address,omitempty"`

	// XCdsClientHeaders The customer's original standard http headers [Base64](#common-field-types) encoded, including the original User Agent header, if the customer is currently logged in to the data recipient. Mandatory for customer present calls.  Not required for unattended or unauthenticated calls.
	XCdsClientHeaders *string `json:"x-cds-client-headers,omitempty"`
}

ListUsageForServicePointsParams defines parameters for ListUsageForServicePoints.

type ListUsageForServicePointsParamsIntervalReads

type ListUsageForServicePointsParamsIntervalReads string

ListUsageForServicePointsParamsIntervalReads defines parameters for ListUsageForServicePoints.

const (
	ListUsageForServicePointsParamsIntervalReadsFULL  ListUsageForServicePointsParamsIntervalReads = "FULL"
	ListUsageForServicePointsParamsIntervalReadsMIN30 ListUsageForServicePointsParamsIntervalReads = "MIN_30"
	ListUsageForServicePointsParamsIntervalReadsNONE  ListUsageForServicePointsParamsIntervalReads = "NONE"
)

Defines values for ListUsageForServicePointsParamsIntervalReads.

type Meta

type Meta = map[string]interface{}

Meta defines model for Meta.

type MetaPaginated

type MetaPaginated struct {
	// TotalPages The total number of pages in the full set. See [pagination](#pagination).
	TotalPages int `json:"totalPages"`

	// TotalRecords The total number of records in the full set. See [pagination](#pagination).
	TotalRecords int `json:"totalRecords"`
}

MetaPaginated defines model for MetaPaginated.

type PatchedCoolingOffDays added in v0.3.0

type PatchedCoolingOffDays int

PatchedCoolingOffDays is a type that can unmarshal an int from both a number and a string. issue: https://github.com/ConsumerDataStandardsAustralia/standards-maintenance/issues/582

func (*PatchedCoolingOffDays) UnmarshalJSON added in v0.3.0

func (pc *PatchedCoolingOffDays) UnmarshalJSON(b []byte) error

UnmarshalJSON implements the json.Unmarshaller interface.

type PatchedDemandChargesDays added in v0.3.0

type PatchedDemandChargesDays []EnergyPlanTariffPeriodDemandChargesDays

PatchedDemandChargesDays is a type that can unmarshal from new enum format and also from old format issue: https://github.com/ConsumerDataStandardsAustralia/standards-maintenance/issues/502

func (*PatchedDemandChargesDays) UnmarshalJSON added in v0.3.0

func (pd *PatchedDemandChargesDays) UnmarshalJSON(b []byte) error

UnmarshalJSON implements the json.Unmarshaller interface.

type PatchedEnergyPlanSolarFeedInTariffSingleTariff added in v0.3.0

type PatchedEnergyPlanSolarFeedInTariffSingleTariff struct {
	// Amount is to support parsing EnergyPlanSolarFeedInTariff v1 response format
	Amount string `json:"amount,omitempty"`
	// Rates Array of feed in rates
	Rates []PatchedEnergyPlanSolarFeedInTariffSingleTariffRate `json:"rates"`
}

func (*PatchedEnergyPlanSolarFeedInTariffSingleTariff) UnmarshalJSON added in v0.3.0

func (tariff *PatchedEnergyPlanSolarFeedInTariffSingleTariff) UnmarshalJSON(b []byte) error

UnmarshalJSON implements the json.Unmarshaller interface.

type PatchedEnergyPlanSolarFeedInTariffSingleTariffRate added in v0.3.0

type PatchedEnergyPlanSolarFeedInTariffSingleTariffRate Rate

type PatchedEnergyPlanSolarFeedInTariffTimeVaryingTariff added in v0.3.0

type PatchedEnergyPlanSolarFeedInTariffTimeVaryingTariff struct {
	// Amount is to support parsing EnergyPlanSolarFeedInTariff v1 response format
	Amount string `json:"amount,omitempty"`
	// Rates Array of feed in rates
	Rates *[]PatchedEnergyPlanSolarFeedInTariffTimeVaryingTariffRate `json:"rates"`
	// TimeVariations Array of time periods for which this tariff is applicable
	TimeVariations []struct {
		// Days The days that the tariff applies to. At least one entry required
		Days []EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsTimeVariationsDays `json:"days"`

		// EndTime The end of the time period per day for which the tariff applies.  If absent assumes end of day (ie. one second before midnight)
		EndTime *string `json:"endTime,omitempty"`

		// StartTime The beginning of the time period per day for which the tariff applies.  If absent assumes start of day (ie. midnight)
		StartTime *string `json:"startTime,omitempty"`
	} `json:"timeVariations"`

	// Type The type of the charging time period. If absent applies to all periods
	Type *EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsType `json:"type,omitempty"`
}

func (*PatchedEnergyPlanSolarFeedInTariffTimeVaryingTariff) UnmarshalJSON added in v0.3.0

UnmarshalJSON implements the json.Unmarshaller interface.

type PatchedEnergyPlanSolarFeedInTariffTimeVaryingTariffRate added in v0.3.0

type PatchedEnergyPlanSolarFeedInTariffTimeVaryingTariffRate Rate

type Rate added in v0.3.0

type Rate struct {
	// MeasureUnit The measurement unit of rate. Assumed to be KWH if absent
	MeasureUnit *string `json:"measureUnit,omitempty"`
	// UnitPrice Unit price of usage per measure unit (exclusive of GST)
	UnitPrice string `json:"unitPrice"`
	// Volume Volume that this rate applies to. Only applicable for ‘stepped’ rates where different rates apply for different volumes of usage in a period
	Volume *float32 `json:"volume,omitempty"`
}

type RequestAccountIdList added in v0.3.0

type RequestAccountIdList struct {
	Data RequestAccountIdListData `json:"data"`
	Meta *Meta                    `json:"meta,omitempty"`
}

RequestAccountIdList defines model for RequestAccountIdList.

type RequestAccountIdListData added in v0.3.0

type RequestAccountIdListData struct {
	// AccountIds Array of specific accountIds to obtain data for
	AccountIds []string `json:"accountIds"`
}

RequestAccountIdListData defines model for RequestAccountIdList_data.

type RequestServicePointIdList added in v0.3.0

type RequestServicePointIdList struct {
	Data RequestServicePointIdListData `json:"data"`
	Meta *Meta                         `json:"meta,omitempty"`
}

RequestServicePointIdList defines model for RequestServicePointIdList.

type RequestServicePointIdListData added in v0.3.0

type RequestServicePointIdListData struct {
	// ServicePointIds Array of specific servicePointIds to obtain data for
	ServicePointIds []string `json:"servicePointIds"`
}

RequestServicePointIdListData defines model for RequestServicePointIdList_data.

type ResponseErrorListV2 added in v0.1.6

type ResponseErrorListV2 struct {
	Errors []ResponseErrorListV2Errors `json:"errors"`
}

ResponseErrorListV2 defines model for ResponseErrorListV2.

type ResponseErrorListV2Errors added in v0.1.6

type ResponseErrorListV2Errors struct {
	// Code The code of the error encountered. Where the error is specific to the respondent, an application-specific error code, expressed as a string value. If the error is application-specific, the URN code that the specific error extends must be provided in the meta object. Otherwise, the value is the error code URN.
	Code string `json:"code"`

	// Detail A human-readable explanation specific to this occurrence of the problem.
	Detail string `json:"detail"`

	// Meta Additional data for customised error codes
	Meta *ResponseErrorListV2Meta `json:"meta,omitempty"`

	// Title A short, human-readable summary of the problem that MUST NOT change from occurrence to occurrence of the problem represented by the error code.
	Title string `json:"title"`
}

ResponseErrorListV2Errors defines model for ResponseErrorListV2_errors.

type ResponseErrorListV2Meta added in v0.1.6

type ResponseErrorListV2Meta struct {
	// Urn The CDR error code URN which the application-specific error code extends. Mandatory if the error `code` is an application-specific error rather than a standardised error code.
	Urn *string `json:"urn,omitempty"`
}

ResponseErrorListV2Meta Additional data for customised error codes

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL