> 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/meterdata.md).

# MeterData

*A lightweight, high-throughput telemetry payload for exchanging smart-meter readings, events and alarms — cheap to parse and store at Head-End-System scale, without cryptographic wrapping.*

|                    |                                                                                                                                                                                         |
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Canonical base** | `https://india-energy-stack.github.io/ies-accelerator/schemas/MeterData`                                                                                                                |
| **Latest version** | **v0.6**                                                                                                                                                                                |
| **Status**         | Stable — In Pilot (current: **v0.6**) · **Issued by** AMISPs, HES/MDM systems, DISCOMs · **Consumed by** DISCOMs, regulators, TSPs and consented third parties                          |
| **Category**       | Data Exchange payloads                                                                                                                                                                  |
| **Used in**        | [Smart Meter Data Exchange](/docs/use-case-implementation-guides/smart-meter-data-exchange.md) · [Consumer Meter Digest](/docs/use-case-implementation-guides/consumer-meter-digest.md) |

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

## Developer resources — v0.6 (current)

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

## Field reference — v0.6 (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.*

**CustomerProfile**

| Field                          | Type                         | Description                        |
| ------------------------------ | ---------------------------- | ---------------------------------- |
| **`profileType`** \*           | text                         | —                                  |
| `customerRefs`                 | IdentifierList               | —                                  |
| `timeZone`                     | text                         | IANA time-zone, e.g. Asia/Kolkata. |
| `customerDetails`              | CustomerDetails              | —                                  |
| **`customer`** \*              | Customer                     | —                                  |
| **`serviceDeliveryPoints`** \* | list of ServiceDeliveryPoint | —                                  |
| **`meters`** \*                | list of Meter                | —                                  |
| **`associations`** \*          | list of Association          | —                                  |

**BaseProfile**

| Field                      | Type           | Description                                                                                   |
| -------------------------- | -------------- | --------------------------------------------------------------------------------------------- |
| **`profileType`** \*       | text           | —                                                                                             |
| `customerRefs`             | IdentifierList | —                                                                                             |
| **`meterRefs`** \*         | IdentifierList | —                                                                                             |
| `serviceDeliveryPointRefs` | IdentifierList | —                                                                                             |
| `payloadDescriptorSetRef`  | text           | Reference ID matching a previously exchanged PayloadDescriptorProfile's payloadDescriptorSet. |

**IntervalProfile**

| Field                      | Type             | Description                                                                                   |
| -------------------------- | ---------------- | --------------------------------------------------------------------------------------------- |
| **`profileType`** \*       | text             | —                                                                                             |
| `customerRefs`             | IdentifierList   | —                                                                                             |
| **`meterRefs`** \*         | IdentifierList   | —                                                                                             |
| `serviceDeliveryPointRefs` | IdentifierList   | —                                                                                             |
| `payloadDescriptorSetRef`  | text             | Reference ID matching a previously exchanged PayloadDescriptorProfile's payloadDescriptorSet. |
| `compactSequenceRef`       | text             | Name of the compact sequence to use from the payloadDescriptorSets.                           |
| **`intervalPeriod`** \*    | IntervalPeriod   | —                                                                                             |
| `intervals`                | list of Interval | —                                                                                             |
| `readings`                 | list of Reading  | —                                                                                             |

**DailyProfile**

| Field                      | Type             | Description                                                                                   |
| -------------------------- | ---------------- | --------------------------------------------------------------------------------------------- |
| **`profileType`** \*       | text             | —                                                                                             |
| `customerRefs`             | IdentifierList   | —                                                                                             |
| **`meterRefs`** \*         | IdentifierList   | —                                                                                             |
| `serviceDeliveryPointRefs` | IdentifierList   | —                                                                                             |
| `payloadDescriptorSetRef`  | text             | Reference ID matching a previously exchanged PayloadDescriptorProfile's payloadDescriptorSet. |
| `compactSequenceRef`       | text             | Name of the compact sequence to use from the payloadDescriptorSets.                           |
| **`intervalPeriod`** \*    | IntervalPeriod   | —                                                                                             |
| `intervals`                | list of Interval | —                                                                                             |
| `readings`                 | list of Reading  | —                                                                                             |

