Skip to content
Updated Sep 26, 2026 by Barča Dvořáková · Owner: analysisactiveentityconfluence-migration Edit on GitHub

Entity: clientEnms ​

Entity Definition ​

  • Entity Name: clientEnms
  • Entity Type: Database table (1:1 with client)
  • Description: Stores the ISO 50001 Energy Management System configuration for a client. One record per client; created automatically when the iso50001 module is enabled via PATCH /v1/clients/:id — the system atomically creates a clientEnms record with isCertified = false and all optional fields null. Holds certification data, free-text policy description and SEU method configuration. EnPI definitions are stored in the separate clientEnpi entity. Targets are stored in clientEnmsTarget.

Data Attributes Table ​

Attribute NameDescriptionData TypeDefault ValueRequired (= Nullable)UniqueFormatValidationsIndexExample
idPrimary keyUUIDGenerated in code (app layer)YesYesUUID v7-Primary Key018ed0b3-c298-7c7a-96d5-8b36f5a7f8d2
tenantIdTenant this record belongs to.UUID-YesNoUUID v7FK → tenant; must existname: idx_client_enms_tenantId, type: btree018fa51f-fda1-79f4-8461-2cb8f1cabc10
clientIdClient this EnMS record belongs to (1:1)UUID-YesYesUUID v7FK → client; must exist; unique — see clientname: idx_client_enms_clientId, type: btree (unique)018fa51f-fda1-79f4-8461-2cb8f1cabc10
isCertifiedWhether the client holds an active ISO 50001 certificationBooleanfalseYesNo---true
certificationDateDate of initial ISO 50001 certification. Required when isCertified = true.Date-NoNoISO 8601 — YYYY-MM-DDNullable-2022-03-15
lastRecertificationDateDate of most recent re-certificationDate-NoNoISO 8601 — YYYY-MM-DDNullable-2025-03-10
certificateValidToDate until which the current certificate is validDate-NoNoISO 8601 — YYYY-MM-DDNullable-2028-03-10
certifyingBodyName of the certification bodyString-NoNo-Nullable-Bureau Veritas
policyDescriptionFree-text description of the EnMS policy and organisational targetsText-NoNo-Nullable-Reduce energy consumption by 20% by 2030.
seuMethodMethod used to determine which buildings qualify as Significant Energy UseEnum-NoNoSee Enum - SeuMethodNullable; must be a valid SeuMethod value if set-topN
seuMethodParameterNumeric parameter for the SEU method (e.g. N for topN, percentage threshold for percentageThreshold or coverageTarget)Float-NoNo-Nullable; required when seuMethod is set; positive number-5
seuMethodDescriptionFree-text description of the SEU determination methodologyText-NoNo-Nullable-Top 5 buildings by electricity consumption.
createdAtTimestamp of when the record was created. Immutable after insert.Timestamp with time zonenow() — set in codeYesNoISO 8601 — YYYY-MM-DDTHH:mm:ss.SSSZCannot be null; cannot be modified after creation-2025-03-16T18:00:00Z
updatedAtTimestamp of the last update.Timestamp with time zonenow() — set in codeYesNoISO 8601 — YYYY-MM-DDTHH:mm:ss.SSSZCannot be null-2025-03-16T18:00:00Z
deletedAtTimestamp of soft deletion. Null means active. Once set, immutable.Timestamp with time zone-NoNoISO 8601 — YYYY-MM-DDTHH:mm:ss.SSSZImmutable once set. Active records: WHERE deletedAt IS NULL-2025-06-01T09:00:00Z
createdByIdentifier of the actor who created the recordString-YesNotype:actorNon-empty-user:018ed0b3-c298-7c7a-96d5-8b36f5a7f8d2
updatedByIdentifier of the actor who last updated the recordString-YesNotype:actorNon-empty-user:018ed0b3-c298-7c7a-96d5-8b36f5a7f8d2

Translation note: the policyDescription and seuMethodDescription example values were originally in Czech ("Snížit spotřebu energie o 20 % do 2030." and "TOP 5 objektů podle spotřeby elektřiny.") — translated above to English for consistency with this repo's DAT convention. Please double-check the translation reads naturally; these are illustrative example values, not authoritative product copy.

Audited fields ​

Recorded on created (in full), updated (changed only) and deleted (in full): clientId, isCertified, certificationDate, lastRecertificationDate, certificateValidTo, certifyingBody, policyDescription, seuMethod, seuMethodParameter, seuMethodDescription.

Excluded: none.

Every entry would carry subjectEntityType = client / subjectEntityId = clientId — clientEnms is a 1:1 satellite of client, not independently owned.

Not registered for entityName resolution — one row per client (clientId unique); described via the client it belongs to, not a name of its own.