Skip to main content

Contract

The Contract type represents a contract between a user and a vendor. It is used as a central entity for delivering energy to a address and billing the user.

type Contract implements Node {
id: UUID!
invoices(
first: Int! = 10
after: String
last: Int! = 0
before: String
filter: InvoiceFilterInput
sortBy: [InvoiceSortInput]
): InvoiceConnection!
costs(
begin: String!
end: String!
interval: Interval!
products: [Product!]
costTypes: [CostType!]
): Costs!
meteringPoints(
id: UUID
type: MeteringPointType
): [MeteringPoint]
acceptedAt: Time!
consumerType: ConsumerType!
company: Company
energyContractType: EnergyContractType!
monthlyDeposit: Price!
phase: ContractPhase!
phaseErrorDetails: PhaseErrorDetails
startDate: Time
originalStartDate: Time
endDate: Time
deliveryStoppedDate: Time
duration: Int!
paymentMethod: PaymentMethod!
agreementFile: Asset!
collective: Collective
deliveryAddress: Address!
billingAddress: Address!
hasGas: Boolean!
hasElectricity: Boolean!
hasProduction: Boolean!
totalYearlyUsage: ExpectedUsage!
consumptionDetails: ExpectedUsageV2!
electricityTransmissionType: String
gasTransmissionType: String
consumptionCostOverviews(
first: Int! = 10
after: String
last: Int! = 0
before: String
): ConsumptionCostOverviewConnection!
calculatedProductGroup: CalculatedProductGroup
}

Fields

Contract.id ● UUID! non-null scalar

The unique identifier of the contract.

Contract.invoices ● InvoiceConnection! non-null object

Invoices contain the costs of energy usage for a month and their status. This is used to bill the user for the energy used.

Contract.invoices.first ● Int! non-null scalar

The number of contracts to return from the beginning.

Contract.invoices.after ● String scalar

The cursor for pagination, denoting contracts to return after this cursor.

Contract.invoices.last ● Int! non-null scalar

The number of contracts to return from the end.

Contract.invoices.before ● String scalar

The cursor for pagination, denoting contracts to return before this cursor.

Contract.invoices.filter ● InvoiceFilterInput input

An optional filter which determines which invoices to return.

Contract.invoices.sortBy ● [InvoiceSortInput] list input

Optional sorts which determine the order in which the invoices will be returned. If no sort is provided, the invoices will be sorted by their creation date in ascending order.

Contract.costs ● Costs! non-null object

Costs fetches the requested costs for this contract for the given time period.

Contract.costs.begin ● String! non-null scalar

Begin is the start time of the period for which the costs will be retrieved. Format: YYYY-MM-DD HH:MM. Begin is inclusive. The time between begin and end must be equal to an exact multiple of the interval. The start must align with the start of an interval. Weekly intervals start on Monday. Monthly intervals start on the first of the month. Yearly intervals start on January 1st.

Contract.costs.end ● String! non-null scalar

End is the end time of the period for which the costs will be retrieved. End is exclusive. Format: YYYY-MM-DD HH:MM.

Contract.costs.interval ● Interval! non-null enum

The interval over which the costs will be calculated.

Contract.costs.products ● [Product!] list enum

Products to filter the costs on. If empty or not provided, all products are included.

Contract.costs.costTypes ● [CostType!] list enum

Cost types to filter the costs on. If empty or not provided, all cost types are included.

Contract.meteringPoints ● [MeteringPoint] list object

The metering points of the contract A metering point is a location where energy is delivered. It is the physical machine that measures the amount of energy used.

Contract.meteringPoints.id ● UUID scalar

Filter on the id of the metering point.

Contract.meteringPoints.type ● MeteringPointType enum

Filter on the type of the metering point. E.g., electricity or gas.

Contract.acceptedAt ● Time! non-null scalar

The date and time when the user accepted the contract and agreed to its terms.

Contract.consumerType ● ConsumerType! non-null enum

The consumer type specifies the type of consumer.

Contract.company ● Company object

The company of this contract.

Contract.energyContractType ● EnergyContractType! non-null enum

Specifies if the type of energy contract. This comes down to if you pay the SPOT price or a fixed kwh fee.

Contract.monthlyDeposit ● Price! non-null object

The monthly deposit is the amount that the user pays each month. This is estimated based on the yearly usage and contract costs.

Contract.phase ● ContractPhase! non-null enum

The contract phase of the contract. This is used to specify the current state of the contract.

Contract.phaseErrorDetails ● PhaseErrorDetails object

The contract phase error details of the contract. Sometimes the phase can have an error, this is used to specify the error.

Contract.startDate ● Time scalar

The current active start date of the contract. It represents the start of the ongoing energy delivery period and is updated each year after the previous period is settled. Note that this date will differ from the originalStartDate after a year was settled.

Contract.originalStartDate ● Time scalar

The date when the contract originally began.

Contract.endDate ● Time scalar

The date when the contract ends. This field only applies to contracts with a fixed duration.

Contract.deliveryStoppedDate ● Time scalar

The date when the energy delivery for this contract was or will be stopped. It may differ from the contract’s endDate, which is only set for fixed-term contracts, and even in those cases delivery can end before the endDate.

Contract.duration ● Int! non-null scalar

The duration of the contract. This can also be seen as a cancellation period. The duration is in months.

Contract.paymentMethod ● PaymentMethod! non-null enum

The payment method used for the contract.

Contract.agreementFile ● Asset! non-null object

The document of the contract file that contains the contract details.

Contract.collective ● Collective object

The collective of the contract. A collective is a group of users that have a contract with a vendor, this is used to group users together for billing purposes.

Contract.deliveryAddress ● Address! non-null object

The delivery address of the contract, where the energy is delivered.

Contract.billingAddress ● Address! non-null object

The billing address of the contract, where the user is billed.

Contract.hasGas ● Boolean! non-null scalar

hasGas is a boolean that indicates if the contract has gas.

Contract.hasElectricity ● Boolean! non-null scalar

hasElectricity is a boolean that indicates if the contract has electricity.

Contract.hasProduction ● Boolean! non-null scalar

hasProduction is a boolean that indicates if the contract has production. This is based on user input, so it can be incorrect.

Contract.totalYearlyUsage ● ExpectedUsage! non-null object

The total yearly usage of the contract in kWh and m3. This is based on user input, and validated against a margin of EDSN expected usage. Deprecated: use consumptionDetails instead. This field will be removed in the near future.

Contract.consumptionDetails ● ExpectedUsageV2! non-null object

The consumptionDetails of the contract in kWh and m3. This is based on user input, and validated against a margin of EDSN expected usage. This could be changed over time by the user or the system based on the consumption.

Contract.electricityTransmissionType ● String scalar

elecTransmissionType is a string that indicates the type of electricity transmission. deprecated: use the electricityTransmissionType field of the metering point instead. This field will be removed in the near future.

Contract.gasTransmissionType ● String scalar

gasTransmissionType is a string that indicates the type of gas transmission. deprecated: use the electricityTransmissionType field of the metering point instead. This field will be removed in the near future.

Contract.consumptionCostOverviews ● ConsumptionCostOverviewConnection! non-null object

ConsumptionCostOverviews are 'Verbruikskostenoverzichten' which are documents that contain the costs of energy usage for a month.

Contract.consumptionCostOverviews.first ● Int! non-null scalar

The number of consumption cost overviews to return from the beginning.

Contract.consumptionCostOverviews.after ● String scalar

The cursor for pagination, denoting consumption cost overviews to return after this cursor.

Contract.consumptionCostOverviews.last ● Int! non-null scalar

The number of consumption cost overviews to return from the end.

Contract.consumptionCostOverviews.before ● String scalar

The cursor for pagination, denoting consumption cost overviews to return before this cursor.

Contract.calculatedProductGroup ● CalculatedProductGroup object

The calculated product group with structured data containing pricing, products, and metadata.

Interfaces

Node interface

An object with a Globally Unique ID

Member Of

ContractEdge object