**MonthlyProfile**

| Field                      | Type              | Description                                                                                   |
| -------------------------- | ----------------- | --------------------------------------------------------------------------------------------- |
| **`profileType`** \*       | text              | —                                                                                             |
| `customerRefs`             | IdentifierList    | —                                                                                             |
| **`meterRefs`** \*         | IdentifierList    | —                                                                                             |
| `serviceDeliveryPointRefs` | IdentifierList    | —                                                                                             |
| `payloadDescriptorSetRef`  | text              | Reference ID matching a previously exchanged PayloadDescriptorProfile's payloadDescriptorSet. |
| **`timePeriod`** \*        | TimePeriod        | —                                                                                             |
| **`readings`** \*          | list of Reading   | —                                                                                             |
| `touBuckets`               | list of TouBucket | —                                                                                             |

**BillDetails**

| Field                      | Type              | Description                                                                                   |
| -------------------------- | ----------------- | --------------------------------------------------------------------------------------------- |
| **`profileType`** \*       | text              | —                                                                                             |
| `customerRefs`             | IdentifierList    | —                                                                                             |
| **`meterRefs`** \*         | IdentifierList    | —                                                                                             |
| `serviceDeliveryPointRefs` | IdentifierList    | —                                                                                             |
| `payloadDescriptorSetRef`  | text              | Reference ID matching a previously exchanged PayloadDescriptorProfile's payloadDescriptorSet. |
| **`timePeriod`** \*        | TimePeriod        | —                                                                                             |
| `readings`                 | list of Reading   | —                                                                                             |
| `touBuckets`               | list of TouBucket | —                                                                                             |
| `billNumber`               | text              | —                                                                                             |
| `billDate`                 | date              | —                                                                                             |
| `dueDate`                  | date              | —                                                                                             |
| `currency`                 | text              | ISO 4217 (INR, USD, ...).                                                                     |
| **`amountDue`** \*         | number            | —                                                                                             |
| `energyCharges`            | number            | Charges for active/reactive energy consumption.                                               |
| `fixedCharges`             | number            | Fixed charges/demand charges.                                                                 |
| `otherCharges`             | number            | Other taxes, duties, surcharges, or adjustments.                                              |
| `prepaidBalance`           | number            | Prepaid remaining balance/credit amount on the account/meter, if applicable.                  |
| `paymentStatus`            | text              | Status of the payment, e.g. PAID, UNPAID, PARTIAL.                                            |

**InstantaneousProfile**

| Field                      | Type            | Description                                                                                   |
| -------------------------- | --------------- | --------------------------------------------------------------------------------------------- |
| **`profileType`** \*       | text            | —                                                                                             |
| `customerRefs`             | IdentifierList  | —                                                                                             |
| **`meterRefs`** \*         | IdentifierList  | —                                                                                             |
| `serviceDeliveryPointRefs` | IdentifierList  | —                                                                                             |
| `payloadDescriptorSetRef`  | text            | Reference ID matching a previously exchanged PayloadDescriptorProfile's payloadDescriptorSet. |
| **`timestamp`** \*         | date-time       | —                                                                                             |
| **`readings`** \*          | list of Reading | —                                                                                             |

**AlarmProfile**

| Field                      | Type               | Description                                                                                   |
| -------------------------- | ------------------ | --------------------------------------------------------------------------------------------- |
| **`profileType`** \*       | text               | —                                                                                             |
| `customerRefs`             | IdentifierList     | —                                                                                             |
| **`meterRefs`** \*         | IdentifierList     | —                                                                                             |
| `serviceDeliveryPointRefs` | IdentifierList     | —                                                                                             |
| `payloadDescriptorSetRef`  | text               | Reference ID matching a previously exchanged PayloadDescriptorProfile's payloadDescriptorSet. |
| **`timestamp`** \*         | date-time          | —                                                                                             |
| **`alarms`** \*            | list of MeterAlarm | —                                                                                             |

**EventProfile**

