energy

package
v0.1.7 Latest Latest
Warning

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

Go to latest
Published: Jun 6, 2023 License: MIT Imports: 9 Imported by: 0

Documentation

Overview

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

Code generated by github.com/deepmap/oapi-codegen version v1.12.4 DO NOT EDIT.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewGetAccountRequest

func NewGetAccountRequest(server string, accountId string, params *GetAccountParams) (*http.Request, error)

NewGetAccountRequest generates requests for GetAccount

func NewGetBalanceForAccountRequest

func NewGetBalanceForAccountRequest(server string, accountId string, params *GetBalanceForAccountParams) (*http.Request, error)

NewGetBalanceForAccountRequest generates requests for GetBalanceForAccount

func NewGetBillingForAccountRequest

func NewGetBillingForAccountRequest(server string, accountId string, params *GetBillingForAccountParams) (*http.Request, error)

NewGetBillingForAccountRequest generates requests for GetBillingForAccount

func NewGetConcessionsRequest

func NewGetConcessionsRequest(server string, accountId string, params *GetConcessionsParams) (*http.Request, error)

NewGetConcessionsRequest generates requests for GetConcessions

func NewGetDERForServicePointRequest

func NewGetDERForServicePointRequest(server string, servicePointId string, params *GetDERForServicePointParams) (*http.Request, error)

NewGetDERForServicePointRequest generates requests for GetDERForServicePoint

func NewGetInvoicesForAccountRequest

func NewGetInvoicesForAccountRequest(server string, accountId string, params *GetInvoicesForAccountParams) (*http.Request, error)

NewGetInvoicesForAccountRequest generates requests for GetInvoicesForAccount

func NewGetPaymentScheduleRequest

func NewGetPaymentScheduleRequest(server string, accountId string, params *GetPaymentScheduleParams) (*http.Request, error)

NewGetPaymentScheduleRequest generates requests for GetPaymentSchedule

func NewGetPlanRequest

func NewGetPlanRequest(server string, planId string, params *GetPlanParams) (*http.Request, error)

NewGetPlanRequest generates requests for GetPlan

func NewGetServicePointRequest

func NewGetServicePointRequest(server string, servicePointId string, params *GetServicePointParams) (*http.Request, error)

NewGetServicePointRequest generates requests for GetServicePoint

func NewGetUsageForServicePointRequest

func NewGetUsageForServicePointRequest(server string, servicePointId string, params *GetUsageForServicePointParams) (*http.Request, error)

NewGetUsageForServicePointRequest generates requests for GetUsageForServicePoint

func NewListAccountsRequest

func NewListAccountsRequest(server string, params *ListAccountsParams) (*http.Request, error)

NewListAccountsRequest generates requests for ListAccounts

func NewListBalancesBulkRequest

func NewListBalancesBulkRequest(server string, params *ListBalancesBulkParams) (*http.Request, error)

NewListBalancesBulkRequest generates requests for ListBalancesBulk

func NewListBalancesForAccountsRequest

func NewListBalancesForAccountsRequest(server string, params *ListBalancesForAccountsParams, body ListBalancesForAccountsJSONRequestBody) (*http.Request, error)

NewListBalancesForAccountsRequest calls the generic ListBalancesForAccounts builder with application/json body

func NewListBalancesForAccountsRequestWithBody

func NewListBalancesForAccountsRequestWithBody(server string, params *ListBalancesForAccountsParams, contentType string, body io.Reader) (*http.Request, error)

NewListBalancesForAccountsRequestWithBody generates requests for ListBalancesForAccounts with any type of body

func NewListBillingBulkRequest

func NewListBillingBulkRequest(server string, params *ListBillingBulkParams) (*http.Request, error)

NewListBillingBulkRequest generates requests for ListBillingBulk

func NewListBillingForAccountsRequest

func NewListBillingForAccountsRequest(server string, params *ListBillingForAccountsParams, body ListBillingForAccountsJSONRequestBody) (*http.Request, error)

NewListBillingForAccountsRequest calls the generic ListBillingForAccounts builder with application/json body

func NewListBillingForAccountsRequestWithBody

func NewListBillingForAccountsRequestWithBody(server string, params *ListBillingForAccountsParams, contentType string, body io.Reader) (*http.Request, error)

NewListBillingForAccountsRequestWithBody generates requests for ListBillingForAccounts with any type of body

func NewListDERBulkRequest

func NewListDERBulkRequest(server string, params *ListDERBulkParams) (*http.Request, error)

NewListDERBulkRequest generates requests for ListDERBulk

func NewListDERForServicePointsRequest

func NewListDERForServicePointsRequest(server string, params *ListDERForServicePointsParams, body ListDERForServicePointsJSONRequestBody) (*http.Request, error)

NewListDERForServicePointsRequest calls the generic ListDERForServicePoints builder with application/json body

func NewListDERForServicePointsRequestWithBody

func NewListDERForServicePointsRequestWithBody(server string, params *ListDERForServicePointsParams, contentType string, body io.Reader) (*http.Request, error)

NewListDERForServicePointsRequestWithBody generates requests for ListDERForServicePoints with any type of body

func NewListInvoicesBulkRequest

func NewListInvoicesBulkRequest(server string, params *ListInvoicesBulkParams) (*http.Request, error)

NewListInvoicesBulkRequest generates requests for ListInvoicesBulk

func NewListInvoicesForAccountsRequest

func NewListInvoicesForAccountsRequest(server string, params *ListInvoicesForAccountsParams, body ListInvoicesForAccountsJSONRequestBody) (*http.Request, error)

NewListInvoicesForAccountsRequest calls the generic ListInvoicesForAccounts builder with application/json body

func NewListInvoicesForAccountsRequestWithBody

func NewListInvoicesForAccountsRequestWithBody(server string, params *ListInvoicesForAccountsParams, contentType string, body io.Reader) (*http.Request, error)

NewListInvoicesForAccountsRequestWithBody generates requests for ListInvoicesForAccounts with any type of body

func NewListPlansRequest

func NewListPlansRequest(server string, params *ListPlansParams) (*http.Request, error)

NewListPlansRequest generates requests for ListPlans

func NewListServicePointsRequest

func NewListServicePointsRequest(server string, params *ListServicePointsParams) (*http.Request, error)

NewListServicePointsRequest generates requests for ListServicePoints

func NewListUsageBulkRequest

func NewListUsageBulkRequest(server string, params *ListUsageBulkParams) (*http.Request, error)

NewListUsageBulkRequest generates requests for ListUsageBulk

func NewListUsageForServicePointsRequest

func NewListUsageForServicePointsRequest(server string, params *ListUsageForServicePointsParams, body ListUsageForServicePointsJSONRequestBody) (*http.Request, error)

NewListUsageForServicePointsRequest calls the generic ListUsageForServicePoints builder with application/json body

func NewListUsageForServicePointsRequestWithBody

func NewListUsageForServicePointsRequestWithBody(server string, params *ListUsageForServicePointsParams, contentType string, body io.Reader) (*http.Request, error)

NewListUsageForServicePointsRequestWithBody generates requests for ListUsageForServicePoints with any type of body

Types

type AccountIdList

type AccountIdList struct {
	Data struct {
		// AccountIds Array of specific accountIds to obtain data for
		AccountIds []string `json:"accountIds"`
	} `json:"data"`
	Meta *Meta `json:"meta,omitempty"`
}

AccountIdList defines model for accountIdList.

type Client

type Client struct {
	// The endpoint of the server conforming to this interface, with scheme,
	// https://api.deepmap.com for example. This can contain a path relative
	// to the server, such as https://api.deepmap.com/dev-test, and all the
	// paths in the swagger spec will be appended to the server.
	Server string

	// Doer for performing requests, typically a *http.Client with any
	// customized settings, such as certificate chains.
	Client HttpRequestDoer

	// A list of callbacks for modifying requests which are generated before sending over
	// the network.
	RequestEditors []RequestEditorFn
}

Client which conforms to the OpenAPI3 specification for this service.

func NewClient

func NewClient(server string, opts ...ClientOption) (*Client, error)

Creates a new Client, with reasonable defaults

func (*Client) GetAccount

func (c *Client) GetAccount(ctx context.Context, accountId string, params *GetAccountParams, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) GetBalanceForAccount

func (c *Client) GetBalanceForAccount(ctx context.Context, accountId string, params *GetBalanceForAccountParams, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) GetBillingForAccount

func (c *Client) GetBillingForAccount(ctx context.Context, accountId string, params *GetBillingForAccountParams, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) GetConcessions

func (c *Client) GetConcessions(ctx context.Context, accountId string, params *GetConcessionsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) GetDERForServicePoint

func (c *Client) GetDERForServicePoint(ctx context.Context, servicePointId string, params *GetDERForServicePointParams, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) GetInvoicesForAccount

func (c *Client) GetInvoicesForAccount(ctx context.Context, accountId string, params *GetInvoicesForAccountParams, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) GetPaymentSchedule

func (c *Client) GetPaymentSchedule(ctx context.Context, accountId string, params *GetPaymentScheduleParams, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) GetPlan

func (c *Client) GetPlan(ctx context.Context, planId string, params *GetPlanParams, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) GetServicePoint

func (c *Client) GetServicePoint(ctx context.Context, servicePointId string, params *GetServicePointParams, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) GetUsageForServicePoint

func (c *Client) GetUsageForServicePoint(ctx context.Context, servicePointId string, params *GetUsageForServicePointParams, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) ListAccounts

func (c *Client) ListAccounts(ctx context.Context, params *ListAccountsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) ListBalancesBulk

func (c *Client) ListBalancesBulk(ctx context.Context, params *ListBalancesBulkParams, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) ListBalancesForAccounts

func (c *Client) ListBalancesForAccounts(ctx context.Context, params *ListBalancesForAccountsParams, body ListBalancesForAccountsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) ListBalancesForAccountsWithBody

func (c *Client) ListBalancesForAccountsWithBody(ctx context.Context, params *ListBalancesForAccountsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) ListBillingBulk

func (c *Client) ListBillingBulk(ctx context.Context, params *ListBillingBulkParams, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) ListBillingForAccounts

func (c *Client) ListBillingForAccounts(ctx context.Context, params *ListBillingForAccountsParams, body ListBillingForAccountsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) ListBillingForAccountsWithBody

func (c *Client) ListBillingForAccountsWithBody(ctx context.Context, params *ListBillingForAccountsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) ListDERBulk

func (c *Client) ListDERBulk(ctx context.Context, params *ListDERBulkParams, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) ListDERForServicePoints

func (c *Client) ListDERForServicePoints(ctx context.Context, params *ListDERForServicePointsParams, body ListDERForServicePointsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) ListDERForServicePointsWithBody

func (c *Client) ListDERForServicePointsWithBody(ctx context.Context, params *ListDERForServicePointsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) ListInvoicesBulk

func (c *Client) ListInvoicesBulk(ctx context.Context, params *ListInvoicesBulkParams, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) ListInvoicesForAccounts

func (c *Client) ListInvoicesForAccounts(ctx context.Context, params *ListInvoicesForAccountsParams, body ListInvoicesForAccountsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) ListInvoicesForAccountsWithBody

func (c *Client) ListInvoicesForAccountsWithBody(ctx context.Context, params *ListInvoicesForAccountsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) ListPlans

func (c *Client) ListPlans(ctx context.Context, params *ListPlansParams, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) ListServicePoints

func (c *Client) ListServicePoints(ctx context.Context, params *ListServicePointsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) ListUsageBulk

func (c *Client) ListUsageBulk(ctx context.Context, params *ListUsageBulkParams, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) ListUsageForServicePoints

func (c *Client) ListUsageForServicePoints(ctx context.Context, params *ListUsageForServicePointsParams, body ListUsageForServicePointsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) ListUsageForServicePointsWithBody

