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