cdsenergy

package
v0.0.0-...-66d665b Latest Latest
Warning

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

Go to latest
Published: Oct 28, 2023 License: MIT Imports: 13 Imported by: 0

Documentation

Overview

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

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

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetSwagger

func GetSwagger() (swagger *openapi3.T, err error)

GetSwagger returns the Swagger specification corresponding to the generated code in this file. The external references of Swagger specification are resolved. The logic of resolving external references is tightly connected to "import-mapping" feature. Externally referenced files must be embedded in the corresponding golang packages. Urls can be supported but this task was out of the scope.

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

func PathToRawSpec

func PathToRawSpec(pathToFile string) map[string]func() ([]byte, error)

Constructs a synthetic filesystem for resolving external references when loading openapi specifications.

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)

	// ListBalancesForAccountsWithBody 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)

	// ListBillingForAccountsWithBody 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)

	// ListInvoicesForAccountsWithBody 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)

	// ListDERForServicePointsWithBody 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)

	// ListUsageForServicePointsWithBody 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 {
	// ListAccountsWithResponse request
	ListAccountsWithResponse(ctx context.Context, params *ListAccountsParams, reqEditors ...RequestEditorFn) (*ListAccountsResponse, error)

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

	// ListBalancesForAccountsWithBodyWithResponse 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)

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

	// ListBillingForAccountsWithBodyWithResponse 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)

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

	// ListInvoicesForAccountsWithBodyWithResponse 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)

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

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

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

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

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

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

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

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

	// ListDERForServicePointsWithBodyWithResponse 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)

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

	// ListUsageForServicePointsWithBodyWithResponse 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)

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

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

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

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

	// GetPlanWithResponse 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 EnergyAccountDetailResponseV2

type EnergyAccountDetailResponseV2 struct {
	Data  EnergyAccountDetailV2   `json:"data"`
	Links Links                   `json:"links"`
	Meta  *map[string]interface{} `json:"meta,omitempty"`
}

EnergyAccountDetailResponseV2 defines model for EnergyAccountDetailResponseV2.

type EnergyAccountDetailV2

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

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

EnergyAccountDetailV2 defines model for EnergyAccountDetailV2.

type EnergyAccountDetailV2AllOf

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

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

type EnergyAccountDetailV2AllOfAuthorisedContacts

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

EnergyAccountDetailV2AllOfAuthorisedContacts defines model for EnergyAccountDetailV2_allOf_authorisedContacts.

type EnergyAccountDetailV2AllOfPlanDetail

type EnergyAccountDetailV2AllOfPlanDetail struct {
	ElectricityContract *EnergyPlanContract `json:"electricityContract,omitempty"`

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

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

type EnergyAccountDetailV2AllOfPlanDetailFuelType

type EnergyAccountDetailV2AllOfPlanDetailFuelType string

EnergyAccountDetailV2AllOfPlanDetailFuelType The fuel types covered by the plan

const (
	EnergyAccountDetailV2AllOfPlanDetailFuelTypeDUAL        EnergyAccountDetailV2AllOfPlanDetailFuelType = "DUAL"
	EnergyAccountDetailV2AllOfPlanDetailFuelTypeELECTRICITY EnergyAccountDetailV2AllOfPlanDetailFuelType = "ELECTRICITY"
	EnergyAccountDetailV2AllOfPlanDetailFuelTypeGAS         EnergyAccountDetailV2AllOfPlanDetailFuelType = "GAS"
)

Defines values for EnergyAccountDetailV2AllOfPlanDetailFuelType.

type EnergyAccountDetailV2AllOfPlans

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

EnergyAccountDetailV2AllOfPlans defines model for EnergyAccountDetailV2_allOf_plans.

type EnergyAccountDetailV2OpenStatus

type EnergyAccountDetailV2OpenStatus string

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

const (
	EnergyAccountDetailV2OpenStatusCLOSED EnergyAccountDetailV2OpenStatus = "CLOSED"
	EnergyAccountDetailV2OpenStatusOPEN   EnergyAccountDetailV2OpenStatus = "OPEN"
)

Defines values for EnergyAccountDetailV2OpenStatus.

type EnergyAccountListResponseV2

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

EnergyAccountListResponseV2 defines model for EnergyAccountListResponseV2.

type EnergyAccountListResponseV2Data

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

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

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

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

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

EnergyBalanceListResponseData defines model for EnergyBalanceListResponse_data.

type EnergyBalanceListResponseDataBalances

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  *map[string]interface{}   `json:"meta,omitempty"`
}

EnergyBalanceResponse defines model for EnergyBalanceResponse.

type EnergyBalanceResponseData

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

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

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

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  *map[string]interface{}       `json:"meta,omitempty"`
}

EnergyConcessionsResponse defines model for EnergyConcessionsResponse.

type EnergyConcessionsResponseData

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  *map[string]interface{} `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

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

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

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

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

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

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

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

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

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

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 smooting 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

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

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

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

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  *map[string]interface{}           `json:"meta,omitempty"`
}

EnergyPaymentScheduleResponse defines model for EnergyPaymentScheduleResponse.

type EnergyPaymentScheduleResponseData

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

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 EnergyPlanContract

type EnergyPlanContract 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 *[]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 EnergyPlanContractControlledLoadRateBlockUType `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 *EnergyPlanContractControlledLoadSingleRateRatesMeasureUnit `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 *EnergyPlanContractControlledLoadTimeOfUseRatesRatesMeasureUnit `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 *[]EnergyPlanContractControlledLoadTimeOfUseRatesTimeOfUseDays `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 EnergyPlanContractControlledLoadTimeOfUseRatesType `json:"type"`
		} `json:"timeOfUseRates,omitempty"`
	} `json:"controlledLoad,omitempty"`

	// Discounts Optional list of discounts available for the contract
	Discounts *[]struct {
		// Category The type of the discount.  Mandatory if the discount type is CONDITIONAL
		Category *EnergyPlanContractDiscountsCategory `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 EnergyPlanContractDiscountsMethodUType `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 EnergyPlanContractDiscountsType `json:"type"`
	} `json:"discounts,omitempty"`

	// Eligibility Eligibility restrictions or requirements
	Eligibility *[]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 EnergyPlanContractEligibilityType `json:"type"`
	} `json:"eligibility,omitempty"`

	// Fees An array of fees applicable to the plan
	Fees *[]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 EnergyPlanContractFeesTerm `json:"term"`

		// Type The type of the fee
		Type EnergyPlanContractFeesType `json:"type"`
	} `json:"fees,omitempty"`

	// GreenPowerCharges Optional list of charges applicable to green power
	GreenPowerCharges *[]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 EnergyPlanContractGreenPowerChargesScheme `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 EnergyPlanContractGreenPowerChargesType `json:"type"`
	} `json:"greenPowerCharges,omitempty"`

	// Incentives Optional list of incentives available for the contract
	Incentives *[]struct {
		// Category The type of the incentive
		Category EnergyPlanContractIncentivesCategory `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"`
	} `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 *EnergyPlanContractIntrinsicGreenPower `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 []EnergyPlanContractPaymentOption `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 EnergyPlanContractPricingModel `json:"pricingModel"`

	// SolarFeedInTariff Array of feed in tariffs for solar power
	SolarFeedInTariff *[]struct {
		// Description A description of the tariff
		Description *string `json:"description,omitempty"`

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

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

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

		// SingleTariff Represents a constant tariff.  Mandatory if tariffUType is set to singleTariff
		SingleTariff *struct {
			// Amount The tariff amount
			Amount string `json:"amount"`
		} `json:"singleTariff,omitempty"`

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

		// TimeVaryingTariffs Represents a tariff based on time.  Mandatory if tariffUType is set to timeVaryingTariffs
		TimeVaryingTariffs *struct {
			// Amount The tariff amount
			Amount string `json:"amount"`

			// 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 []EnergyPlanContractSolarFeedInTariffTimeVaryingTariffsTimeVariationsDays `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 *EnergyPlanContractSolarFeedInTariffTimeVaryingTariffsType `json:"type,omitempty"`
		} `json:"timeVaryingTariffs,omitempty"`
	} `json:"solarFeedInTariff,omitempty"`

	// TariffPeriod Array of tariff periods
	TariffPeriod []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 EnergyPlanContractTariffPeriodDemandChargesChargePeriod `json:"chargePeriod"`

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

			// MeasurementPeriod Application period for the demand tariff
			MeasurementPeriod EnergyPlanContractTariffPeriodDemandChargesMeasurementPeriod `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 EnergyPlanContractTariffPeriodRateBlockUType `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 *EnergyPlanContractTariffPeriodSingleRateRatesMeasureUnit `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 *EnergyPlanContractTariffPeriodTimeOfUseRatesRatesMeasureUnit `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 []EnergyPlanContractTariffPeriodTimeOfUseRatesTimeOfUseDays `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 EnergyPlanContractTariffPeriodTimeOfUseRatesType `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 *EnergyPlanContractTariffPeriodTimeZone `json:"timeZone,omitempty"`

		// Type Type of charge. Assumed to be other if absent
		Type *EnergyPlanContractTariffPeriodType `json:"type,omitempty"`
	} `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 *EnergyPlanContractTimeZone `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"`
}

EnergyPlanContract defines model for EnergyPlanContract.

type EnergyPlanContractControlledLoadRateBlockUType

type EnergyPlanContractControlledLoadRateBlockUType string

EnergyPlanContractControlledLoadRateBlockUType Specifies the type of controlloed load rate

const (
	EnergyPlanContractControlledLoadRateBlockUTypeSingleRate     EnergyPlanContractControlledLoadRateBlockUType = "singleRate"
	EnergyPlanContractControlledLoadRateBlockUTypeTimeOfUseRates EnergyPlanContractControlledLoadRateBlockUType = "timeOfUseRates"
)

Defines values for EnergyPlanContractControlledLoadRateBlockUType.

type EnergyPlanContractControlledLoadSingleRateRatesMeasureUnit

type EnergyPlanContractControlledLoadSingleRateRatesMeasureUnit string

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

const (
	EnergyPlanContractControlledLoadSingleRateRatesMeasureUnitDAYS  EnergyPlanContractControlledLoadSingleRateRatesMeasureUnit = "DAYS"
	EnergyPlanContractControlledLoadSingleRateRatesMeasureUnitKVA   EnergyPlanContractControlledLoadSingleRateRatesMeasureUnit = "KVA"
	EnergyPlanContractControlledLoadSingleRateRatesMeasureUnitKVAR  EnergyPlanContractControlledLoadSingleRateRatesMeasureUnit = "KVAR"
	EnergyPlanContractControlledLoadSingleRateRatesMeasureUnitKVARH EnergyPlanContractControlledLoadSingleRateRatesMeasureUnit = "KVARH"
	EnergyPlanContractControlledLoadSingleRateRatesMeasureUnitKW    EnergyPlanContractControlledLoadSingleRateRatesMeasureUnit = "KW"
	EnergyPlanContractControlledLoadSingleRateRatesMeasureUnitKWH   EnergyPlanContractControlledLoadSingleRateRatesMeasureUnit = "KWH"
	EnergyPlanContractControlledLoadSingleRateRatesMeasureUnitMETER EnergyPlanContractControlledLoadSingleRateRatesMeasureUnit = "METER"
	EnergyPlanContractControlledLoadSingleRateRatesMeasureUnitMONTH EnergyPlanContractControlledLoadSingleRateRatesMeasureUnit = "MONTH"
)

Defines values for EnergyPlanContractControlledLoadSingleRateRatesMeasureUnit.

type EnergyPlanContractControlledLoadTimeOfUseRatesRatesMeasureUnit

type EnergyPlanContractControlledLoadTimeOfUseRatesRatesMeasureUnit string

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

const (
	EnergyPlanContractControlledLoadTimeOfUseRatesRatesMeasureUnitDAYS  EnergyPlanContractControlledLoadTimeOfUseRatesRatesMeasureUnit = "DAYS"
	EnergyPlanContractControlledLoadTimeOfUseRatesRatesMeasureUnitKVA   EnergyPlanContractControlledLoadTimeOfUseRatesRatesMeasureUnit = "KVA"
	EnergyPlanContractControlledLoadTimeOfUseRatesRatesMeasureUnitKVAR  EnergyPlanContractControlledLoadTimeOfUseRatesRatesMeasureUnit = "KVAR"
	EnergyPlanContractControlledLoadTimeOfUseRatesRatesMeasureUnitKVARH EnergyPlanContractControlledLoadTimeOfUseRatesRatesMeasureUnit = "KVARH"
	EnergyPlanContractControlledLoadTimeOfUseRatesRatesMeasureUnitKW    EnergyPlanContractControlledLoadTimeOfUseRatesRatesMeasureUnit = "KW"
	EnergyPlanContractControlledLoadTimeOfUseRatesRatesMeasureUnitKWH   EnergyPlanContractControlledLoadTimeOfUseRatesRatesMeasureUnit = "KWH"
	EnergyPlanContractControlledLoadTimeOfUseRatesRatesMeasureUnitMETER EnergyPlanContractControlledLoadTimeOfUseRatesRatesMeasureUnit = "METER"
	EnergyPlanContractControlledLoadTimeOfUseRatesRatesMeasureUnitMONTH EnergyPlanContractControlledLoadTimeOfUseRatesRatesMeasureUnit = "MONTH"
)

