> For the complete documentation index, see [llms.txt](https://india-energy-stack.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://india-energy-stack.gitbook.io/docs/schemas/outagenotification.md).

# OutageNotification (WIP)

*A machine-readable payload a distribution licensee publishes to describe one planned or unplanned electricity outage — usable both as a public outage-map feed and as a push alert to affected consumers.*

> ⚠️ **Work in progress — subject to change.** Field names, enums and interpretation are not final. Do not depend on it for production integrations yet.

|                    |                                                                                                                                                                                                            |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Canonical base** | `https://india-energy-stack.github.io/ies-accelerator/schemas/OutageNotification`                                                                                                                          |
| **Latest version** | **v0.1**                                                                                                                                                                                                   |
| **Status**         | Work in progress (current: **v0.1**) · **Issued by** DISCOMs (or their OMS / MDMS / SCADA / RTDAS) · **Consumed by** outage-map feeds, subscribed consumers, mass-alerting networks, reliability reporting |
| **Category**       | Data Exchange payloads                                                                                                                                                                                     |
| **Used in**        | — no IES use-case guide yet                                                                                                                                                                                |

What this schema is for, in plain language — standards basis, design rationale, open points: [OutageNotification (Schemas Overview)](/docs/schemas-overview/schemas-overview/outage-notification.md).

## Developer resources — v0.1 (current)

| Resource                 | URL                                                                                                                                                                                                                            | Notes                                                        |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------ |
| Field reference (README) | <https://india-energy-stack.github.io/ies-accelerator/schemas/OutageNotification/v0.1/README.md>                                                                                                                               | human-readable field reference for this version              |
| `attributes.yaml`        | <https://india-energy-stack.github.io/ies-accelerator/schemas/OutageNotification/v0.1/attributes.yaml>                                                                                                                         | OpenAPI 3.1 source of truth                                  |
| `schema.json`            | <https://india-energy-stack.github.io/ies-accelerator/schemas/OutageNotification/v0.1/schema.json>                                                                                                                             | compiled JSON Schema (Draft 2020-12) — validate against this |
| `context.jsonld`         | <https://india-energy-stack.github.io/ies-accelerator/schemas/OutageNotification/v0.1/context.jsonld>                                                                                                                          | JSON-LD context for semantic resolution                      |
| `vocab.jsonld`           | <https://india-energy-stack.github.io/ies-accelerator/schemas/OutageNotification/v0.1/vocab.jsonld>                                                                                                                            | RDF vocabulary with standards alignments                     |
| `examples/`              | [https://github.com/India-Energy-Stack/ies-accelerator/tree/main/schemas/OutageNotification/v0.1/examples](https://github.com/India-Energy-Stack/ies-accelerator/tree/main/schemas/OutageNotification/v0.1/examples/README.md) | worked payloads                                              |

## Field reference — v0.1 (current)

*A field name in **bold** with a trailing **\*** is required; all others are optional. **Type** shows units for QuantitativeValue models. Descriptions are simplified to the plain meaning of each field — the per-version pages (see **Versions** below) carry the full text, standards basis and notes.*

**OutageNotification Payload**

| Field                   | Type                                                                                   | Description                                                                                               |
| ----------------------- | -------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| **`objectType`** \*     | `OUTAGE_NOTIFICATION`                                                                  | —                                                                                                         |
| **`id`** \*             | Identifier                                                                             | Stable notice identity; reused across UPDATE/CANCEL messages.                                             |
| **`outageClass`** \*    | `PLANNED` / `BREAKDOWN` / `SCHEDULED_ROSTERING` / `EMERGENCY_ROSTERING`                | Outage class, from the DISCOM OMS "Down Info" set (local, additive enum).                                 |
| **`status`** \*         | `SCHEDULED` / `ACTIVE` / `PARTIALLY_RESTORED` / `RESTORED` / `CANCELLED`               | Outage lifecycle state.                                                                                   |
| `msgType`               | `ALERT` / `UPDATE` / `CANCEL`                                                          | Message type; UPDATE/CANCEL refer to a prior notice via `references`.                                     |
| `references`            | list of Identifier                                                                     | Prior notice ids this message updates or cancels (CAP `references`).                                      |
| `severity`              | `EXTREME` / `SEVERE` / `MODERATE` / `MINOR` / `UNKNOWN`                                | Severity of the outage.                                                                                   |
| `category`              | `MAINTENANCE` / `UPGRADE` / `FAULT` / `LOAD_SHEDDING` / `WEATHER` / `SAFETY` / `OTHER` | Coarse descriptor for display/filtering (local enum; not CAP `info/category`).                            |
| `cause`                 | OutageCause                                                                            | —                                                                                                         |
| `forceMajeure`          | yes / no                                                                               | OMS "Force Majeure" flag.                                                                                 |
| `issuedBy`              | Party                                                                                  | —                                                                                                         |
| `issuedAt`              | date-time                                                                              | —                                                                                                         |
| `detectedAt`            | date-time                                                                              | When MDMS/SCADA first detected the outage (unplanned).                                                    |
| `lastUpdatedAt`         | date-time                                                                              | —                                                                                                         |
| `network`               | OutageNetworkContext                                                                   | —                                                                                                         |
| **`affectedAssets`** \* | list of OutageAsset                                                                    | —                                                                                                         |
| `affectedArea`          | OutageAffectedArea                                                                     | —                                                                                                         |
| `impact`                | OutageImpact                                                                           | —                                                                                                         |
| **`timing`** \*         | OutageTiming                                                                           | —                                                                                                         |
| `response`              | OutageResponse                                                                         | —                                                                                                         |
| `publicInfo`            | OutagePublicInfo                                                                       | —                                                                                                         |
| `provenance`            | OutageProvenance                                                                       | —                                                                                                         |
| `extensions`            | object                                                                                 | Namespaced DISCOM-specific fields, e.g. { "discom": { "breakdownId": "6357257", "downType": "FEEDER" } }. |

**OutageCause**

| Field           | Type                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | Description                                                                                                                                                                                |
| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `category`      | `EQUIPMENT` / `LIGHTNING` / `PLANNED` / `POWER_SUPPLY` / `PUBLIC` / `VEGETATION` / `WEATHER` / `WILDLIFE` / `UNKNOWN` / `OTHER`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | Standardized interruption cause category, for reliability benchmarking.                                                                                                                    |
| `subcategory`   | `DEGRADATION` / `EQUIPMENT_ERROR` / `ENVIRONMENTAL` / `DIRECT_STRIKE` / `INDIRECT_STRIKE` / `NEW_CONSTRUCTION` / `MAINTENANCE` / `CUSTOMER_REQUEST` / `OTHER_UTILITY_REQUEST` / `GENERATION` / `TRANSMISSION` / `SUBTRANSMISSION` / `DISTRIBUTION` / `DISTRIBUTED_GENERATION_STORAGE` / `OTHER_UTILITY_SUPPLY` / `DIG_IN` / `FOREIGN_CONTACT` / `FIRE_POLICE` / `VEHICLE` / `WITHIN_CLEARANCE_ZONE` / `OUTSIDE_CLEARANCE_ZONE` / `PRECIPITATION` / `ICE` / `WIND` / `EXTREME_TEMPERATURE` / `MAMMAL` / `BIRD` / `REPTILE_AMPHIBIAN` / `NO_SPECIFIC_CAUSE_FOUND` / `UTILITY_ERROR` / `OTHER_UTILITY_INITIATED` / `OTHER` | Standardized cause subcategory; must be valid for the chosen `category` (see $comment for the mapping).                                                                                    |
| `faultType`     | text                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | Vendor asset/voltage level of the fault, e.g. 33KV, 11KV, DT, LT.                                                                                                                          |
| `code`          | text                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | Vendor/OMS fault-reason code, carried verbatim (e.g. a DISCOM FAULT\_REASON) — not standardized; map to `category`/`subcategory` for interoperability (see fault\_reason\_crosswalk.json). |
| `codeNamespace` | text                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | Authority/vendor that defines `code` (e.g. the OMS vendor or DISCOM).                                                                                                                      |
| `text`          | text                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | Free-text reason; may be localized (e.g. Hindi).                                                                                                                                           |

**OutageAsset**

| Field               | Type                                                                 | Description                                                                                                 |
| ------------------- | -------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| **`id`** \*         | Identifier                                                           | Asset id/name; ideally a stable GIS feature id or MRID for map join.                                        |
| **`assetLevel`** \* | `SUBSTATION` / `FEEDER` / `DT` / `LINE_SEGMENT` / `SERVICE_POINT`    | Network level of the affected asset (local enum; aligns with CIM Equipment/UsagePoint).                     |
| `voltageLevel`      | text                                                                 | e.g. 33kV, 11kV, LT, DT.                                                                                    |
| `consumerCategory`  | `URBAN` / `RURAL` / `AGRICULTURE` / `INDUSTRIAL` / `MIXED` / `OTHER` | Consumer mix on the asset (local enum; DISCOM "Feeder Type").                                               |
| `meterRef`          | Identifier                                                           | Feeder/substation smart-meter number — join key to MDMS/MeterData.                                          |
| `parentRef`         | Identifier                                                           | Parent asset (e.g. a feeder's substation, a DT's feeder).                                                   |
| `geo`               | GeoJSONGeometry                                                      | Optional inline geometry (WGS84): Point (substation/DT), LineString (feeder route), Polygon (service area). |

**OutageNetworkContext**

| Field         | Type       | Description |
| ------------- | ---------- | ----------- |
| `discom`      | Identifier | —           |
| `zone`        | text       | —           |
| `circle`      | text       | —           |
| `division`    | text       | —           |
| `subdivision` | text       | —           |
| `substation`  | Identifier | —           |
| `district`    | text       | —           |

**OutageAffectedArea**

| Field        | Type            | Description                                                         |
| ------------ | --------------- | ------------------------------------------------------------------- |
| `text`       | text            | Free-text localities (CAP areaDesc), e.g. "SEC-14, 9, 11 Rajnagar". |
| `adminAreas` | list of text    | Named localities / wards / villages.                                |
| `geo`        | GeoJSONGeometry | Polygon/MultiPolygon service area, or Point/circle (CAP).           |

**OutageImpact**

| Field               | Type               | Description                                        |
| ------------------- | ------------------ | -------------------------------------------------- |
| `customersAffected` | integer            | —                                                  |
| `deEnergized`       | list of Identifier | Optional SDP/UsagePoint refs (authenticated tier). |
| `energized`         | list of Identifier | Optional points confirmed still energized.         |

**OutageTiming**

| Field                  | Type       | Description                                        |
| ---------------------- | ---------- | -------------------------------------------------- |
| **`period`** \*        | TimePeriod | Outage window (Down From + duration).              |
| `estimatedRestoration` | date-time  | ETR (OMS "Estimated Time").                        |
| `actualRestoration`    | date-time  | Set when status=RESTORED; feeds IEEE 1366 indices. |
| `slaTargetMinutes`     | integer    | SLA target, e.g. 240 (4 hrs).                      |

**OutageResponse**

| Field            | Type     | Description                                                     |
| ---------------- | -------- | --------------------------------------------------------------- |
| `backFeedGiven`  | yes / no | Partial restoration via alternate feed (OMS "Back-Feed given"). |
| `resourceStatus` | text     | e.g. PENDING, RESOURCE\_ALLOCATED, IN\_PROGRESS.                |
| `complaintCount` | integer  | Linked consumer complaints (OMS "No. of Complaints").           |

**OutagePublicInfo**

| Field         | Type | Description                  |
| ------------- | ---- | ---------------------------- |
| `language`    | text | BCP-47, e.g. en, hi.         |
| `headline`    | text | —                            |
| `description` | text | —                            |
| `instruction` | text | What the consumer should do. |

**OutageProvenance**

| Field          | Type                                                  | Description                                                                                         |
| -------------- | ----------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| `source`       | `MDMS` / `OMS` / `SCADA` / `RTDAS` / `AMI` / `MANUAL` | System that raised this notice (local enum; RTDAS = Real-Time Data Acquisition System).             |
| `amispCode`    | text                                                  | AMI Service Provider that supplied the detection signal (feeder-status ingest API).                 |
| `detectionRef` | Identifier                                            | Reference to the real-time detection record that raised the outage (e.g. a DISCOM RTDAS\_DATA\_ID). |
| `signal`       | OutageSignal                                          | —                                                                                                   |
| `alarmRefs`    | list of OutageAlarmRef                                | References into MeterData AlarmProfile records.                                                     |

**OutageSignal**

| Field          | Type                                     | Description                                                                        |
| -------------- | ---------------------------------------- | ---------------------------------------------------------------------------------- |
| `eventId`      | text                                     | Idempotency key of the originating feeder-status event.                            |
| `feederStatus` | `ENERGIZED` / `DE_ENERGIZED` / `UNKNOWN` | Normalized feeder status (local enum); raw vendor code in `rawCode`.               |
| `diPort`       | text                                     | Digital-input port on the substation meter that carried the signal.                |
| `rawCode`      | text                                     | Vendor-native status code as received (e.g. FEEDER\_STATUS=102), for traceability. |

**OutageAlarmRef**

| Field             | Type       | Description |
| ----------------- | ---------- | ----------- |
| **`meterRef`** \* | Identifier | —           |
| `alarmId`         | integer    | —           |
| `timestamp`       | date-time  | —           |

**Party**

| Field     | Type       | Description                              |
| --------- | ---------- | ---------------------------------------- |
| `id`      | Identifier | —                                        |
| `name`    | text       | —                                        |
| `contact` | text       | Phone/email/URL for queries (e.g. 1912). |

**Identifier**

| Field           | Type                                                                                                                                                 | Description                           |
| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------- |
| **`scheme`** \* | `METER_SERIAL` / `MRID` / `GIS_FEATURE_ID` / `SERVICE_DELIVERY_POINT` / `FEEDER` / `SUBSTATION` / `DT` / `CONSUMER_NUMBER` / `ORG` / `DID` / `OTHER` | Identifier scheme (mixed provenance). |
| **`value`** \*  | text                                                                                                                                                 | —                                     |
| `namespace`     | text                                                                                                                                                 | —                                     |

**TimePeriod**

| Field             | Type      | Description          |
| ----------------- | --------- | -------------------- |
| **`start`** \*    | date-time | —                    |
| **`duration`** \* | duration  | ISO-8601, e.g. PT2H. |

## Versions

Every published version stays reachable at its canonical URL — clients pin a version explicitly. Click a version for its full field reference.

| Version                                          | Status          | Notes                                                                                      | Files                                                                                                                                                                                                                                                                                                                                                                      |
| ------------------------------------------------ | --------------- | ------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [v0.1](/docs/schemas/outagenotification/v0.1.md) | **Draft (WIP)** | Initial model: OutageNotification + sub-models; provenance links to MeterData AlarmProfile | [schema.json](https://india-energy-stack.github.io/ies-accelerator/schemas/OutageNotification/v0.1/schema.json) · [attributes.yaml](https://india-energy-stack.github.io/ies-accelerator/schemas/OutageNotification/v0.1/attributes.yaml) · [examples](https://github.com/India-Energy-Stack/ies-accelerator/tree/main/schemas/OutageNotification/v0.1/examples/README.md) |