| Field                      | Type               | Description                                                                                   |
| -------------------------- | ------------------ | --------------------------------------------------------------------------------------------- |
| **`profileType`** \*       | text               | —                                                                                             |
| `customerRefs`             | IdentifierList     | —                                                                                             |
| **`meterRefs`** \*         | IdentifierList     | —                                                                                             |
| `serviceDeliveryPointRefs` | IdentifierList     | —                                                                                             |
| `payloadDescriptorSetRef`  | text               | Reference ID matching a previously exchanged PayloadDescriptorProfile's payloadDescriptorSet. |
| **`timePeriod`** \*        | TimePeriod         | —                                                                                             |
| **`events`** \*            | list of MeterEvent | —                                                                                             |

**Identifier**

| Field           | Type                                                                                                                                     | Description |
| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| **`scheme`** \* | `METER_SERIAL` / `METER_BADGE` / `MRID` / `OBIS` / `SHORT_CODE` / `CONSUMER_NUMBER` / `SERVICE_DELIVERY_POINT` / `DID` / `ORG` / `OTHER` | —           |
| **`value`** \*  | text                                                                                                                                     | —           |
| `namespace`     | text                                                                                                                                     | —           |

**TimePeriod**

| Field             | Type      | Description |
| ----------------- | --------- | ----------- |
| **`start`** \*    | date-time | —           |
| **`duration`** \* | duration  | —           |

**ReadingDefinition**

| Field                   | Type                                                                                                | Description |
| ----------------------- | --------------------------------------------------------------------------------------------------- | ----------- |
| **`readingType`** \*    | text                                                                                                | —           |
| **`supportedModes`** \* | list of `READING` / `USAGE`                                                                         | —           |
| **`defaultMode`** \*    | `READING` / `USAGE`                                                                                 | —           |
| `name`                  | text                                                                                                | —           |
| `shortLabel`            | text                                                                                                | —           |
| `unit`                  | `kWh` / `kVAh` / `kvarh` / `kW` / `kvar` / `kVA` / `V` / `A` / `Hz` / `PF` / `NONE` / `INR` / `USD` | —           |
| `phase`                 | `NONE` / `R` / `Y` / `B` / `ABC`                                                                    | —           |
| `flowDirection`         | `IMPORT` / `EXPORT` / `NONE`                                                                        | —           |
| `accumulationBehaviour` | `CUMULATIVE` / `DELTA` / `INSTANTANEOUS` / `SUMMATION` / `INDICATING`                               | —           |
| `touZone`               | integer                                                                                             | —           |

**PayloadDescriptorSet**

| Field                       | Type                      | Description |
| --------------------------- | ------------------------- | ----------- |
| **`name`** \*               | text                      | —           |
| **`payloadDescriptors`** \* | list of PayloadDescriptor | —           |
| `compactSequences`          | list of CompactSequence   | —           |

**CompactSequence**

| Field                  | Type                 | Description |
| ---------------------- | -------------------- | ----------- |
| **`name`** \*          | text                 | —           |
| **`sequenceItems`** \* | list of SequenceItem | —           |

**SequenceItem**

| Field                | Type                                                                          | Description |
| -------------------- | ----------------------------------------------------------------------------- | ----------- |
| **`readingType`** \* | text                                                                          | —           |
| `attribute`          | `value` / `occurredAt` / `openingValue` / `closingValue` / `validationStatus` | —           |

**PayloadDescriptor**

| Field                | Type                                                                                                | Description                                                      |
| -------------------- | --------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- |
| **`readingType`** \* | text                                                                                                | —                                                                |
| `obis`               | text                                                                                                | Optional canonical OBIS code when readingType uses a short code. |
| `name`               | text                                                                                                | —                                                                |
| `unit`               | `kWh` / `kVAh` / `kvarh` / `kW` / `kvar` / `kVA` / `V` / `A` / `Hz` / `PF` / `NONE` / `INR` / `USD` | —                                                                |
| `flowDirection`      | `IMPORT` / `EXPORT` / `NONE`                                                                        | —                                                                |
| `category`           | text                                                                                                | —                                                                |
| `reportedMode`       | `READING` / `USAGE`                                                                                 | —                                                                |
| `touZone`            | integer                                                                                             | —                                                                |
| `multiplier`         | number                                                                                              | Decimal scaling factor (e.g. 0.001 for milli, 1000 for kilo).    |
| `accuracy`           | number                                                                                              | Accuracy class or precision value, applied after the multiplier. |