Defines values for EnergyPlanContractControlledLoadTimeOfUseRatesRatesMeasureUnit.

type EnergyPlanContractControlledLoadTimeOfUseRatesTimeOfUseDays

type EnergyPlanContractControlledLoadTimeOfUseRatesTimeOfUseDays string

EnergyPlanContractControlledLoadTimeOfUseRatesTimeOfUseDays defines model for EnergyPlanContract.ControlledLoad.TimeOfUseRates.TimeOfUse.Days.

const (
	EnergyPlanContractControlledLoadTimeOfUseRatesTimeOfUseDaysFRI            EnergyPlanContractControlledLoadTimeOfUseRatesTimeOfUseDays = "FRI"
	EnergyPlanContractControlledLoadTimeOfUseRatesTimeOfUseDaysMON            EnergyPlanContractControlledLoadTimeOfUseRatesTimeOfUseDays = "MON"
	EnergyPlanContractControlledLoadTimeOfUseRatesTimeOfUseDaysPUBLICHOLIDAYS EnergyPlanContractControlledLoadTimeOfUseRatesTimeOfUseDays = "PUBLIC_HOLIDAYS"
	EnergyPlanContractControlledLoadTimeOfUseRatesTimeOfUseDaysSAT            EnergyPlanContractControlledLoadTimeOfUseRatesTimeOfUseDays = "SAT"
	EnergyPlanContractControlledLoadTimeOfUseRatesTimeOfUseDaysSUN            EnergyPlanContractControlledLoadTimeOfUseRatesTimeOfUseDays = "SUN"
	EnergyPlanContractControlledLoadTimeOfUseRatesTimeOfUseDaysTHU            EnergyPlanContractControlledLoadTimeOfUseRatesTimeOfUseDays = "THU"
	EnergyPlanContractControlledLoadTimeOfUseRatesTimeOfUseDaysTUE            EnergyPlanContractControlledLoadTimeOfUseRatesTimeOfUseDays = "TUE"
	EnergyPlanContractControlledLoadTimeOfUseRatesTimeOfUseDaysWED            EnergyPlanContractControlledLoadTimeOfUseRatesTimeOfUseDays = "WED"
)

Defines values for EnergyPlanContractControlledLoadTimeOfUseRatesTimeOfUseDays.

type EnergyPlanContractControlledLoadTimeOfUseRatesType

type EnergyPlanContractControlledLoadTimeOfUseRatesType string

EnergyPlanContractControlledLoadTimeOfUseRatesType The type of usage that the rate applies to

const (
	EnergyPlanContractControlledLoadTimeOfUseRatesTypeOFFPEAK     EnergyPlanContractControlledLoadTimeOfUseRatesType = "OFF_PEAK"
	EnergyPlanContractControlledLoadTimeOfUseRatesTypePEAK        EnergyPlanContractControlledLoadTimeOfUseRatesType = "PEAK"
	EnergyPlanContractControlledLoadTimeOfUseRatesTypeSHOULDER    EnergyPlanContractControlledLoadTimeOfUseRatesType = "SHOULDER"
	EnergyPlanContractControlledLoadTimeOfUseRatesTypeSOLARSPONGE EnergyPlanContractControlledLoadTimeOfUseRatesType = "SOLAR_SPONGE"
)

Defines values for EnergyPlanContractControlledLoadTimeOfUseRatesType.

type EnergyPlanContractDiscountsCategory

type EnergyPlanContractDiscountsCategory string

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

const (
	EnergyPlanContractDiscountsCategoryDIRECTDEBIT        EnergyPlanContractDiscountsCategory = "DIRECT_DEBIT"
	EnergyPlanContractDiscountsCategoryGUARANTEEDDISCOUNT EnergyPlanContractDiscountsCategory = "GUARANTEED_DISCOUNT"
	EnergyPlanContractDiscountsCategoryOTHER              EnergyPlanContractDiscountsCategory = "OTHER"
	EnergyPlanContractDiscountsCategoryPAYONTIME          EnergyPlanContractDiscountsCategory = "PAY_ON_TIME"
)

Defines values for EnergyPlanContractDiscountsCategory.

type EnergyPlanContractDiscountsMethodUType

type EnergyPlanContractDiscountsMethodUType string

EnergyPlanContractDiscountsMethodUType The method of calculation of the discount

const (
	EnergyPlanContractDiscountsMethodUTypeFixedAmount          EnergyPlanContractDiscountsMethodUType = "fixedAmount"
	EnergyPlanContractDiscountsMethodUTypePercentOfBill        EnergyPlanContractDiscountsMethodUType = "percentOfBill"
	EnergyPlanContractDiscountsMethodUTypePercentOfUse         EnergyPlanContractDiscountsMethodUType = "percentOfUse"
	EnergyPlanContractDiscountsMethodUTypePercentOverThreshold EnergyPlanContractDiscountsMethodUType = "percentOverThreshold"
)

Defines values for EnergyPlanContractDiscountsMethodUType.

type EnergyPlanContractDiscountsType

type EnergyPlanContractDiscountsType string

EnergyPlanContractDiscountsType The type of the discount

const (
	EnergyPlanContractDiscountsTypeCONDITIONAL EnergyPlanContractDiscountsType = "CONDITIONAL"
	EnergyPlanContractDiscountsTypeGUARANTEED  EnergyPlanContractDiscountsType = "GUARANTEED"
	EnergyPlanContractDiscountsTypeOTHER       EnergyPlanContractDiscountsType = "OTHER"
)

Defines values for EnergyPlanContractDiscountsType.

type EnergyPlanContractEligibilityType

type EnergyPlanContractEligibilityType string

EnergyPlanContractEligibilityType 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 (
	EnergyPlanContractEligibilityTypeCONTINGENTPLAN     EnergyPlanContractEligibilityType = "CONTINGENT_PLAN"
	EnergyPlanContractEligibilityTypeEXISTINGBASICMETER EnergyPlanContractEligibilityType = "EXISTING_BASIC_METER"
	EnergyPlanContractEligibilityTypeEXISTINGBATTERY    EnergyPlanContractEligibilityType = "EXISTING_BATTERY"
	EnergyPlanContractEligibilityTypeEXISTINGCUST       EnergyPlanContractEligibilityType = "EXISTING_CUST"
	EnergyPlanContractEligibilityTypeEXISTINGPOOL       EnergyPlanContractEligibilityType = "EXISTING_POOL"
	EnergyPlanContractEligibilityTypeEXISTINGSMARTMETER EnergyPlanContractEligibilityType = "EXISTING_SMART_METER"
	EnergyPlanContractEligibilityTypeEXISTINGSOLAR      EnergyPlanContractEligibilityType = "EXISTING_SOLAR"
	EnergyPlanContractEligibilityTypeGROUPBUYMEMBER     EnergyPlanContractEligibilityType = "GROUP_BUY_MEMBER"
	EnergyPlanContractEligibilityTypeLOYALTYMEMBER      EnergyPlanContractEligibilityType = "LOYALTY_MEMBER"
	EnergyPlanContractEligibilityTypeMINIMUMUSAGE       EnergyPlanContractEligibilityType = "MINIMUM_USAGE"
	EnergyPlanContractEligibilityTypeNEWCUSTOMER        EnergyPlanContractEligibilityType = "NEW_CUSTOMER"
	EnergyPlanContractEligibilityTypeNOSOLARFIT         EnergyPlanContractEligibilityType = "NO_SOLAR_FIT"
	EnergyPlanContractEligibilityTypeONLINEONLY         EnergyPlanContractEligibilityType = "ONLINE_ONLY"
	EnergyPlanContractEligibilityTypeORGMEMBER          EnergyPlanContractEligibilityType = "ORG_MEMBER"
	EnergyPlanContractEligibilityTypeOTHER              EnergyPlanContractEligibilityType = "OTHER"
	EnergyPlanContractEligibilityTypeREQEQUIPSUPPLIER   EnergyPlanContractEligibilityType = "REQ_EQUIP_SUPPLIER"
	EnergyPlanContractEligibilityTypeSENIORCARD         EnergyPlanContractEligibilityType = "SENIOR_CARD"
	EnergyPlanContractEligibilityTypeSMALLBUSINESS      EnergyPlanContractEligibilityType = "SMALL_BUSINESS"
	EnergyPlanContractEligibilityTypeSPECIFICLOCATION   EnergyPlanContractEligibilityType = "SPECIFIC_LOCATION"
	EnergyPlanContractEligibilityTypeSPORTCLUBMEMBER    EnergyPlanContractEligibilityType = "SPORT_CLUB_MEMBER"
	EnergyPlanContractEligibilityTypeTHIRDPARTYONLY     EnergyPlanContractEligibilityType = "THIRD_PARTY_ONLY"
)

Defines values for EnergyPlanContractEligibilityType.

type EnergyPlanContractFeesTerm

type EnergyPlanContractFeesTerm string

EnergyPlanContractFeesTerm The term of the fee

const (
	EnergyPlanContractFeesTermANNUAL        EnergyPlanContractFeesTerm = "ANNUAL"
	EnergyPlanContractFeesTermBIANNUAL      EnergyPlanContractFeesTerm = "BIANNUAL"
	EnergyPlanContractFeesTermDAILY         EnergyPlanContractFeesTerm = "DAILY"
	EnergyPlanContractFeesTermFIXED         EnergyPlanContractFeesTerm = "FIXED"
	EnergyPlanContractFeesTermMONTHLY       EnergyPlanContractFeesTerm = "MONTHLY"
	EnergyPlanContractFeesTermN1YEAR        EnergyPlanContractFeesTerm = "1_YEAR"
	EnergyPlanContractFeesTermN2YEAR        EnergyPlanContractFeesTerm = "2_YEAR"
	EnergyPlanContractFeesTermN3YEAR        EnergyPlanContractFeesTerm = "3_YEAR"
	EnergyPlanContractFeesTermN4YEAR        EnergyPlanContractFeesTerm = "4_YEAR"
	EnergyPlanContractFeesTermN5YEAR        EnergyPlanContractFeesTerm = "5_YEAR"
	EnergyPlanContractFeesTermPERCENTOFBILL EnergyPlanContractFeesTerm = "PERCENT_OF_BILL"
	EnergyPlanContractFeesTermVARIABLE      EnergyPlanContractFeesTerm = "VARIABLE"
	EnergyPlanContractFeesTermWEEKLY        EnergyPlanContractFeesTerm = "WEEKLY"
)

Defines values for EnergyPlanContractFeesTerm.

type EnergyPlanContractFeesType

type EnergyPlanContractFeesType string

EnergyPlanContractFeesType The type of the fee

const (
	EnergyPlanContractFeesTypeCCPROCESSING      EnergyPlanContractFeesType = "CC_PROCESSING"
	EnergyPlanContractFeesTypeCHEQUEDISHONOUR   EnergyPlanContractFeesType = "CHEQUE_DISHONOUR"
	EnergyPlanContractFeesTypeCONNECTION        EnergyPlanContractFeesType = "CONNECTION"
	EnergyPlanContractFeesTypeCONTRIBUTION      EnergyPlanContractFeesType = "CONTRIBUTION"
	EnergyPlanContractFeesTypeDDDISHONOUR       EnergyPlanContractFeesType = "DD_DISHONOUR"
	EnergyPlanContractFeesTypeDISCONNECTION     EnergyPlanContractFeesType = "DISCONNECTION"
	EnergyPlanContractFeesTypeDISCONNECTMOVEOUT EnergyPlanContractFeesType = "DISCONNECT_MOVE_OUT"
	EnergyPlanContractFeesTypeDISCONNECTNONPAY  EnergyPlanContractFeesType = "DISCONNECT_NON_PAY"
	EnergyPlanContractFeesTypeESTABLISHMENT     EnergyPlanContractFeesType = "ESTABLISHMENT"
	EnergyPlanContractFeesTypeEXIT              EnergyPlanContractFeesType = "EXIT"
	EnergyPlanContractFeesTypeLATEPAYMENT       EnergyPlanContractFeesType = "LATE_PAYMENT"
	EnergyPlanContractFeesTypeMEMBERSHIP        EnergyPlanContractFeesType = "MEMBERSHIP"
	EnergyPlanContractFeesTypeOTHER             EnergyPlanContractFeesType = "OTHER"
	EnergyPlanContractFeesTypePAPERBILL         EnergyPlanContractFeesType = "PAPER_BILL"
	EnergyPlanContractFeesTypePAYMENTPROCESSING EnergyPlanContractFeesType = "PAYMENT_PROCESSING"
	EnergyPlanContractFeesTypeRECONNECTION      EnergyPlanContractFeesType = "RECONNECTION"
)

Defines values for EnergyPlanContractFeesType.

type EnergyPlanContractFull

type EnergyPlanContractFull 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 *[]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 EnergyPlanContractFullControlledLoadRateBlockUType `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 *EnergyPlanContractFullControlledLoadSingleRateRatesMeasureUnit `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 *EnergyPlanContractFullControlledLoadTimeOfUseRatesRatesMeasureUnit `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 *[]EnergyPlanContractFullControlledLoadTimeOfUseRatesTimeOfUseDays `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 EnergyPlanContractFullControlledLoadTimeOfUseRatesType `json:"type"`
		} `json:"timeOfUseRates,omitempty"`
	} `json:"controlledLoad,omitempty"`

	// CoolingOffDays Number of days in the cooling off period for the contract.  Mandatory for plans with type of MARKET
	// Note: This was originally an *int but I changed it to a *json.Number because some providers
	// send through a string. json.Number accepts both ints and strings as a "feature".
	// https://github.com/golang/go/issues/34472
	CoolingOffDays *json.Number `json:"coolingOffDays,omitempty"`

	// Discounts Optional list of discounts available for the contract
	Discounts *[]struct {
		// Category The type of the discount.  Mandatory if the discount type is CONDITIONAL
		Category *EnergyPlanContractFullDiscountsCategory `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 EnergyPlanContractFullDiscountsMethodUType `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 EnergyPlanContractFullDiscountsType `json:"type"`
	} `json:"discounts,omitempty"`

	// Eligibility Eligibility restrictions or requirements
	Eligibility *[]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 EnergyPlanContractFullEligibilityType `json:"type"`
	} `json:"eligibility,omitempty"`

	// Fees An array of fees applicable to the plan
	Fees *[]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 EnergyPlanContractFullFeesTerm `json:"term"`

		// Type The type of the fee
		Type EnergyPlanContractFullFeesType `json:"type"`
	} `json:"fees,omitempty"`

	// GreenPowerCharges Optional list of charges applicable to green power
	GreenPowerCharges *[]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 EnergyPlanContractFullGreenPowerChargesScheme `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 EnergyPlanContractFullGreenPowerChargesType `json:"type"`
	} `json:"greenPowerCharges,omitempty"`

	// Incentives Optional list of incentives available for the contract
	Incentives *[]struct {
		// Category The type of the incentive
		Category EnergyPlanContractFullIncentivesCategory `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"`
	} `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 *EnergyPlanContractIntrinsicGreenPower `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 []EnergyPlanContractFullPaymentOption `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 EnergyPlanContractFullPricingModel `json:"pricingModel"`

	// SolarFeedInTariff Array of feed in tariffs for solar power
	SolarFeedInTariff *[]struct {
		// Description A description of the tariff
		Description *string `json:"description,omitempty"`

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

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

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

		// SingleTariff Represents a constant tariff.  Mandatory if tariffUType is set to singleTariff
		SingleTariff *struct {
			// Amount The tariff amount
			Amount string `json:"amount"`
		} `json:"singleTariff,omitempty"`

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

		// TimeVaryingTariffs Represents a tariff based on time.  Mandatory if tariffUType is set to timeVaryingTariffs
		TimeVaryingTariffs *struct {
			// Amount The tariff amount
			Amount string `json:"amount"`

			// 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 []EnergyPlanContractFullSolarFeedInTariffTimeVaryingTariffsTimeVariationsDays `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 *EnergyPlanContractFullSolarFeedInTariffTimeVaryingTariffsType `json:"type,omitempty"`
		} `json:"timeVaryingTariffs,omitempty"`
	} `json:"solarFeedInTariff,omitempty"`

	// TariffPeriod Array of tariff periods
	TariffPeriod []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 EnergyPlanContractFullTariffPeriodDemandChargesChargePeriod `json:"chargePeriod"`

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

			// MeasurementPeriod Application period for the demand tariff
			MeasurementPeriod EnergyPlanContractFullTariffPeriodDemandChargesMeasurementPeriod `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 EnergyPlanContractFullTariffPeriodRateBlockUType `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 *EnergyPlanContractFullTariffPeriodSingleRateRatesMeasureUnit `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 *EnergyPlanContractFullTariffPeriodTimeOfUseRatesRatesMeasureUnit `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 []EnergyPlanContractFullTariffPeriodTimeOfUseRatesTimeOfUseDays `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 EnergyPlanContractFullTariffPeriodTimeOfUseRatesType `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 *EnergyPlanContractFullTariffPeriodTimeZone `json:"timeZone,omitempty"`

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

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

EnergyPlanContractFull defines model for EnergyPlanContractFull.

type EnergyPlanContractFullAllOf

type EnergyPlanContractFullAllOf 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
	// Note: This was originally an *int but I changed it to a *json.Number because some providers
	// send through a string. json.Number accepts both ints and strings as a "feature".
	// https://github.com/golang/go/issues/34472
	CoolingOffDays *json.Number `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 *EnergyPlanContractFullAllOfTermType `json:"termType,omitempty"`

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

EnergyPlanContractFullAllOf defines model for EnergyPlanContractFull_allOf.

type EnergyPlanContractFullAllOfTermType

type EnergyPlanContractFullAllOfTermType string

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

const (
	EnergyPlanContractFullAllOfTermTypeN1YEAR  EnergyPlanContractFullAllOfTermType = "1_YEAR"
	EnergyPlanContractFullAllOfTermTypeN2YEAR  EnergyPlanContractFullAllOfTermType = "2_YEAR"
	EnergyPlanContractFullAllOfTermTypeN3YEAR  EnergyPlanContractFullAllOfTermType = "3_YEAR"
	EnergyPlanContractFullAllOfTermTypeN4YEAR  EnergyPlanContractFullAllOfTermType = "4_YEAR"
	EnergyPlanContractFullAllOfTermTypeN5YEAR  EnergyPlanContractFullAllOfTermType = "5_YEAR"
	EnergyPlanContractFullAllOfTermTypeONGOING EnergyPlanContractFullAllOfTermType = "ONGOING"
	EnergyPlanContractFullAllOfTermTypeOTHER   EnergyPlanContractFullAllOfTermType = "OTHER"
)

Defines values for EnergyPlanContractFullAllOfTermType.

type EnergyPlanContractFullControlledLoadRateBlockUType

type EnergyPlanContractFullControlledLoadRateBlockUType string

EnergyPlanContractFullControlledLoadRateBlockUType Specifies the type of controlloed load rate

const (
	EnergyPlanContractFullControlledLoadRateBlockUTypeSingleRate     EnergyPlanContractFullControlledLoadRateBlockUType = "singleRate"
	EnergyPlanContractFullControlledLoadRateBlockUTypeTimeOfUseRates EnergyPlanContractFullControlledLoadRateBlockUType = "timeOfUseRates"
)

Defines values for EnergyPlanContractFullControlledLoadRateBlockUType.

type EnergyPlanContractFullControlledLoadSingleRateRatesMeasureUnit

type EnergyPlanContractFullControlledLoadSingleRateRatesMeasureUnit string

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

const (
	EnergyPlanContractFullControlledLoadSingleRateRatesMeasureUnitDAYS  EnergyPlanContractFullControlledLoadSingleRateRatesMeasureUnit = "DAYS"
	EnergyPlanContractFullControlledLoadSingleRateRatesMeasureUnitKVA   EnergyPlanContractFullControlledLoadSingleRateRatesMeasureUnit = "KVA"
	EnergyPlanContractFullControlledLoadSingleRateRatesMeasureUnitKVAR  EnergyPlanContractFullControlledLoadSingleRateRatesMeasureUnit = "KVAR"
	EnergyPlanContractFullControlledLoadSingleRateRatesMeasureUnitKVARH EnergyPlanContractFullControlledLoadSingleRateRatesMeasureUnit = "KVARH"
	EnergyPlanContractFullControlledLoadSingleRateRatesMeasureUnitKW    EnergyPlanContractFullControlledLoadSingleRateRatesMeasureUnit = "KW"
	EnergyPlanContractFullControlledLoadSingleRateRatesMeasureUnitKWH   EnergyPlanContractFullControlledLoadSingleRateRatesMeasureUnit = "KWH"
	EnergyPlanContractFullControlledLoadSingleRateRatesMeasureUnitMETER EnergyPlanContractFullControlledLoadSingleRateRatesMeasureUnit = "METER"
	EnergyPlanContractFullControlledLoadSingleRateRatesMeasureUnitMONTH EnergyPlanContractFullControlledLoadSingleRateRatesMeasureUnit = "MONTH"
)

Defines values for EnergyPlanContractFullControlledLoadSingleRateRatesMeasureUnit.

type EnergyPlanContractFullControlledLoadTimeOfUseRatesRatesMeasureUnit

type EnergyPlanContractFullControlledLoadTimeOfUseRatesRatesMeasureUnit string

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

const (
	EnergyPlanContractFullControlledLoadTimeOfUseRatesRatesMeasureUnitDAYS  EnergyPlanContractFullControlledLoadTimeOfUseRatesRatesMeasureUnit = "DAYS"
	EnergyPlanContractFullControlledLoadTimeOfUseRatesRatesMeasureUnitKVA   EnergyPlanContractFullControlledLoadTimeOfUseRatesRatesMeasureUnit = "KVA"
	EnergyPlanContractFullControlledLoadTimeOfUseRatesRatesMeasureUnitKVAR  EnergyPlanContractFullControlledLoadTimeOfUseRatesRatesMeasureUnit = "KVAR"
	EnergyPlanContractFullControlledLoadTimeOfUseRatesRatesMeasureUnitKVARH EnergyPlanContractFullControlledLoadTimeOfUseRatesRatesMeasureUnit = "KVARH"
	EnergyPlanContractFullControlledLoadTimeOfUseRatesRatesMeasureUnitKW    EnergyPlanContractFullControlledLoadTimeOfUseRatesRatesMeasureUnit = "KW"
	EnergyPlanContractFullControlledLoadTimeOfUseRatesRatesMeasureUnitKWH   EnergyPlanContractFullControlledLoadTimeOfUseRatesRatesMeasureUnit = "KWH"
	EnergyPlanContractFullControlledLoadTimeOfUseRatesRatesMeasureUnitMETER EnergyPlanContractFullControlledLoadTimeOfUseRatesRatesMeasureUnit = "METER"
	EnergyPlanContractFullControlledLoadTimeOfUseRatesRatesMeasureUnitMONTH EnergyPlanContractFullControlledLoadTimeOfUseRatesRatesMeasureUnit = "MONTH"
)

Defines values for EnergyPlanContractFullControlledLoadTimeOfUseRatesRatesMeasureUnit.

type EnergyPlanContractFullControlledLoadTimeOfUseRatesTimeOfUseDays

type EnergyPlanContractFullControlledLoadTimeOfUseRatesTimeOfUseDays string

EnergyPlanContractFullControlledLoadTimeOfUseRatesTimeOfUseDays defines model for EnergyPlanContractFull.ControlledLoad.TimeOfUseRates.TimeOfUse.Days.

const (
	EnergyPlanContractFullControlledLoadTimeOfUseRatesTimeOfUseDaysFRI            EnergyPlanContractFullControlledLoadTimeOfUseRatesTimeOfUseDays = "FRI"
	EnergyPlanContractFullControlledLoadTimeOfUseRatesTimeOfUseDaysMON            EnergyPlanContractFullControlledLoadTimeOfUseRatesTimeOfUseDays = "MON"
	EnergyPlanContractFullControlledLoadTimeOfUseRatesTimeOfUseDaysPUBLICHOLIDAYS EnergyPlanContractFullControlledLoadTimeOfUseRatesTimeOfUseDays = "PUBLIC_HOLIDAYS"
	EnergyPlanContractFullControlledLoadTimeOfUseRatesTimeOfUseDaysSAT            EnergyPlanContractFullControlledLoadTimeOfUseRatesTimeOfUseDays = "SAT"
	EnergyPlanContractFullControlledLoadTimeOfUseRatesTimeOfUseDaysSUN            EnergyPlanContractFullControlledLoadTimeOfUseRatesTimeOfUseDays = "SUN"
	EnergyPlanContractFullControlledLoadTimeOfUseRatesTimeOfUseDaysTHU            EnergyPlanContractFullControlledLoadTimeOfUseRatesTimeOfUseDays = "THU"
	EnergyPlanContractFullControlledLoadTimeOfUseRatesTimeOfUseDaysTUE            EnergyPlanContractFullControlledLoadTimeOfUseRatesTimeOfUseDays = "TUE"
	EnergyPlanContractFullControlledLoadTimeOfUseRatesTimeOfUseDaysWED            EnergyPlanContractFullControlledLoadTimeOfUseRatesTimeOfUseDays = "WED"
)

Defines values for EnergyPlanContractFullControlledLoadTimeOfUseRatesTimeOfUseDays.

type EnergyPlanContractFullControlledLoadTimeOfUseRatesType

type EnergyPlanContractFullControlledLoadTimeOfUseRatesType string

EnergyPlanContractFullControlledLoadTimeOfUseRatesType The type of usage that the rate applies to

const (
	EnergyPlanContractFullControlledLoadTimeOfUseRatesTypeOFFPEAK     EnergyPlanContractFullControlledLoadTimeOfUseRatesType = "OFF_PEAK"
	EnergyPlanContractFullControlledLoadTimeOfUseRatesTypePEAK        EnergyPlanContractFullControlledLoadTimeOfUseRatesType = "PEAK"
	EnergyPlanContractFullControlledLoadTimeOfUseRatesTypeSHOULDER    EnergyPlanContractFullControlledLoadTimeOfUseRatesType = "SHOULDER"
	EnergyPlanContractFullControlledLoadTimeOfUseRatesTypeSOLARSPONGE EnergyPlanContractFullControlledLoadTimeOfUseRatesType = "SOLAR_SPONGE"
)

Defines values for EnergyPlanContractFullControlledLoadTimeOfUseRatesType.

type EnergyPlanContractFullDiscountsCategory

type EnergyPlanContractFullDiscountsCategory string

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

const (
	EnergyPlanContractFullDiscountsCategoryDIRECTDEBIT        EnergyPlanContractFullDiscountsCategory = "DIRECT_DEBIT"
	EnergyPlanContractFullDiscountsCategoryGUARANTEEDDISCOUNT EnergyPlanContractFullDiscountsCategory = "GUARANTEED_DISCOUNT"
	EnergyPlanContractFullDiscountsCategoryOTHER              EnergyPlanContractFullDiscountsCategory = "OTHER"
	EnergyPlanContractFullDiscountsCategoryPAYONTIME          EnergyPlanContractFullDiscountsCategory = "PAY_ON_TIME"
)

Defines values for EnergyPlanContractFullDiscountsCategory.

type EnergyPlanContractFullDiscountsMethodUType

type EnergyPlanContractFullDiscountsMethodUType string

EnergyPlanContractFullDiscountsMethodUType The method of calculation of the discount

const (
	EnergyPlanContractFullDiscountsMethodUTypeFixedAmount          EnergyPlanContractFullDiscountsMethodUType = "fixedAmount"
	EnergyPlanContractFullDiscountsMethodUTypePercentOfBill        EnergyPlanContractFullDiscountsMethodUType = "percentOfBill"
	EnergyPlanContractFullDiscountsMethodUTypePercentOfUse         EnergyPlanContractFullDiscountsMethodUType = "percentOfUse"
	EnergyPlanContractFullDiscountsMethodUTypePercentOverThreshold EnergyPlanContractFullDiscountsMethodUType = "percentOverThreshold"
)

Defines values for EnergyPlanContractFullDiscountsMethodUType.

type EnergyPlanContractFullDiscountsType

type EnergyPlanContractFullDiscountsType string

EnergyPlanContractFullDiscountsType The type of the discount

const (
	EnergyPlanContractFullDiscountsTypeCONDITIONAL EnergyPlanContractFullDiscountsType = "CONDITIONAL"
	EnergyPlanContractFullDiscountsTypeGUARANTEED  EnergyPlanContractFullDiscountsType = "GUARANTEED"
	EnergyPlanContractFullDiscountsTypeOTHER       EnergyPlanContractFullDiscountsType = "OTHER"
)

Defines values for EnergyPlanContractFullDiscountsType.

type EnergyPlanContractFullEligibilityType

type EnergyPlanContractFullEligibilityType string

EnergyPlanContractFullEligibilityType 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 (
	EnergyPlanContractFullEligibilityTypeCONTINGENTPLAN     EnergyPlanContractFullEligibilityType = "CONTINGENT_PLAN"
	EnergyPlanContractFullEligibilityTypeEXISTINGBASICMETER EnergyPlanContractFullEligibilityType = "EXISTING_BASIC_METER"
	EnergyPlanContractFullEligibilityTypeEXISTINGBATTERY    EnergyPlanContractFullEligibilityType = "EXISTING_BATTERY"
	EnergyPlanContractFullEligibilityTypeEXISTINGCUST       EnergyPlanContractFullEligibilityType = "EXISTING_CUST"
	EnergyPlanContractFullEligibilityTypeEXISTINGPOOL       EnergyPlanContractFullEligibilityType = "EXISTING_POOL"
	EnergyPlanContractFullEligibilityTypeEXISTINGSMARTMETER EnergyPlanContractFullEligibilityType = "EXISTING_SMART_METER"
	EnergyPlanContractFullEligibilityTypeEXISTINGSOLAR      EnergyPlanContractFullEligibilityType = "EXISTING_SOLAR"
	EnergyPlanContractFullEligibilityTypeGROUPBUYMEMBER     EnergyPlanContractFullEligibilityType = "GROUP_BUY_MEMBER"
	EnergyPlanContractFullEligibilityTypeLOYALTYMEMBER      EnergyPlanContractFullEligibilityType = "LOYALTY_MEMBER"
	EnergyPlanContractFullEligibilityTypeMINIMUMUSAGE       EnergyPlanContractFullEligibilityType = "MINIMUM_USAGE"
	EnergyPlanContractFullEligibilityTypeNEWCUSTOMER        EnergyPlanContractFullEligibilityType = "NEW_CUSTOMER"
	EnergyPlanContractFullEligibilityTypeNOSOLARFIT         EnergyPlanContractFullEligibilityType = "NO_SOLAR_FIT"
	EnergyPlanContractFullEligibilityTypeONLINEONLY         EnergyPlanContractFullEligibilityType = "ONLINE_ONLY"
	EnergyPlanContractFullEligibilityTypeORGMEMBER          EnergyPlanContractFullEligibilityType = "ORG_MEMBER"
	EnergyPlanContractFullEligibilityTypeOTHER              EnergyPlanContractFullEligibilityType = "OTHER"
	EnergyPlanContractFullEligibilityTypeREQEQUIPSUPPLIER   EnergyPlanContractFullEligibilityType = "REQ_EQUIP_SUPPLIER"
	EnergyPlanContractFullEligibilityTypeSENIORCARD         EnergyPlanContractFullEligibilityType = "SENIOR_CARD"
	EnergyPlanContractFullEligibilityTypeSMALLBUSINESS      EnergyPlanContractFullEligibilityType = "SMALL_BUSINESS"
	EnergyPlanContractFullEligibilityTypeSPECIFICLOCATION   EnergyPlanContractFullEligibilityType = "SPECIFIC_LOCATION"
	EnergyPlanContractFullEligibilityTypeSPORTCLUBMEMBER    EnergyPlanContractFullEligibilityType = "SPORT_CLUB_MEMBER"
	EnergyPlanContractFullEligibilityTypeTHIRDPARTYONLY     EnergyPlanContractFullEligibilityType = "THIRD_PARTY_ONLY"
)

Defines values for EnergyPlanContractFullEligibilityType.

type EnergyPlanContractFullFeesTerm

type EnergyPlanContractFullFeesTerm string

EnergyPlanContractFullFeesTerm The term of the fee

const (
	EnergyPlanContractFullFeesTermANNUAL        EnergyPlanContractFullFeesTerm = "ANNUAL"
	EnergyPlanContractFullFeesTermBIANNUAL      EnergyPlanContractFullFeesTerm = "BIANNUAL"
	EnergyPlanContractFullFeesTermDAILY         EnergyPlanContractFullFeesTerm = "DAILY"
	EnergyPlanContractFullFeesTermFIXED         EnergyPlanContractFullFeesTerm = "FIXED"
	EnergyPlanContractFullFeesTermMONTHLY       EnergyPlanContractFullFeesTerm = "MONTHLY"
	EnergyPlanContractFullFeesTermN1YEAR        EnergyPlanContractFullFeesTerm = "1_YEAR"
	EnergyPlanContractFullFeesTermN2YEAR        EnergyPlanContractFullFeesTerm = "2_YEAR"
	EnergyPlanContractFullFeesTermN3YEAR        EnergyPlanContractFullFeesTerm = "3_YEAR"
	EnergyPlanContractFullFeesTermN4YEAR        EnergyPlanContractFullFeesTerm = "4_YEAR"
	EnergyPlanContractFullFeesTermN5YEAR        EnergyPlanContractFullFeesTerm = "5_YEAR"
	EnergyPlanContractFullFeesTermPERCENTOFBILL EnergyPlanContractFullFeesTerm = "PERCENT_OF_BILL"
	EnergyPlanContractFullFeesTermVARIABLE      EnergyPlanContractFullFeesTerm = "VARIABLE"
	EnergyPlanContractFullFeesTermWEEKLY        EnergyPlanContractFullFeesTerm = "WEEKLY"
)

Defines values for EnergyPlanContractFullFeesTerm.

type EnergyPlanContractFullFeesType

type EnergyPlanContractFullFeesType string

EnergyPlanContractFullFeesType The type of the fee

const (
	EnergyPlanContractFullFeesTypeCCPROCESSING      EnergyPlanContractFullFeesType = "CC_PROCESSING"
	EnergyPlanContractFullFeesTypeCHEQUEDISHONOUR   EnergyPlanContractFullFeesType = "CHEQUE_DISHONOUR"
	EnergyPlanContractFullFeesTypeCONNECTION        EnergyPlanContractFullFeesType = "CONNECTION"
	EnergyPlanContractFullFeesTypeCONTRIBUTION      EnergyPlanContractFullFeesType = "CONTRIBUTION"
	EnergyPlanContractFullFeesTypeDDDISHONOUR       EnergyPlanContractFullFeesType = "DD_DISHONOUR"
	EnergyPlanContractFullFeesTypeDISCONNECTION     EnergyPlanContractFullFeesType = "DISCONNECTION"
	EnergyPlanContractFullFeesTypeDISCONNECTMOVEOUT EnergyPlanContractFullFeesType = "DISCONNECT_MOVE_OUT"
	EnergyPlanContractFullFeesTypeDISCONNECTNONPAY  EnergyPlanContractFullFeesType = "DISCONNECT_NON_PAY"
	EnergyPlanContractFullFeesTypeESTABLISHMENT     EnergyPlanContractFullFeesType = "ESTABLISHMENT"
	EnergyPlanContractFullFeesTypeEXIT              EnergyPlanContractFullFeesType = "EXIT"
	EnergyPlanContractFullFeesTypeLATEPAYMENT       EnergyPlanContractFullFeesType = "LATE_PAYMENT"
	EnergyPlanContractFullFeesTypeMEMBERSHIP        EnergyPlanContractFullFeesType = "MEMBERSHIP"
	EnergyPlanContractFullFeesTypeOTHER             EnergyPlanContractFullFeesType = "OTHER"
	EnergyPlanContractFullFeesTypePAPERBILL         EnergyPlanContractFullFeesType = "PAPER_BILL"
	EnergyPlanContractFullFeesTypePAYMENTPROCESSING EnergyPlanContractFullFeesType = "PAYMENT_PROCESSING"
	EnergyPlanContractFullFeesTypeRECONNECTION      EnergyPlanContractFullFeesType = "RECONNECTION"
)

Defines values for EnergyPlanContractFullFeesType.

type EnergyPlanContractFullGreenPowerChargesScheme

type EnergyPlanContractFullGreenPowerChargesScheme string

EnergyPlanContractFullGreenPowerChargesScheme The applicable green power scheme

const (
	EnergyPlanContractFullGreenPowerChargesSchemeGREENPOWER EnergyPlanContractFullGreenPowerChargesScheme = "GREENPOWER"
	EnergyPlanContractFullGreenPowerChargesSchemeOTHER      EnergyPlanContractFullGreenPowerChargesScheme = "OTHER"
)

Defines values for EnergyPlanContractFullGreenPowerChargesScheme.

type EnergyPlanContractFullGreenPowerChargesType

type EnergyPlanContractFullGreenPowerChargesType string

EnergyPlanContractFullGreenPowerChargesType The type of charge

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

Defines values for EnergyPlanContractFullGreenPowerChargesType.

type EnergyPlanContractFullIncentivesCategory

type EnergyPlanContractFullIncentivesCategory string

EnergyPlanContractFullIncentivesCategory The type of the incentive

const (
	EnergyPlanContractFullIncentivesCategoryACCOUNTCREDIT EnergyPlanContractFullIncentivesCategory = "ACCOUNT_CREDIT"
	EnergyPlanContractFullIncentivesCategoryGIFT          EnergyPlanContractFullIncentivesCategory = "GIFT"
	EnergyPlanContractFullIncentivesCategoryOTHER         EnergyPlanContractFullIncentivesCategory = "OTHER"
)

Defines values for EnergyPlanContractFullIncentivesCategory.

type EnergyPlanContractFullPaymentOption

type EnergyPlanContractFullPaymentOption string

EnergyPlanContractFullPaymentOption defines model for EnergyPlanContractFull.PaymentOption.

const (
	EnergyPlanContractFullPaymentOptionBPAY        EnergyPlanContractFullPaymentOption = "BPAY"
	EnergyPlanContractFullPaymentOptionCREDITCARD  EnergyPlanContractFullPaymentOption = "CREDIT_CARD"
	EnergyPlanContractFullPaymentOptionDIRECTDEBIT EnergyPlanContractFullPaymentOption = "DIRECT_DEBIT"
	EnergyPlanContractFullPaymentOptionOTHER       EnergyPlanContractFullPaymentOption = "OTHER"
	EnergyPlanContractFullPaymentOptionPAPERBILL   EnergyPlanContractFullPaymentOption = "PAPER_BILL"
)

Defines values for EnergyPlanContractFullPaymentOption.

type EnergyPlanContractFullPricingModel

type EnergyPlanContractFullPricingModel string

EnergyPlanContractFullPricingModel 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 (
	EnergyPlanContractFullPricingModelFLEXIBLE           EnergyPlanContractFullPricingModel = "FLEXIBLE"
	EnergyPlanContractFullPricingModelFLEXIBLECONTLOAD   EnergyPlanContractFullPricingModel = "FLEXIBLE_CONT_LOAD"
	EnergyPlanContractFullPricingModelQUOTA              EnergyPlanContractFullPricingModel = "QUOTA"
	EnergyPlanContractFullPricingModelSINGLERATE         EnergyPlanContractFullPricingModel = "SINGLE_RATE"
	EnergyPlanContractFullPricingModelSINGLERATECONTLOAD EnergyPlanContractFullPricingModel = "SINGLE_RATE_CONT_LOAD"
	EnergyPlanContractFullPricingModelTIMEOFUSE          EnergyPlanContractFullPricingModel = "TIME_OF_USE"
	EnergyPlanContractFullPricingModelTIMEOFUSECONTLOAD  EnergyPlanContractFullPricingModel = "TIME_OF_USE_CONT_LOAD"
)

Defines values for EnergyPlanContractFullPricingModel.

type EnergyPlanContractFullSolarFeedInTariffPayerType

type EnergyPlanContractFullSolarFeedInTariffPayerType string

EnergyPlanContractFullSolarFeedInTariffPayerType The type of the payer

const (
	EnergyPlanContractFullSolarFeedInTariffPayerTypeGOVERNMENT EnergyPlanContractFullSolarFeedInTariffPayerType = "GOVERNMENT"
	EnergyPlanContractFullSolarFeedInTariffPayerTypeRETAILER   EnergyPlanContractFullSolarFeedInTariffPayerType = "RETAILER"
)

Defines values for EnergyPlanContractFullSolarFeedInTariffPayerType.

type EnergyPlanContractFullSolarFeedInTariffScheme

type EnergyPlanContractFullSolarFeedInTariffScheme string

EnergyPlanContractFullSolarFeedInTariffScheme The applicable scheme

const (
	EnergyPlanContractFullSolarFeedInTariffSchemeOTHER   EnergyPlanContractFullSolarFeedInTariffScheme = "OTHER"
	EnergyPlanContractFullSolarFeedInTariffSchemePREMIUM EnergyPlanContractFullSolarFeedInTariffScheme = "PREMIUM"
)

Defines values for EnergyPlanContractFullSolarFeedInTariffScheme.

type EnergyPlanContractFullSolarFeedInTariffTariffUType

type EnergyPlanContractFullSolarFeedInTariffTariffUType string

EnergyPlanContractFullSolarFeedInTariffTariffUType The type of the payer

const (
	EnergyPlanContractFullSolarFeedInTariffTariffUTypeSingleTariff       EnergyPlanContractFullSolarFeedInTariffTariffUType = "singleTariff"
	EnergyPlanContractFullSolarFeedInTariffTariffUTypeTimeVaryingTariffs EnergyPlanContractFullSolarFeedInTariffTariffUType = "timeVaryingTariffs"
)

Defines values for EnergyPlanContractFullSolarFeedInTariffTariffUType.

type EnergyPlanContractFullSolarFeedInTariffTimeVaryingTariffsTimeVariationsDays

type EnergyPlanContractFullSolarFeedInTariffTimeVaryingTariffsTimeVariationsDays string

EnergyPlanContractFullSolarFeedInTariffTimeVaryingTariffsTimeVariationsDays defines model for EnergyPlanContractFull.SolarFeedInTariff.TimeVaryingTariffs.TimeVariations.Days.

const (
	EnergyPlanContractFullSolarFeedInTariffTimeVaryingTariffsTimeVariationsDaysFRI            EnergyPlanContractFullSolarFeedInTariffTimeVaryingTariffsTimeVariationsDays = "FRI"
	EnergyPlanContractFullSolarFeedInTariffTimeVaryingTariffsTimeVariationsDaysMON            EnergyPlanContractFullSolarFeedInTariffTimeVaryingTariffsTimeVariationsDays = "MON"
	EnergyPlanContractFullSolarFeedInTariffTimeVaryingTariffsTimeVariationsDaysPUBLICHOLIDAYS EnergyPlanContractFullSolarFeedInTariffTimeVaryingTariffsTimeVariationsDays = "PUBLIC_HOLIDAYS"
	EnergyPlanContractFullSolarFeedInTariffTimeVaryingTariffsTimeVariationsDaysSAT            EnergyPlanContractFullSolarFeedInTariffTimeVaryingTariffsTimeVariationsDays = "SAT"
	EnergyPlanContractFullSolarFeedInTariffTimeVaryingTariffsTimeVariationsDaysSUN            EnergyPlanContractFullSolarFeedInTariffTimeVaryingTariffsTimeVariationsDays = "SUN"
	EnergyPlanContractFullSolarFeedInTariffTimeVaryingTariffsTimeVariationsDaysTHU            EnergyPlanContractFullSolarFeedInTariffTimeVaryingTariffsTimeVariationsDays = "THU"
	EnergyPlanContractFullSolarFeedInTariffTimeVaryingTariffsTimeVariationsDaysTUE            EnergyPlanContractFullSolarFeedInTariffTimeVaryingTariffsTimeVariationsDays = "TUE"
	EnergyPlanContractFullSolarFeedInTariffTimeVaryingTariffsTimeVariationsDaysWED            EnergyPlanContractFullSolarFeedInTariffTimeVaryingTariffsTimeVariationsDays = "WED"
)

Defines values for EnergyPlanContractFullSolarFeedInTariffTimeVaryingTariffsTimeVariationsDays.

type EnergyPlanContractFullSolarFeedInTariffTimeVaryingTariffsType

type EnergyPlanContractFullSolarFeedInTariffTimeVaryingTariffsType string

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

const (
	EnergyPlanContractFullSolarFeedInTariffTimeVaryingTariffsTypeOFFPEAK  EnergyPlanContractFullSolarFeedInTariffTimeVaryingTariffsType = "OFF_PEAK"
	EnergyPlanContractFullSolarFeedInTariffTimeVaryingTariffsTypePEAK     EnergyPlanContractFullSolarFeedInTariffTimeVaryingTariffsType = "PEAK"
	EnergyPlanContractFullSolarFeedInTariffTimeVaryingTariffsTypeSHOULDER EnergyPlanContractFullSolarFeedInTariffTimeVaryingTariffsType = "SHOULDER"
)

Defines values for EnergyPlanContractFullSolarFeedInTariffTimeVaryingTariffsType.

type EnergyPlanContractFullTariffPeriodDemandChargesChargePeriod

type EnergyPlanContractFullTariffPeriodDemandChargesChargePeriod string

EnergyPlanContractFullTariffPeriodDemandChargesChargePeriod Charge period for the demand tariff

const (
	EnergyPlanContractFullTariffPeriodDemandChargesChargePeriodDAY          EnergyPlanContractFullTariffPeriodDemandChargesChargePeriod = "DAY"
	EnergyPlanContractFullTariffPeriodDemandChargesChargePeriodMONTH        EnergyPlanContractFullTariffPeriodDemandChargesChargePeriod = "MONTH"
	EnergyPlanContractFullTariffPeriodDemandChargesChargePeriodTARIFFPERIOD EnergyPlanContractFullTariffPeriodDemandChargesChargePeriod = "TARIFF_PERIOD"
)

Defines values for EnergyPlanContractFullTariffPeriodDemandChargesChargePeriod.

type EnergyPlanContractFullTariffPeriodDemandChargesDays

type EnergyPlanContractFullTariffPeriodDemandChargesDays string

EnergyPlanContractFullTariffPeriodDemandChargesDays defines model for EnergyPlanContractFull.TariffPeriod.DemandCharges.Days.

const (
	EnergyPlanContractFullTariffPeriodDemandChargesDaysFRI            EnergyPlanContractFullTariffPeriodDemandChargesDays = "FRI"
	EnergyPlanContractFullTariffPeriodDemandChargesDaysMON            EnergyPlanContractFullTariffPeriodDemandChargesDays = "MON"
	EnergyPlanContractFullTariffPeriodDemandChargesDaysPUBLICHOLIDAYS EnergyPlanContractFullTariffPeriodDemandChargesDays = "PUBLIC_HOLIDAYS"
	EnergyPlanContractFullTariffPeriodDemandChargesDaysSAT            EnergyPlanContractFullTariffPeriodDemandChargesDays = "SAT"
	EnergyPlanContractFullTariffPeriodDemandChargesDaysSUN            EnergyPlanContractFullTariffPeriodDemandChargesDays = "SUN"
	EnergyPlanContractFullTariffPeriodDemandChargesDaysTHU            EnergyPlanContractFullTariffPeriodDemandChargesDays = "THU"
	EnergyPlanContractFullTariffPeriodDemandChargesDaysTUE            EnergyPlanContractFullTariffPeriodDemandChargesDays = "TUE"
	EnergyPlanContractFullTariffPeriodDemandChargesDaysWED            EnergyPlanContractFullTariffPeriodDemandChargesDays = "WED"
)

Defines values for EnergyPlanContractFullTariffPeriodDemandChargesDays.

type EnergyPlanContractFullTariffPeriodDemandChargesMeasureUnit

type EnergyPlanContractFullTariffPeriodDemandChargesMeasureUnit string

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

const (
	EnergyPlanContractFullTariffPeriodDemandChargesMeasureUnitDAYS  EnergyPlanContractFullTariffPeriodDemandChargesMeasureUnit = "DAYS"
	EnergyPlanContractFullTariffPeriodDemandChargesMeasureUnitKVA   EnergyPlanContractFullTariffPeriodDemandChargesMeasureUnit = "KVA"
	EnergyPlanContractFullTariffPeriodDemandChargesMeasureUnitKVAR  EnergyPlanContractFullTariffPeriodDemandChargesMeasureUnit = "KVAR"
	EnergyPlanContractFullTariffPeriodDemandChargesMeasureUnitKVARH EnergyPlanContractFullTariffPeriodDemandChargesMeasureUnit = "KVARH"
	EnergyPlanContractFullTariffPeriodDemandChargesMeasureUnitKW    EnergyPlanContractFullTariffPeriodDemandChargesMeasureUnit = "KW"
	EnergyPlanContractFullTariffPeriodDemandChargesMeasureUnitKWH   EnergyPlanContractFullTariffPeriodDemandChargesMeasureUnit = "KWH"
	EnergyPlanContractFullTariffPeriodDemandChargesMeasureUnitMETER EnergyPlanContractFullTariffPeriodDemandChargesMeasureUnit = "METER"
	EnergyPlanContractFullTariffPeriodDemandChargesMeasureUnitMONTH EnergyPlanContractFullTariffPeriodDemandChargesMeasureUnit = "MONTH"
)

Defines values for EnergyPlanContractFullTariffPeriodDemandChargesMeasureUnit.

type EnergyPlanContractFullTariffPeriodDemandChargesMeasurementPeriod

type EnergyPlanContractFullTariffPeriodDemandChargesMeasurementPeriod string

EnergyPlanContractFullTariffPeriodDemandChargesMeasurementPeriod Application period for the demand tariff

const (
	EnergyPlanContractFullTariffPeriodDemandChargesMeasurementPeriodDAY          EnergyPlanContractFullTariffPeriodDemandChargesMeasurementPeriod = "DAY"
	EnergyPlanContractFullTariffPeriodDemandChargesMeasurementPeriodMONTH        EnergyPlanContractFullTariffPeriodDemandChargesMeasurementPeriod = "MONTH"
	EnergyPlanContractFullTariffPeriodDemandChargesMeasurementPeriodTARIFFPERIOD EnergyPlanContractFullTariffPeriodDemandChargesMeasurementPeriod = "TARIFF_PERIOD"
)

Defines values for EnergyPlanContractFullTariffPeriodDemandChargesMeasurementPeriod.

type EnergyPlanContractFullTariffPeriodRateBlockUType

type EnergyPlanContractFullTariffPeriodRateBlockUType string

EnergyPlanContractFullTariffPeriodRateBlockUType Specifies the type of rate applicable to this tariff period

const (
	EnergyPlanContractFullTariffPeriodRateBlockUTypeDemandCharges  EnergyPlanContractFullTariffPeriodRateBlockUType = "demandCharges"
	EnergyPlanContractFullTariffPeriodRateBlockUTypeSingleRate     EnergyPlanContractFullTariffPeriodRateBlockUType = "singleRate"
	EnergyPlanContractFullTariffPeriodRateBlockUTypeTimeOfUseRates EnergyPlanContractFullTariffPeriodRateBlockUType = "timeOfUseRates"
)

Defines values for EnergyPlanContractFullTariffPeriodRateBlockUType.

type EnergyPlanContractFullTariffPeriodSingleRateRatesMeasureUnit

type EnergyPlanContractFullTariffPeriodSingleRateRatesMeasureUnit string

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

const (
	EnergyPlanContractFullTariffPeriodSingleRateRatesMeasureUnitDAYS  EnergyPlanContractFullTariffPeriodSingleRateRatesMeasureUnit = "DAYS"
	EnergyPlanContractFullTariffPeriodSingleRateRatesMeasureUnitKVA   EnergyPlanContractFullTariffPeriodSingleRateRatesMeasureUnit = "KVA"
	EnergyPlanContractFullTariffPeriodSingleRateRatesMeasureUnitKVAR  EnergyPlanContractFullTariffPeriodSingleRateRatesMeasureUnit = "KVAR"
	EnergyPlanContractFullTariffPeriodSingleRateRatesMeasureUnitKVARH EnergyPlanContractFullTariffPeriodSingleRateRatesMeasureUnit = "KVARH"
	EnergyPlanContractFullTariffPeriodSingleRateRatesMeasureUnitKW    EnergyPlanContractFullTariffPeriodSingleRateRatesMeasureUnit = "KW"
	EnergyPlanContractFullTariffPeriodSingleRateRatesMeasureUnitKWH   EnergyPlanContractFullTariffPeriodSingleRateRatesMeasureUnit = "KWH"
	EnergyPlanContractFullTariffPeriodSingleRateRatesMeasureUnitMETER EnergyPlanContractFullTariffPeriodSingleRateRatesMeasureUnit = "METER"
	EnergyPlanContractFullTariffPeriodSingleRateRatesMeasureUnitMONTH EnergyPlanContractFullTariffPeriodSingleRateRatesMeasureUnit = "MONTH"
)

Defines values for EnergyPlanContractFullTariffPeriodSingleRateRatesMeasureUnit.

type EnergyPlanContractFullTariffPeriodTimeOfUseRatesRatesMeasureUnit

type EnergyPlanContractFullTariffPeriodTimeOfUseRatesRatesMeasureUnit string

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

type EnergyPlanContractFullTariffPeriodTimeOfUseRatesTimeOfUseDays

type EnergyPlanContractFullTariffPeriodTimeOfUseRatesTimeOfUseDays string

EnergyPlanContractFullTariffPeriodTimeOfUseRatesTimeOfUseDays defines model for EnergyPlanContractFull.TariffPeriod.TimeOfUseRates.TimeOfUse.Days.

const (
	EnergyPlanContractFullTariffPeriodTimeOfUseRatesTimeOfUseDaysFRI            EnergyPlanContractFullTariffPeriodTimeOfUseRatesTimeOfUseDays = "FRI"
	EnergyPlanContractFullTariffPeriodTimeOfUseRatesTimeOfUseDaysMON            EnergyPlanContractFullTariffPeriodTimeOfUseRatesTimeOfUseDays = "MON"
	EnergyPlanContractFullTariffPeriodTimeOfUseRatesTimeOfUseDaysPUBLICHOLIDAYS EnergyPlanContractFullTariffPeriodTimeOfUseRatesTimeOfUseDays = "PUBLIC_HOLIDAYS"
	EnergyPlanContractFullTariffPeriodTimeOfUseRatesTimeOfUseDaysSAT            EnergyPlanContractFullTariffPeriodTimeOfUseRatesTimeOfUseDays = "SAT"
	EnergyPlanContractFullTariffPeriodTimeOfUseRatesTimeOfUseDaysSUN            EnergyPlanContractFullTariffPeriodTimeOfUseRatesTimeOfUseDays = "SUN"
	EnergyPlanContractFullTariffPeriodTimeOfUseRatesTimeOfUseDaysTHU            EnergyPlanContractFullTariffPeriodTimeOfUseRatesTimeOfUseDays = "THU"
	EnergyPlanContractFullTariffPeriodTimeOfUseRatesTimeOfUseDaysTUE            EnergyPlanContractFullTariffPeriodTimeOfUseRatesTimeOfUseDays = "TUE"
	EnergyPlanContractFullTariffPeriodTimeOfUseRatesTimeOfUseDaysWED            EnergyPlanContractFullTariffPeriodTimeOfUseRatesTimeOfUseDays = "WED"
)

Defines values for EnergyPlanContractFullTariffPeriodTimeOfUseRatesTimeOfUseDays.

type EnergyPlanContractFullTariffPeriodTimeOfUseRatesType

type EnergyPlanContractFullTariffPeriodTimeOfUseRatesType string

EnergyPlanContractFullTariffPeriodTimeOfUseRatesType The type of usage that the rate applies to

const (
	EnergyPlanContractFullTariffPeriodTimeOfUseRatesTypeOFFPEAK   EnergyPlanContractFullTariffPeriodTimeOfUseRatesType = "OFF_PEAK"
	EnergyPlanContractFullTariffPeriodTimeOfUseRatesTypePEAK      EnergyPlanContractFullTariffPeriodTimeOfUseRatesType = "PEAK"
	EnergyPlanContractFullTariffPeriodTimeOfUseRatesTypeSHOULDER  EnergyPlanContractFullTariffPeriodTimeOfUseRatesType = "SHOULDER"
	EnergyPlanContractFullTariffPeriodTimeOfUseRatesTypeSHOULDER1 EnergyPlanContractFullTariffPeriodTimeOfUseRatesType = "SHOULDER1"
	EnergyPlanContractFullTariffPeriodTimeOfUseRatesTypeSHOULDER2 EnergyPlanContractFullTariffPeriodTimeOfUseRatesType = "SHOULDER2"
)

Defines values for EnergyPlanContractFullTariffPeriodTimeOfUseRatesType.

type EnergyPlanContractFullTariffPeriodTimeZone

type EnergyPlanContractFullTariffPeriodTimeZone string

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

const (
	EnergyPlanContractFullTariffPeriodTimeZoneAEST  EnergyPlanContractFullTariffPeriodTimeZone = "AEST"
	EnergyPlanContractFullTariffPeriodTimeZoneLOCAL EnergyPlanContractFullTariffPeriodTimeZone = "LOCAL"
)

Defines values for EnergyPlanContractFullTariffPeriodTimeZone.

type EnergyPlanContractFullTariffPeriodType

type EnergyPlanContractFullTariffPeriodType string

EnergyPlanContractFullTariffPeriodType Type of charge. Assumed to be other if absent

const (
	EnergyPlanContractFullTariffPeriodTypeENVIRONMENTAL EnergyPlanContractFullTariffPeriodType = "ENVIRONMENTAL"
	EnergyPlanContractFullTariffPeriodTypeMETERING      EnergyPlanContractFullTariffPeriodType = "METERING"
	EnergyPlanContractFullTariffPeriodTypeNETWORK       EnergyPlanContractFullTariffPeriodType = "NETWORK"
	EnergyPlanContractFullTariffPeriodTypeOTHER         EnergyPlanContractFullTariffPeriodType = "OTHER"
	EnergyPlanContractFullTariffPeriodTypeRCTI          EnergyPlanContractFullTariffPeriodType = "RCTI"
	EnergyPlanContractFullTariffPeriodTypeREGULATED     EnergyPlanContractFullTariffPeriodType = "REGULATED"
	EnergyPlanContractFullTariffPeriodTypeRETAILSERVICE EnergyPlanContractFullTariffPeriodType = "RETAIL_SERVICE"
)

Defines values for EnergyPlanContractFullTariffPeriodType.

type EnergyPlanContractFullTermType

type EnergyPlanContractFullTermType string

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

const (
	EnergyPlanContractFullTermTypeN1YEAR  EnergyPlanContractFullTermType = "1_YEAR"
	EnergyPlanContractFullTermTypeN2YEAR  EnergyPlanContractFullTermType = "2_YEAR"
	EnergyPlanContractFullTermTypeN3YEAR  EnergyPlanContractFullTermType = "3_YEAR"
	EnergyPlanContractFullTermTypeN4YEAR  EnergyPlanContractFullTermType = "4_YEAR"
	EnergyPlanContractFullTermTypeN5YEAR  EnergyPlanContractFullTermType = "5_YEAR"
	EnergyPlanContractFullTermTypeONGOING EnergyPlanContractFullTermType = "ONGOING"
	EnergyPlanContractFullTermTypeOTHER   EnergyPlanContractFullTermType = "OTHER"
)

Defines values for EnergyPlanContractFullTermType.

type EnergyPlanContractFullTimeZone

type EnergyPlanContractFullTimeZone string

EnergyPlanContractFullTimeZone 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 (
	EnergyPlanContractFullTimeZoneAEST  EnergyPlanContractFullTimeZone = "AEST"
	EnergyPlanContractFullTimeZoneLOCAL EnergyPlanContractFullTimeZone = "LOCAL"
)

Defines values for EnergyPlanContractFullTimeZone.

type EnergyPlanContractGreenPowerChargesScheme

type EnergyPlanContractGreenPowerChargesScheme string

EnergyPlanContractGreenPowerChargesScheme The applicable green power scheme

const (
	EnergyPlanContractGreenPowerChargesSchemeGREENPOWER EnergyPlanContractGreenPowerChargesScheme = "GREENPOWER"
	EnergyPlanContractGreenPowerChargesSchemeOTHER      EnergyPlanContractGreenPowerChargesScheme = "OTHER"
)

Defines values for EnergyPlanContractGreenPowerChargesScheme.

type EnergyPlanContractGreenPowerChargesType

type EnergyPlanContractGreenPowerChargesType string

EnergyPlanContractGreenPowerChargesType The type of charge

const (
	EnergyPlanContractGreenPowerChargesTypeFIXEDPERDAY   EnergyPlanContractGreenPowerChargesType = "FIXED_PER_DAY"
	EnergyPlanContractGreenPowerChargesTypeFIXEDPERMONTH EnergyPlanContractGreenPowerChargesType = "FIXED_PER_MONTH"
	EnergyPlanContractGreenPowerChargesTypeFIXEDPERUNIT  EnergyPlanContractGreenPowerChargesType = "FIXED_PER_UNIT"
	EnergyPlanContractGreenPowerChargesTypeFIXEDPERWEEK  EnergyPlanContractGreenPowerChargesType = "FIXED_PER_WEEK"
	EnergyPlanContractGreenPowerChargesTypePERCENTOFBILL EnergyPlanContractGreenPowerChargesType = "PERCENT_OF_BILL"
	EnergyPlanContractGreenPowerChargesTypePERCENTOFUSE  EnergyPlanContractGreenPowerChargesType = "PERCENT_OF_USE"
)

Defines values for EnergyPlanContractGreenPowerChargesType.

type EnergyPlanContractIncentivesCategory

type EnergyPlanContractIncentivesCategory string

EnergyPlanContractIncentivesCategory The type of the incentive

const (
	EnergyPlanContractIncentivesCategoryACCOUNTCREDIT EnergyPlanContractIncentivesCategory = "ACCOUNT_CREDIT"
	EnergyPlanContractIncentivesCategoryGIFT          EnergyPlanContractIncentivesCategory = "GIFT"
	EnergyPlanContractIncentivesCategoryOTHER         EnergyPlanContractIncentivesCategory = "OTHER"
)

Defines values for EnergyPlanContractIncentivesCategory.

type EnergyPlanContractIntrinsicGreenPower

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

EnergyPlanContractIntrinsicGreenPower 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 EnergyPlanContractPaymentOption

type EnergyPlanContractPaymentOption string

EnergyPlanContractPaymentOption defines model for EnergyPlanContract.PaymentOption.

const (
	EnergyPlanContractPaymentOptionBPAY        EnergyPlanContractPaymentOption = "BPAY"
	EnergyPlanContractPaymentOptionCREDITCARD  EnergyPlanContractPaymentOption = "CREDIT_CARD"
	EnergyPlanContractPaymentOptionDIRECTDEBIT EnergyPlanContractPaymentOption = "DIRECT_DEBIT"
	EnergyPlanContractPaymentOptionOTHER       EnergyPlanContractPaymentOption = "OTHER"
	EnergyPlanContractPaymentOptionPAPERBILL   EnergyPlanContractPaymentOption = "PAPER_BILL"
)

Defines values for EnergyPlanContractPaymentOption.

type EnergyPlanContractPricingModel

type EnergyPlanContractPricingModel string

EnergyPlanContractPricingModel 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 (
	EnergyPlanContractPricingModelFLEXIBLE           EnergyPlanContractPricingModel = "FLEXIBLE"
	EnergyPlanContractPricingModelFLEXIBLECONTLOAD   EnergyPlanContractPricingModel = "FLEXIBLE_CONT_LOAD"
	EnergyPlanContractPricingModelQUOTA              EnergyPlanContractPricingModel = "QUOTA"
	EnergyPlanContractPricingModelSINGLERATE         EnergyPlanContractPricingModel = "SINGLE_RATE"
	EnergyPlanContractPricingModelSINGLERATECONTLOAD EnergyPlanContractPricingModel = "SINGLE_RATE_CONT_LOAD"
	EnergyPlanContractPricingModelTIMEOFUSE          EnergyPlanContractPricingModel = "TIME_OF_USE"
	EnergyPlanContractPricingModelTIMEOFUSECONTLOAD  EnergyPlanContractPricingModel = "TIME_OF_USE_CONT_LOAD"
)

Defines values for EnergyPlanContractPricingModel.

type EnergyPlanContractSolarFeedInTariffPayerType

type EnergyPlanContractSolarFeedInTariffPayerType string

EnergyPlanContractSolarFeedInTariffPayerType The type of the payer

const (
	EnergyPlanContractSolarFeedInTariffPayerTypeGOVERNMENT EnergyPlanContractSolarFeedInTariffPayerType = "GOVERNMENT"
	EnergyPlanContractSolarFeedInTariffPayerTypeRETAILER   EnergyPlanContractSolarFeedInTariffPayerType = "RETAILER"
)

Defines values for EnergyPlanContractSolarFeedInTariffPayerType.

type EnergyPlanContractSolarFeedInTariffScheme

type EnergyPlanContractSolarFeedInTariffScheme string

EnergyPlanContractSolarFeedInTariffScheme The applicable scheme

const (
	EnergyPlanContractSolarFeedInTariffSchemeOTHER   EnergyPlanContractSolarFeedInTariffScheme = "OTHER"
	EnergyPlanContractSolarFeedInTariffSchemePREMIUM EnergyPlanContractSolarFeedInTariffScheme = "PREMIUM"
)

Defines values for EnergyPlanContractSolarFeedInTariffScheme.

type EnergyPlanContractSolarFeedInTariffTariffUType

type EnergyPlanContractSolarFeedInTariffTariffUType string

EnergyPlanContractSolarFeedInTariffTariffUType The type of the payer

const (
	EnergyPlanContractSolarFeedInTariffTariffUTypeSingleTariff       EnergyPlanContractSolarFeedInTariffTariffUType = "singleTariff"
	EnergyPlanContractSolarFeedInTariffTariffUTypeTimeVaryingTariffs EnergyPlanContractSolarFeedInTariffTariffUType = "timeVaryingTariffs"
)

Defines values for EnergyPlanContractSolarFeedInTariffTariffUType.

type EnergyPlanContractSolarFeedInTariffTimeVaryingTariffsTimeVariationsDays

type EnergyPlanContractSolarFeedInTariffTimeVaryingTariffsTimeVariationsDays string

EnergyPlanContractSolarFeedInTariffTimeVaryingTariffsTimeVariationsDays defines model for EnergyPlanContract.SolarFeedInTariff.TimeVaryingTariffs.TimeVariations.Days.

const (
	EnergyPlanContractSolarFeedInTariffTimeVaryingTariffsTimeVariationsDaysFRI            EnergyPlanContractSolarFeedInTariffTimeVaryingTariffsTimeVariationsDays = "FRI"
	EnergyPlanContractSolarFeedInTariffTimeVaryingTariffsTimeVariationsDaysMON            EnergyPlanContractSolarFeedInTariffTimeVaryingTariffsTimeVariationsDays = "MON"
	EnergyPlanContractSolarFeedInTariffTimeVaryingTariffsTimeVariationsDaysPUBLICHOLIDAYS EnergyPlanContractSolarFeedInTariffTimeVaryingTariffsTimeVariationsDays = "PUBLIC_HOLIDAYS"
	EnergyPlanContractSolarFeedInTariffTimeVaryingTariffsTimeVariationsDaysSAT            EnergyPlanContractSolarFeedInTariffTimeVaryingTariffsTimeVariationsDays = "SAT"
	EnergyPlanContractSolarFeedInTariffTimeVaryingTariffsTimeVariationsDaysSUN            EnergyPlanContractSolarFeedInTariffTimeVaryingTariffsTimeVariationsDays = "SUN"
	EnergyPlanContractSolarFeedInTariffTimeVaryingTariffsTimeVariationsDaysTHU            EnergyPlanContractSolarFeedInTariffTimeVaryingTariffsTimeVariationsDays = "THU"
	EnergyPlanContractSolarFeedInTariffTimeVaryingTariffsTimeVariationsDaysTUE            EnergyPlanContractSolarFeedInTariffTimeVaryingTariffsTimeVariationsDays = "TUE"
	EnergyPlanContractSolarFeedInTariffTimeVaryingTariffsTimeVariationsDaysWED            EnergyPlanContractSolarFeedInTariffTimeVaryingTariffsTimeVariationsDays = "WED"
)

Defines values for EnergyPlanContractSolarFeedInTariffTimeVaryingTariffsTimeVariationsDays.

type EnergyPlanContractSolarFeedInTariffTimeVaryingTariffsType

type EnergyPlanContractSolarFeedInTariffTimeVaryingTariffsType string

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

const (
	EnergyPlanContractSolarFeedInTariffTimeVaryingTariffsTypeOFFPEAK  EnergyPlanContractSolarFeedInTariffTimeVaryingTariffsType = "OFF_PEAK"
	EnergyPlanContractSolarFeedInTariffTimeVaryingTariffsTypePEAK     EnergyPlanContractSolarFeedInTariffTimeVaryingTariffsType = "PEAK"
	EnergyPlanContractSolarFeedInTariffTimeVaryingTariffsTypeSHOULDER EnergyPlanContractSolarFeedInTariffTimeVaryingTariffsType = "SHOULDER"
)

Defines values for EnergyPlanContractSolarFeedInTariffTimeVaryingTariffsType.

type EnergyPlanContractTariffPeriodDemandChargesChargePeriod

type EnergyPlanContractTariffPeriodDemandChargesChargePeriod string

EnergyPlanContractTariffPeriodDemandChargesChargePeriod Charge period for the demand tariff

const (
	EnergyPlanContractTariffPeriodDemandChargesChargePeriodDAY          EnergyPlanContractTariffPeriodDemandChargesChargePeriod = "DAY"
	EnergyPlanContractTariffPeriodDemandChargesChargePeriodMONTH        EnergyPlanContractTariffPeriodDemandChargesChargePeriod = "MONTH"
	EnergyPlanContractTariffPeriodDemandChargesChargePeriodTARIFFPERIOD EnergyPlanContractTariffPeriodDemandChargesChargePeriod = "TARIFF_PERIOD"
)

Defines values for EnergyPlanContractTariffPeriodDemandChargesChargePeriod.

type EnergyPlanContractTariffPeriodDemandChargesDays

type EnergyPlanContractTariffPeriodDemandChargesDays string

EnergyPlanContractTariffPeriodDemandChargesDays defines model for EnergyPlanContract.TariffPeriod.DemandCharges.Days.

const (
	EnergyPlanContractTariffPeriodDemandChargesDaysFRI            EnergyPlanContractTariffPeriodDemandChargesDays = "FRI"
	EnergyPlanContractTariffPeriodDemandChargesDaysMON            EnergyPlanContractTariffPeriodDemandChargesDays = "MON"
	EnergyPlanContractTariffPeriodDemandChargesDaysPUBLICHOLIDAYS EnergyPlanContractTariffPeriodDemandChargesDays = "PUBLIC_HOLIDAYS"
	EnergyPlanContractTariffPeriodDemandChargesDaysSAT            EnergyPlanContractTariffPeriodDemandChargesDays = "SAT"
	EnergyPlanContractTariffPeriodDemandChargesDaysSUN            EnergyPlanContractTariffPeriodDemandChargesDays = "SUN"
	EnergyPlanContractTariffPeriodDemandChargesDaysTHU            EnergyPlanContractTariffPeriodDemandChargesDays = "THU"
	EnergyPlanContractTariffPeriodDemandChargesDaysTUE            EnergyPlanContractTariffPeriodDemandChargesDays = "TUE"
	EnergyPlanContractTariffPeriodDemandChargesDaysWED            EnergyPlanContractTariffPeriodDemandChargesDays = "WED"
)

Defines values for EnergyPlanContractTariffPeriodDemandChargesDays.

type EnergyPlanContractTariffPeriodDemandChargesMeasureUnit

type EnergyPlanContractTariffPeriodDemandChargesMeasureUnit string

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

const (
	EnergyPlanContractTariffPeriodDemandChargesMeasureUnitDAYS  EnergyPlanContractTariffPeriodDemandChargesMeasureUnit = "DAYS"
	EnergyPlanContractTariffPeriodDemandChargesMeasureUnitKVA   EnergyPlanContractTariffPeriodDemandChargesMeasureUnit = "KVA"
	EnergyPlanContractTariffPeriodDemandChargesMeasureUnitKVAR  EnergyPlanContractTariffPeriodDemandChargesMeasureUnit = "KVAR"
	EnergyPlanContractTariffPeriodDemandChargesMeasureUnitKVARH EnergyPlanContractTariffPeriodDemandChargesMeasureUnit = "KVARH"
	EnergyPlanContractTariffPeriodDemandChargesMeasureUnitKW    EnergyPlanContractTariffPeriodDemandChargesMeasureUnit = "KW"
	EnergyPlanContractTariffPeriodDemandChargesMeasureUnitKWH   EnergyPlanContractTariffPeriodDemandChargesMeasureUnit = "KWH"
	EnergyPlanContractTariffPeriodDemandChargesMeasureUnitMETER EnergyPlanContractTariffPeriodDemandChargesMeasureUnit = "METER"
	EnergyPlanContractTariffPeriodDemandChargesMeasureUnitMONTH EnergyPlanContractTariffPeriodDemandChargesMeasureUnit = "MONTH"
)

Defines values for EnergyPlanContractTariffPeriodDemandChargesMeasureUnit.

type EnergyPlanContractTariffPeriodDemandChargesMeasurementPeriod

type EnergyPlanContractTariffPeriodDemandChargesMeasurementPeriod string

EnergyPlanContractTariffPeriodDemandChargesMeasurementPeriod Application period for the demand tariff

const (
	EnergyPlanContractTariffPeriodDemandChargesMeasurementPeriodDAY          EnergyPlanContractTariffPeriodDemandChargesMeasurementPeriod = "DAY"
	EnergyPlanContractTariffPeriodDemandChargesMeasurementPeriodMONTH        EnergyPlanContractTariffPeriodDemandChargesMeasurementPeriod = "MONTH"
	EnergyPlanContractTariffPeriodDemandChargesMeasurementPeriodTARIFFPERIOD EnergyPlanContractTariffPeriodDemandChargesMeasurementPeriod = "TARIFF_PERIOD"
)

Defines values for EnergyPlanContractTariffPeriodDemandChargesMeasurementPeriod.

type EnergyPlanContractTariffPeriodRateBlockUType

type EnergyPlanContractTariffPeriodRateBlockUType string

EnergyPlanContractTariffPeriodRateBlockUType Specifies the type of rate applicable to this tariff period

const (
	EnergyPlanContractTariffPeriodRateBlockUTypeDemandCharges  EnergyPlanContractTariffPeriodRateBlockUType = "demandCharges"
	EnergyPlanContractTariffPeriodRateBlockUTypeSingleRate     EnergyPlanContractTariffPeriodRateBlockUType = "singleRate"
	EnergyPlanContractTariffPeriodRateBlockUTypeTimeOfUseRates EnergyPlanContractTariffPeriodRateBlockUType = "timeOfUseRates"
)

Defines values for EnergyPlanContractTariffPeriodRateBlockUType.

type EnergyPlanContractTariffPeriodSingleRateRatesMeasureUnit

type EnergyPlanContractTariffPeriodSingleRateRatesMeasureUnit string

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

const (
	EnergyPlanContractTariffPeriodSingleRateRatesMeasureUnitDAYS  EnergyPlanContractTariffPeriodSingleRateRatesMeasureUnit = "DAYS"
	EnergyPlanContractTariffPeriodSingleRateRatesMeasureUnitKVA   EnergyPlanContractTariffPeriodSingleRateRatesMeasureUnit = "KVA"
	EnergyPlanContractTariffPeriodSingleRateRatesMeasureUnitKVAR  EnergyPlanContractTariffPeriodSingleRateRatesMeasureUnit = "KVAR"
	EnergyPlanContractTariffPeriodSingleRateRatesMeasureUnitKVARH EnergyPlanContractTariffPeriodSingleRateRatesMeasureUnit = "KVARH"
	EnergyPlanContractTariffPeriodSingleRateRatesMeasureUnitKW    EnergyPlanContractTariffPeriodSingleRateRatesMeasureUnit = "KW"
	EnergyPlanContractTariffPeriodSingleRateRatesMeasureUnitKWH   EnergyPlanContractTariffPeriodSingleRateRatesMeasureUnit = "KWH"
	EnergyPlanContractTariffPeriodSingleRateRatesMeasureUnitMETER EnergyPlanContractTariffPeriodSingleRateRatesMeasureUnit = "METER"
	EnergyPlanContractTariffPeriodSingleRateRatesMeasureUnitMONTH EnergyPlanContractTariffPeriodSingleRateRatesMeasureUnit = "MONTH"
)

Defines values for EnergyPlanContractTariffPeriodSingleRateRatesMeasureUnit.

type EnergyPlanContractTariffPeriodTimeOfUseRatesRatesMeasureUnit

type EnergyPlanContractTariffPeriodTimeOfUseRatesRatesMeasureUnit string

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

const (
	EnergyPlanContractTariffPeriodTimeOfUseRatesRatesMeasureUnitDAYS  EnergyPlanContractTariffPeriodTimeOfUseRatesRatesMeasureUnit = "DAYS"
	EnergyPlanContractTariffPeriodTimeOfUseRatesRatesMeasureUnitKVA   EnergyPlanContractTariffPeriodTimeOfUseRatesRatesMeasureUnit = "KVA"
	EnergyPlanContractTariffPeriodTimeOfUseRatesRatesMeasureUnitKVAR  EnergyPlanContractTariffPeriodTimeOfUseRatesRatesMeasureUnit = "KVAR"
	EnergyPlanContractTariffPeriodTimeOfUseRatesRatesMeasureUnitKVARH EnergyPlanContractTariffPeriodTimeOfUseRatesRatesMeasureUnit = "KVARH"
	EnergyPlanContractTariffPeriodTimeOfUseRatesRatesMeasureUnitKW    EnergyPlanContractTariffPeriodTimeOfUseRatesRatesMeasureUnit = "KW"
	EnergyPlanContractTariffPeriodTimeOfUseRatesRatesMeasureUnitKWH   EnergyPlanContractTariffPeriodTimeOfUseRatesRatesMeasureUnit = "KWH"
	EnergyPlanContractTariffPeriodTimeOfUseRatesRatesMeasureUnitMETER EnergyPlanContractTariffPeriodTimeOfUseRatesRatesMeasureUnit = "METER"
	EnergyPlanContractTariffPeriodTimeOfUseRatesRatesMeasureUnitMONTH EnergyPlanContractTariffPeriodTimeOfUseRatesRatesMeasureUnit = "MONTH"
)

Defines values for EnergyPlanContractTariffPeriodTimeOfUseRatesRatesMeasureUnit.

type EnergyPlanContractTariffPeriodTimeOfUseRatesTimeOfUseDays

type EnergyPlanContractTariffPeriodTimeOfUseRatesTimeOfUseDays string

EnergyPlanContractTariffPeriodTimeOfUseRatesTimeOfUseDays defines model for EnergyPlanContract.TariffPeriod.TimeOfUseRates.TimeOfUse.Days.

const (
	EnergyPlanContractTariffPeriodTimeOfUseRatesTimeOfUseDaysFRI            EnergyPlanContractTariffPeriodTimeOfUseRatesTimeOfUseDays = "FRI"
	EnergyPlanContractTariffPeriodTimeOfUseRatesTimeOfUseDaysMON            EnergyPlanContractTariffPeriodTimeOfUseRatesTimeOfUseDays = "MON"
	EnergyPlanContractTariffPeriodTimeOfUseRatesTimeOfUseDaysPUBLICHOLIDAYS EnergyPlanContractTariffPeriodTimeOfUseRatesTimeOfUseDays = "PUBLIC_HOLIDAYS"
	EnergyPlanContractTariffPeriodTimeOfUseRatesTimeOfUseDaysSAT            EnergyPlanContractTariffPeriodTimeOfUseRatesTimeOfUseDays = "SAT"
	EnergyPlanContractTariffPeriodTimeOfUseRatesTimeOfUseDaysSUN            EnergyPlanContractTariffPeriodTimeOfUseRatesTimeOfUseDays = "SUN"
	EnergyPlanContractTariffPeriodTimeOfUseRatesTimeOfUseDaysTHU            EnergyPlanContractTariffPeriodTimeOfUseRatesTimeOfUseDays = "THU"
	EnergyPlanContractTariffPeriodTimeOfUseRatesTimeOfUseDaysTUE            EnergyPlanContractTariffPeriodTimeOfUseRatesTimeOfUseDays = "TUE"
	EnergyPlanContractTariffPeriodTimeOfUseRatesTimeOfUseDaysWED            EnergyPlanContractTariffPeriodTimeOfUseRatesTimeOfUseDays = "WED"
)

Defines values for EnergyPlanContractTariffPeriodTimeOfUseRatesTimeOfUseDays.

type EnergyPlanContractTariffPeriodTimeOfUseRatesType

type EnergyPlanContractTariffPeriodTimeOfUseRatesType string

EnergyPlanContractTariffPeriodTimeOfUseRatesType The type of usage that the rate applies to

const (
	EnergyPlanContractTariffPeriodTimeOfUseRatesTypeOFFPEAK   EnergyPlanContractTariffPeriodTimeOfUseRatesType = "OFF_PEAK"
	EnergyPlanContractTariffPeriodTimeOfUseRatesTypePEAK      EnergyPlanContractTariffPeriodTimeOfUseRatesType = "PEAK"
	EnergyPlanContractTariffPeriodTimeOfUseRatesTypeSHOULDER  EnergyPlanContractTariffPeriodTimeOfUseRatesType = "SHOULDER"
	EnergyPlanContractTariffPeriodTimeOfUseRatesTypeSHOULDER1 EnergyPlanContractTariffPeriodTimeOfUseRatesType = "SHOULDER1"
	EnergyPlanContractTariffPeriodTimeOfUseRatesTypeSHOULDER2 EnergyPlanContractTariffPeriodTimeOfUseRatesType = "SHOULDER2"
)

Defines values for EnergyPlanContractTariffPeriodTimeOfUseRatesType.

type EnergyPlanContractTariffPeriodTimeZone

type EnergyPlanContractTariffPeriodTimeZone string

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

const (
	EnergyPlanContractTariffPeriodTimeZoneAEST  EnergyPlanContractTariffPeriodTimeZone = "AEST"
	EnergyPlanContractTariffPeriodTimeZoneLOCAL EnergyPlanContractTariffPeriodTimeZone = "LOCAL"
)

Defines values for EnergyPlanContractTariffPeriodTimeZone.

type EnergyPlanContractTariffPeriodType

type EnergyPlanContractTariffPeriodType string

EnergyPlanContractTariffPeriodType Type of charge. Assumed to be other if absent

const (
	EnergyPlanContractTariffPeriodTypeENVIRONMENTAL EnergyPlanContractTariffPeriodType = "ENVIRONMENTAL"
	EnergyPlanContractTariffPeriodTypeMETERING      EnergyPlanContractTariffPeriodType = "METERING"
	EnergyPlanContractTariffPeriodTypeNETWORK       EnergyPlanContractTariffPeriodType = "NETWORK"
	EnergyPlanContractTariffPeriodTypeOTHER         EnergyPlanContractTariffPeriodType = "OTHER"
	EnergyPlanContractTariffPeriodTypeRCTI          EnergyPlanContractTariffPeriodType = "RCTI"
	EnergyPlanContractTariffPeriodTypeREGULATED     EnergyPlanContractTariffPeriodType = "REGULATED"
	EnergyPlanContractTariffPeriodTypeRETAILSERVICE EnergyPlanContractTariffPeriodType = "RETAIL_SERVICE"
)

Defines values for EnergyPlanContractTariffPeriodType.

type EnergyPlanContractTimeZone

type EnergyPlanContractTimeZone string

EnergyPlanContractTimeZone 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 (
	EnergyPlanContractTimeZoneAEST  EnergyPlanContractTimeZone = "AEST"
	EnergyPlanContractTimeZoneLOCAL EnergyPlanContractTimeZone = "LOCAL"
)

Defines values for EnergyPlanContractTimeZone.

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 EnergyPlanDetail

type EnergyPlanDetail 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 *EnergyPlanDetailCustomerType `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 *EnergyPlanContractFull `json:"electricityContract,omitempty"`

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

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

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

