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