**IntervalPeriod**

| Field             | Type      | Description |
| ----------------- | --------- | ----------- |
| **`start`** \*    | date-time | —           |
| **`duration`** \* | duration  | —           |

**Interval**

| Field            | Type                              | Description |
| ---------------- | --------------------------------- | ----------- |
| **`id`** \*      | integer                           | —           |
| `intervalPeriod` | IntervalPeriod                    | —           |
| `payloads`       | list of number / string / boolean | —           |
| `readings`       | list of Reading                   | —           |
| `overrides`      | list of Override                  | —           |

**Override**

| Field                    | Type                                                                                  | Description |
| ------------------------ | ------------------------------------------------------------------------------------- | ----------- |
| **`descriptorIndex`** \* | integer                                                                               | —           |
| `occurredAt`             | date-time                                                                             | —           |
| `zone`                   | integer                                                                               | —           |
| `validationStatus`       | `VALID` / `ESTIMATED` / `MANUAL` / `SUSPECT` / `REJECTED`                             | —           |
| `source`                 | `METER` / `HES` / `ESTIMATED` / `MANUAL` / `IMPORT` / `MDM_COMPUTED` / `CIS_COMPUTED` | —           |
| `changeMethod`           | text                                                                                  | —           |
| `failCode`               | text                                                                                  | —           |

**Reading**

| Field                | Type                                                                                  | Description                                                                                |
| -------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
| **`readingType`** \* | text                                                                                  | —                                                                                          |
| **`value`** \*       | number                                                                                | —                                                                                          |
| `openingValue`       | number                                                                                | MUST ONLY be provided when the associated payload descriptor specifies reportedMode=USAGE. |
| `closingValue`       | number                                                                                | MUST ONLY be provided when the associated payload descriptor specifies reportedMode=USAGE. |
| `integrationPeriod`  | duration                                                                              | Demand integration period, e.g. PT30M or PT15M.                                            |
| `timePeriod`         | TimePeriod                                                                            | —                                                                                          |
| `occurredAt`         | date-time                                                                             | —                                                                                          |
| `validationStatus`   | `VALID` / `ESTIMATED` / `MANUAL` / `SUSPECT` / `REJECTED`                             | —                                                                                          |
| `source`             | `METER` / `HES` / `ESTIMATED` / `MANUAL` / `IMPORT` / `MDM_COMPUTED` / `CIS_COMPUTED` | —                                                                                          |
| `changeMethod`       | text                                                                                  | —                                                                                          |
| `failCode`           | text                                                                                  | —                                                                                          |

**TouBucket**

| Field             | Type            | Description |
| ----------------- | --------------- | ----------- |
| **`zone`** \*     | integer         | —           |
| **`readings`** \* | list of Reading | —           |

**Customer**

| Field                    | Type                           | Description                                                            |
| ------------------------ | ------------------------------ | ---------------------------------------------------------------------- |
| **`id`** \*              | Identifier                     | —                                                                      |
| `name`                   | text                           | —                                                                      |
| `consumerCategory`       | text                           | Utility tariff category (e.g., LT2A, NDS, HT).                         |
| `sanctionedLoadKw`       | number                         | —                                                                      |
| `billingCycleDay`        | integer                        | —                                                                      |
| `paymentMode`            | `PREPAID` / `POSTPAID`         | Indicates if the connection is prepaid or postpaid.                    |
| `connectionType`         | `Single-phase` / `Three-phase` | Type of connection (Single-phase or Three-phase).                      |
| `contractMaxDemandKw`    | number                         | Maximum demand contracted with the utility for this connection, in kW. |
| `tariffCategoryCode`     | text                           | Billing/tariff category code assigned by the utility.                  |
| `sanctionedExportLoadKw` | number                         | Sanctioned/approved grid export limit in kW.                           |

**ServiceDeliveryPoint**

| Field       | Type            | Description |
| ----------- | --------------- | ----------- |
| **`id`** \* | Identifier      | —           |
| `address`   | Address         | —           |
| `geo`       | GeoJSONGeometry | —           |

**Meter**