func (c *Client) ListUsageForServicePointsWithBody(ctx context.Context, params *ListUsageForServicePointsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

type ClientInterface

type ClientInterface interface {
	// ListAccounts request
	ListAccounts(ctx context.Context, params *ListAccountsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// ListBalancesBulk request
	ListBalancesBulk(ctx context.Context, params *ListBalancesBulkParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// ListBalancesForAccounts request with any body
	ListBalancesForAccountsWithBody(ctx context.Context, params *ListBalancesForAccountsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	ListBalancesForAccounts(ctx context.Context, params *ListBalancesForAccountsParams, body ListBalancesForAccountsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// ListBillingBulk request
	ListBillingBulk(ctx context.Context, params *ListBillingBulkParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// ListBillingForAccounts request with any body
	ListBillingForAccountsWithBody(ctx context.Context, params *ListBillingForAccountsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	ListBillingForAccounts(ctx context.Context, params *ListBillingForAccountsParams, body ListBillingForAccountsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// ListInvoicesBulk request
	ListInvoicesBulk(ctx context.Context, params *ListInvoicesBulkParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// ListInvoicesForAccounts request with any body
	ListInvoicesForAccountsWithBody(ctx context.Context, params *ListInvoicesForAccountsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	ListInvoicesForAccounts(ctx context.Context, params *ListInvoicesForAccountsParams, body ListInvoicesForAccountsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetAccount request
	GetAccount(ctx context.Context, accountId string, params *GetAccountParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetBalanceForAccount request
	GetBalanceForAccount(ctx context.Context, accountId string, params *GetBalanceForAccountParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetBillingForAccount request
	GetBillingForAccount(ctx context.Context, accountId string, params *GetBillingForAccountParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetConcessions request
	GetConcessions(ctx context.Context, accountId string, params *GetConcessionsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetInvoicesForAccount request
	GetInvoicesForAccount(ctx context.Context, accountId string, params *GetInvoicesForAccountParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetPaymentSchedule request
	GetPaymentSchedule(ctx context.Context, accountId string, params *GetPaymentScheduleParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// ListServicePoints request
	ListServicePoints(ctx context.Context, params *ListServicePointsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// ListDERBulk request
	ListDERBulk(ctx context.Context, params *ListDERBulkParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// ListDERForServicePoints request with any body
	ListDERForServicePointsWithBody(ctx context.Context, params *ListDERForServicePointsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	ListDERForServicePoints(ctx context.Context, params *ListDERForServicePointsParams, body ListDERForServicePointsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// ListUsageBulk request
	ListUsageBulk(ctx context.Context, params *ListUsageBulkParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// ListUsageForServicePoints request with any body
	ListUsageForServicePointsWithBody(ctx context.Context, params *ListUsageForServicePointsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	ListUsageForServicePoints(ctx context.Context, params *ListUsageForServicePointsParams, body ListUsageForServicePointsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetServicePoint request
	GetServicePoint(ctx context.Context, servicePointId string, params *GetServicePointParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetDERForServicePoint request
	GetDERForServicePoint(ctx context.Context, servicePointId string, params *GetDERForServicePointParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetUsageForServicePoint request
	GetUsageForServicePoint(ctx context.Context, servicePointId string, params *GetUsageForServicePointParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// ListPlans request
	ListPlans(ctx context.Context, params *ListPlansParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetPlan request
	GetPlan(ctx context.Context, planId string, params *GetPlanParams, reqEditors ...RequestEditorFn) (*http.Response, error)
}

The interface specification for the client above.

type ClientOption

type ClientOption func(*Client) error

ClientOption allows setting custom parameters during construction

func WithBaseURL

func WithBaseURL(baseURL string) ClientOption

WithBaseURL overrides the baseURL.

func WithHTTPClient

func WithHTTPClient(doer HttpRequestDoer) ClientOption

WithHTTPClient allows overriding the default Doer, which is automatically created using http.Client. This is useful for tests.

func WithRequestEditorFn

func WithRequestEditorFn(fn RequestEditorFn) ClientOption

WithRequestEditorFn allows setting up a callback function, which will be called right before sending the request. This can be used to mutate the request.

type ClientWithResponses

type ClientWithResponses struct {
	ClientInterface
}

ClientWithResponses builds on ClientInterface to offer response payloads

func NewClientWithResponses

func NewClientWithResponses(server string, opts ...ClientOption) (*ClientWithResponses, error)

NewClientWithResponses creates a new ClientWithResponses, which wraps Client with return type handling

func (*ClientWithResponses) GetAccountWithResponse

func (c *ClientWithResponses) GetAccountWithResponse(ctx context.Context, accountId string, params *GetAccountParams, reqEditors ...RequestEditorFn) (*GetAccountResponse, error)

GetAccountWithResponse request returning *GetAccountResponse

func (*ClientWithResponses) GetBalanceForAccountWithResponse

func (c *ClientWithResponses) GetBalanceForAccountWithResponse(ctx context.Context, accountId string, params *GetBalanceForAccountParams, reqEditors ...RequestEditorFn) (*GetBalanceForAccountResponse, error)

GetBalanceForAccountWithResponse request returning *GetBalanceForAccountResponse

func (*ClientWithResponses) GetBillingForAccountWithResponse

func (c *ClientWithResponses) GetBillingForAccountWithResponse(ctx context.Context, accountId string, params *GetBillingForAccountParams, reqEditors ...RequestEditorFn) (*GetBillingForAccountResponse, error)

GetBillingForAccountWithResponse request returning *GetBillingForAccountResponse

func (*ClientWithResponses) GetConcessionsWithResponse

func (c *ClientWithResponses) GetConcessionsWithResponse(ctx context.Context, accountId string, params *GetConcessionsParams, reqEditors ...RequestEditorFn) (*GetConcessionsResponse, error)

GetConcessionsWithResponse request returning *GetConcessionsResponse

func (*ClientWithResponses) GetDERForServicePointWithResponse

func (c *ClientWithResponses) GetDERForServicePointWithResponse(ctx context.Context, servicePointId string, params *GetDERForServicePointParams, reqEditors ...RequestEditorFn) (*GetDERForServicePointResponse, error)

GetDERForServicePointWithResponse request returning *GetDERForServicePointResponse

func (*ClientWithResponses) GetInvoicesForAccountWithResponse

func (c *ClientWithResponses) GetInvoicesForAccountWithResponse(ctx context.Context, accountId string, params *GetInvoicesForAccountParams, reqEditors ...RequestEditorFn) (*GetInvoicesForAccountResponse, error)

GetInvoicesForAccountWithResponse request returning *GetInvoicesForAccountResponse

func (*ClientWithResponses) GetPaymentScheduleWithResponse

func (c *ClientWithResponses) GetPaymentScheduleWithResponse(ctx context.Context, accountId string, params *GetPaymentScheduleParams, reqEditors ...RequestEditorFn) (*GetPaymentScheduleResponse, error)

GetPaymentScheduleWithResponse request returning *GetPaymentScheduleResponse

func (*ClientWithResponses) GetPlanWithResponse

func (c *ClientWithResponses) GetPlanWithResponse(ctx context.Context, planId string, params *GetPlanParams, reqEditors ...RequestEditorFn) (*GetPlanResponse, error)

GetPlanWithResponse request returning *GetPlanResponse

func (*ClientWithResponses) GetServicePointWithResponse

func (c *ClientWithResponses) GetServicePointWithResponse(ctx context.Context, servicePointId string, params *GetServicePointParams, reqEditors ...RequestEditorFn) (*GetServicePointResponse, error)

GetServicePointWithResponse request returning *GetServicePointResponse

func (*ClientWithResponses) GetUsageForServicePointWithResponse

func (c *ClientWithResponses) GetUsageForServicePointWithResponse(ctx context.Context, servicePointId string, params *GetUsageForServicePointParams, reqEditors ...RequestEditorFn) (*GetUsageForServicePointResponse, error)

GetUsageForServicePointWithResponse request returning *GetUsageForServicePointResponse

func (*ClientWithResponses) ListAccountsWithResponse

func (c *ClientWithResponses) ListAccountsWithResponse(ctx context.Context, params *ListAccountsParams, reqEditors ...RequestEditorFn) (*ListAccountsResponse, error)

ListAccountsWithResponse request returning *ListAccountsResponse

func (*ClientWithResponses) ListBalancesBulkWithResponse

func (c *ClientWithResponses) ListBalancesBulkWithResponse(ctx context.Context, params *ListBalancesBulkParams, reqEditors ...RequestEditorFn) (*ListBalancesBulkResponse, error)

ListBalancesBulkWithResponse request returning *ListBalancesBulkResponse

func (*ClientWithResponses) ListBalancesForAccountsWithBodyWithResponse

func (c *ClientWithResponses) ListBalancesForAccountsWithBodyWithResponse(ctx context.Context, params *ListBalancesForAccountsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ListBalancesForAccountsResponse, error)

ListBalancesForAccountsWithBodyWithResponse request with arbitrary body returning *ListBalancesForAccountsResponse

func (*ClientWithResponses) ListBillingBulkWithResponse

func (c *ClientWithResponses) ListBillingBulkWithResponse(ctx context.Context, params *ListBillingBulkParams, reqEditors ...RequestEditorFn) (*ListBillingBulkResponse, error)

ListBillingBulkWithResponse request returning *ListBillingBulkResponse

func (*ClientWithResponses) ListBillingForAccountsWithBodyWithResponse

func (c *ClientWithResponses) ListBillingForAccountsWithBodyWithResponse(ctx context.Context, params *ListBillingForAccountsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ListBillingForAccountsResponse, error)

ListBillingForAccountsWithBodyWithResponse request with arbitrary body returning *ListBillingForAccountsResponse

func (*ClientWithResponses) ListBillingForAccountsWithResponse

func (*ClientWithResponses) ListDERBulkWithResponse

func (c *ClientWithResponses) ListDERBulkWithResponse(ctx context.Context, params *ListDERBulkParams, reqEditors ...RequestEditorFn) (*ListDERBulkResponse, error)

ListDERBulkWithResponse request returning *ListDERBulkResponse

func (*ClientWithResponses) ListDERForServicePointsWithBodyWithResponse

func (c *ClientWithResponses) ListDERForServicePointsWithBodyWithResponse(ctx context.Context, params *ListDERForServicePointsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ListDERForServicePointsResponse, error)

ListDERForServicePointsWithBodyWithResponse request with arbitrary body returning *ListDERForServicePointsResponse

func (*ClientWithResponses) ListInvoicesBulkWithResponse

func (c *ClientWithResponses) ListInvoicesBulkWithResponse(ctx context.Context, params *ListInvoicesBulkParams, reqEditors ...RequestEditorFn) (*ListInvoicesBulkResponse, error)

ListInvoicesBulkWithResponse request returning *ListInvoicesBulkResponse

func (*ClientWithResponses) ListInvoicesForAccountsWithBodyWithResponse

func (c *ClientWithResponses) ListInvoicesForAccountsWithBodyWithResponse(ctx context.Context, params *ListInvoicesForAccountsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ListInvoicesForAccountsResponse, error)

ListInvoicesForAccountsWithBodyWithResponse request with arbitrary body returning *ListInvoicesForAccountsResponse

func (*ClientWithResponses) ListPlansWithResponse

func (c *ClientWithResponses) ListPlansWithResponse(ctx context.Context, params *ListPlansParams, reqEditors ...RequestEditorFn) (*ListPlansResponse, error)

ListPlansWithResponse request returning *ListPlansResponse

func (*ClientWithResponses) ListServicePointsWithResponse

func (c *ClientWithResponses) ListServicePointsWithResponse(ctx context.Context, params *ListServicePointsParams, reqEditors ...RequestEditorFn) (*ListServicePointsResponse, error)

ListServicePointsWithResponse request returning *ListServicePointsResponse

func (*ClientWithResponses) ListUsageBulkWithResponse

func (c *ClientWithResponses) ListUsageBulkWithResponse(ctx context.Context, params *ListUsageBulkParams, reqEditors ...RequestEditorFn) (*ListUsageBulkResponse, error)

ListUsageBulkWithResponse request returning *ListUsageBulkResponse

func (*ClientWithResponses) ListUsageForServicePointsWithBodyWithResponse

func (c *ClientWithResponses) ListUsageForServicePointsWithBodyWithResponse(ctx context.Context, params *ListUsageForServicePointsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ListUsageForServicePointsResponse, error)

ListUsageForServicePointsWithBodyWithResponse request with arbitrary body returning *ListUsageForServicePointsResponse

type ClientWithResponsesInterface

type ClientWithResponsesInterface interface {
	// ListAccounts request
	ListAccountsWithResponse(ctx context.Context, params *ListAccountsParams, reqEditors ...RequestEditorFn) (*ListAccountsResponse, error)

	// ListBalancesBulk request
	ListBalancesBulkWithResponse(ctx context.Context, params *ListBalancesBulkParams, reqEditors ...RequestEditorFn) (*ListBalancesBulkResponse, error)

	// ListBalancesForAccounts request with any body
	ListBalancesForAccountsWithBodyWithResponse(ctx context.Context, params *ListBalancesForAccountsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ListBalancesForAccountsResponse, error)

	ListBalancesForAccountsWithResponse(ctx context.Context, params *ListBalancesForAccountsParams, body ListBalancesForAccountsJSONRequestBody, reqEditors ...RequestEditorFn) (*ListBalancesForAccountsResponse, error)

	// ListBillingBulk request
	ListBillingBulkWithResponse(ctx context.Context, params *ListBillingBulkParams, reqEditors ...RequestEditorFn) (*ListBillingBulkResponse, error)

	// ListBillingForAccounts request with any body
	ListBillingForAccountsWithBodyWithResponse(ctx context.Context, params *ListBillingForAccountsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ListBillingForAccountsResponse, error)

	ListBillingForAccountsWithResponse(ctx context.Context, params *ListBillingForAccountsParams, body ListBillingForAccountsJSONRequestBody, reqEditors ...RequestEditorFn) (*ListBillingForAccountsResponse, error)

	// ListInvoicesBulk request
	ListInvoicesBulkWithResponse(ctx context.Context, params *ListInvoicesBulkParams, reqEditors ...RequestEditorFn) (*ListInvoicesBulkResponse, error)

	// ListInvoicesForAccounts request with any body
	ListInvoicesForAccountsWithBodyWithResponse(ctx context.Context, params *ListInvoicesForAccountsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ListInvoicesForAccountsResponse, error)

	ListInvoicesForAccountsWithResponse(ctx context.Context, params *ListInvoicesForAccountsParams, body ListInvoicesForAccountsJSONRequestBody, reqEditors ...RequestEditorFn) (*ListInvoicesForAccountsResponse, error)

	// GetAccount request
	GetAccountWithResponse(ctx context.Context, accountId string, params *GetAccountParams, reqEditors ...RequestEditorFn) (*GetAccountResponse, error)

	// GetBalanceForAccount request
	GetBalanceForAccountWithResponse(ctx context.Context, accountId string, params *GetBalanceForAccountParams, reqEditors ...RequestEditorFn) (*GetBalanceForAccountResponse, error)

	// GetBillingForAccount request
	GetBillingForAccountWithResponse(ctx context.Context, accountId string, params *GetBillingForAccountParams, reqEditors ...RequestEditorFn) (*GetBillingForAccountResponse, error)

	// GetConcessions request
	GetConcessionsWithResponse(ctx context.Context, accountId string, params *GetConcessionsParams, reqEditors ...RequestEditorFn) (*GetConcessionsResponse, error)

	// GetInvoicesForAccount request
	GetInvoicesForAccountWithResponse(ctx context.Context, accountId string, params *GetInvoicesForAccountParams, reqEditors ...RequestEditorFn) (*GetInvoicesForAccountResponse, error)

	// GetPaymentSchedule request
	GetPaymentScheduleWithResponse(ctx context.Context, accountId string, params *GetPaymentScheduleParams, reqEditors ...RequestEditorFn) (*GetPaymentScheduleResponse, error)

	// ListServicePoints request
	ListServicePointsWithResponse(ctx context.Context, params *ListServicePointsParams, reqEditors ...RequestEditorFn) (*ListServicePointsResponse, error)

	// ListDERBulk request
	ListDERBulkWithResponse(ctx context.Context, params *ListDERBulkParams, reqEditors ...RequestEditorFn) (*ListDERBulkResponse, error)

	// ListDERForServicePoints request with any body
	ListDERForServicePointsWithBodyWithResponse(ctx context.Context, params *ListDERForServicePointsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ListDERForServicePointsResponse, error)

	ListDERForServicePointsWithResponse(ctx context.Context, params *ListDERForServicePointsParams, body ListDERForServicePointsJSONRequestBody, reqEditors ...RequestEditorFn) (*ListDERForServicePointsResponse, error)

	// ListUsageBulk request
	ListUsageBulkWithResponse(ctx context.Context, params *ListUsageBulkParams, reqEditors ...RequestEditorFn) (*ListUsageBulkResponse, error)

	// ListUsageForServicePoints request with any body
	ListUsageForServicePointsWithBodyWithResponse(ctx context.Context, params *ListUsageForServicePointsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ListUsageForServicePointsResponse, error)

	ListUsageForServicePointsWithResponse(ctx context.Context, params *ListUsageForServicePointsParams, body ListUsageForServicePointsJSONRequestBody, reqEditors ...RequestEditorFn) (*ListUsageForServicePointsResponse, error)

	// GetServicePoint request
	GetServicePointWithResponse(ctx context.Context, servicePointId string, params *GetServicePointParams, reqEditors ...RequestEditorFn) (*GetServicePointResponse, error)

	// GetDERForServicePoint request
	GetDERForServicePointWithResponse(ctx context.Context, servicePointId string, params *GetDERForServicePointParams, reqEditors ...RequestEditorFn) (*GetDERForServicePointResponse, error)

	// GetUsageForServicePoint request
	GetUsageForServicePointWithResponse(ctx context.Context, servicePointId string, params *GetUsageForServicePointParams, reqEditors ...RequestEditorFn) (*GetUsageForServicePointResponse, error)

	// ListPlans request
	ListPlansWithResponse(ctx context.Context, params *ListPlansParams, reqEditors ...RequestEditorFn) (*ListPlansResponse, error)

	// GetPlan request
	GetPlanWithResponse(ctx context.Context, planId string, params *GetPlanParams, reqEditors ...RequestEditorFn) (*GetPlanResponse, error)
}

ClientWithResponsesInterface is the interface specification for the client with responses above.

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 EnergyAccountDetailResponseV3 added in v0.1.6

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

EnergyAccountDetailResponseV3 defines model for EnergyAccountDetailResponseV3.

type EnergyAccountDetailV3 added in v0.1.6

type EnergyAccountDetailV3 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 *EnergyAccountDetailV3OpenStatus `json:"openStatus,omitempty"`

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

EnergyAccountDetailV3 defines model for EnergyAccountDetailV3.

type EnergyAccountDetailV3AllOf added in v0.1.6

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

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

type EnergyAccountDetailV3AllOfAuthorisedContacts added in v0.1.6

type EnergyAccountDetailV3AllOfAuthorisedContacts 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"`
}

EnergyAccountDetailV3AllOfAuthorisedContacts defines model for EnergyAccountDetailV3_allOf_authorisedContacts.

type EnergyAccountDetailV3AllOfPlanDetail added in v0.1.6

type EnergyAccountDetailV3AllOfPlanDetail struct {
	ElectricityContract *EnergyPlanContractV2 `json:"electricityContract,omitempty"`

	// FuelType The fuel types covered by the plan
	FuelType    EnergyAccountDetailV3AllOfPlanDetailFuelType `json:"fuelType"`
	GasContract *EnergyPlanContractV2                        `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 *[]EnergyPlanDetailV2AllOfMeteringCharges `json:"meteringCharges,omitempty"`
}

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

type EnergyAccountDetailV3AllOfPlanDetailFuelType added in v0.1.6

type EnergyAccountDetailV3AllOfPlanDetailFuelType string

EnergyAccountDetailV3AllOfPlanDetailFuelType The fuel types covered by the plan

const (
	EnergyAccountDetailV3AllOfPlanDetailFuelTypeDUAL        EnergyAccountDetailV3AllOfPlanDetailFuelType = "DUAL"
	EnergyAccountDetailV3AllOfPlanDetailFuelTypeELECTRICITY EnergyAccountDetailV3AllOfPlanDetailFuelType = "ELECTRICITY"
	EnergyAccountDetailV3AllOfPlanDetailFuelTypeGAS         EnergyAccountDetailV3AllOfPlanDetailFuelType = "GAS"
)

Defines values for EnergyAccountDetailV3AllOfPlanDetailFuelType.

type EnergyAccountDetailV3AllOfPlans added in v0.1.6

type EnergyAccountDetailV3AllOfPlans struct {
	// AuthorisedContacts An array of additional contacts that are authorised to act on this account
	AuthorisedContacts *[]EnergyAccountDetailV3AllOfAuthorisedContacts `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 *EnergyAccountDetailV3AllOfPlanDetail `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"`
}

EnergyAccountDetailV3AllOfPlans defines model for EnergyAccountDetailV3_allOf_plans.

type EnergyAccountDetailV3OpenStatus added in v0.1.6

type EnergyAccountDetailV3OpenStatus string

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

const (
	EnergyAccountDetailV3OpenStatusCLOSED EnergyAccountDetailV3OpenStatus = "CLOSED"
	EnergyAccountDetailV3OpenStatusOPEN   EnergyAccountDetailV3OpenStatus = "OPEN"
)

Defines values for EnergyAccountDetailV3OpenStatus.

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 EnergyBillingDemandTransaction

type EnergyBillingDemandTransaction struct {
	// Adjustments Optional array of adjustments arising for this transaction
	Adjustments *[]EnergyBillingUsageTransactionAdjustments `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 *[]EnergyBillingUsageTransactionCalculationFactors `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"`

	// Rate The rate for the demand charge in kVA.  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 EnergyBillingDemandTransactionTimeOfUseType `json:"timeOfUseType"`
}

EnergyBillingDemandTransaction defines model for EnergyBillingDemandTransaction.

type EnergyBillingDemandTransactionTimeOfUseType

type EnergyBillingDemandTransactionTimeOfUseType string

EnergyBillingDemandTransactionTimeOfUseType The time of use type that the transaction applies to

const (
	EnergyBillingDemandTransactionTimeOfUseTypeAGGREGATE           EnergyBillingDemandTransactionTimeOfUseType = "AGGREGATE"
	EnergyBillingDemandTransactionTimeOfUseTypeCONTROLLEDLOAD      EnergyBillingDemandTransactionTimeOfUseType = "CONTROLLED_LOAD"
	EnergyBillingDemandTransactionTimeOfUseTypeOFFPEAK             EnergyBillingDemandTransactionTimeOfUseType = "OFF_PEAK"
	EnergyBillingDemandTransactionTimeOfUseTypeOFFPEAKDEMANDCHARGE EnergyBillingDemandTransactionTimeOfUseType = "OFF_PEAK_DEMAND_CHARGE"
	EnergyBillingDemandTransactionTimeOfUseTypePEAK                EnergyBillingDemandTransactionTimeOfUseType = "PEAK"
	EnergyBillingDemandTransactionTimeOfUseTypeSHOULDER            EnergyBillingDemandTransactionTimeOfUseType = "SHOULDER"
	EnergyBillingDemandTransactionTimeOfUseTypeSHOULDER1           EnergyBillingDemandTransactionTimeOfUseType = "SHOULDER1"
	EnergyBillingDemandTransactionTimeOfUseTypeSHOULDER2           EnergyBillingDemandTransactionTimeOfUseType = "SHOULDER2"
	EnergyBillingDemandTransactionTimeOfUseTypeSOLAR               EnergyBillingDemandTransactionTimeOfUseType = "SOLAR"
)

Defines values for EnergyBillingDemandTransactionTimeOfUseType.

type EnergyBillingListResponse

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

EnergyBillingListResponse defines model for EnergyBillingListResponse.

type EnergyBillingListResponseData added in v0.1.6

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

EnergyBillingListResponseData defines model for EnergyBillingListResponse_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 *[]EnergyBillingUsageTransactionAdjustments `json:"adjustments,omitempty"`

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

	// CalculationFactors Additional calculation factors that inform the transaction
	CalculationFactors *[]EnergyBillingUsageTransactionCalculationFactors `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 EnergyBillingTransaction

type EnergyBillingTransaction struct {
	// AccountId The ID of the account for which transaction applies
	AccountId string                          `json:"accountId"`
	Demand    *EnergyBillingDemandTransaction `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 EnergyBillingTransactionTransactionUType `json:"transactionUType"`
	Usage            *EnergyBillingUsageTransaction           `json:"usage,omitempty"`
}

EnergyBillingTransaction defines model for EnergyBillingTransaction.

type EnergyBillingTransactionTransactionUType

type EnergyBillingTransactionTransactionUType string

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

Defines values for EnergyBillingTransactionTransactionUType.

type EnergyBillingUsageTransaction

type EnergyBillingUsageTransaction struct {
	// Adjustments Optional array of adjustments arising for this transaction
	Adjustments *[]EnergyBillingUsageTransactionAdjustments `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 *[]EnergyBillingUsageTransactionCalculationFactors `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 *EnergyBillingUsageTransactionMeasureUnit `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 EnergyBillingUsageTransactionTimeOfUseType `json:"timeOfUseType"`

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

EnergyBillingUsageTransaction defines model for EnergyBillingUsageTransaction.

type EnergyBillingUsageTransactionAdjustments added in v0.1.6

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

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

EnergyBillingUsageTransactionAdjustments defines model for EnergyBillingUsageTransaction_adjustments.

type EnergyBillingUsageTransactionCalculationFactors added in v0.1.6

type EnergyBillingUsageTransactionCalculationFactors struct {
	// Type The type of the calculation factor
	Type EnergyBillingUsageTransactionCalculationFactorsType `json:"type"`

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

EnergyBillingUsageTransactionCalculationFactors defines model for EnergyBillingUsageTransaction_calculationFactors.

type EnergyBillingUsageTransactionCalculationFactorsType

type EnergyBillingUsageTransactionCalculationFactorsType string

EnergyBillingUsageTransactionCalculationFactorsType The type of the calculation factor

Defines values for EnergyBillingUsageTransactionCalculationFactorsType.

type EnergyBillingUsageTransactionMeasureUnit

type EnergyBillingUsageTransactionMeasureUnit string

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

const (
	EnergyBillingUsageTransactionMeasureUnitDAYS  EnergyBillingUsageTransactionMeasureUnit = "DAYS"
	EnergyBillingUsageTransactionMeasureUnitKVA   EnergyBillingUsageTransactionMeasureUnit = "KVA"
	EnergyBillingUsageTransactionMeasureUnitKVAR  EnergyBillingUsageTransactionMeasureUnit = "KVAR"
	EnergyBillingUsageTransactionMeasureUnitKVARH EnergyBillingUsageTransactionMeasureUnit = "KVARH"
	EnergyBillingUsageTransactionMeasureUnitKW    EnergyBillingUsageTransactionMeasureUnit = "KW"
	EnergyBillingUsageTransactionMeasureUnitKWH   EnergyBillingUsageTransactionMeasureUnit = "KWH"
	EnergyBillingUsageTransactionMeasureUnitMETER EnergyBillingUsageTransactionMeasureUnit = "METER"
	EnergyBillingUsageTransactionMeasureUnitMONTH EnergyBillingUsageTransactionMeasureUnit = "MONTH"
)

Defines values for EnergyBillingUsageTransactionMeasureUnit.

type EnergyBillingUsageTransactionTimeOfUseType

type EnergyBillingUsageTransactionTimeOfUseType string

EnergyBillingUsageTransactionTimeOfUseType The time of use type that the transaction applies to

const (
	EnergyBillingUsageTransactionTimeOfUseTypeAGGREGATE           EnergyBillingUsageTransactionTimeOfUseType = "AGGREGATE"
	EnergyBillingUsageTransactionTimeOfUseTypeCONTROLLEDLOAD      EnergyBillingUsageTransactionTimeOfUseType = "CONTROLLED_LOAD"
	EnergyBillingUsageTransactionTimeOfUseTypeOFFPEAK             EnergyBillingUsageTransactionTimeOfUseType = "OFF_PEAK"
	EnergyBillingUsageTransactionTimeOfUseTypeOFFPEAKDEMANDCHARGE EnergyBillingUsageTransactionTimeOfUseType = "OFF_PEAK_DEMAND_CHARGE"
	EnergyBillingUsageTransactionTimeOfUseTypePEAK                EnergyBillingUsageTransactionTimeOfUseType = "PEAK"
	EnergyBillingUsageTransactionTimeOfUseTypeSHOULDER            EnergyBillingUsageTransactionTimeOfUseType = "SHOULDER"
	EnergyBillingUsageTransactionTimeOfUseTypeSHOULDER1           EnergyBillingUsageTransactionTimeOfUseType = "SHOULDER1"
	EnergyBillingUsageTransactionTimeOfUseTypeSHOULDER2           EnergyBillingUsageTransactionTimeOfUseType = "SHOULDER2"
	EnergyBillingUsageTransactionTimeOfUseTypeSOLAR               EnergyBillingUsageTransactionTimeOfUseType = "SOLAR"
)

Defines values for EnergyBillingUsageTransactionTimeOfUseType.

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 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"`
}

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 name assigned to the digital wallet by the owner of the wallet, else the display name provided by the digital wallet provider
	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 and cannot be shared.  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 EnergyPlanContractFullV2 added in v0.1.6

type EnergyPlanContractFullV2 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 *EnergyPlanControlledLoad `json:"controlledLoad,omitempty"`

	// CoolingOffDays Number of days in the cooling off period for the contract.  Mandatory for plans with type of MARKET
	CoolingOffDays *int `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 *EnergyPlanContractV2IntrinsicGreenPower `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 []EnergyPlanContractFullV2PaymentOption `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 EnergyPlanContractFullV2PricingModel `json:"pricingModel"`

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

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

	// TermType The term for the contract.  If absent assumes no specified term
	TermType *EnergyPlanContractFullV2TermType `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 *EnergyPlanContractFullV2TimeZone `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"`
}

EnergyPlanContractFullV2 defines model for EnergyPlanContractFullV2.

type EnergyPlanContractFullV2AllOf added in v0.1.6

type EnergyPlanContractFullV2AllOf 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 *int `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 *EnergyPlanContractFullV2AllOfTermType `json:"termType,omitempty"`

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

EnergyPlanContractFullV2AllOf defines model for EnergyPlanContractFullV2_allOf.

type EnergyPlanContractFullV2AllOfTermType added in v0.1.6

type EnergyPlanContractFullV2AllOfTermType string

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

const (
	EnergyPlanContractFullV2AllOfTermTypeN1YEAR  EnergyPlanContractFullV2AllOfTermType = "1_YEAR"
	EnergyPlanContractFullV2AllOfTermTypeN2YEAR  EnergyPlanContractFullV2AllOfTermType = "2_YEAR"
	EnergyPlanContractFullV2AllOfTermTypeN3YEAR  EnergyPlanContractFullV2AllOfTermType = "3_YEAR"
	EnergyPlanContractFullV2AllOfTermTypeN4YEAR  EnergyPlanContractFullV2AllOfTermType = "4_YEAR"
	EnergyPlanContractFullV2AllOfTermTypeN5YEAR  EnergyPlanContractFullV2AllOfTermType = "5_YEAR"
	EnergyPlanContractFullV2AllOfTermTypeONGOING EnergyPlanContractFullV2AllOfTermType = "ONGOING"
	EnergyPlanContractFullV2AllOfTermTypeOTHER   EnergyPlanContractFullV2AllOfTermType = "OTHER"
)

Defines values for EnergyPlanContractFullV2AllOfTermType.

type EnergyPlanContractFullV2PaymentOption added in v0.1.6

type EnergyPlanContractFullV2PaymentOption string

EnergyPlanContractFullV2PaymentOption defines model for EnergyPlanContractFullV2.PaymentOption.

const (
	EnergyPlanContractFullV2PaymentOptionBPAY        EnergyPlanContractFullV2PaymentOption = "BPAY"
	EnergyPlanContractFullV2PaymentOptionCREDITCARD  EnergyPlanContractFullV2PaymentOption = "CREDIT_CARD"
	EnergyPlanContractFullV2PaymentOptionDIRECTDEBIT EnergyPlanContractFullV2PaymentOption = "DIRECT_DEBIT"
	EnergyPlanContractFullV2PaymentOptionOTHER       EnergyPlanContractFullV2PaymentOption = "OTHER"
	EnergyPlanContractFullV2PaymentOptionPAPERBILL   EnergyPlanContractFullV2PaymentOption = "PAPER_BILL"
)

Defines values for EnergyPlanContractFullV2PaymentOption.

type EnergyPlanContractFullV2PricingModel added in v0.1.6

type EnergyPlanContractFullV2PricingModel string

EnergyPlanContractFullV2PricingModel 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 (
	EnergyPlanContractFullV2PricingModelFLEXIBLE           EnergyPlanContractFullV2PricingModel = "FLEXIBLE"
	EnergyPlanContractFullV2PricingModelFLEXIBLECONTLOAD   EnergyPlanContractFullV2PricingModel = "FLEXIBLE_CONT_LOAD"
	EnergyPlanContractFullV2PricingModelQUOTA              EnergyPlanContractFullV2PricingModel = "QUOTA"
	EnergyPlanContractFullV2PricingModelSINGLERATE         EnergyPlanContractFullV2PricingModel = "SINGLE_RATE"
	EnergyPlanContractFullV2PricingModelSINGLERATECONTLOAD EnergyPlanContractFullV2PricingModel = "SINGLE_RATE_CONT_LOAD"
	EnergyPlanContractFullV2PricingModelTIMEOFUSE          EnergyPlanContractFullV2PricingModel = "TIME_OF_USE"
	EnergyPlanContractFullV2PricingModelTIMEOFUSECONTLOAD  EnergyPlanContractFullV2PricingModel = "TIME_OF_USE_CONT_LOAD"
)

Defines values for EnergyPlanContractFullV2PricingModel.

type EnergyPlanContractFullV2TermType added in v0.1.6

type EnergyPlanContractFullV2TermType string

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

const (
	EnergyPlanContractFullV2TermTypeN1YEAR  EnergyPlanContractFullV2TermType = "1_YEAR"
	EnergyPlanContractFullV2TermTypeN2YEAR  EnergyPlanContractFullV2TermType = "2_YEAR"
	EnergyPlanContractFullV2TermTypeN3YEAR  EnergyPlanContractFullV2TermType = "3_YEAR"
	EnergyPlanContractFullV2TermTypeN4YEAR  EnergyPlanContractFullV2TermType = "4_YEAR"
	EnergyPlanContractFullV2TermTypeN5YEAR  EnergyPlanContractFullV2TermType = "5_YEAR"
	EnergyPlanContractFullV2TermTypeONGOING EnergyPlanContractFullV2TermType = "ONGOING"
	EnergyPlanContractFullV2TermTypeOTHER   EnergyPlanContractFullV2TermType = "OTHER"
)

Defines values for EnergyPlanContractFullV2TermType.

type EnergyPlanContractFullV2TimeZone added in v0.1.6

type EnergyPlanContractFullV2TimeZone string

EnergyPlanContractFullV2TimeZone 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 (
	EnergyPlanContractFullV2TimeZoneAEST  EnergyPlanContractFullV2TimeZone = "AEST"
	EnergyPlanContractFullV2TimeZoneLOCAL EnergyPlanContractFullV2TimeZone = "LOCAL"
)

Defines values for EnergyPlanContractFullV2TimeZone.

type EnergyPlanContractV2 added in v0.1.6

type EnergyPlanContractV2 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 *EnergyPlanControlledLoad `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 *EnergyPlanContractV2IntrinsicGreenPower `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 []EnergyPlanContractV2PaymentOption `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 EnergyPlanContractV2PricingModel `json:"pricingModel"`

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

	// TariffPeriod Array of tariff periods
	TariffPeriod EnergyPlanTariffPeriod `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 *EnergyPlanContractV2TimeZone `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"`
}

EnergyPlanContractV2 defines model for EnergyPlanContractV2.

type EnergyPlanContractV2IntrinsicGreenPower added in v0.1.6

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

EnergyPlanContractV2IntrinsicGreenPower 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 EnergyPlanContractV2PaymentOption added in v0.1.6

type EnergyPlanContractV2PaymentOption string

EnergyPlanContractV2PaymentOption defines model for EnergyPlanContractV2.PaymentOption.

const (
	EnergyPlanContractV2PaymentOptionBPAY        EnergyPlanContractV2PaymentOption = "BPAY"
	EnergyPlanContractV2PaymentOptionCREDITCARD  EnergyPlanContractV2PaymentOption = "CREDIT_CARD"
	EnergyPlanContractV2PaymentOptionDIRECTDEBIT EnergyPlanContractV2PaymentOption = "DIRECT_DEBIT"
	EnergyPlanContractV2PaymentOptionOTHER       EnergyPlanContractV2PaymentOption = "OTHER"
	EnergyPlanContractV2PaymentOptionPAPERBILL   EnergyPlanContractV2PaymentOption = "PAPER_BILL"
)

Defines values for EnergyPlanContractV2PaymentOption.

type EnergyPlanContractV2PricingModel added in v0.1.6

type EnergyPlanContractV2PricingModel string

EnergyPlanContractV2PricingModel 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 (
	EnergyPlanContractV2PricingModelFLEXIBLE           EnergyPlanContractV2PricingModel = "FLEXIBLE"
	EnergyPlanContractV2PricingModelFLEXIBLECONTLOAD   EnergyPlanContractV2PricingModel = "FLEXIBLE_CONT_LOAD"
	EnergyPlanContractV2PricingModelQUOTA              EnergyPlanContractV2PricingModel = "QUOTA"
	EnergyPlanContractV2PricingModelSINGLERATE         EnergyPlanContractV2PricingModel = "SINGLE_RATE"
	EnergyPlanContractV2PricingModelSINGLERATECONTLOAD EnergyPlanContractV2PricingModel = "SINGLE_RATE_CONT_LOAD"
	EnergyPlanContractV2PricingModelTIMEOFUSE          EnergyPlanContractV2PricingModel = "TIME_OF_USE"
	EnergyPlanContractV2PricingModelTIMEOFUSECONTLOAD  EnergyPlanContractV2PricingModel = "TIME_OF_USE_CONT_LOAD"
)

Defines values for EnergyPlanContractV2PricingModel.

type EnergyPlanContractV2TimeZone added in v0.1.6

type EnergyPlanContractV2TimeZone string

EnergyPlanContractV2TimeZone 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 (
	EnergyPlanContractV2TimeZoneAEST  EnergyPlanContractV2TimeZone = "AEST"
	EnergyPlanContractV2TimeZoneLOCAL EnergyPlanContractV2TimeZone = "LOCAL"
)

Defines values for EnergyPlanContractV2TimeZone.

type EnergyPlanControlledLoad

type EnergyPlanControlledLoad = []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 EnergyPlanControlledLoadRateBlockUType `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"`

		// 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 *EnergyPlanControlledLoadSingleRateRatesMeasureUnit `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"`

		// 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 *EnergyPlanControlledLoadTimeOfUseRatesRatesMeasureUnit `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 *[]EnergyPlanControlledLoadTimeOfUseRatesTimeOfUseDays `json:"days,omitempty"`

			// EndTime The end of the time period per day for which the controlled load rate applies. Required if startTime provided
			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
			StartTime *string `json:"startTime,omitempty"`
		} `json:"timeOfUse"`

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

EnergyPlanControlledLoad Required if pricing model is SINGLE_RATE_CONT_LOAD or TIME_OF_USE_CONT_LOAD or FLEXIBLE_CONT_LOAD

type EnergyPlanControlledLoadRateBlockUType

type EnergyPlanControlledLoadRateBlockUType string

EnergyPlanControlledLoadRateBlockUType Specifies the type of controlloed load rate

const (
	EnergyPlanControlledLoadRateBlockUTypeSingleRate     EnergyPlanControlledLoadRateBlockUType = "singleRate"
	EnergyPlanControlledLoadRateBlockUTypeTimeOfUseRates EnergyPlanControlledLoadRateBlockUType = "timeOfUseRates"
)

Defines values for EnergyPlanControlledLoadRateBlockUType.

type EnergyPlanControlledLoadSingleRateRatesMeasureUnit

type EnergyPlanControlledLoadSingleRateRatesMeasureUnit string

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

const (
	EnergyPlanControlledLoadSingleRateRatesMeasureUnitDAYS  EnergyPlanControlledLoadSingleRateRatesMeasureUnit = "DAYS"
	EnergyPlanControlledLoadSingleRateRatesMeasureUnitKVA   EnergyPlanControlledLoadSingleRateRatesMeasureUnit = "KVA"
	EnergyPlanControlledLoadSingleRateRatesMeasureUnitKVAR  EnergyPlanControlledLoadSingleRateRatesMeasureUnit = "KVAR"
	EnergyPlanControlledLoadSingleRateRatesMeasureUnitKVARH EnergyPlanControlledLoadSingleRateRatesMeasureUnit = "KVARH"
	EnergyPlanControlledLoadSingleRateRatesMeasureUnitKW    EnergyPlanControlledLoadSingleRateRatesMeasureUnit = "KW"
	EnergyPlanControlledLoadSingleRateRatesMeasureUnitKWH   EnergyPlanControlledLoadSingleRateRatesMeasureUnit = "KWH"
	EnergyPlanControlledLoadSingleRateRatesMeasureUnitMETER EnergyPlanControlledLoadSingleRateRatesMeasureUnit = "METER"
	EnergyPlanControlledLoadSingleRateRatesMeasureUnitMONTH EnergyPlanControlledLoadSingleRateRatesMeasureUnit = "MONTH"
)

Defines values for EnergyPlanControlledLoadSingleRateRatesMeasureUnit.

type EnergyPlanControlledLoadTimeOfUseRatesRatesMeasureUnit

type EnergyPlanControlledLoadTimeOfUseRatesRatesMeasureUnit string

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

const (
	EnergyPlanControlledLoadTimeOfUseRatesRatesMeasureUnitDAYS  EnergyPlanControlledLoadTimeOfUseRatesRatesMeasureUnit = "DAYS"
	EnergyPlanControlledLoadTimeOfUseRatesRatesMeasureUnitKVA   EnergyPlanControlledLoadTimeOfUseRatesRatesMeasureUnit = "KVA"
	EnergyPlanControlledLoadTimeOfUseRatesRatesMeasureUnitKVAR  EnergyPlanControlledLoadTimeOfUseRatesRatesMeasureUnit = "KVAR"
	EnergyPlanControlledLoadTimeOfUseRatesRatesMeasureUnitKVARH EnergyPlanControlledLoadTimeOfUseRatesRatesMeasureUnit = "KVARH"
	EnergyPlanControlledLoadTimeOfUseRatesRatesMeasureUnitKW    EnergyPlanControlledLoadTimeOfUseRatesRatesMeasureUnit = "KW"
	EnergyPlanControlledLoadTimeOfUseRatesRatesMeasureUnitKWH   EnergyPlanControlledLoadTimeOfUseRatesRatesMeasureUnit = "KWH"
	EnergyPlanControlledLoadTimeOfUseRatesRatesMeasureUnitMETER EnergyPlanControlledLoadTimeOfUseRatesRatesMeasureUnit = "METER"
	EnergyPlanControlledLoadTimeOfUseRatesRatesMeasureUnitMONTH EnergyPlanControlledLoadTimeOfUseRatesRatesMeasureUnit = "MONTH"
)

Defines values for EnergyPlanControlledLoadTimeOfUseRatesRatesMeasureUnit.

type EnergyPlanControlledLoadTimeOfUseRatesTimeOfUseDays

type EnergyPlanControlledLoadTimeOfUseRatesTimeOfUseDays string

EnergyPlanControlledLoadTimeOfUseRatesTimeOfUseDays defines model for EnergyPlanControlledLoad.TimeOfUseRates.TimeOfUse.Days.

const (
	EnergyPlanControlledLoadTimeOfUseRatesTimeOfUseDaysFRI            EnergyPlanControlledLoadTimeOfUseRatesTimeOfUseDays = "FRI"
	EnergyPlanControlledLoadTimeOfUseRatesTimeOfUseDaysMON            EnergyPlanControlledLoadTimeOfUseRatesTimeOfUseDays = "MON"
	EnergyPlanControlledLoadTimeOfUseRatesTimeOfUseDaysPUBLICHOLIDAYS EnergyPlanControlledLoadTimeOfUseRatesTimeOfUseDays = "PUBLIC_HOLIDAYS"
	EnergyPlanControlledLoadTimeOfUseRatesTimeOfUseDaysSAT            EnergyPlanControlledLoadTimeOfUseRatesTimeOfUseDays = "SAT"
	EnergyPlanControlledLoadTimeOfUseRatesTimeOfUseDaysSUN            EnergyPlanControlledLoadTimeOfUseRatesTimeOfUseDays = "SUN"
	EnergyPlanControlledLoadTimeOfUseRatesTimeOfUseDaysTHU            EnergyPlanControlledLoadTimeOfUseRatesTimeOfUseDays = "THU"
	EnergyPlanControlledLoadTimeOfUseRatesTimeOfUseDaysTUE            EnergyPlanControlledLoadTimeOfUseRatesTimeOfUseDays = "TUE"
	EnergyPlanControlledLoadTimeOfUseRatesTimeOfUseDaysWED            EnergyPlanControlledLoadTimeOfUseRatesTimeOfUseDays = "WED"
)

Defines values for EnergyPlanControlledLoadTimeOfUseRatesTimeOfUseDays.

type EnergyPlanControlledLoadTimeOfUseRatesType

type EnergyPlanControlledLoadTimeOfUseRatesType string

EnergyPlanControlledLoadTimeOfUseRatesType The type of usage that the rate applies to

const (
	EnergyPlanControlledLoadTimeOfUseRatesTypeOFFPEAK     EnergyPlanControlledLoadTimeOfUseRatesType = "OFF_PEAK"
	EnergyPlanControlledLoadTimeOfUseRatesTypePEAK        EnergyPlanControlledLoadTimeOfUseRatesType = "PEAK"
	EnergyPlanControlledLoadTimeOfUseRatesTypeSHOULDER    EnergyPlanControlledLoadTimeOfUseRatesType = "SHOULDER"
	EnergyPlanControlledLoadTimeOfUseRatesTypeSOLARSPONGE EnergyPlanControlledLoadTimeOfUseRatesType = "SOLAR_SPONGE"
)

Defines values for EnergyPlanControlledLoadTimeOfUseRatesType.

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 EnergyPlanDetailV2 added in v0.1.6

type EnergyPlanDetailV2 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 *EnergyPlanDetailV2CustomerType `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 *EnergyPlanContractFullV2 `json:"electricityContract,omitempty"`

	// FuelType The fuel types covered by the plan
	FuelType    EnergyPlanDetailV2FuelType `json:"fuelType"`
	GasContract *EnergyPlanContractFullV2  `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 *[]EnergyPlanDetailV2AllOfMeteringCharges `json:"meteringCharges,omitempty"`

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

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

EnergyPlanDetailV2 defines model for EnergyPlanDetailV2.

type EnergyPlanDetailV2AllOf added in v0.1.6

type EnergyPlanDetailV2AllOf struct {
	ElectricityContract *EnergyPlanContractFullV2 `json:"electricityContract,omitempty"`
	GasContract         *EnergyPlanContractFullV2 `json:"gasContract,omitempty"`

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

EnergyPlanDetailV2AllOf defines model for EnergyPlanDetailV2_allOf.

type EnergyPlanDetailV2AllOfMeteringCharges added in v0.1.6

type EnergyPlanDetailV2AllOfMeteringCharges 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"`
}

EnergyPlanDetailV2AllOfMeteringCharges defines model for EnergyPlanDetailV2_allOf_meteringCharges.

type EnergyPlanDetailV2CustomerType added in v0.1.6

type EnergyPlanDetailV2CustomerType string

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

const (
	EnergyPlanDetailV2CustomerTypeBUSINESS    EnergyPlanDetailV2CustomerType = "BUSINESS"
	EnergyPlanDetailV2CustomerTypeRESIDENTIAL EnergyPlanDetailV2CustomerType = "RESIDENTIAL"
)

Defines values for EnergyPlanDetailV2CustomerType.

type EnergyPlanDetailV2FuelType added in v0.1.6

type EnergyPlanDetailV2FuelType string

EnergyPlanDetailV2FuelType The fuel types covered by the plan

const (
	EnergyPlanDetailV2FuelTypeDUAL        EnergyPlanDetailV2FuelType = "DUAL"
	EnergyPlanDetailV2FuelTypeELECTRICITY EnergyPlanDetailV2FuelType = "ELECTRICITY"
	EnergyPlanDetailV2FuelTypeGAS         EnergyPlanDetailV2FuelType = "GAS"
)

Defines values for EnergyPlanDetailV2FuelType.

type EnergyPlanDetailV2Type added in v0.1.6

type EnergyPlanDetailV2Type string

EnergyPlanDetailV2Type The type of the plan

const (
	EnergyPlanDetailV2TypeMARKET    EnergyPlanDetailV2Type = "MARKET"
	EnergyPlanDetailV2TypeREGULATED EnergyPlanDetailV2Type = "REGULATED"
	EnergyPlanDetailV2TypeSTANDING  EnergyPlanDetailV2Type = "STANDING"
)

Defines values for EnergyPlanDetailV2Type.

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 EnergyPlanResponseV2 added in v0.1.6

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

EnergyPlanResponseV2 defines model for EnergyPlanResponseV2.

type EnergyPlanSolarFeedInTariffV2 added in v0.1.6

type EnergyPlanSolarFeedInTariffV2 = []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 EnergyPlanSolarFeedInTariffV2PayerType `json:"payerType"`

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

	// SingleTariff Represents a constant tariff.  Mandatory if tariffUType is set to singleTariff
	SingleTariff *struct {
		// Rates Array of feed in rates
		Rates []struct {
			// MeasureUnit The measurement unit of rate. Assumed to be KWH if absent
			MeasureUnit *EnergyPlanSolarFeedInTariffV2SingleTariffRatesMeasureUnit `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"`
		} `json:"rates"`
	} `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 EnergyPlanSolarFeedInTariffV2TariffUType `json:"tariffUType"`

	// TimeVaryingTariffs Represents a tariff based on time.  Mandatory if tariffUType is set to timeVaryingTariffs
	TimeVaryingTariffs *struct {
		// Rates Array of feed in rates
		Rates *[]struct {
			// MeasureUnit The measurement unit of rate. Assumed to be KWH if absent
			MeasureUnit *EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsRatesMeasureUnit `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"`
		} `json:"rates,omitempty"`

		// 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"`
	} `json:"timeVaryingTariffs,omitempty"`
}

EnergyPlanSolarFeedInTariffV2 Array of feed in tariffs for solar power

type EnergyPlanSolarFeedInTariffV2PayerType added in v0.1.6

type EnergyPlanSolarFeedInTariffV2PayerType string

EnergyPlanSolarFeedInTariffV2PayerType The type of the payer

const (
	GOVERNMENT EnergyPlanSolarFeedInTariffV2PayerType = "GOVERNMENT"
	RETAILER   EnergyPlanSolarFeedInTariffV2PayerType = "RETAILER"
)

Defines values for EnergyPlanSolarFeedInTariffV2PayerType.

type EnergyPlanSolarFeedInTariffV2Scheme added in v0.1.6

type EnergyPlanSolarFeedInTariffV2Scheme string

EnergyPlanSolarFeedInTariffV2Scheme The applicable scheme

const (
	EnergyPlanSolarFeedInTariffV2SchemeOTHER   EnergyPlanSolarFeedInTariffV2Scheme = "OTHER"
	EnergyPlanSolarFeedInTariffV2SchemePREMIUM EnergyPlanSolarFeedInTariffV2Scheme = "PREMIUM"
)

Defines values for EnergyPlanSolarFeedInTariffV2Scheme.

type EnergyPlanSolarFeedInTariffV2SingleTariffRatesMeasureUnit added in v0.1.6

type EnergyPlanSolarFeedInTariffV2SingleTariffRatesMeasureUnit string

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

const (
	EnergyPlanSolarFeedInTariffV2SingleTariffRatesMeasureUnitDAYS  EnergyPlanSolarFeedInTariffV2SingleTariffRatesMeasureUnit = "DAYS"
	EnergyPlanSolarFeedInTariffV2SingleTariffRatesMeasureUnitKVA   EnergyPlanSolarFeedInTariffV2SingleTariffRatesMeasureUnit = "KVA"
	EnergyPlanSolarFeedInTariffV2SingleTariffRatesMeasureUnitKVAR  EnergyPlanSolarFeedInTariffV2SingleTariffRatesMeasureUnit = "KVAR"
	EnergyPlanSolarFeedInTariffV2SingleTariffRatesMeasureUnitKVARH EnergyPlanSolarFeedInTariffV2SingleTariffRatesMeasureUnit = "KVARH"
	EnergyPlanSolarFeedInTariffV2SingleTariffRatesMeasureUnitKW    EnergyPlanSolarFeedInTariffV2SingleTariffRatesMeasureUnit = "KW"
	EnergyPlanSolarFeedInTariffV2SingleTariffRatesMeasureUnitKWH   EnergyPlanSolarFeedInTariffV2SingleTariffRatesMeasureUnit = "KWH"
	EnergyPlanSolarFeedInTariffV2SingleTariffRatesMeasureUnitMETER EnergyPlanSolarFeedInTariffV2SingleTariffRatesMeasureUnit = "METER"
	EnergyPlanSolarFeedInTariffV2SingleTariffRatesMeasureUnitMONTH EnergyPlanSolarFeedInTariffV2SingleTariffRatesMeasureUnit = "MONTH"
)

Defines values for EnergyPlanSolarFeedInTariffV2SingleTariffRatesMeasureUnit.

type EnergyPlanSolarFeedInTariffV2TariffUType added in v0.1.6

type EnergyPlanSolarFeedInTariffV2TariffUType string

EnergyPlanSolarFeedInTariffV2TariffUType The type of the payer

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

Defines values for EnergyPlanSolarFeedInTariffV2TariffUType.

type EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsRatesMeasureUnit added in v0.1.6

type EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsRatesMeasureUnit string

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

const (
	EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsRatesMeasureUnitDAYS  EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsRatesMeasureUnit = "DAYS"
	EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsRatesMeasureUnitKVA   EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsRatesMeasureUnit = "KVA"
	EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsRatesMeasureUnitKVAR  EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsRatesMeasureUnit = "KVAR"
	EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsRatesMeasureUnitKVARH EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsRatesMeasureUnit = "KVARH"
	EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsRatesMeasureUnitKW    EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsRatesMeasureUnit = "KW"
	EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsRatesMeasureUnitKWH   EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsRatesMeasureUnit = "KWH"
	EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsRatesMeasureUnitMETER EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsRatesMeasureUnit = "METER"
	EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsRatesMeasureUnitMONTH EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsRatesMeasureUnit = "MONTH"
)

Defines values for EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsRatesMeasureUnit.

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

const (
	EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsTypeOFFPEAK  EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsType = "OFF_PEAK"
	EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsTypePEAK     EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsType = "PEAK"
	EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsTypeSHOULDER EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsType = "SHOULDER"
)

Defines values for EnergyPlanSolarFeedInTariffV2TimeVaryingTariffsType.

type EnergyPlanTariffPeriod

type EnergyPlanTariffPeriod = []struct {
	// DailySupplyCharges The amount of access charge for the tariff period, in dollars per day exclusive of GST.
	DailySupplyCharges *string `json:"dailySupplyCharges,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 EnergyPlanTariffPeriodDemandChargesChargePeriod `json:"chargePeriod"`

		// Days The days that the demand tariff applies to
		Days *[]EnergyPlanTariffPeriodDemandChargesDays `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
		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 *EnergyPlanTariffPeriodDemandChargesMeasureUnit `json:"measureUnit,omitempty"`

		// MeasurementPeriod Application period for the demand tariff
		MeasurementPeriod EnergyPlanTariffPeriodDemandChargesMeasurementPeriod `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
		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 EnergyPlanTariffPeriodRateBlockUType `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 *EnergyPlanTariffPeriodSingleRateRatesMeasureUnit `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"`

		// 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 *EnergyPlanTariffPeriodTimeOfUseRatesRatesMeasureUnit `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 []EnergyPlanTariffPeriodTimeOfUseRatesTimeOfUseDays `json:"days"`

			// EndTime End of the period
			EndTime string `json:"endTime"`

			// StartTime Start of the period
			StartTime string `json:"startTime"`
		} `json:"timeOfUse"`

		// Type The type of usage that the rate applies to
		Type EnergyPlanTariffPeriodTimeOfUseRatesType `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 *EnergyPlanTariffPeriodTimeZone `json:"timeZone,omitempty"`

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

EnergyPlanTariffPeriod Array of tariff periods

type EnergyPlanTariffPeriodDemandChargesChargePeriod

type EnergyPlanTariffPeriodDemandChargesChargePeriod string

EnergyPlanTariffPeriodDemandChargesChargePeriod Charge period for the demand tariff

const (
	EnergyPlanTariffPeriodDemandChargesChargePeriodDAY          EnergyPlanTariffPeriodDemandChargesChargePeriod = "DAY"
	EnergyPlanTariffPeriodDemandChargesChargePeriodMONTH        EnergyPlanTariffPeriodDemandChargesChargePeriod = "MONTH"
	EnergyPlanTariffPeriodDemandChargesChargePeriodTARIFFPERIOD EnergyPlanTariffPeriodDemandChargesChargePeriod = "TARIFF_PERIOD"
)

Defines values for EnergyPlanTariffPeriodDemandChargesChargePeriod.

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 EnergyPlanTariffPeriodDemandChargesMeasureUnit

type EnergyPlanTariffPeriodDemandChargesMeasureUnit string

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

const (
	EnergyPlanTariffPeriodDemandChargesMeasureUnitDAYS  EnergyPlanTariffPeriodDemandChargesMeasureUnit = "DAYS"
	EnergyPlanTariffPeriodDemandChargesMeasureUnitKVA   EnergyPlanTariffPeriodDemandChargesMeasureUnit = "KVA"
	EnergyPlanTariffPeriodDemandChargesMeasureUnitKVAR  EnergyPlanTariffPeriodDemandChargesMeasureUnit = "KVAR"
	EnergyPlanTariffPeriodDemandChargesMeasureUnitKVARH EnergyPlanTariffPeriodDemandChargesMeasureUnit = "KVARH"
	EnergyPlanTariffPeriodDemandChargesMeasureUnitKW    EnergyPlanTariffPeriodDemandChargesMeasureUnit = "KW"
	EnergyPlanTariffPeriodDemandChargesMeasureUnitKWH   EnergyPlanTariffPeriodDemandChargesMeasureUnit = "KWH"
	EnergyPlanTariffPeriodDemandChargesMeasureUnitMETER EnergyPlanTariffPeriodDemandChargesMeasureUnit = "METER"
	EnergyPlanTariffPeriodDemandChargesMeasureUnitMONTH EnergyPlanTariffPeriodDemandChargesMeasureUnit = "MONTH"
)

Defines values for EnergyPlanTariffPeriodDemandChargesMeasureUnit.

type EnergyPlanTariffPeriodDemandChargesMeasurementPeriod

type EnergyPlanTariffPeriodDemandChargesMeasurementPeriod string

EnergyPlanTariffPeriodDemandChargesMeasurementPeriod Application period for the demand tariff

const (
	EnergyPlanTariffPeriodDemandChargesMeasurementPeriodDAY          EnergyPlanTariffPeriodDemandChargesMeasurementPeriod = "DAY"
	EnergyPlanTariffPeriodDemandChargesMeasurementPeriodMONTH        EnergyPlanTariffPeriodDemandChargesMeasurementPeriod = "MONTH"
	EnergyPlanTariffPeriodDemandChargesMeasurementPeriodTARIFFPERIOD EnergyPlanTariffPeriodDemandChargesMeasurementPeriod = "TARIFF_PERIOD"
)

Defines values for EnergyPlanTariffPeriodDemandChargesMeasurementPeriod.

type EnergyPlanTariffPeriodRateBlockUType

type EnergyPlanTariffPeriodRateBlockUType string

EnergyPlanTariffPeriodRateBlockUType Specifies the type of rate applicable to this tariff period

const (
	EnergyPlanTariffPeriodRateBlockUTypeDemandCharges  EnergyPlanTariffPeriodRateBlockUType = "demandCharges"
	EnergyPlanTariffPeriodRateBlockUTypeSingleRate     EnergyPlanTariffPeriodRateBlockUType = "singleRate"
	EnergyPlanTariffPeriodRateBlockUTypeTimeOfUseRates EnergyPlanTariffPeriodRateBlockUType = "timeOfUseRates"
)

Defines values for EnergyPlanTariffPeriodRateBlockUType.

type EnergyPlanTariffPeriodSingleRateRatesMeasureUnit

type EnergyPlanTariffPeriodSingleRateRatesMeasureUnit string

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

const (
	EnergyPlanTariffPeriodSingleRateRatesMeasureUnitDAYS  EnergyPlanTariffPeriodSingleRateRatesMeasureUnit = "DAYS"
	EnergyPlanTariffPeriodSingleRateRatesMeasureUnitKVA   EnergyPlanTariffPeriodSingleRateRatesMeasureUnit = "KVA"
	EnergyPlanTariffPeriodSingleRateRatesMeasureUnitKVAR  EnergyPlanTariffPeriodSingleRateRatesMeasureUnit = "KVAR"
	EnergyPlanTariffPeriodSingleRateRatesMeasureUnitKVARH EnergyPlanTariffPeriodSingleRateRatesMeasureUnit = "KVARH"
	EnergyPlanTariffPeriodSingleRateRatesMeasureUnitKW    EnergyPlanTariffPeriodSingleRateRatesMeasureUnit = "KW"
	EnergyPlanTariffPeriodSingleRateRatesMeasureUnitKWH   EnergyPlanTariffPeriodSingleRateRatesMeasureUnit = "KWH"
	EnergyPlanTariffPeriodSingleRateRatesMeasureUnitMETER EnergyPlanTariffPeriodSingleRateRatesMeasureUnit = "METER"
	EnergyPlanTariffPeriodSingleRateRatesMeasureUnitMONTH EnergyPlanTariffPeriodSingleRateRatesMeasureUnit = "MONTH"
)

Defines values for EnergyPlanTariffPeriodSingleRateRatesMeasureUnit.

type EnergyPlanTariffPeriodTimeOfUseRatesRatesMeasureUnit

type EnergyPlanTariffPeriodTimeOfUseRatesRatesMeasureUnit string

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

const (
	EnergyPlanTariffPeriodTimeOfUseRatesRatesMeasureUnitDAYS  EnergyPlanTariffPeriodTimeOfUseRatesRatesMeasureUnit = "DAYS"
	EnergyPlanTariffPeriodTimeOfUseRatesRatesMeasureUnitKVA   EnergyPlanTariffPeriodTimeOfUseRatesRatesMeasureUnit = "KVA"
	EnergyPlanTariffPeriodTimeOfUseRatesRatesMeasureUnitKVAR  EnergyPlanTariffPeriodTimeOfUseRatesRatesMeasureUnit = "KVAR"
	EnergyPlanTariffPeriodTimeOfUseRatesRatesMeasureUnitKVARH EnergyPlanTariffPeriodTimeOfUseRatesRatesMeasureUnit = "KVARH"
	EnergyPlanTariffPeriodTimeOfUseRatesRatesMeasureUnitKW    EnergyPlanTariffPeriodTimeOfUseRatesRatesMeasureUnit = "KW"
	EnergyPlanTariffPeriodTimeOfUseRatesRatesMeasureUnitKWH   EnergyPlanTariffPeriodTimeOfUseRatesRatesMeasureUnit = "KWH"
	EnergyPlanTariffPeriodTimeOfUseRatesRatesMeasureUnitMETER EnergyPlanTariffPeriodTimeOfUseRatesRatesMeasureUnit = "METER"
	EnergyPlanTariffPeriodTimeOfUseRatesRatesMeasureUnitMONTH EnergyPlanTariffPeriodTimeOfUseRatesRatesMeasureUnit = "MONTH"
)

Defines values for EnergyPlanTariffPeriodTimeOfUseRatesRatesMeasureUnit.

type EnergyPlanTariffPeriodTimeOfUseRatesTimeOfUseDays

type EnergyPlanTariffPeriodTimeOfUseRatesTimeOfUseDays string

EnergyPlanTariffPeriodTimeOfUseRatesTimeOfUseDays defines model for EnergyPlanTariffPeriod.TimeOfUseRates.TimeOfUse.Days.

const (
	EnergyPlanTariffPeriodTimeOfUseRatesTimeOfUseDaysFRI            EnergyPlanTariffPeriodTimeOfUseRatesTimeOfUseDays = "FRI"
	EnergyPlanTariffPeriodTimeOfUseRatesTimeOfUseDaysMON            EnergyPlanTariffPeriodTimeOfUseRatesTimeOfUseDays = "MON"
	EnergyPlanTariffPeriodTimeOfUseRatesTimeOfUseDaysPUBLICHOLIDAYS EnergyPlanTariffPeriodTimeOfUseRatesTimeOfUseDays = "PUBLIC_HOLIDAYS"
	EnergyPlanTariffPeriodTimeOfUseRatesTimeOfUseDaysSAT            EnergyPlanTariffPeriodTimeOfUseRatesTimeOfUseDays = "SAT"
	EnergyPlanTariffPeriodTimeOfUseRatesTimeOfUseDaysSUN            EnergyPlanTariffPeriodTimeOfUseRatesTimeOfUseDays = "SUN"
	EnergyPlanTariffPeriodTimeOfUseRatesTimeOfUseDaysTHU            EnergyPlanTariffPeriodTimeOfUseRatesTimeOfUseDays = "THU"
	EnergyPlanTariffPeriodTimeOfUseRatesTimeOfUseDaysTUE            EnergyPlanTariffPeriodTimeOfUseRatesTimeOfUseDays = "TUE"
	EnergyPlanTariffPeriodTimeOfUseRatesTimeOfUseDaysWED            EnergyPlanTariffPeriodTimeOfUseRatesTimeOfUseDays = "WED"
)

Defines values for EnergyPlanTariffPeriodTimeOfUseRatesTimeOfUseDays.

type EnergyPlanTariffPeriodTimeOfUseRatesType

type EnergyPlanTariffPeriodTimeOfUseRatesType string

EnergyPlanTariffPeriodTimeOfUseRatesType The type of usage that the rate applies to

const (
	EnergyPlanTariffPeriodTimeOfUseRatesTypeOFFPEAK   EnergyPlanTariffPeriodTimeOfUseRatesType = "OFF_PEAK"
	EnergyPlanTariffPeriodTimeOfUseRatesTypePEAK      EnergyPlanTariffPeriodTimeOfUseRatesType = "PEAK"
	EnergyPlanTariffPeriodTimeOfUseRatesTypeSHOULDER  EnergyPlanTariffPeriodTimeOfUseRatesType = "SHOULDER"
	EnergyPlanTariffPeriodTimeOfUseRatesTypeSHOULDER1 EnergyPlanTariffPeriodTimeOfUseRatesType = "SHOULDER1"
	EnergyPlanTariffPeriodTimeOfUseRatesTypeSHOULDER2 EnergyPlanTariffPeriodTimeOfUseRatesType = "SHOULDER2"
)

Defines values for EnergyPlanTariffPeriodTimeOfUseRatesType.

type EnergyPlanTariffPeriodTimeZone

type EnergyPlanTariffPeriodTimeZone string

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

const (
	AEST  EnergyPlanTariffPeriodTimeZone = "AEST"
	LOCAL EnergyPlanTariffPeriodTimeZone = "LOCAL"
)

Defines values for EnergyPlanTariffPeriodTimeZone.

type EnergyPlanTariffPeriodType

type EnergyPlanTariffPeriodType string

EnergyPlanTariffPeriodType Type of charge. Assumed to be other if absent

const (
	EnergyPlanTariffPeriodTypeENVIRONMENTAL EnergyPlanTariffPeriodType = "ENVIRONMENTAL"
	EnergyPlanTariffPeriodTypeMETERING      EnergyPlanTariffPeriodType = "METERING"
	EnergyPlanTariffPeriodTypeNETWORK       EnergyPlanTariffPeriodType = "NETWORK"
	EnergyPlanTariffPeriodTypeOTHER         EnergyPlanTariffPeriodType = "OTHER"
	EnergyPlanTariffPeriodTypeRCTI          EnergyPlanTariffPeriodType = "RCTI"
	EnergyPlanTariffPeriodTypeREGULATED     EnergyPlanTariffPeriodType = "REGULATED"
	EnergyPlanTariffPeriodTypeRETAILSERVICE EnergyPlanTariffPeriodType = "RETAIL_SERVICE"
)

Defines values for EnergyPlanTariffPeriodType.

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>

const (
	EnergyServicePointDetailSpecificationsInstallationTypeBASIC    EnergyServicePointDetailSpecificationsInstallationType = "BASIC"
	EnergyServicePointDetailSpecificationsInstallationTypeCOMMS1   EnergyServicePointDetailSpecificationsInstallationType = "COMMS1"
	EnergyServicePointDetailSpecificationsInstallationTypeCOMMS2   EnergyServicePointDetailSpecificationsInstallationType = "COMMS2"
	EnergyServicePointDetailSpecificationsInstallationTypeCOMMS3   EnergyServicePointDetailSpecificationsInstallationType = "COMMS3"
	EnergyServicePointDetailSpecificationsInstallationTypeCOMMS4   EnergyServicePointDetailSpecificationsInstallationType = "COMMS4"
	EnergyServicePointDetailSpecificationsInstallationTypeCOMMS4C  EnergyServicePointDetailSpecificationsInstallationType = "COMMS4C"
	EnergyServicePointDetailSpecificationsInstallationTypeCOMMS4D  EnergyServicePointDetailSpecificationsInstallationType = "COMMS4D"
	EnergyServicePointDetailSpecificationsInstallationTypeMRAM     EnergyServicePointDetailSpecificationsInstallationType = "MRAM"
	EnergyServicePointDetailSpecificationsInstallationTypeMRIM     EnergyServicePointDetailSpecificationsInstallationType = "MRIM"
	EnergyServicePointDetailSpecificationsInstallationTypeNCOLNUML EnergyServicePointDetailSpecificationsInstallationType = "NCOLNUML"
	EnergyServicePointDetailSpecificationsInstallationTypePROF     EnergyServicePointDetailSpecificationsInstallationType = "PROF"
	EnergyServicePointDetailSpecificationsInstallationTypeSAMPLE   EnergyServicePointDetailSpecificationsInstallationType = "SAMPLE"
	EnergyServicePointDetailSpecificationsInstallationTypeUMCP     EnergyServicePointDetailSpecificationsInstallationType = "UMCP"
	EnergyServicePointDetailSpecificationsInstallationTypeVICAMI   EnergyServicePointDetailSpecificationsInstallationType = "VICAMI"
)

Defines values for EnergyServicePointDetailSpecificationsInstallationType.

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-R-Draft]](#nref-FAPI-R-Draft)**.  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 GetAccountResponse

type GetAccountResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	JSON200      *EnergyAccountDetailResponseV3
	JSON400      *ResponseErrorListV2
	JSON404      *ResponseErrorListV2
	JSON406      *ResponseErrorListV2
}

func ParseGetAccountResponse

func ParseGetAccountResponse(rsp *http.Response) (*GetAccountResponse, error)

ParseGetAccountResponse parses an HTTP response from a GetAccountWithResponse call

func (GetAccountResponse) Status

func (r GetAccountResponse) Status() string

Status returns HTTPResponse.Status

func (GetAccountResponse) StatusCode

func (r GetAccountResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

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-R-Draft]](#nref-FAPI-R-Draft)**.  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 GetBalanceForAccountResponse

type GetBalanceForAccountResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	JSON200      *EnergyBalanceResponse
	JSON400      *ResponseErrorListV2
	JSON404      *ResponseErrorListV2
	JSON406      *ResponseErrorListV2
}

func ParseGetBalanceForAccountResponse

func ParseGetBalanceForAccountResponse(rsp *http.Response) (*GetBalanceForAccountResponse, error)

ParseGetBalanceForAccountResponse parses an HTTP response from a GetBalanceForAccountWithResponse call

func (GetBalanceForAccountResponse) Status

Status returns HTTPResponse.Status

func (GetBalanceForAccountResponse) StatusCode

func (r GetBalanceForAccountResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

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-R-Draft]](#nref-FAPI-R-Draft)**.  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 GetBillingForAccountResponse

type GetBillingForAccountResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	JSON200      *EnergyBillingListResponse
	JSON400      *ResponseErrorListV2
	JSON404      *ResponseErrorListV2
	JSON406      *ResponseErrorListV2
	JSON422      *ResponseErrorListV2
}

func ParseGetBillingForAccountResponse

func ParseGetBillingForAccountResponse(rsp *http.Response) (*GetBillingForAccountResponse, error)

ParseGetBillingForAccountResponse parses an HTTP response from a GetBillingForAccountWithResponse call

func (GetBillingForAccountResponse) Status

Status returns HTTPResponse.Status

func (GetBillingForAccountResponse) StatusCode

func (r GetBillingForAccountResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

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-R-Draft]](#nref-FAPI-R-Draft)**.  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 GetConcessionsResponse

type GetConcessionsResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	JSON200      *EnergyConcessionsResponse
	JSON400      *ResponseErrorListV2
	JSON404      *ResponseErrorListV2
	JSON406      *ResponseErrorListV2
}

func ParseGetConcessionsResponse

func ParseGetConcessionsResponse(rsp *http.Response) (*GetConcessionsResponse, error)

ParseGetConcessionsResponse parses an HTTP response from a GetConcessionsWithResponse call

func (GetConcessionsResponse) Status

func (r GetConcessionsResponse) Status() string

Status returns HTTPResponse.Status

func (GetConcessionsResponse) StatusCode

func (r GetConcessionsResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

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-R-Draft]](#nref-FAPI-R-Draft)**.  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 GetDERForServicePointResponse

type GetDERForServicePointResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	JSON200      *EnergyDerDetailResponse
	JSON400      *ResponseErrorListV2
	JSON404      *ResponseErrorListV2
	JSON406      *ResponseErrorListV2
}

func ParseGetDERForServicePointResponse

func ParseGetDERForServicePointResponse(rsp *http.Response) (*GetDERForServicePointResponse, error)

ParseGetDERForServicePointResponse parses an HTTP response from a GetDERForServicePointWithResponse call

func (GetDERForServicePointResponse) Status

Status returns HTTPResponse.Status

func (GetDERForServicePointResponse) StatusCode

func (r GetDERForServicePointResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

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-R-Draft]](#nref-FAPI-R-Draft)**.  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 GetInvoicesForAccountResponse

type GetInvoicesForAccountResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	JSON200      *EnergyInvoiceListResponse
	JSON400      *ResponseErrorListV2
	JSON404      *ResponseErrorListV2
	JSON406      *ResponseErrorListV2
	JSON422      *ResponseErrorListV2
}

func ParseGetInvoicesForAccountResponse

func ParseGetInvoicesForAccountResponse(rsp *http.Response) (*GetInvoicesForAccountResponse, error)

ParseGetInvoicesForAccountResponse parses an HTTP response from a GetInvoicesForAccountWithResponse call

func (GetInvoicesForAccountResponse) Status

Status returns HTTPResponse.Status

func (GetInvoicesForAccountResponse) StatusCode

func (r GetInvoicesForAccountResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

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-R-Draft]](#nref-FAPI-R-Draft)**.  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 GetPaymentScheduleResponse

type GetPaymentScheduleResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	JSON200      *EnergyPaymentScheduleResponse
	JSON400      *ResponseErrorListV2
	JSON404      *ResponseErrorListV2
	JSON406      *ResponseErrorListV2
}

func ParseGetPaymentScheduleResponse

func ParseGetPaymentScheduleResponse(rsp *http.Response) (*GetPaymentScheduleResponse, error)

ParseGetPaymentScheduleResponse parses an HTTP response from a GetPaymentScheduleWithResponse call

func (GetPaymentScheduleResponse) Status

Status returns HTTPResponse.Status

func (GetPaymentScheduleResponse) StatusCode

func (r GetPaymentScheduleResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

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 GetPlanResponse

type GetPlanResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	JSON200      *EnergyPlanResponseV2
	JSON400      *ResponseErrorListV2
	JSON404      *ResponseErrorListV2
	JSON406      *ResponseErrorListV2
}

func ParseGetPlanResponse

func ParseGetPlanResponse(rsp *http.Response) (*GetPlanResponse, error)

ParseGetPlanResponse parses an HTTP response from a GetPlanWithResponse call

func (GetPlanResponse) Status

func (r GetPlanResponse) Status() string

Status returns HTTPResponse.Status

func (GetPlanResponse) StatusCode

func (r GetPlanResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

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-R-Draft]](#nref-FAPI-R-Draft)**.  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 GetServicePointResponse

type GetServicePointResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	JSON200      *EnergyServicePointDetailResponse
	JSON400      *ResponseErrorListV2
	JSON404      *ResponseErrorListV2
	JSON406      *ResponseErrorListV2
}

func ParseGetServicePointResponse

func ParseGetServicePointResponse(rsp *http.Response) (*GetServicePointResponse, error)

ParseGetServicePointResponse parses an HTTP response from a GetServicePointWithResponse call

func (GetServicePointResponse) Status

func (r GetServicePointResponse) Status() string

Status returns HTTPResponse.Status

func (GetServicePointResponse) StatusCode

func (r GetServicePointResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

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-R-Draft]](#nref-FAPI-R-Draft)**.  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 GetUsageForServicePointResponse

type GetUsageForServicePointResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	JSON200      *EnergyUsageListResponse
	JSON400      *ResponseErrorListV2
	JSON404      *ResponseErrorListV2
	JSON406      *ResponseErrorListV2
	JSON422      *ResponseErrorListV2
}

func ParseGetUsageForServicePointResponse

func ParseGetUsageForServicePointResponse(rsp *http.Response) (*GetUsageForServicePointResponse, error)

ParseGetUsageForServicePointResponse parses an HTTP response from a GetUsageForServicePointWithResponse call

func (GetUsageForServicePointResponse) Status

Status returns HTTPResponse.Status

func (GetUsageForServicePointResponse) StatusCode

func (r GetUsageForServicePointResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type HttpRequestDoer

type HttpRequestDoer interface {
	Do(req *http.Request) (*http.Response, error)
}

Doer performs HTTP requests.

The standard http.Client implements this interface.

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-R-Draft]](#nref-FAPI-R-Draft)**.  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 ListAccountsResponse

type ListAccountsResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	JSON200      *EnergyAccountListResponseV2
	JSON400      *ResponseErrorListV2
	JSON406      *ResponseErrorListV2
	JSON422      *ResponseErrorListV2
}

func ParseListAccountsResponse

func ParseListAccountsResponse(rsp *http.Response) (*ListAccountsResponse, error)

ParseListAccountsResponse parses an HTTP response from a ListAccountsWithResponse call

func (ListAccountsResponse) Status

func (r ListAccountsResponse) Status() string

Status returns HTTPResponse.Status

func (ListAccountsResponse) StatusCode

func (r ListAccountsResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

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-R-Draft]](#nref-FAPI-R-Draft)**.  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 ListBalancesBulkResponse

type ListBalancesBulkResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	JSON200      *EnergyBalanceListResponse
	JSON400      *ResponseErrorListV2
	JSON406      *ResponseErrorListV2
	JSON422      *ResponseErrorListV2
}

func ParseListBalancesBulkResponse

func ParseListBalancesBulkResponse(rsp *http.Response) (*ListBalancesBulkResponse, error)

ParseListBalancesBulkResponse parses an HTTP response from a ListBalancesBulkWithResponse call

func (ListBalancesBulkResponse) Status

func (r ListBalancesBulkResponse) Status() string

Status returns HTTPResponse.Status

func (ListBalancesBulkResponse) StatusCode

func (r ListBalancesBulkResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type ListBalancesForAccountsJSONBody added in v0.1.6

type ListBalancesForAccountsJSONBody struct {
	Data struct {
		// AccountIds Array of specific accountIds to obtain data for
		AccountIds []string `json:"accountIds"`
	} `json:"data"`
	Meta *Meta `json:"meta,omitempty"`
}

ListBalancesForAccountsJSONBody defines parameters for ListBalancesForAccounts.

type ListBalancesForAccountsJSONRequestBody

type ListBalancesForAccountsJSONRequestBody ListBalancesForAccountsJSONBody

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-R-Draft]](#nref-FAPI-R-Draft)**.  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 ListBalancesForAccountsResponse

type ListBalancesForAccountsResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	JSON200      *EnergyBalanceListResponse
	JSON400      *ResponseErrorListV2
	JSON406      *ResponseErrorListV2
	JSON422      *ResponseErrorListV2
}

func ParseListBalancesForAccountsResponse

func ParseListBalancesForAccountsResponse(rsp *http.Response) (*ListBalancesForAccountsResponse, error)

ParseListBalancesForAccountsResponse parses an HTTP response from a ListBalancesForAccountsWithResponse call

func (ListBalancesForAccountsResponse) Status

Status returns HTTPResponse.Status

func (ListBalancesForAccountsResponse) StatusCode

func (r ListBalancesForAccountsResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

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-R-Draft]](#nref-FAPI-R-Draft)**.  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 ListBillingBulkResponse

type ListBillingBulkResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	JSON200      *EnergyBillingListResponse
	JSON400      *ResponseErrorListV2
	JSON406      *ResponseErrorListV2
	JSON422      *ResponseErrorListV2
}

func ParseListBillingBulkResponse

func ParseListBillingBulkResponse(rsp *http.Response) (*ListBillingBulkResponse, error)

ParseListBillingBulkResponse parses an HTTP response from a ListBillingBulkWithResponse call

func (ListBillingBulkResponse) Status

func (r ListBillingBulkResponse) Status() string

Status returns HTTPResponse.Status

func (ListBillingBulkResponse) StatusCode

func (r ListBillingBulkResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type ListBillingForAccountsJSONBody added in v0.1.6

type ListBillingForAccountsJSONBody struct {
	Data struct {
		// AccountIds Array of specific accountIds to obtain data for
		AccountIds []string `json:"accountIds"`
	} `json:"data"`
	Meta *Meta `json:"meta,omitempty"`
}

ListBillingForAccountsJSONBody defines parameters for ListBillingForAccounts.

type ListBillingForAccountsJSONRequestBody

type ListBillingForAccountsJSONRequestBody ListBillingForAccountsJSONBody

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-R-Draft]](#nref-FAPI-R-Draft)**.  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 ListBillingForAccountsResponse

type ListBillingForAccountsResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	JSON200      *EnergyBillingListResponse
	JSON400      *ResponseErrorListV2
	JSON406      *ResponseErrorListV2
	JSON422      *ResponseErrorListV2
}

func ParseListBillingForAccountsResponse

func ParseListBillingForAccountsResponse(rsp *http.Response) (*ListBillingForAccountsResponse, error)

ParseListBillingForAccountsResponse parses an HTTP response from a ListBillingForAccountsWithResponse call

func (ListBillingForAccountsResponse) Status

Status returns HTTPResponse.Status

func (ListBillingForAccountsResponse) StatusCode

func (r ListBillingForAccountsResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

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-R-Draft]](#nref-FAPI-R-Draft)**.  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 ListDERBulkResponse

type ListDERBulkResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	JSON200      *EnergyDerListResponse
	JSON400      *ResponseErrorListV2
	JSON406      *ResponseErrorListV2
	JSON422      *ResponseErrorListV2
}

func ParseListDERBulkResponse

func ParseListDERBulkResponse(rsp *http.Response) (*ListDERBulkResponse, error)

ParseListDERBulkResponse parses an HTTP response from a ListDERBulkWithResponse call

func (ListDERBulkResponse) Status

func (r ListDERBulkResponse) Status() string

Status returns HTTPResponse.Status

func (ListDERBulkResponse) StatusCode

func (r ListDERBulkResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type ListDERForServicePointsJSONBody added in v0.1.6

type ListDERForServicePointsJSONBody struct {
	Data struct {
		// ServicePointIds Array of specific servicePointIds to obtain data for
		ServicePointIds []string `json:"servicePointIds"`
	} `json:"data"`
	Meta *Meta `json:"meta,omitempty"`
}

ListDERForServicePointsJSONBody defines parameters for ListDERForServicePoints.

type ListDERForServicePointsJSONRequestBody

type ListDERForServicePointsJSONRequestBody ListDERForServicePointsJSONBody

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-R-Draft]](#nref-FAPI-R-Draft)**.  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 ListDERForServicePointsResponse

type ListDERForServicePointsResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	JSON200      *EnergyDerListResponse
	JSON400      *ResponseErrorListV2
	JSON406      *ResponseErrorListV2
	JSON422      *ResponseErrorListV2
}

func ParseListDERForServicePointsResponse

func ParseListDERForServicePointsResponse(rsp *http.Response) (*ListDERForServicePointsResponse, error)

ParseListDERForServicePointsResponse parses an HTTP response from a ListDERForServicePointsWithResponse call

func (ListDERForServicePointsResponse) Status

Status returns HTTPResponse.Status

func (ListDERForServicePointsResponse) StatusCode

func (r ListDERForServicePointsResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

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-R-Draft]](#nref-FAPI-R-Draft)**.  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 ListInvoicesBulkResponse

type ListInvoicesBulkResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	JSON200      *EnergyInvoiceListResponse
	JSON400      *ResponseErrorListV2
	JSON406      *ResponseErrorListV2
	JSON422      *ResponseErrorListV2
}

func ParseListInvoicesBulkResponse

func ParseListInvoicesBulkResponse(rsp *http.Response) (*ListInvoicesBulkResponse, error)

ParseListInvoicesBulkResponse parses an HTTP response from a ListInvoicesBulkWithResponse call

func (ListInvoicesBulkResponse) Status

func (r ListInvoicesBulkResponse) Status() string

Status returns HTTPResponse.Status

func (ListInvoicesBulkResponse) StatusCode

func (r ListInvoicesBulkResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type ListInvoicesForAccountsJSONBody added in v0.1.6

type ListInvoicesForAccountsJSONBody struct {
	Data struct {
		// AccountIds Array of specific accountIds to obtain data for
		AccountIds []string `json:"accountIds"`
	} `json:"data"`
	Meta *Meta `json:"meta,omitempty"`
}

ListInvoicesForAccountsJSONBody defines parameters for ListInvoicesForAccounts.

type ListInvoicesForAccountsJSONRequestBody

type ListInvoicesForAccountsJSONRequestBody ListInvoicesForAccountsJSONBody

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-R-Draft]](#nref-FAPI-R-Draft)**.  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 ListInvoicesForAccountsResponse

type ListInvoicesForAccountsResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	JSON200      *EnergyInvoiceListResponse
	JSON400      *ResponseErrorListV2
	JSON406      *ResponseErrorListV2
	JSON422      *ResponseErrorListV2
}

func ParseListInvoicesForAccountsResponse

func ParseListInvoicesForAccountsResponse(rsp *http.Response) (*ListInvoicesForAccountsResponse, error)

ParseListInvoicesForAccountsResponse parses an HTTP response from a ListInvoicesForAccountsWithResponse call

func (ListInvoicesForAccountsResponse) Status

Status returns HTTPResponse.Status

func (ListInvoicesForAccountsResponse) StatusCode

func (r ListInvoicesForAccountsResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

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 ListPlansResponse

type ListPlansResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	JSON200      *EnergyPlanListResponse
	JSON400      *ResponseErrorListV2
	JSON406      *ResponseErrorListV2
	JSON422      *ResponseErrorListV2
}

func ParseListPlansResponse

func ParseListPlansResponse(rsp *http.Response) (*ListPlansResponse, error)

ParseListPlansResponse parses an HTTP response from a ListPlansWithResponse call

func (ListPlansResponse) Status

func (r ListPlansResponse) Status() string

Status returns HTTPResponse.Status

func (ListPlansResponse) StatusCode

func (r ListPlansResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

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-R-Draft]](#nref-FAPI-R-Draft)**.  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 ListServicePointsResponse

type ListServicePointsResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	JSON200      *EnergyServicePointListResponse
	JSON400      *ResponseErrorListV2
	JSON406      *ResponseErrorListV2
	JSON422      *ResponseErrorListV2
}

func ParseListServicePointsResponse

func ParseListServicePointsResponse(rsp *http.Response) (*ListServicePointsResponse, error)

ParseListServicePointsResponse parses an HTTP response from a ListServicePointsWithResponse call

func (ListServicePointsResponse) Status

func (r ListServicePointsResponse) Status() string

Status returns HTTPResponse.Status

func (ListServicePointsResponse) StatusCode

func (r ListServicePointsResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

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-R-Draft]](#nref-FAPI-R-Draft)**.  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 ListUsageBulkResponse

type ListUsageBulkResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	JSON200      *EnergyUsageListResponse
	JSON400      *ResponseErrorListV2
	JSON406      *ResponseErrorListV2
	JSON422      *ResponseErrorListV2
}

func ParseListUsageBulkResponse

func ParseListUsageBulkResponse(rsp *http.Response) (*ListUsageBulkResponse, error)

ParseListUsageBulkResponse parses an HTTP response from a ListUsageBulkWithResponse call

func (ListUsageBulkResponse) Status

func (r ListUsageBulkResponse) Status() string

Status returns HTTPResponse.Status

func (ListUsageBulkResponse) StatusCode

func (r ListUsageBulkResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type ListUsageForServicePointsJSONBody added in v0.1.6

type ListUsageForServicePointsJSONBody struct {
	Data struct {
		// ServicePointIds Array of specific servicePointIds to obtain data for
		ServicePointIds []string `json:"servicePointIds"`
	} `json:"data"`
	Meta *Meta `json:"meta,omitempty"`
}

ListUsageForServicePointsJSONBody defines parameters for ListUsageForServicePoints.

type ListUsageForServicePointsJSONRequestBody

type ListUsageForServicePointsJSONRequestBody ListUsageForServicePointsJSONBody

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-R-Draft]](#nref-FAPI-R-Draft)**.  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 ListUsageForServicePointsResponse

type ListUsageForServicePointsResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	JSON200      *EnergyUsageListResponse
	JSON400      *ResponseErrorListV2
	JSON406      *ResponseErrorListV2
	JSON422      *ResponseErrorListV2
}

func ParseListUsageForServicePointsResponse

func ParseListUsageForServicePointsResponse(rsp *http.Response) (*ListUsageForServicePointsResponse, error)

ParseListUsageForServicePointsResponse parses an HTTP response from a ListUsageForServicePointsWithResponse call

func (ListUsageForServicePointsResponse) Status

Status returns HTTPResponse.Status

func (ListUsageForServicePointsResponse) StatusCode

func (r ListUsageForServicePointsResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

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 RequestEditorFn

type RequestEditorFn func(ctx context.Context, req *http.Request) error

RequestEditorFn is the function signature for the RequestEditor callback function

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

type ServicePointIdList

type ServicePointIdList struct {
	Data struct {
		// ServicePointIds Array of specific servicePointIds to obtain data for
		ServicePointIds []string `json:"servicePointIds"`
	} `json:"data"`
	Meta *Meta `json:"meta,omitempty"`
}

ServicePointIdList defines model for servicePointIdList.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL