id: https://modellen.netbeheernederland.nl/capaciteitskaart/draft
name: capaciteitskaart
description: |-
  Information model of data product Capaciteitskaart
title: Capaciteitskaart
license: https://www.apache.org/licenses/LICENSE-2.0.txt
imports:
  - linkml:types
prefixes:
  cim: https://cim.ucaiug.io/ns#
  dct: http://purl.org/dc/terms/
  linkml: https://w3id.org/linkml/
  nbnl: https://begrippen.netbeheernederland.nl/id/
  nl: http://iec.ch/TC57/CIM100-Netherlands#
  owl: http://www.w3.org/2002/07/owl#
  this: http://data.netbeheernederland.nl/dp-capaciteitskaart/def#
  unit: http://qudt.org/vocab/unit/
annotations:
  model_uri: https://modellen.netbeheernederland.nl/capaciteitskaart
  exchange_format: application/json
  model_type: data-product
  environment: https://ghcr.io/netbeheer-nederland/build-dp:0.35
types:
  MegaW:
    typeof: float
    uri: unit:MegaW
  KiloA:
    typeof: float
    uri: unit:KiloA
  KiloV:
    typeof: float
    uri: unit:KiloV
enums:
  EnergyAreaKind:
    description: Kind of EnergyAdea. Defines the energy area as a regular energy area, or congestion area.
    enum_uri: this:EnergyAreaKind
    permissible_values:
      energy_area:
        description: Energy area.
        meaning: this:EnergyAreaKind.energyArea
      congestion_area:
        description: Congestion area.
        meaning: this:EnergyAreaKind.congestionArea
  UpdateInfoKind:
    description: Type of information that has been updated as part of this dataset.
    enum_uri: this:UpdateInfoKind
    permissible_values:
      KI:
        description: Kleurinformatie.
        meaning: this:UpdateInfoKind.KI
      ATC:
        description: Aanwezige transportcapaciteit.
        meaning: this:UpdateInfoKind.ATC
      BTC:
        description: Benodigde transportcapaciteit.
        meaning: this:UpdateInfoKind.BTC
      WR:
        description: Wachtrij.
        meaning: this:UpdateInfoKind.WR
      NU:
        description: Netuitbreidingen.
        meaning: this:UpdateInfoKind.NU
      JC:
        description: Jaartal congestie opgelost.
        meaning: this:UpdateInfoKind.JC
  RAGKind:
    description: Traffic light colors coding scheme for categorising status.
    enum_uri: this:RAGKind
    permissible_values:
      transparant:
        description: Transport capacity is available, without queue ("Transportcapaciteit beschikbaar zonder wachtrij").
        meaning: this:RAGKind.Transparant
      red:
        description: Shortage of transport capacity, with queue (Tekort aan Transportcapaciteit met wachtrij).
        meaning: this:RAGKind.Red
      amber:
        description: Energy Area is being investigated, with queue (Voedingsgebied is in onderzoek met wachtrij).
        meaning: this:RAGKind.Amber
      yellow:
        description: Limited availability of transport capacity, without queue (Transportcapaciteit beperkt beschikbaar zonder wachtrij).
        meaning: this:RAGKind.Yellow
  WorkStatusKind:
    description: Kind of status, specific to work.
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61968
    enum_uri: cim:WorkStatusKind
    permissible_values:
      approved:
        description: Initiatiefase.
        meaning: cim:WorkStatusKind.approved
      scheduled:
        description: Definitie- en ontwerpfase.
        meaning: cim:WorkStatusKind.scheduled
      inProgress:
        description: Uitvoeringsfase.
        meaning: cim:WorkStatusKind.inProgress
  WorkTimeScheduleKind:
    description: Kind of work schedule.
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61968
    enum_uri: cim:WorkTimeScheduleKind
    permissible_values:
      actual:
        meaning: cim:WorkTimeScheduleKind.actual
      earliest:
        meaning: cim:WorkTimeScheduleKind.earliest
      estimate:
        meaning: cim:WorkTimeScheduleKind.estimate
      immediate:
        meaning: cim:WorkTimeScheduleKind.immediate
      latest:
        meaning: cim:WorkTimeScheduleKind.latest
      request:
        meaning: cim:WorkTimeScheduleKind.request