| Field           | Type                                                                                                             | Description         |
| --------------- | ---------------------------------------------------------------------------------------------------------------- | ------------------- |
| **`id`** \*     | Identifier                                                                                                       | —                   |
| `make`          | text                                                                                                             | Make of the meter.  |
| `model`         | text                                                                                                             | Model of the meter. |
| `meterType`     | `AMR` / `AMI` / `Electromechanical` / `Forward` / `Reverse` / `Bidirectional` / `Prepaid` / `NetMeter` / `Other` | —                   |
| `meterCategory` | `A` / `B` / `C` / `D1` / `D2` / `D3` / `D4`                                                                      | —                   |
| `serviceKind`   | `ELECTRICITY` / `GAS` / `WATER` / `HEAT`                                                                         | —                   |

**Association**

| Field                             | Type               | Description                                                                                          |
| --------------------------------- | ------------------ | ---------------------------------------------------------------------------------------------------- |
| **`serviceDeliveryPointRefs`** \* | IdentifierList     | —                                                                                                    |
| **`meterRefs`** \*                | IdentifierList     | —                                                                                                    |
| `parentResources`                 | list of Identifier | List of parent resources (such as feeders or DTs) for this association, replacing feederId and dtId. |
| `telemetryProvider`               | text               | Telemetry provider for this meter-service association.                                               |
| `commissioningDate`               | date-time          | Commissioning date of the meter association.                                                         |
| `generationCapacityKw`            | number             | Rated power generation capacity (e.g. solar PV inverter capacity) in kW.                             |
| `storageCapacityKw`               | number             | Rated energy storage capacity in kWh.                                                                |

**MeterEvent**

| Field              | Type                             | Description |
| ------------------ | -------------------------------- | ----------- |
| **`timestamp`** \* | date-time                        | —           |
| **`eventId`** \*   | integer                          | —           |
| `eventName`        | text                             | —           |
| `phase`            | `NONE` / `R` / `Y` / `B` / `ABC` | —           |
| `sequence`         | integer                          | —           |
| `magnitude`        | number                           | —           |
| `duration`         | duration                         | —           |

**MeterAlarm**

| Field              | Type                            | Description |
| ------------------ | ------------------------------- | ----------- |
| **`timestamp`** \* | date-time                       | —           |
| **`alarmId`** \*   | integer                         | —           |
| `alarmName`        | text                            | —           |
| **`status`** \*    | `ACTIVE` / `CLEARED`            | —           |
| `severity`         | `CRITICAL` / `WARNING` / `INFO` | —           |

**PayloadDescriptorProfile**

| Field                          | Type                         | Description                                              |
| ------------------------------ | ---------------------------- | -------------------------------------------------------- |
| **`profileType`** \*           | text                         | —                                                        |
| **`id`** \*                    | text                         | Unique identifier for this specific configuration state. |
| **`payloadDescriptorSets`** \* | list of PayloadDescriptorSet | —                                                        |

**CustomerDetails**

| Field  | Type | Description                                |
| ------ | ---- | ------------------------------------------ |
| `name` | text | Full name of the customer as per ID proof. |

## 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.6](/docs/schemas/meterdata/v0.6.md) | **Current** | Adds ALARM profile, anonymised topology, reading mode, split billing   | [schema.json](https://india-energy-stack.github.io/ies-accelerator/schemas/MeterData/v0.6/schema.json) · [attributes.yaml](https://india-energy-stack.github.io/ies-accelerator/schemas/MeterData/v0.6/attributes.yaml) · [examples](https://github.com/India-Energy-Stack/ies-accelerator/tree/main/schemas/MeterData/v0.6/examples/README.md) |
| [v0.5](/docs/schemas/meterdata/v0.5.md) | Previous    | Six profiles: CUSTOMER, INTERVAL, DAILY, BILLING, INSTANTANEOUS, EVENT | [schema.json](https://india-energy-stack.github.io/ies-accelerator/schemas/MeterData/v0.5/schema.json) · [attributes.yaml](https://india-energy-stack.github.io/ies-accelerator/schemas/MeterData/v0.5/attributes.yaml) · [examples](https://github.com/India-Energy-Stack/ies-accelerator/tree/main/schemas/MeterData/v0.5/examples/README.md) |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://india-energy-stack.gitbook.io/docs/schemas/meterdata.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