EnergyPlanDetail defines model for EnergyPlanDetail.

type EnergyPlanDetailAllOf

type EnergyPlanDetailAllOf struct {
	ElectricityContract *EnergyPlanContractFull `json:"electricityContract,omitempty"`
	GasContract         *EnergyPlanContractFull `json:"gasContract,omitempty"`

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

EnergyPlanDetailAllOf defines model for EnergyPlanDetail_allOf.

type EnergyPlanDetailAllOfMeteringCharges

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

EnergyPlanDetailAllOfMeteringCharges defines model for EnergyPlanDetail_allOf_meteringCharges.

type EnergyPlanDetailCustomerType

type EnergyPlanDetailCustomerType string

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

const (
	EnergyPlanDetailCustomerTypeBUSINESS    EnergyPlanDetailCustomerType = "BUSINESS"
	EnergyPlanDetailCustomerTypeRESIDENTIAL EnergyPlanDetailCustomerType = "RESIDENTIAL"
)

Defines values for EnergyPlanDetailCustomerType.

type EnergyPlanDetailFuelType

type EnergyPlanDetailFuelType string

EnergyPlanDetailFuelType The fuel types covered by the plan

const (
	EnergyPlanDetailFuelTypeDUAL        EnergyPlanDetailFuelType = "DUAL"
	EnergyPlanDetailFuelTypeELECTRICITY EnergyPlanDetailFuelType = "ELECTRICITY"
	EnergyPlanDetailFuelTypeGAS         EnergyPlanDetailFuelType = "GAS"
)

Defines values for EnergyPlanDetailFuelType.

type EnergyPlanDetailType

type EnergyPlanDetailType string

EnergyPlanDetailType The type of the plan

const (
	EnergyPlanDetailTypeMARKET    EnergyPlanDetailType = "MARKET"
	EnergyPlanDetailTypeREGULATED EnergyPlanDetailType = "REGULATED"
	EnergyPlanDetailTypeSTANDING  EnergyPlanDetailType = "STANDING"
)

Defines values for EnergyPlanDetailType.

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

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 post codes 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 post codes that are included from the plan.  If absent defaults to all non-excluded post codes.  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 EnergyPlanListResponse

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

EnergyPlanListResponse defines model for EnergyPlanListResponse.

type EnergyPlanListResponseData

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

EnergyPlanListResponseData defines model for EnergyPlanListResponse_data.

type EnergyPlanResponse

type EnergyPlanResponse struct {
	Data  EnergyPlanDetail        `json:"data"`
	Links Links                   `json:"links"`
	Meta  *map[string]interface{} `json:"meta,omitempty"`
}

EnergyPlanResponse defines model for EnergyPlanResponse.

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

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

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

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

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

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

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

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

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

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  *map[string]interface{}  `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

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

type EnergyServicePointDetailSpecificationsInstallationType string

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

type EnergyServicePointDetailSpecificationsStatus

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

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

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

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

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

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      *EnergyAccountDetailResponseV2
	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      *EnergyPlanResponse
	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

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

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

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

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

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

type ResponseErrorListV2 struct {
	Errors []ResponseErrorListV2Errors `json:"errors"`
}

ResponseErrorListV2 defines model for ResponseErrorListV2.

type ResponseErrorListV2Errors

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

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