classes:
  HeatmapDataSet:
    description: A single instance of a published dataset. The descriptions of these fields are taken from the Dublin Core Standard.
    attributes:
      identifier:
        slot_uri: dct:identifier
        multivalued: false
        required: true
      conforms_to:
        slot_uri: dct:conformsTo
        multivalued: false
        required: true
      contact_point:
        slot_uri: dct:contactPoint
        multivalued: false
        required: true
      valid:
        description: A date range for the validity of a resource. This should be two dates, start & end. The first date is inclusive and the second date exclusive.
        slot_uri: dct:valid
        range: DateTimeInterval
        required: false
      version:
        slot_uri: owl:versionInfo
        multivalued: false
        required: true
      updated:
        description: Type of information that was updated for this dataset.
        slot_uri: this:HeatmapDataSet.updated
        range: UpdateInfo
        required: false
        multivalued: true
      geographical_regions:
        description: All instances of GeographicalRegions
        slot_uri: this:HeatmapDataSet.GeographicalRegions
        range: GeographicalRegion
        multivalued: true
        required: true
        inlined_as_list: true
    class_uri: this:HeatmapDataSet
    tree_root: true
  GeographicalRegion:
    description: "A geographical region of a power system network model."
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61970.Base.Core
    is_a: IdentifiedObject
    attributes:
      regions:
        description: All sub-geographical regions within this geographical region.
        slot_uri: cim:GeographicalRegion.Regions
        range: SubGeographicalRegion
        required: true
        multivalued: true
    class_uri: cim:GeographicalRegion
  SubGeographicalRegion:
    description: "A subset of a geographical region of a power system network model."
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61970.Base.Core
    is_a: IdentifiedObject
    attributes:
      energy_areas:
        description: Energy areas contained in the SubGeographicalRegion.
        slot_uri: cim:SubGeographicalRegion.EnergyAreas
        range: EnergyArea
        required: true
        multivalued: true
    class_uri: cim:SubGeographicalRegion
  EnergyArea:
    description: Describes an area having energy production or consumption. Specializations are intended to support the load allocation function as typically required in energy management systems or planning studies to allocate hypothesized load levels to individual load points for power flow analysis. Often the energy area can be linked to both measured and forecast load levels.
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61970.Base.LoadModel
    exact_mappings:
      - nbnl:8eytm
    is_a: IdentifiedObject
    attributes:
      short_code:
        description: Short code name for EnergyArea. This is the "Uniek ID voedingsgebied" in the previous implementation.
        slot_uri: this:EnergyArea.shortCode
        required: true
        multivalued: false
      type:
        description: Type of EnergyArea, either a regular energy area, or congestion area. Only the TSO dataset can define congestion areas.
        slot_uri: this:EnergyArea.type
        range: EnergyAreaKind
        required: false
        multivalued: false
      demand_alleviation_year:
        description: Year (e.g. "2028") from which any capacity issues have been alleviated for the EnergyArea.
        slot_uri: this:EnergyArea.demandAlleviationYear
        range: integer
        required: false
        multivalued: false
      demand_energy_area_short_code:
        description: Reference to a TenneT EnergyArea which is defined as a congestion area. Used specifically in the TSO dataset.
        slot_uri: this:EnergyArea.demandEnergyAreaShortCode
        range: string
        required: false
        multivalued: false
      generation_alleviation_year:
        description: Year (e.g. "2028") from which any capacity issues have been alleviated for the EnergyArea.
        slot_uri: this:EnergyArea.generationAlleviationYear
        range: integer
        required: false
        multivalued: false
      generation_energy_area_short_code:
        description: Reference to a TenneT EnergyArea which is defined as a congestion area. Used specifically in the TSO dataset.
        slot_uri: this:EnergyArea.generationEnergyAreaShortCode
        range: string
        required: false
        multivalued: false
      works:
        description: All the works performed for this EnergyArea.
        slot_uri: this:EnergyArea.Works
        multivalued: true
        range: Work
        required: false
      area_capacity:
        description:
        slot_uri: this:EnergyArea.AreaCapacity
        multivalued: true
        range: AreaCapacity
        required: true
      postcode_areas:
        description: Postcode Areas serviced by this EnergyArea.
        slot_uri: this:EnergyArea.PostcodeAreas
        multivalued: true
        range: PostcodeArea
        required: false
      congestion_url:
        description: URL for additional (congestion) information for this EnergyArea. Only use this attribute if only one URL is required. Otherwise, add more congestion information using this:EnergyArea.CongestionInfo.
        range: string
        slot_uri: this:EnergyArea.congestionURL
        required: false
        multivalued: false
      congestion_info:
        description: Additional (congestion) information for this EnergyArea. Use this to add multiple documentation and/or descriptions.
        range: CongestionInfo
        slot_uri: this:EnergyArea.CongestionInfo
        required: false
        multivalued: true
    class_uri: cim:EnergyArea
  CongestionInfo:
    description: Additional information about congestion for the EnergyArea. Allows free-format text and a link to additional information, such as a congestion report.
    attributes:
      description:
        description: Additional (free-format) information associated with the congestion info.
        slot_uri: cim:IdentifiedObject.description
        range: string
        required: false
        multivalued: false
      congestion_url:
        description: URL for additional (congestion) information for this EnergyArea.
        slot_uri: this:CongestionInfo.congestionURL
        range: string
        required: false
        multivalued: false
    class_uri: this:CongestionInfo
  AreaCapacity:
    description: Capacity information for a specific EnergyArea.
    is_a: IdentifiedObject
    attributes:
      capacity_interval:
        description: Capacity information date and time interval. Allows providing multiple points in time to provide capacity information.
        slot_uri: this:AreaCapacity.capacity_interval
        range: DateTimeInterval
        required: true
        multivalued: false
      demand_requests_in_queue:
        description: Number of demand requests for new grid connections and capacity increases in queue. This is the "Aantal unieke transportverzoeken in een wachtrij - afname" in the previous implementation.
        slot_uri: this:EnergyArea.demandRequestsInQueue
        range: integer
        required: false
        multivalued: false
        minimum_value: 0
      demand_capacity_in_queue:
        description: The contract value of demand requests not yet granted. This is the "Wachtrij in capaciteit - afname" in the previous implementation, or "Nodig voor aanvragen in de huidige wachtrij".
        slot_uri: this:EnergyArea.demandCapacityInQueue
        range: MegaW
        required: false
        multivalued: false
        minimum_value: 0
      demand_quoted_capacity:
        description: Sum of all demand (in MW) currently quoted at the EnergyArea. This is the "Benodigde transportcapaciteit (in MW) afname" in the previous implementation, or "Nodig voor bestaande overeenkomsten en maatschappelijke reserve".
        slot_uri: this:EnergyArea.demandQuotedCapacity
        range: MegaW
        required: false
        multivalued: false
        minimum_value: 0
      demand_available_capacity:
        description: The available demand capacity (in MW) at the EnergyArea. The value should reflect the capacity a network operator would make available to a connecting party. This is the "Aanwezige transportcapaciteit (in MW) afname huidige jaar" in the previous implementation, or "Aanwezige transportcapaciteit".
        slot_uri: this:EnergyArea.demandAvailableCapacity
        range: MegaW
        required: false
        multivalued: false
        minimum_value: 0
        exact_mappings:
          - nbnl:2whwi
      demand_forecast_capacity:
        description: Sum of all demand (in MW) forecast for the current year at the EnergyArea, or "Nodig voor nog niet aangevraagde capaciteit, waarmee wel rekening wordt gehouden door de netbeheerder".
        slot_uri: this:EnergyArea.demandForecastCapacity
        range: MegaW
        required: false
        multivalued: false
        minimum_value: 0
      demand_tso_limit:
        description: TSO EnergyArea limit for demand (in MW).
        slot_uri: this:EnergyArea.demandTSOLimit
        range: MegaW
        required: false
        multivalued: false
        minimum_value: 0
      demand_constraint:
        description: A RAG definition of the demand constraints at the EnergyArea. A utility should provide details on how this RAG status is calculated as part of the accompanying documentation. Only specify this attribute if no PostcodeArea-s are provided.
        slot_uri: this:EnergyArea.demandConstraint
        range: RAGKind
        required: false
        multivalued: false
      generation_requests_in_queue:
        description: Number of generation requests for new grid connections and capacity increases in queue. This is the "Aantal unieke transportverzoeken in een wachtrij - invoeding" in the previous implementation.
        slot_uri: this:EnergyArea.generationRequestsInQueue
        range: integer
        required: false
        multivalued: false
        minimum_value: 0
      generation_capacity_in_queue:
        description: The contract value of generation requests not yet granted. This is the "Wachtrij in capaciteit - invoeding" in the previous implementation, or "Nodig voor aanvragen in de wachtrij".
        slot_uri: this:EnergyArea.generationCapacityInQueue
        range: MegaW
        required: false
        multivalued: false
        minimum_value: 0
      generation_quoted_capacity:
        description: Sum of all currently quoted generation (in MW) at the EnergyArea.  This is the "Benodigde transportcapaciteit (in MW) invoeding" in the previous implementation, or "Nodig voor bestaande overeenkomsten en maatschappelijke reserve".
        slot_uri: this:EnergyArea.generationQuotedCapacity
        range: MegaW
        required: false
        multivalued: false
        minimum_value: 0
      generation_available_capacity:
        description: Available generation capacity (in MW) at the EnergyArea. This is the "Aanwezige transportcapaciteit (in MW) invoeding huidige jaar" in the previous implementation, or "Aanwezige transportcapaciteit".
        slot_uri: this:EnergyArea.generationAvailableCapacity
        range: MegaW
        required: false
        multivalued: false
        minimum_value: 0
        exact_mappings:
          - nbnl:2whwi
      generation_forecast_capacity:
        description: Sum of all forecast generation (in MW) for the current year at the EnergyArea, or "Nodig voor nog niet aangevraagde capaciteit, waarmee wel rekening wordt gehouden door netbeheerder".
        slot_uri: this:EnergyArea.generationForecastCapacity
        range: MegaW
        required: false
        multivalued: false
        minimum_value: 0
      generation_tso_limit:
        description: TSO EnergyArea limit for generation (in MW).
        slot_uri: this:EnergyArea.generationTSOLimit
        range: MegaW
        required: false
        multivalued: false
        minimum_value: 0
      generation_constraint:
        description: A RAG definition of the generation constraints at the EnergyArea. A utility should provide details on how this RAG status is calculated as part of the accompanying documentation. Only specify this attribute if no PostcodeArea-s are provided.
        slot_uri: this:EnergyArea.generationConstraint
        range: RAGKind
        required: false
        multivalued: false
    class_uri: this:AreaCapacity
  PostcodeArea:
    description: A geographic region that is defined by the initial letters or digits of a postcode.
    is_a: IdentifiedObject
    attributes:
      postcode:
        description: Identifier for the postcode area. Contain four (4) numbers, followed by two (2) letters, uppercase. No spaces between the numbers and letters, i.e. "1234AB".
        slot_uri: this:PostcodeArea.postcode
        required: true
        multivalued: false
      substation_short_code:
        description: TenneT substation ("Onderstation") which feeds this PostcodeArea. Use the "ck.EnergyArea.short_code" from the TenneT dataset to relate the PostcodeArea.
        slot_uri: this:PostcodeArea.substationShortCode
        required: false
        multivalued: false
      demand_constraint:
        description: A RAG definition of the demand constraints at the EnergyArea. A utility should provide details on how this RAG status is calculated as part of the accompanying documentation. This is the "Kleurcodering van het postcodegebied voor afname" in the previous implementation.
        slot_uri: this:PostcodeArea.demandConstraint
        range: RAGKind
        required: true
        multivalued: false
      generation_constraint:
        description: A RAG definition of the generation constraints at the EnergyArea. A utility should provide details on how this RAG status is calculated as part of the accompanying documentation. This is the "Kleurcodering van het postcodegebied voor opwek" in the previous implementation.
        slot_uri: this:PostcodeArea.generationConstraint
        range: RAGKind
        required: true
        multivalued: false
    class_uri: this:PostcodeArea
  Work:
    description: Document used to request, initiate, track and record work. Use the "description" attribute to add additional information about this "Work". This is "Toelichting bijzonderheden rondom planning" in the previous implementation.
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61968.Work
    is_a: BaseWork
    attributes:
      project_name:
        description: Name of the project this work belongs to. This is the "Projectnaam" in the previous implementation.
        slot_uri: this:Work.projectName
        range: string
        required: true
        multivalued: false
      project_url:
        description: URL to the project web page or portal where the project information can be found.
        range: string
        slot_uri: this:Work.projectURL
        required: false
        multivalued: false
      source:
        description: Source of the project information. Usually an investment plan or scheduled work.
        range: string
        slot_uri: this:Work.source
        required: false
        multivalued: false
    class_uri: cim:Work
  BaseWork:
    description: Common representation for work and work tasks.
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61968.Work
    is_a: Document
    attributes:
      status_kind:
        description: Kind of work status.
        slot_uri: cim:BaseWork.statusKind
        range: WorkStatusKind
        required: false
        multivalued: false
      time_schedules:
        description: All time schedules for this work or work task.
        slot_uri: cim:BaseWork.TimeSchedules
        multivalued: true
        range: WorkTimeSchedule
        required: true
    class_uri: cim:BaseWork
  WorkTimeSchedule:
    description: Time schedule specific to work.
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61968.Work
    is_a: TimeSchedule
    class_uri: cim:WorkTimeSchedule
  Document:
    description: Parent class for different groupings of information collected and managed as a part of a business process. It will frequently contain references to other objects, such as assets, people and power system resources.
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61968.Common
    is_a: IdentifiedObject
    attributes:
      type:
        description: Utility-specific classification of this document, according to its corporate standards, practices, and existing IT systems (e.g., for management of assets, maintenance, work, outage, customers, etc.).
        slot_uri: cim:Document.type
        range: string
        required: false
        multivalued: false
    class_uri: cim:Document
  TimeSchedule:
    description: Description of anything that changes through time. Time schedule is used to perform a single-valued function of time. Use inherited 'type' attribute to give additional information on this schedule, such as periodic (hourly, daily, weekly, monthly, etc.), day of the month, by date, calendar (specific times and dates).
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61968.Common
    is_a: Document
    attributes:
      schedule_interval:
        description: Schedule date and time interval.
        slot_uri: cim:TimeSchedule.scheduleInterval
        range: DateTimeInterval
        required: true
        multivalued: false
    class_uri: cim:TimeSchedule
  DateTimeInterval:
    description: Interval between two date and time points, where the interval includes the start time but excludes end time.
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61970.Base.Domain
    attributes:
      end:
        description: End date and time of this interval. The end date and time where the interval is defined up to, but excluded. Follows the international date format of YYYY-MM-DD, i.e. 2024-12-31. When only a specific month is known, use "01" as day.
        slot_uri: cim:DateTimeInterval.end
        range: date
        required: false
        multivalued: false
      start:
        description: Start date and time of this interval. The start date and time is included in the defined interval. Follows the international date format of YYYY-MM-DD, i.e. 2024-12-31. When only a specific month is known, use "01" as day.
        slot_uri: cim:DateTimeInterval.start
        range: date
        required: false
        multivalued: false
      quarter:
        description: Quarter indicator for when this Work is completed. Use in combination with this:DateTimeInterval.year.
        slot_uri: this:DateTimeInterval.quarter
        range: integer
        minimum_value: 1
        maximum_value: 4
        required: false
        multivalued: false
      year:
        description: Year indicator for when this Work is completed. Use in combination with this:DateTimeInterval.quarter.
        slot_uri: this:DateTimeInterval.year
        range: integer
        required: false
        multivalued: false
    class_uri: cim:DateTimeInterval
  UpdateInfo:
    description: Specific type of information that was updated for this dataset.
    attributes:
      date:
        description: Date of the update.
        slot_uri: cim:UpdateInfo.date
        range: date
        required: true
        multivalued: false
      type:
        description: Type of the update.
        slot_uri: this:UpdateInfo.type
        range: UpdateInfoKind
        required: true
        multivalued: false
    class_uri: this:UpdateInfo
  IdentifiedObject:
    description: This is a root class to provide common identification for all classes needing identification and naming attributes.
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61970.Base.Core
    attributes:
      description:
        description: The description is a free human readable text describing or naming the object. It may be non unique and may not correlate to a naming hierarchy. This is the "Herkenbare naam voedingsgebied" in the previous implementation.
        slot_uri: cim:IdentifiedObject.description
        range: string
      m_rid:
        description: Master resource identifier issued by a model authority. The mRID is unique within an exchange context. Global uniqueness is easily achieved by using a UUID, as specified in RFC 4122, for the mRID. The use of UUID is strongly recommended. For CIMXML data files in RDF syntax conforming to IEC 61970-552, the mRID is mapped to rdf:ID or rdf:about attributes that identify CIM object elements.
        slot_uri: cim:IdentifiedObject.mRID
        range: string
        required: false
        multivalued: false
      names:
        description: All names of this identified object.
        slot_uri: cim:IdentifiedObject.Names
        required: false
        multivalued: true
        range: Name
    class_uri: cim:IdentifiedObject
  Name:
    description: The Name class provides the means to define any number of human readable names for an object. A name is <b>not</b> to be used for defining inter-object relationships. For inter-object relationships instead use the object identification 'mRID'
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61970.Base.Core
    attributes:
      name:
        slot_uri: cim:Name.name
        range: string
        required: false
        multivalued: false
        description: "Any free text that name the object.\r\n"
      name_type:
        description: Type of this name.
        slot_uri: cim:Name.NameType
        range: NameType
        required: true
        multivalued: false
    class_uri: cim:Name
  NameType:
    description: Type of name. Possible values for attribute 'name' are implementation dependent but standard profiles may specify types. An enterprise may have multiple IT systems each having its own local name for the same object, e.g.  a planning system may have different names from an EMS. An object may also have different names within the same IT system, e.g. localName as defined in CIM version 14. The definition from CIM14 is The localName is a human readable name of the object. It is a free text name local to a node in a naming hierarchy similar to a file directory structure. A power system related naming hierarchy may be Substation, VoltageLevel, Equipment etc. Children of the same parent in such a hierarchy have names that typically are unique among them.
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61970.Base.Core
    attributes:
      description:
        description: Description of the name type.
        slot_uri: cim:NameType.description
        range: string
        required: false
        multivalued: false
      name_type_authority:
        description: Authority responsible for managing names of this type.
        slot_uri: cim:NameType.NameTypeAuthority
        range: NameTypeAuthority
        required: false
        multivalued: false
    class_uri: cim:NameType
  NameTypeAuthority:
    description: Authority responsible for creation and management of names of a given type; typically an organization or an enterprise system.
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61970.Base.Core
    attributes:
      description:
        description: Description of the name type authority.
        slot_uri: cim:NameTypeAuthority.description
        range: string
        required: false
        multivalued: false
    class_uri: cim:NameTypeAuthority
version: draft
generation_date: "2026-04-10"
