# IEEE 2030.5 OpenAPI Specification
# Generated from XSD schema and WADL definition
# This spec includes JSON-LD context for semantic understanding of API terms
# OpenAPI Specification Version
openapi: 3.1.1
# API Information
info:
  title: Green Button / ESPI Types
  version: 1.0.0
  description: API specification generated from IEEE 2030.5 XSD schema. This OpenAPI spec validates JSON structure. For JSON-LD semantic validation, use SHACL shapes.
  contact:
    name: IEEE 2030.5
    url: https://standards.ieee.org/ieee/2030.5/
jsonSchemaDialect: https://json-schema.org/draft/2020-12/schema
# API Server URLs
servers:
- url: https://api.example.com
  description: Production server
# API Endpoints (from WADL)
paths: {}
# Reusable Components
components:
# JSON Schema Definitions (from XSD)
  schemas:
    ApplicationInformation:
      type: object
      properties:
        dataCustodianId:
          type: string
          description: '[extension] Contains the identifier for the Data Custodian. (e.g. "Sandbox Data Custodian")'
        dataCustodianApplicationStatus:
          format: uint16
          type: integer
          enum:
          - 1  # Review
          - 2 # Production (Live)
          - 3 # On Hold
          - 4 # Revoked
# Enum value descriptions (bit positions and their meanings)
          x-enum-descriptions:
            '1': Review
            '2': Production (Live)
            '3': On Hold
            '4': Revoked
          description: "A code indicating the current status of the application. This value is provided by Data Custodian, cannot be modified by Third Party. (e.g. \"2\" => production)\nEnum values:\n  - 1: Review\n  - 2: Production (Live)\n  - 3: On Hold\n  - 4: Revoked"
          minimum: 0
          maximum: 65535
        thirdPartyApplicationDescription:
          type: string
          description: A description of the application. (e.g. "Third Party Application Description is added as provided by each TP")
        thirdPartyApplicationStatus:
          format: uint16
          type: integer
          enum:
          - 1  # Development
          - 2 # Review/Test
          - 3 # Live
          - 4 # Remove
# Enum value descriptions (bit positions and their meanings)
          x-enum-descriptions:
            '1': Development
            '2': Review/Test
            '3': Live
            '4': Remove
          description: "A code indicating the current status of the application. (e.g. \"1\" => Development\nEnum values:\n  - 1: Development\n  - 2: Review/Test\n  - 3: Live\n  - 4: Remove"
          minimum: 0
          maximum: 65535
        thirdPartyApplicationType:
          format: uint16
          type: integer
          enum:
          - 1  # The application is on the web
          - 2 # The application is on a desktop
          - 3 # The application is on a mobile device
          - 4 # The application is on another device
# Enum value descriptions (bit positions and their meanings)
          x-enum-descriptions:
            '1': The application is on the web
            '2': The application is on a desktop
            '3': The application is on a mobile device
            '4': The application is on another device
          description: "A code indicating the type of the application. (e.g. \"1\" => Web)\nEnum values:\n  - 1: The application is on the web\n  - 2: The application is on a desktop\n  - 3: The application is on a mobile device\n  - 4: The application is on another device"
          minimum: 0
          maximum: 65535
        thirdPartyApplicationUse:
          format: uint16
          type: integer
          enum:
          - 1  # Energy Management
          - 2 # Analytical
          - 3 # Governmental
          - 4 # Academic
          - 5 # Law Enforcement
# Enum value descriptions (bit positions and their meanings)
          x-enum-descriptions:
            '1': Energy Management
            '2': Analytical
            '3': Governmental
            '4': Academic
            '5': Law Enforcement
          description: "A code indicating the expected use of the application. (e.g. \"1\" => EnergyManagement)\nEnum values:\n  - 1: Energy Management\n  - 2: Analytical\n  - 3: Governmental\n  - 4: Academic\n  - 5: Law Enforcement"
          minimum: 0
          maximum: 65535
        thirdPartyPhone:
          type: string
          description: The phone number of the organization to which access will be granted. (For debugging - not to be shared with customers). (e.g. "+1 800 673-6377")
        authorizationServerUri:
          type: string
          description: '[extension] Contains the base URI link to the authorization server. (e.g. "https://server.example.com/DataCustodian")'
        thirdPartyNotifyUri:
          type: string
          description: '[extension] URI used to notify ThirdParty that subscribed information is available. (e.g. "https://server.example.com/ThirdParty/espi/1_1/Notification")'
        authorizationServerAuthorizationEndpoint:
          type: string
          description: '[extension] An OAuth 2.0 URI used by the client to obtain authorization from the resource owner via user-agent redirection - {AuthorizationServer}{AuthorizationPath}. (e.g.  "https://server.example.com/DataCustodian/oauth/authorize"'
        authorizationServerRegistrationEndpoint:
          type: string
          description: '[extension] A URI used by the client to register a Third Party with a Data Custodian via its {AuthorizationServer}{AuthorizationServer}{RegistrationPath}. (e.g. "https://server.example.com/DataCustodian/espi/1_1/register")'
        authorizationServerTokenEndpoint:
          type: string
          description: '[extension] An OAuth 2.0 URL used by the client to exchange an authorization grant for an access token, typically with client authentication. (e.g. "https://server.example.com/DataCustodian/oauth/token")'
        dataCustodianBulkRequestURI:
          type: string
          description: '[extension] {DataCustodianBulkRequestURI}  URI of DataCustodian’s Bulk Request endpoint.  The value is provided by the Data Custodian and cannot be modified by the ThirdParty. (e.g. "https://server.example.com/DataCustodian/espi/1_1/resource/Batch/Bulk/{BulkID}" => bulkID from BR={bulkId} from Scope)'
        dataCustodianResourceEndpoint:
          type: string
          description: '[extension] {ResourceServer}{ResourcePath}. (e.g. "https://server.example.com/DataCustodian/espi/1_1/resource")'
        thirdPartyScopeSelectionScreenURI:
          type: string
          description: '[DEPRECATED][extension] URI of the Scope Selection Screen used by the Retail Customer to select the characteristics of the Green Button data to be shared with the ThirdParty.  (e.g. "https://server.example.com/ThirdParty/espi/1_1/RetailCustomer/ScopeSelection")'
        thirdPartyUserPortalScreenURI:
          type: string
          description: '[extension] URI of a Third Party’s web page for use with Green Button Connect My Data (e.g. "https://server.example.com/ThirdParty/espi/1_1/home")'
        client_secret:
          type: string
          description: '[extension] A secret to be associated with this application, used to sign OAuth requests. This value is provided by Data Custodian (OAuth client_secret). (e.g. "secret")'
        logo_uri:
          type: string
          description: '[extension] The link to the logo image for the application. Size greater than 180 x 150 may be cropped or reduced (OAuth logo_uri). (e.g. "http://server.example.com/ThirdParty/favicon.png")'
        client_name:
          type: string
          description: '[extension] The name of the application to which access will be granted (OAuth client_name). (e.g. "Green Button ThirdParty")'
        client_uri:
          type: string
          description: '[extension] The link to the main page of the application (OAuth client_uri). (e.g. "https://server.example.com/ThirdParty")'
        redirect_uri:
          type: array
          items:
            type: string
          minItems: 1
          description: '[extension] The default redirect back to the application after authorization grant (OAuth redirect uri). (e.g. "https://server.example.com/ThirdParty/espi/1_1/OAuthCallBack")'
        client_id:
          type: string
          description: Contains the identifier for the Third Party (OAuth client_id). (e.g. "ThirdParty Name")
        tos_uri:
          type: string
          description: '[extension] A URI that points to a human-readable Terms of Service document for the Third Party Application.  The Terms of Service usually describes a contractual relationship between the Retail Customer and the Third Party Application that the Retail Customer accepts when authorizing access to the Third Party Application. (e.g. "http://server.example.com/ThirdParty/TermsOfService")'
        policy_uri:
          type: string
          description: "[extension] A URI that points to a human-readable Policy document for the Third Party Application.  The policy usually describes how a Retail Customer's energy usage information will be used by the Third Party Application. (e.g. \"http://server.example.com/ThirdParty/UsagePolicy\")"
        software_id:
          type: string
          description: '[extension] An identifier for the software that comprises the Third Party Application.  The software_id is asserted by the Third Party software and is intended to be shared between all copies of the Third Party software.  The value of this field MAY be a UUID [RFC4122]. (e.g. "MyCoolGreenButtonAnalyzer")'
        software_version:
          type: string
          description: '[extension] A version identifier for the software that comprises a Third Party Application.  The value of this field is a string that is intended to be compared using string equality matching.  The value of the software_version SHOULD change on any update to the Third Party software. (e.g. "Version 1.00.00")'
        client_id_issued_at:
          type: integer
          description: '[extension] Time date stamp at which this client_id was issued. Note the schema data type is TimeType and the presentation in OAuth message flow is xs:dateTime and requires a conversion when accessed. (e.g. "1403190000" => 2014-06-19T15:00:00Z)'
        client_secret_expires_at:
          type: integer
          description: '[extension] Date time at which this client_secret expires -- value of 0 means the client_secret never expires. (e.g. "0" => never expires)'
        contacts:
          type: array
          items:
            type: string
          description: '[extension] Array of email addresses for people responsible for the Authorized Third Party Application.  These MAY be made available to Retail Customers for support requests for the Authorized Third Party application.  The Data Custodian Authorization Server MAY use the email addresses as identifiers for an Authorized Third Party application administrative page. (e.g. "support@energyos.org")'
        token_endpoint_auth_method:
          type: string
          enum:
          - client_secret_basic  # [extension] Indicates the client uses HTTP Basic authentication (RFC 6749 Section 2.3.1).
# Enum value descriptions (bit positions and their meanings)
          x-enum-descriptions:
            client_secret_basic: '[extension] Indicates the client uses HTTP Basic authentication (RFC 6749 Section 2.3.1).'
          description: "[extension] The authentication method used by the OAuth 2.0 Token Endpoint to authenticate the Third Party Application. (e.g. \"client_secret_basic\")\nEnum values:\n  - client_secret_basic: [extension] Indicates the client uses HTTP Basic authentication (RFC 6749 Section 2.3.1)."
        scope:
          type: array
          items:
            type: string
          minItems: 1
          description: '[extension] Space separated list of scope values the Third Party Application may use when requesting access Tokens. (e.g. "FB=1_3_4_5_8_13_18_19_31_34_35_39;IntervalDuration=900_3600;BlockDuration=Daily; HistoryLength= 34128000;SubscriptionFrequency=Daily; AccountCollection=5;BR=1;")'
        grant_types:
          type: array
          items:
            type: string
            enum:
            - authorization_code  # OAuth 2.0 Authorization Code Grant flow (RFC 6749 Section 4.1).
            - client_credentials # OAuth 2.0 Client Credentials Grant flow (RFC 6749 Section 4.4).
            - refresh_token # OAuth 2.0 Refresh Token flow (RFC 6749 Section 6.).
# Enum value descriptions (bit positions and their meanings)
            x-enum-descriptions:
              authorization_code: OAuth 2.0 Authorization Code Grant flow (RFC 6749 Section 4.1).
              client_credentials: OAuth 2.0 Client Credentials Grant flow (RFC 6749 Section 4.4).
              refresh_token: OAuth 2.0 Refresh Token flow (RFC 6749 Section 6.).
            description: "[extension] Grant types this interface supports. (e.g. \"client_credentials, authorization_code, refresh_token\" in separate tags\nEnum values:\n  - authorization_code: OAuth 2.0 Authorization Code Grant flow (RFC 6749 Section 4.1).\n  - client_credentials: OAuth 2.0 Client Credentials Grant flow (RFC 6749 Section 4.4).\n  - refresh_token: OAuth 2.0 Refresh Token flow (RFC 6749 Section 6.)."
          minItems: 2
          description: '[extension] Grant types this interface supports. (e.g. "client_credentials, authorization_code, refresh_token" in separate tags'
        response_types:
          type: string
          enum:
          - code  # Indicates a request for an authorization code (RFC 6749 Section 4.1.1)
# Enum value descriptions (bit positions and their meanings)
          x-enum-descriptions:
            code: Indicates a request for an authorization code (RFC 6749 Section 4.1.1)
          description: "[extension] Response types supported. (e.g. \"code\")\nEnum values:\n  - code: Indicates a request for an authorization code (RFC 6749 Section 4.1.1)"
      required:
      - dataCustodianId
      - dataCustodianApplicationStatus
      - thirdPartyNotifyUri
      - authorizationServerAuthorizationEndpoint
      - authorizationServerTokenEndpoint
      - dataCustodianBulkRequestURI
      - dataCustodianResourceEndpoint
      - client_secret
      - client_name
      - redirect_uri
      - client_id
      - software_id
      - software_version
      - client_id_issued_at
      - client_secret_expires_at
      - token_endpoint_auth_method
      - scope
      - response_types
      description: "Contains information about a Third Party Application requesting access to the DataCustodian services. Information requested may include items such as Organization Name, Website, Contact Info, Application Name, Description, Icon, Type, default Notification and Callback endpoints, and may also include agreement with terms of service.\n\nAtom Links:\nself link to this resource"
    Authorization:
      type: object
      properties:
        authorizedPeriod:
          $ref: '#/components/schemas/DateTimeInterval'
          description: Restricts access to requests or subscriptions within this date time interval. (e.g. "duration=31536000,start=1333252800", a duration value of "0" (zero) indicates an infinite duration period)
        publishedPeriod:
          $ref: '#/components/schemas/DateTimeInterval'
          description: Restricts access to the objects within the associated resource that were published within this date time interval. (e.g. "duration=31536000" for most recent 365 days)
        status:
          format: uint16
          type: integer
          enum:
          - 0  # Revoked
          - 1 # Active
          - 2 # Denied
# Enum value descriptions (bit positions and their meanings)
          x-enum-descriptions:
            '0': Revoked
            '1': Active
            '2': Denied
          description: "The status of this authorization. (e.g. \"1\" => active)\nEnum values:\n  - 0: Revoked\n  - 1: Active\n  - 2: Denied"
          minimum: 0
          maximum: 65535
        expires_at:
          type: integer
          description: Expiration period for the access token. (e.g. "1403190000" for 2014-06-19T15:00:00Z)
        grant_type:
          type: string
          enum:
          - authorization_code  # OAuth 2.0 Authorization Code Grant flow (RFC 6749 Section 4.1).
          - client_credentials # OAuth 2.0 Client Credentials Grant flow (RFC 6749 Section 4.4).
          - refresh_token # OAuth 2.0 Refresh Token flow (RFC 6749 Section 6.).
# Enum value descriptions (bit positions and their meanings)
          x-enum-descriptions:
            authorization_code: OAuth 2.0 Authorization Code Grant flow (RFC 6749 Section 4.1).
            client_credentials: OAuth 2.0 Client Credentials Grant flow (RFC 6749 Section 4.4).
            refresh_token: OAuth 2.0 Refresh Token flow (RFC 6749 Section 6.).
          description: "Type of grant being negotiated for. (e.g. \"authorization_code\")\nEnum values:\n  - authorization_code: OAuth 2.0 Authorization Code Grant flow (RFC 6749 Section 4.1).\n  - client_credentials: OAuth 2.0 Client Credentials Grant flow (RFC 6749 Section 4.4).\n  - refresh_token: OAuth 2.0 Refresh Token flow (RFC 6749 Section 6.)."
        scope:
          type: string
          description: Negotiated scope of the authorization. (e.g. "FB=1_3_4_5_13_14_15_1937_39;IntervalDuration=3600;BlockDuration=monthly;HistoryLength=94608000"
        token_type:
          type: string
          enum:
          - Bearer  # A security token with the property that any party in possession of the token (a "bearer") can use the token in any way that any other party in possession of it can.  Using a bearer token does not require a bearer to prove possession of cryptographic key material (proof-of-possession) (RFC6750 Section 1.2).
# Enum value descriptions (bit positions and their meanings)
          x-enum-descriptions:
            Bearer: A security token with the property that any party in possession of the token (a "bearer") can use the token in any way that any other party in possession of it can.  Using a bearer token does not require a bearer to prove possession of cryptographic key material (proof-of-possession) (RFC6750 Section 1.2).
          description: "Type of token used. (e.g. \"Bearer\")\nEnum values:\n  - Bearer: A security token with the property that any party in possession of the token (a \"bearer\") can use the token in any way that any other party in possession of it can.  Using a bearer token does not require a bearer to prove possession of cryptographic key material (proof-of-possession) (RFC6750 Section 1.2)."
        error:
          type: string
          enum:
          - invalid_request  # The request is missing a required parameter, includes an unsupported parameter value (other than grant type), repeats a parameter, includes multiple credentials, utilizes more than one mechanism for authenticating the client, or is otherwise malformed (RFC 6749 Sections 4.1.2.1 and 5.2).
          - invalid_client # Client authentication failed (e.g., unknown client, no client authentication included, or unsupported authentication method).  The authorization server MAY return an HTTP 401 (Unauthorized) status code to indicate which HTTP authentication schemes are supported.  If the client attempted to authenticate via the Authorization request header field, the authorization server MUST respond with an HTTP 401 (Unauthorized) status code and include the WWW-Authenticate response header field matching the authentication scheme used by the client. (RFC 6749 Section 5.2).
          - invalid_grant # The provided authorization code or refresh token is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client (RFC 6749 Section 5.2).
          - unauthorized_client # The authenticated client is not authorized to use this authorization grant type (RFC 6749 Sections 4.1.2.1 and 5.2).
          - unsupported_grant_type # The authorization grant type is not supported by the authorization server  (RFC 6749 Section 5.2).
          - invalid_scope # The requested scope is invalid, unknown, malformed, or exceeds the scope granted by the resource owner (RFC 6749 Sections 4.1.2.1 and 5.2).
          - invalid_redirect_uri # The value of one or more redirection URIs is invalid (RFC 7591 Section 3.2.2).
          - invalid_client_metadata # The value of one of the client metadata fields is invalid and server has rejected the request.  Not that an authorization server MAY choose to substitute a valid value for any requested parameter of a client's metadata (RFC 7591 Section 3.2.2).
          - invalid_client_id # [DEPRECATED] Client authentication failed (e.g., unknown client, no client authentication included, or unsupported authentication method).  The authorization server MAY return an HTTP 401 (Unauthorized) status code to indicate which HTTP authentication schemes are supported.  If the client attempted to authenticate via the Authorization request header field, the authorization server MUST respond with an HTTP 401 (Unauthorized) status code and include the WWW-Authenticate response header field matching the authentication scheme used by the client.
          - access_denied # The resource owner or authorization server denied the request (RFC 6749 Section 4.1.2.1).
          - unsupported_response_type # The authorization server does not support obtaining an authorization code using this method (RFC 6749 Section 4.1.2.1).
          - server_error # The authorization server encountered an unexpected condition that prevented it from fulfilling the request  (RFC 6749 Section 4.1.2.1).
          - temporarily_unavailable # The authorization server is currently unable to handle the request due to a temporary overloading or maintenance of the server (RFC 6749 Section 4.1.2.1).
# Enum value descriptions (bit positions and their meanings)
          x-enum-descriptions:
            invalid_request: The request is missing a required parameter, includes an unsupported parameter value (other than grant type), repeats a parameter, includes multiple credentials, utilizes more than one mechanism for authenticating the client, or is otherwise malformed (RFC 6749 Sections 4.1.2.1 and 5.2).
            invalid_client: Client authentication failed (e.g., unknown client, no client authentication included, or unsupported authentication method).  The authorization server MAY return an HTTP 401 (Unauthorized) status code to indicate which HTTP authentication schemes are supported.  If the client attempted to authenticate via the Authorization request header field, the authorization server MUST respond with an HTTP 401 (Unauthorized) status code and include the WWW-Authenticate response header field matching the authentication scheme used by the client. (RFC 6749 Section 5.2).
            invalid_grant: The provided authorization code or refresh token is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client (RFC 6749 Section 5.2).
            unauthorized_client: The authenticated client is not authorized to use this authorization grant type (RFC 6749 Sections 4.1.2.1 and 5.2).
            unsupported_grant_type: The authorization grant type is not supported by the authorization server  (RFC 6749 Section 5.2).
            invalid_scope: The requested scope is invalid, unknown, malformed, or exceeds the scope granted by the resource owner (RFC 6749 Sections 4.1.2.1 and 5.2).
            invalid_redirect_uri: The value of one or more redirection URIs is invalid (RFC 7591 Section 3.2.2).
            invalid_client_metadata: The value of one of the client metadata fields is invalid and server has rejected the request.  Not that an authorization server MAY choose to substitute a valid value for any requested parameter of a client's metadata (RFC 7591 Section 3.2.2).
            invalid_client_id: '[DEPRECATED] Client authentication failed (e.g., unknown client, no client authentication included, or unsupported authentication method).  The authorization server MAY return an HTTP 401 (Unauthorized) status code to indicate which HTTP authentication schemes are supported.  If the client attempted to authenticate via the Authorization request header field, the authorization server MUST respond with an HTTP 401 (Unauthorized) status code and include the WWW-Authenticate response header field matching the authentication scheme used by the client.'
            access_denied: The resource owner or authorization server denied the request (RFC 6749 Section 4.1.2.1).
            unsupported_response_type: The authorization server does not support obtaining an authorization code using this method (RFC 6749 Section 4.1.2.1).
            server_error: The authorization server encountered an unexpected condition that prevented it from fulfilling the request  (RFC 6749 Section 4.1.2.1).
            temporarily_unavailable: The authorization server is currently unable to handle the request due to a temporary overloading or maintenance of the server (RFC 6749 Section 4.1.2.1).
          description: "Contains last error returned to ThirdParty. (e.g. \"server_error\")\nEnum values:\n  - invalid_request: The request is missing a required parameter, includes an unsupported parameter value (other than grant type), repeats a parameter, includes multiple credentials, utilizes more than one mechanism for authenticating the client, or is otherwise malformed (RFC 6749 Sections 4.1.2.1 and 5.2).\n  - invalid_client: Client authentication failed (e.g., unknown client, no client authentication included, or unsupported authentication method).  The authorization server MAY return an HTTP 401 (Unauthorized) status code to indicate which HTTP authentication schemes are supported.  If the client attempted to authenticate via the Authorization request header field, the authorization server MUST respond with an HTTP 401 (Unauthorized) status code and include the WWW-Authenticate response header field matching the authentication scheme used by the client. (RFC 6749 Section 5.2).\n  - invalid_grant: The provided authorization code or refresh token is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client (RFC 6749 Section 5.2).\n  - unauthorized_client: The authenticated client is not authorized to use this authorization grant type (RFC 6749 Sections 4.1.2.1 and 5.2).\n  - unsupported_grant_type: The authorization grant type is not supported by the authorization server  (RFC 6749 Section 5.2).\n  - invalid_scope: The requested scope is invalid, unknown, malformed, or exceeds the scope granted by the resource owner (RFC 6749 Sections 4.1.2.1 and 5.2).\n  - invalid_redirect_uri: The value of one or more redirection URIs is invalid (RFC 7591 Section 3.2.2).\n  - invalid_client_metadata: The value of one of the client metadata fields is invalid and server has rejected the request.  Not that an authorization server MAY choose to substitute a valid value for any requested parameter of a client's metadata (RFC 7591 Section 3.2.2).\n  - invalid_client_id: [DEPRECATED] Client authentication failed (e.g., unknown client, no client authentication included, or unsupported authentication method).  The authorization server MAY return an HTTP 401 (Unauthorized) status code to indicate which HTTP authentication schemes are supported.  If the client attempted to authenticate via the Authorization request header field, the authorization server MUST respond with an HTTP 401 (Unauthorized) status code and include the WWW-Authenticate response header field matching the authentication scheme used by the client.\n  - access_denied: The resource owner or authorization server denied the request (RFC 6749 Section 4.1.2.1).\n  - unsupported_response_type: The authorization server does not support obtaining an authorization code using this method (RFC 6749 Section 4.1.2.1).\n  - server_error: The authorization server encountered an unexpected condition that prevented it from fulfilling the request  (RFC 6749 Section 4.1.2.1).\n  - temporarily_unavailable: The authorization server is currently unable to handle the request due to a temporary overloading or maintenance of the server (RFC 6749 Section 4.1.2.1)."
        error_description:
          type: string
          description: Contains free text string describing last error returned to ThirdParty. (e.g. "No Service")
        error_uri:
          type: string
          description: Specific error URI for last returned error. (e.g. "na" if not supported)
        resourceURI:
          type: string
          description: URI that can be used to access the EUI data the Third Party is authorized to access. Can be used in a GET of the EUI resource subscription (e.g. "http://server.example.com/DataCustodian/espi/1_1/resource/Batch/Subscription/1").
        authorizationURI:
          type: string
          description: URI that can be used to update or delete this Authorization. (e.g. "http://server.example.com/DataCustodian/espi/1_1/resource/Authorization/1")
        customerResourceURI:
          type: string
          description: "URI that can be used to access PII data the Third Party is authorized to access.  Can be used in a GET of the PII resource subscription (e.g. \"http://server.example.com/DataCustodian/espi/1_1/resource/Batch/Subscription/2\").\nNote: This URI will have a differnt namespace than the URI value found in the resourceURI element."
      required:
      - status
      - expires_at
      - scope
      - token_type
      - resourceURI
      - authorizationURI
      description: "[extension] Represents a permission granted by an owner for access to a resource.\n\nAtom Links:\nself link to this resource\nrel corresponding ApplicationInformation (if this is the client access containing token instance)\nrel corresponding to the authorized resource (if this is the access_token containing instance for a customer resource)\n\nNote: for privacy there is no identifier of the RetailCustomer in this structure but an implementation will have consider how to maintain a correspondence between a RetailCustomer and his authorization."
    IntervalBlock:
      type: object
      properties:
        interval:
          $ref: '#/components/schemas/DateTimeInterval'
          description: Specifies the time period during which the contained readings were taken.
        IntervalReading:
          description: One or more interval reading values measured by a meter or other asset.
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/IntervalReading'
      required: []
      description: Time sequence of Readings of the same ReadingType.
    ReadingType:
      type: object
      properties:
        accumulationBehaviour:
          description: "Code indicating how value is accumulated over time for Readings of ReadingType.\nEnum values:\n  - 0: Not Applicable or implied by the unit of measure.\n  - 1: A value from a register which represents the bulk quantity of a commodity. This quantity is computed as the integral of the commodity usage rate. This value is typically used as the basis for the dial reading at the meter, and as a result, will roll over upon reaching a maximum dial value. Note 1: With the metering system, the roll-over behavior typically implies a roll-under behavior so that the value presented is always a positive value (e.g. unsigned integer or positive decimal.) However, when communicating data between enterprise applications a negative value might occur in a case such as net metering. Note 2: A BulkQuantity refers primarily to the dial reading and not the consumption over a specific period of time.\n  - 2: The sum of the previous billing period values and the present period value. Note: “ContinuousCumulative” is commonly used in conjunction with “demand.” The “ContinuousCumulative Demand” would be the cumulative sum of the previous billing period maximum demand values (as occurring with each demand reset) summed with the present period maximum demand value (which has yet to be reset.)\n  - 3: The sum of the previous billing period values. Note: “Cumulative” is commonly used in conjunction with “demand.” Each demand reset causes the maximum demand value for the present billing period (since the last demand reset) to accumulate as an accumulative total of all maximum demands. So instead of “zeroing” the demand register, a demand reset has the effect of adding the present maximum demand to this accumulating total.\n  - 4: The difference between the value at the end of the prescribed interval and the beginning of the interval. This is used for incremental interval data. Note: One common application would be for load profile data, another use might be to report the number of events within an interval (such as the number of equipment energizations within the specified period of time.)\n  - 6: As if a needle is swung out on the meter face to a value to indicate the current value. (Note: An “indicating” value is typically measured over hundreds of milliseconds or greater, or may imply a “pusher” mechanism to capture a value. Compare this to “instantaneous” which is measured over a shorter period of time.)\n  - 9: A form of accumulation which is selective with respect to time. Note : “Summation” could be considered a specialization of “Bulk Quantity” according to the rules of inheritance where “Summation” selectively accumulates pulses over a timing pattern, and “BulkQuantity” accumulates pulses all of the time.\n  - 10: A form of computation which introduces a time delay characteristic to the data value\n  - 12: Typically measured over the fastest period of time allowed by the definition of the metric (usually milliseconds or tens of milliseconds.) (Note: “Instantaneous” was moved to attribute #3 in 61968-9Ed2 from attribute #1 in 61968-9Ed1.)\n  - 13: When this description is applied to a metered value, it implies that the value is a time-independent cumulative quantity much a BulkQuantity, except that it latches upon the maximum value upon reaching that value. Any additional accumulation (positive or negative) is discarded until a reset occurs. Note: A LatchingQuantity may also occur in the downward direction – upon reaching a minimum value. The terms “maximum” or “minimum” will usually be included as an attribute when this type of accumulation behavior is present. When this description is applied to an encoded value (UOM= “Code”), it implies that the value has one or more bits which are latching. The condition that caused the bit to be set may have long since evaporated. In either case, the timestamp that accompanies the value may not coincide with the moment the value was initially set. In both cases a system will need to perform an operation to clear the latched value.\n  - 14: A time-independent cumulative quantity much a BulkQuantity or a LatchingQuantity, except that the accumulation stops at the maximum or minimum values. When the maximum is reached, any additional positive accumulation is discarded, but negative accumulation may be accepted (thus lowering the counter.) Likewise, when the negative bound is reached, any additional negative accumulation is discarded, but positive accumulation is accepted (thus increasing the counter.)"
          oneOf:
          - format: uint16
            type: integer
            enum:
            - 0 # Not Applicable or implied by the unit of measure.
            - 1 # A value from a register which represents the bulk quantity of a commodity. This quantity is computed as the integral of the commodity usage rate. This value is typically used as the basis for the dial reading at the meter, and as a result, will roll over upon reaching a maximum dial value. Note 1: With the metering system, the roll-over behavior typically implies a roll-under behavior so that the value presented is always a positive value (e.g. unsigned integer or positive decimal.) However, when communicating data between enterprise applications a negative value might occur in a case such as net metering. Note 2: A BulkQuantity refers primarily to the dial reading and not the consumption over a specific period of time.
            - 2 # The sum of the previous billing period values and the present period value. Note: “ContinuousCumulative” is commonly used in conjunction with “demand.” The “ContinuousCumulative Demand” would be the cumulative sum of the previous billing period maximum demand values (as occurring with each demand reset) summed with the present period maximum demand value (which has yet to be reset.)
            - 3 # The sum of the previous billing period values. Note: “Cumulative” is commonly used in conjunction with “demand.” Each demand reset causes the maximum demand value for the present billing period (since the last demand reset) to accumulate as an accumulative total of all maximum demands. So instead of “zeroing” the demand register, a demand reset has the effect of adding the present maximum demand to this accumulating total.
            - 4 # The difference between the value at the end of the prescribed interval and the beginning of the interval. This is used for incremental interval data. Note: One common application would be for load profile data, another use might be to report the number of events within an interval (such as the number of equipment energizations within the specified period of time.)
            - 6 # As if a needle is swung out on the meter face to a value to indicate the current value. (Note: An “indicating” value is typically measured over hundreds of milliseconds or greater, or may imply a “pusher” mechanism to capture a value. Compare this to “instantaneous” which is measured over a shorter period of time.)
            - 9 # A form of accumulation which is selective with respect to time. Note : “Summation” could be considered a specialization of “Bulk Quantity” according to the rules of inheritance where “Summation” selectively accumulates pulses over a timing pattern, and “BulkQuantity” accumulates pulses all of the time.
            - 10 # A form of computation which introduces a time delay characteristic to the data value
            - 12 # Typically measured over the fastest period of time allowed by the definition of the metric (usually milliseconds or tens of milliseconds.) (Note: “Instantaneous” was moved to attribute #3 in 61968-9Ed2 from attribute #1 in 61968-9Ed1.)
            - 13 # When this description is applied to a metered value, it implies that the value is a time-independent cumulative quantity much a BulkQuantity, except that it latches upon the maximum value upon reaching that value. Any additional accumulation (positive or negative) is discarded until a reset occurs. Note: A LatchingQuantity may also occur in the downward direction – upon reaching a minimum value. The terms “maximum” or “minimum” will usually be included as an attribute when this type of accumulation behavior is present. When this description is applied to an encoded value (UOM= “Code”), it implies that the value has one or more bits which are latching. The condition that caused the bit to be set may have long since evaporated. In either case, the timestamp that accompanies the value may not coincide with the moment the value was initially set. In both cases a system will need to perform an operation to clear the latched value.
            - 14 # A time-independent cumulative quantity much a BulkQuantity or a LatchingQuantity, except that the accumulation stops at the maximum or minimum values. When the maximum is reached, any additional positive accumulation is discarded, but negative accumulation may be accepted (thus lowering the counter.) Likewise, when the negative bound is reached, any additional negative accumulation is discarded, but positive accumulation is accepted (thus increasing the counter.)
# Enum value descriptions (bit positions and their meanings)
            x-enum-descriptions:
              '0': Not Applicable or implied by the unit of measure.
              '1': 'A value from a register which represents the bulk quantity of a commodity. This quantity is computed as the integral of the commodity usage rate. This value is typically used as the basis for the dial reading at the meter, and as a result, will roll over upon reaching a maximum dial value. Note 1: With the metering system, the roll-over behavior typically implies a roll-under behavior so that the value presented is always a positive value (e.g. unsigned integer or positive decimal.) However, when communicating data between enterprise applications a negative value might occur in a case such as net metering. Note 2: A BulkQuantity refers primarily to the dial reading and not the consumption over a specific period of time.'
              '2': 'The sum of the previous billing period values and the present period value. Note: “ContinuousCumulative” is commonly used in conjunction with “demand.” The “ContinuousCumulative Demand” would be the cumulative sum of the previous billing period maximum demand values (as occurring with each demand reset) summed with the present period maximum demand value (which has yet to be reset.)'
              '3': 'The sum of the previous billing period values. Note: “Cumulative” is commonly used in conjunction with “demand.” Each demand reset causes the maximum demand value for the present billing period (since the last demand reset) to accumulate as an accumulative total of all maximum demands. So instead of “zeroing” the demand register, a demand reset has the effect of adding the present maximum demand to this accumulating total.'
              '4': 'The difference between the value at the end of the prescribed interval and the beginning of the interval. This is used for incremental interval data. Note: One common application would be for load profile data, another use might be to report the number of events within an interval (such as the number of equipment energizations within the specified period of time.)'
              '6': 'As if a needle is swung out on the meter face to a value to indicate the current value. (Note: An “indicating” value is typically measured over hundreds of milliseconds or greater, or may imply a “pusher” mechanism to capture a value. Compare this to “instantaneous” which is measured over a shorter period of time.)'
              '9': 'A form of accumulation which is selective with respect to time. Note : “Summation” could be considered a specialization of “Bulk Quantity” according to the rules of inheritance where “Summation” selectively accumulates pulses over a timing pattern, and “BulkQuantity” accumulates pulses all of the time.'
              '10': A form of computation which introduces a time delay characteristic to the data value
              '12': 'Typically measured over the fastest period of time allowed by the definition of the metric (usually milliseconds or tens of milliseconds.) (Note: “Instantaneous” was moved to attribute #3 in 61968-9Ed2 from attribute #1 in 61968-9Ed1.)'
              '13': 'When this description is applied to a metered value, it implies that the value is a time-independent cumulative quantity much a BulkQuantity, except that it latches upon the maximum value upon reaching that value. Any additional accumulation (positive or negative) is discarded until a reset occurs. Note: A LatchingQuantity may also occur in the downward direction – upon reaching a minimum value. The terms “maximum” or “minimum” will usually be included as an attribute when this type of accumulation behavior is present. When this description is applied to an encoded value (UOM= “Code”), it implies that the value has one or more bits which are latching. The condition that caused the bit to be set may have long since evaporated. In either case, the timestamp that accompanies the value may not coincide with the moment the value was initially set. In both cases a system will need to perform an operation to clear the latched value.'
              '14': A time-independent cumulative quantity much a BulkQuantity or a LatchingQuantity, except that the accumulation stops at the maximum or minimum values. When the maximum is reached, any additional positive accumulation is discarded, but negative accumulation may be accepted (thus lowering the counter.) Likewise, when the negative bound is reached, any additional negative accumulation is discarded, but positive accumulation is accepted (thus increasing the counter.)
            minimum: 0
            maximum: 65535
          - type: string
            enum:
            - none
            - bulkQuantity
            - continuousCumulative
            - cumulative
            - deltaData
            - indicating
            - summation
            - timeDelay
            - instantaneous
            - latchingQuantity
            - boundedQuantity
        commodity:
          description: "Code for commodity classification of Readings of ReadingType.\nEnum values:\n  - 0: Not Applicable\n  - 1: All types of metered quantities. This type of reading comes from the meter and represents a “secondary” metered value.\n  - 2: It is possible for a meter to be outfitted with an external VT and/or CT. The meter might not be aware of these devices, and the display not compensate for their presence. Ultimately, when these scalars are applied, the value that represents the service value is called the “primary metered” value. The “index” in sub-category 3 mirrors those of sub-category 0.\n  - 3: A measurement of the communication infrastructure itself.\n  - 4: Air\n  - 5: Insulative Gas (SF6 is found separately below)\n  - 6: Insulative Oil\n  - 7: Natural Gas\n  - 8: Propane C3H8\n  - 9: Drinkable water\n  - 10: Water in steam form, usually used for heating.\n  - 11: Waste Water (Sewerage)\n  - 12: This fluid is likely in liquid form. It is not necessarily water or water based. The warm fluid returns cooler than when it was sent. The heat conveyed may be metered.\n  - 13: The cool fluid returns warmer than when it was sent. The heat conveyed may be metered.\n  - 14: Reclaimed water – possibly used for irrigation but not sufficiently treated to be considered safe for drinking.\n  - 15: Nitrous Oxides NOX\n  - 16: Sulfur Dioxide SO2\n  - 17: Methane CH4\n  - 18: Carbon Dioxide CO2\n  - 19: Carbon\n  - 20: Hexachlorocyclohexane HCH\n  - 21: Perfluorocarbons PFC\n  - 22: Sulfurhexafluoride SF6\n  - 23: Television\n  - 24: Internet service\n  - 25: Trash\n  - 26: Electricity Transmission \"metered\" -- Service taken directly from transmission system without transformation from standard transmission voltages"
          oneOf:
          - format: uint16
            type: integer
            enum:
            - 0 # Not Applicable
            - 1 # All types of metered quantities. This type of reading comes from the meter and represents a “secondary” metered value.
            - 2 # It is possible for a meter to be outfitted with an external VT and/or CT. The meter might not be aware of these devices, and the display not compensate for their presence. Ultimately, when these scalars are applied, the value that represents the service value is called the “primary metered” value. The “index” in sub-category 3 mirrors those of sub-category 0.
            - 3 # A measurement of the communication infrastructure itself.
            - 4 # Air
            - 5 # Insulative Gas (SF6 is found separately below)
            - 6 # Insulative Oil
            - 7 # Natural Gas
            - 8 # Propane C3H8
            - 9 # Drinkable water
            - 10 # Water in steam form, usually used for heating.
            - 11 # Waste Water (Sewerage)
            - 12 # This fluid is likely in liquid form. It is not necessarily water or water based. The warm fluid returns cooler than when it was sent. The heat conveyed may be metered.
            - 13 # The cool fluid returns warmer than when it was sent. The heat conveyed may be metered.
            - 14 # Reclaimed water – possibly used for irrigation but not sufficiently treated to be considered safe for drinking.
            - 15 # Nitrous Oxides NOX
            - 16 # Sulfur Dioxide SO2
            - 17 # Methane CH4
            - 18 # Carbon Dioxide CO2
            - 19 # Carbon
            - 20 # Hexachlorocyclohexane HCH
            - 21 # Perfluorocarbons PFC
            - 22 # Sulfurhexafluoride SF6
            - 23 # Television
            - 24 # Internet service
            - 25 # Trash
            - 26 # Electricity Transmission "metered" -- Service taken directly from transmission system without transformation from standard transmission voltages
# Enum value descriptions (bit positions and their meanings)
            x-enum-descriptions:
              '0': Not Applicable
              '1': All types of metered quantities. This type of reading comes from the meter and represents a “secondary” metered value.
              '2': It is possible for a meter to be outfitted with an external VT and/or CT. The meter might not be aware of these devices, and the display not compensate for their presence. Ultimately, when these scalars are applied, the value that represents the service value is called the “primary metered” value. The “index” in sub-category 3 mirrors those of sub-category 0.
              '3': A measurement of the communication infrastructure itself.
              '4': Air
              '5': Insulative Gas (SF6 is found separately below)
              '6': Insulative Oil
              '7': Natural Gas
              '8': Propane C3H8
              '9': Drinkable water
              '10': Water in steam form, usually used for heating.
              '11': Waste Water (Sewerage)
              '12': This fluid is likely in liquid form. It is not necessarily water or water based. The warm fluid returns cooler than when it was sent. The heat conveyed may be metered.
              '13': The cool fluid returns warmer than when it was sent. The heat conveyed may be metered.
              '14': Reclaimed water – possibly used for irrigation but not sufficiently treated to be considered safe for drinking.
              '15': Nitrous Oxides NOX
              '16': Sulfur Dioxide SO2
              '17': Methane CH4
              '18': Carbon Dioxide CO2
              '19': Carbon
              '20': Hexachlorocyclohexane HCH
              '21': Perfluorocarbons PFC
              '22': Sulfurhexafluoride SF6
              '23': Television
              '24': Internet service
              '25': Trash
              '26': Electricity Transmission "metered" -- Service taken directly from transmission system without transformation from standard transmission voltages
            minimum: 0
            maximum: 65535
          - type: string
            enum:
            - none
            - electricitySecondaryMetered
            - electricityPrimaryMetered
            - communication
            - air
            - insulativeGas
            - insulativeOil
            - naturalGas
            - propane
            - potableWater
            - steam
            - wasteWater
        consumptionTier:
          type: integer
          description: Code for consumption tier associated with a Reading of ReadingType.
        currency:
          description: "Code for the currency for costs associated with this ReadingType.  The valid values per the standard are defined in CurrencyCode.\nEnum values:\n  - 840: US dollar\n  - 978: European euro\n  - 36: Australian dollar\n  - 124: Canadian dollar\n  - 756: Swiss francs\n  - 156: Chinese yuan renminbi\n  - 208: Danish crown\n  - 826: British pound\n  - 392: Japanese yen\n  - 578: Norwegian crown\n  - 643: Russian ruble\n  - 752: Swedish crown\n  - 356: India rupees\n  - 0: Another type of currency."
          oneOf:
          - format: uint16
            type: integer
            enum:
            - 840 # US dollar
            - 978 # European euro
            - 36 # Australian dollar
            - 124 # Canadian dollar
            - 756 # Swiss francs
            - 156 # Chinese yuan renminbi
            - 208 # Danish crown
            - 826 # British pound
            - 392 # Japanese yen
            - 578 # Norwegian crown
            - 643 # Russian ruble
            - 752 # Swedish crown
            - 356 # India rupees
            - 0 # Another type of currency.
# Enum value descriptions (bit positions and their meanings)
            x-enum-descriptions:
              '840': US dollar
              '978': European euro
              '36': Australian dollar
              '124': Canadian dollar
              '756': Swiss francs
              '156': Chinese yuan renminbi
              '208': Danish crown
              '826': British pound
              '392': Japanese yen
              '578': Norwegian crown
              '643': Russian ruble
              '752': Swedish crown
              '356': India rupees
              '0': Another type of currency.
            minimum: 0
            maximum: 65535
          - type: string
            enum:
            - other
            - AUD
            - CAD
            - CNY
            - DKK
            - INR
            - JPY
            - NOK
            - RUB
            - SEK
            - CHF
            - GBP
            - USD
            - EUR
        dataQualifier:
          format: uint16
          type: integer
          enum:
          - 0  # Not Applicable
          - 2 # Average value
          - 4 # The value represents an amount over which a threshold was exceeded.
          - 5 # The value represents a programmed threshold.
          - 7 # The value represents a programmed threshold.
          - 8 # The highest value observed
          - 9 # The smallest value observed
          - 11 # Nominal
          - 12 # Normal
          - 16 # The second highest value observed
          - 17 # The second smallest value observed
          - 23 # The third highest value observed
          - 24 # The fourth highest value observed
          - 25 # The fifth highest value observed
          - 26 # The accumulated sum
# Enum value descriptions (bit positions and their meanings)
          x-enum-descriptions:
            '0': Not Applicable
            '2': Average value
            '4': The value represents an amount over which a threshold was exceeded.
            '5': The value represents a programmed threshold.
            '7': The value represents a programmed threshold.
            '8': The highest value observed
            '9': The smallest value observed
            '11': Nominal
            '12': Normal
            '16': The second highest value observed
            '17': The second smallest value observed
            '23': The third highest value observed
            '24': The fourth highest value observed
            '25': The fifth highest value observed
            '26': The accumulated sum
          description: "Code describing a salient attribute of Readings of ReadingType.\nEnum values:\n  - 0: Not Applicable\n  - 2: Average value\n  - 4: The value represents an amount over which a threshold was exceeded.\n  - 5: The value represents a programmed threshold.\n  - 7: The value represents a programmed threshold.\n  - 8: The highest value observed\n  - 9: The smallest value observed\n  - 11: Nominal\n  - 12: Normal\n  - 16: The second highest value observed\n  - 17: The second smallest value observed\n  - 23: The third highest value observed\n  - 24: The fourth highest value observed\n  - 25: The fifth highest value observed\n  - 26: The accumulated sum"
          minimum: 0
          maximum: 65535
        defaultQuality:
          format: uint16
          type: integer
          enum:
          - 0  # data that has gone through all required validation checks and either passed them all or has been verified
          - 7 # Replaced or approved by a human
          - 8 # data value was replaced by a machine computed value based on analysis of historical data using the same type of measurement.
          - 9 # data value was computed using linear interpolation based on the readings before and after it
          - 10 # data that has failed one or more checks
          - 11 # data that has been calculated (using logic or mathematical operations)
          - 12 # data that has been calculated as a projection or forecast of future readings
          - 13 # indicates that the quality of this reading has mixed characteristics
          - 14 # data that has not gone through the validation
          - 15 # the values have been adjusted to account for weather
          - 16 # specifies that a characteristic applies other than those defined
          - 17 # data that has been validated and possibly edited and/or estimated in accordance with approved procedures
          - 18 # data that failed at least one of the required validation checks but was determined to represent actual usage
          - 19 # data that is valid and acceptable for billing purposes
# Enum value descriptions (bit positions and their meanings)
          x-enum-descriptions:
            '0': data that has gone through all required validation checks and either passed them all or has been verified
            '7': Replaced or approved by a human
            '8': data value was replaced by a machine computed value based on analysis of historical data using the same type of measurement.
            '9': data value was computed using linear interpolation based on the readings before and after it
            '10': data that has failed one or more checks
            '11': data that has been calculated (using logic or mathematical operations)
            '12': data that has been calculated as a projection or forecast of future readings
            '13': indicates that the quality of this reading has mixed characteristics
            '14': data that has not gone through the validation
            '15': the values have been adjusted to account for weather
            '16': specifies that a characteristic applies other than those defined
            '17': data that has been validated and possibly edited and/or estimated in accordance with approved procedures
            '18': data that failed at least one of the required validation checks but was determined to represent actual usage
            '19': data that is valid and acceptable for billing purposes
          description: "Default value to be used if no value of ReadingQuality.quality is provided.  \nSpecific format and valid values per the standard are specified in QualityOfReading.\nEnum values:\n  - 0: data that has gone through all required validation checks and either passed them all or has been verified\n  - 7: Replaced or approved by a human\n  - 8: data value was replaced by a machine computed value based on analysis of historical data using the same type of measurement.\n  - 9: data value was computed using linear interpolation based on the readings before and after it\n  - 10: data that has failed one or more checks\n  - 11: data that has been calculated (using logic or mathematical operations)\n  - 12: data that has been calculated as a projection or forecast of future readings\n  - 13: indicates that the quality of this reading has mixed characteristics\n  - 14: data that has not gone through the validation\n  - 15: the values have been adjusted to account for weather\n  - 16: specifies that a characteristic applies other than those defined\n  - 17: data that has been validated and possibly edited and/or estimated in accordance with approved procedures\n  - 18: data that failed at least one of the required validation checks but was determined to represent actual usage\n  - 19: data that is valid and acceptable for billing purposes"
          minimum: 0
          maximum: 65535
        flowDirection:
          description: "Direction associated with current related Readings.\nEnum values:\n  - 0: Not Applicable (N/A)\n  - 1: \"Delivered,\" or \"Imported\" as defined 61968-2.Forward Active Energy is a positive kWh value as one would naturally expect to find as energy is supplied by the utility and consumed at the service. Forward Reactive Energy is a positive VArh value as one would naturally expect to find in the presence of inductive loading. In polyphase metering, the forward energy register is incremented when the sum of the phase energies is greater than zero.\n  - 2: Typically used to describe that a power factor is lagging the reference value. Note 1: When used to describe VA, “lagging” describes a form of measurement where reactive power is considered in all four quadrants, but real power is considered only in quadrants I and IV. Note 2: When used to describe power factor, the term “Lagging” implies that the PF is negative. The term “lagging” in this case takes the place of the negative sign. If a signed PF value is to be passed by the data producer, then the direction of flow enumeration zero (none) should be used in order to avoid the possibility of creating an expression that employs a double negative. The data consumer should be able to tell from the sign of the data if the PF is leading or lagging. This principle is analogous to the concept that “Reverse” energy is an implied negative value, and to publish a negative reverse value would be ambiguous. Note 3: Lagging power factors typically indicate inductive loading.\n  - 3: Typically used to describe that a power factor is leading the reference value. Note: Leading power factors typically indicate capacitive loading.\n  - 4: |Forward| - |Reverse|, See 61968-2.Note: In some systems, the value passed as a “net” value could become negative. In other systems the value passed as a “net” value is always a positive number, and rolls-over and rolls-under as needed.\n  - 5: Reactive positive quadrants. (The term “lagging” is preferred.)\n  - 7: Quadrants 1 and 3\n  - 8: Quadrants 1 and 4 usually represent forward active energy\n  - 9: Q1 minus Q4\n  - 10: Quadrants 2 and 3 usually represent reverse active energy\n  - 11: Quadrants 2 and 4\n  - 12: Q2 minus Q3\n  - 13: Reactive negative quadrants. (The term “leading” is preferred.)\n  - 14: Q3 minus Q2\n  - 15: Q1 only\n  - 16: Q2 only\n  - 17: Q3 only\n  - 18: Q4 only\n  - 19: Reverse Active Energy is equivalent to \"Received,\" or \"Exported\" as defined in 61968-2. Reverse Active Energy is a positive kWh value as one would expect to find when energy is backfed by the service onto the utility network. Reverse Reactive Energy is a positive VArh value as one would expect to find in the presence of capacitive loading and a leading Power Factor. In polyphase metering, the reverse energy register is incremented when the sum of the phase energies is less than zero. Note: The value passed as a reverse value is always a positive value. It is understood by the label “reverse” that it represents negative flow.\n  - 20: |Forward| + |Reverse|, See 61968-2. The sum of the commodity in all quadrants Q1+Q2+Q3+Q4. In polyphase metering, the total energy register is incremented when the absolute value of the sum of the phase energies is greater than zero.\n  - 21: In polyphase metering, the total by phase energy register is incremented when the sum of the absolute values of the phase energies is greater than zero. In single phase metering, the formulas for “Total” and “Total by phase” collapse to the same expression. For communication purposes however, the “Total” enumeration should be used with single phase meter data."
          oneOf:
          - format: uint16
            type: integer
            enum:
            - 0 # Not Applicable (N/A)
            - 1 # "Delivered," or "Imported" as defined 61968-2.Forward Active Energy is a positive kWh value as one would naturally expect to find as energy is supplied by the utility and consumed at the service. Forward Reactive Energy is a positive VArh value as one would naturally expect to find in the presence of inductive loading. In polyphase metering, the forward energy register is incremented when the sum of the phase energies is greater than zero.
            - 2 # Typically used to describe that a power factor is lagging the reference value. Note 1: When used to describe VA, “lagging” describes a form of measurement where reactive power is considered in all four quadrants, but real power is considered only in quadrants I and IV. Note 2: When used to describe power factor, the term “Lagging” implies that the PF is negative. The term “lagging” in this case takes the place of the negative sign. If a signed PF value is to be passed by the data producer, then the direction of flow enumeration zero (none) should be used in order to avoid the possibility of creating an expression that employs a double negative. The data consumer should be able to tell from the sign of the data if the PF is leading or lagging. This principle is analogous to the concept that “Reverse” energy is an implied negative value, and to publish a negative reverse value would be ambiguous. Note 3: Lagging power factors typically indicate inductive loading.
            - 3 # Typically used to describe that a power factor is leading the reference value. Note: Leading power factors typically indicate capacitive loading.
            - 4 # |Forward| - |Reverse|, See 61968-2.Note: In some systems, the value passed as a “net” value could become negative. In other systems the value passed as a “net” value is always a positive number, and rolls-over and rolls-under as needed.
            - 5 # Reactive positive quadrants. (The term “lagging” is preferred.)
            - 7 # Quadrants 1 and 3
            - 8 # Quadrants 1 and 4 usually represent forward active energy
            - 9 # Q1 minus Q4
            - 10 # Quadrants 2 and 3 usually represent reverse active energy
            - 11 # Quadrants 2 and 4
            - 12 # Q2 minus Q3
            - 13 # Reactive negative quadrants. (The term “leading” is preferred.)
            - 14 # Q3 minus Q2
            - 15 # Q1 only
            - 16 # Q2 only
            - 17 # Q3 only
            - 18 # Q4 only
            - 19 # Reverse Active Energy is equivalent to "Received," or "Exported" as defined in 61968-2. Reverse Active Energy is a positive kWh value as one would expect to find when energy is backfed by the service onto the utility network. Reverse Reactive Energy is a positive VArh value as one would expect to find in the presence of capacitive loading and a leading Power Factor. In polyphase metering, the reverse energy register is incremented when the sum of the phase energies is less than zero. Note: The value passed as a reverse value is always a positive value. It is understood by the label “reverse” that it represents negative flow.
            - 20 # |Forward| + |Reverse|, See 61968-2. The sum of the commodity in all quadrants Q1+Q2+Q3+Q4. In polyphase metering, the total energy register is incremented when the absolute value of the sum of the phase energies is greater than zero.
            - 21 # In polyphase metering, the total by phase energy register is incremented when the sum of the absolute values of the phase energies is greater than zero. In single phase metering, the formulas for “Total” and “Total by phase” collapse to the same expression. For communication purposes however, the “Total” enumeration should be used with single phase meter data.
# Enum value descriptions (bit positions and their meanings)
            x-enum-descriptions:
              '0': Not Applicable (N/A)
              '1': '"Delivered," or "Imported" as defined 61968-2.Forward Active Energy is a positive kWh value as one would naturally expect to find as energy is supplied by the utility and consumed at the service. Forward Reactive Energy is a positive VArh value as one would naturally expect to find in the presence of inductive loading. In polyphase metering, the forward energy register is incremented when the sum of the phase energies is greater than zero.'
              '2': 'Typically used to describe that a power factor is lagging the reference value. Note 1: When used to describe VA, “lagging” describes a form of measurement where reactive power is considered in all four quadrants, but real power is considered only in quadrants I and IV. Note 2: When used to describe power factor, the term “Lagging” implies that the PF is negative. The term “lagging” in this case takes the place of the negative sign. If a signed PF value is to be passed by the data producer, then the direction of flow enumeration zero (none) should be used in order to avoid the possibility of creating an expression that employs a double negative. The data consumer should be able to tell from the sign of the data if the PF is leading or lagging. This principle is analogous to the concept that “Reverse” energy is an implied negative value, and to publish a negative reverse value would be ambiguous. Note 3: Lagging power factors typically indicate inductive loading.'
              '3': 'Typically used to describe that a power factor is leading the reference value. Note: Leading power factors typically indicate capacitive loading.'
              '4': '|Forward| - |Reverse|, See 61968-2.Note: In some systems, the value passed as a “net” value could become negative. In other systems the value passed as a “net” value is always a positive number, and rolls-over and rolls-under as needed.'
              '5': Reactive positive quadrants. (The term “lagging” is preferred.)
              '7': Quadrants 1 and 3
              '8': Quadrants 1 and 4 usually represent forward active energy
              '9': Q1 minus Q4
              '10': Quadrants 2 and 3 usually represent reverse active energy
              '11': Quadrants 2 and 4
              '12': Q2 minus Q3
              '13': Reactive negative quadrants. (The term “leading” is preferred.)
              '14': Q3 minus Q2
              '15': Q1 only
              '16': Q2 only
              '17': Q3 only
              '18': Q4 only
              '19': 'Reverse Active Energy is equivalent to "Received," or "Exported" as defined in 61968-2. Reverse Active Energy is a positive kWh value as one would expect to find when energy is backfed by the service onto the utility network. Reverse Reactive Energy is a positive VArh value as one would expect to find in the presence of capacitive loading and a leading Power Factor. In polyphase metering, the reverse energy register is incremented when the sum of the phase energies is less than zero. Note: The value passed as a reverse value is always a positive value. It is understood by the label “reverse” that it represents negative flow.'
              '20': '|Forward| + |Reverse|, See 61968-2. The sum of the commodity in all quadrants Q1+Q2+Q3+Q4. In polyphase metering, the total energy register is incremented when the absolute value of the sum of the phase energies is greater than zero.'
              '21': In polyphase metering, the total by phase energy register is incremented when the sum of the absolute values of the phase energies is greater than zero. In single phase metering, the formulas for “Total” and “Total by phase” collapse to the same expression. For communication purposes however, the “Total” enumeration should be used with single phase meter data.
            minimum: 0
            maximum: 65535
          - type: string
            enum:
            - none
            - forward
            - lagging
            - leading
            - net
            - q1plusQ2
            - reverse
            - total
        intervalLength:
          type: integer
          minimum: 0
          maximum: 4294967295
          description: Default interval length specified in seconds for Readings of ReadingType.
        kind:
          description: "Code for general classification of a Reading of ReadingType.\nEnum values:\n  - 0: Not Applicable\n  - 2: Apparent Power Factor\n  - 3: Currency\n  - 4: Current\n  - 5: Current Angle\n  - 6: Current Imbalance\n  - 7: Date\n  - 8: Demand\n  - 9: Distance\n  - 10: Distortion Volt Amperes\n  - 11: Energization\n  - 12: Energy\n  - 13: Energization Load Side\n  - 14: Fan\n  - 15: Frequency\n  - 16: Funds (Duplication of “currency”)\n  - 17: ieee1366ASAI\n  - 18: ieee1366ASIDI\n  - 19: ieee1366ASIFI\n  - 20: ieee1366CAIDI\n  - 21: ieee1366CAIFI\n  - 22: ieee1366CEMIn\n  - 23: ieee1366CEMSMIn\n  - 24: ieee1366CTAIDI\n  - 25: ieee1366MAIFI\n  - 26: ieee1366MAIFIe\n  - 27: ieee1366SAIDI\n  - 28: ieee1366SAIFI\n  - 31: Line Losses\n  - 32: Losses\n  - 33: Negative Sequence\n  - 34: Phasor Power Factor\n  - 35: Phasor Reactive Power\n  - 36: Positive Sequence\n  - 37: Power\n  - 38: Power Factor\n  - 40: Quantity Power\n  - 41: Sag (Voltage Dip)\n  - 42: Swell\n  - 43: Switch Position\n  - 44: Tap Position\n  - 45: Tariff Rate\n  - 46: Temperature\n  - 47: Total Harmonic Distortion\n  - 48: Transformer Losses\n  - 49: Unipede Voltage Dip 10 to 15\n  - 50: Unipede Voltage Dip 15 to 30\n  - 51: Unipede Voltage Dip 30 to 60\n  - 52: Unipede Voltage Dip 60 to 90\n  - 53: Unipede Voltage Dip 90 to 100\n  - 54: Voltage\n  - 55: Voltage Angle\n  - 56: Voltage Excursion\n  - 57: Voltage Imbalance\n  - 58: Volume (Clarified from Ed. 1. to indicate fluid volume)\n  - 59: Zero Flow Duration\n  - 60: Zero Sequence\n  - 64: Distortion Power Factor\n  - 81: Frequency Excursion (Usually expressed as a “count”)\n  - 90: Application Context\n  - 91: Ap Title\n  - 92: Asset Number\n  - 93: Bandwidth\n  - 94: Battery Voltage\n  - 95: Broadcast Address\n  - 96: Device Address Type 1\n  - 97: Device Address Type 2\n  - 98: Device Address Type 3\n  - 99: Device Address Type 4\n  - 100: Device Class\n  - 101: Electronic Serial Number\n  - 102: End Device ID\n  - 103: Group Address Type 1\n  - 104: Group Address Type 2\n  - 105: Group Address Type 3\n  - 106: Group Address Type 4\n  - 107: IP Address\n  - 108: MAC Address\n  - 109: Mfg Assigned Configuration ID\n  - 110: Mfg Assigned Physical Serial Number\n  - 111: Mfg Assigned Product Number\n  - 112: Mfg Assigned Unique Communication Address\n  - 113: Multicast Address\n  - 114: One Way Address\n  - 115: Signal Strength\n  - 116: Two Way Address\n  - 117: Signal to Noise Ratio (moved here from Attribute #9 UOM)\n  - 118: Alarm\n  - 119: Battery Carryover\n  - 120: Data Overflow Alarm\n  - 121: Demand Limit\n  - 122: Demand Reset (usually expressed as a count as part of a billing cycle)\n  - 123: Diagnostic\n  - 124: Emergency Limit\n  - 125: Encoder Tamper\n  - 126: ieee1366 Momentary Interruption\n  - 127: ieee1366 Momentary Interruption Event\n  - 128: ieee1366 Sustained Interruption\n  - 129: Interruption Behaviour\n  - 130: Inversion Tamper\n  - 131: Load Interrupt\n  - 132: Load Shed\n  - 133: Maintenance\n  - 134: Physical Tamper\n  - 135: Power Loss Tamper\n  - 136: Power Outage\n  - 137: Power Quality\n  - 138: Power Restoration\n  - 139: Programmed\n  - 140: Push Button\n  - 141: Relay Activation\n  - 142: Relay Cycle (usually expressed as a count)\n  - 143: Removal Tamper\n  - 144: Reprogramming Tamper\n  - 145: Reverse Rotation Tamper\n  - 146: Switch Armed\n  - 147: Switch Disabled\n  - 148: Tamper\n  - 149: Watchdog Timeout\n  - 150: Customer’s bill for the previous billing period (Currency)\n  - 151: Customer’s bill, as known thus far within the present billing period (Currency)\n  - 152: Customer’s bill for the (Currency)\n  - 153: Monthly fee for connection to commodity.\n  - 154: Audible Volume (Sound)\n  - 155: Volumetric Flow"
          oneOf:
          - format: uint16
            type: integer
            enum:
            - 0 # Not Applicable
            - 2 # Apparent Power Factor
            - 3 # Currency
            - 4 # Current
            - 5 # Current Angle
            - 6 # Current Imbalance
            - 7 # Date
            - 8 # Demand
            - 9 # Distance
            - 10 # Distortion Volt Amperes
            - 11 # Energization
            - 12 # Energy
            - 13 # Energization Load Side
            - 14 # Fan
            - 15 # Frequency
            - 16 # Funds (Duplication of “currency”)
            - 17 # ieee1366ASAI
            - 18 # ieee1366ASIDI
            - 19 # ieee1366ASIFI
            - 20 # ieee1366CAIDI
            - 21 # ieee1366CAIFI
            - 22 # ieee1366CEMIn
            - 23 # ieee1366CEMSMIn
            - 24 # ieee1366CTAIDI
            - 25 # ieee1366MAIFI
            - 26 # ieee1366MAIFIe
            - 27 # ieee1366SAIDI
            - 28 # ieee1366SAIFI
            - 31 # Line Losses
            - 32 # Losses
            - 33 # Negative Sequence
            - 34 # Phasor Power Factor
            - 35 # Phasor Reactive Power
            - 36 # Positive Sequence
            - 37 # Power
            - 38 # Power Factor
            - 40 # Quantity Power
            - 41 # Sag (Voltage Dip)
            - 42 # Swell
            - 43 # Switch Position
            - 44 # Tap Position
            - 45 # Tariff Rate
            - 46 # Temperature
            - 47 # Total Harmonic Distortion
            - 48 # Transformer Losses
            - 49 # Unipede Voltage Dip 10 to 15
            - 50 # Unipede Voltage Dip 15 to 30
            - 51 # Unipede Voltage Dip 30 to 60
            - 52 # Unipede Voltage Dip 60 to 90
            - 53 # Unipede Voltage Dip 90 to 100
            - 54 # Voltage
            - 55 # Voltage Angle
            - 56 # Voltage Excursion
            - 57 # Voltage Imbalance
            - 58 # Volume (Clarified from Ed. 1. to indicate fluid volume)
            - 59 # Zero Flow Duration
            - 60 # Zero Sequence
            - 64 # Distortion Power Factor
            - 81 # Frequency Excursion (Usually expressed as a “count”)
            - 90 # Application Context
            - 91 # Ap Title
            - 92 # Asset Number
            - 93 # Bandwidth
            - 94 # Battery Voltage
            - 95 # Broadcast Address
            - 96 # Device Address Type 1
            - 97 # Device Address Type 2
            - 98 # Device Address Type 3
            - 99 # Device Address Type 4
            - 100 # Device Class
            - 101 # Electronic Serial Number
            - 102 # End Device ID
            - 103 # Group Address Type 1
            - 104 # Group Address Type 2
            - 105 # Group Address Type 3
            - 106 # Group Address Type 4
            - 107 # IP Address
            - 108 # MAC Address
            - 109 # Mfg Assigned Configuration ID
            - 110 # Mfg Assigned Physical Serial Number
            - 111 # Mfg Assigned Product Number
            - 112 # Mfg Assigned Unique Communication Address
            - 113 # Multicast Address
            - 114 # One Way Address
            - 115 # Signal Strength
            - 116 # Two Way Address
            - 117 # Signal to Noise Ratio (moved here from Attribute #9 UOM)
            - 118 # Alarm
            - 119 # Battery Carryover
            - 120 # Data Overflow Alarm
            - 121 # Demand Limit
            - 122 # Demand Reset (usually expressed as a count as part of a billing cycle)
            - 123 # Diagnostic
            - 124 # Emergency Limit
            - 125 # Encoder Tamper
            - 126 # ieee1366 Momentary Interruption
            - 127 # ieee1366 Momentary Interruption Event
            - 128 # ieee1366 Sustained Interruption
            - 129 # Interruption Behaviour
            - 130 # Inversion Tamper
            - 131 # Load Interrupt
            - 132 # Load Shed
            - 133 # Maintenance
            - 134 # Physical Tamper
            - 135 # Power Loss Tamper
            - 136 # Power Outage
            - 137 # Power Quality
            - 138 # Power Restoration
            - 139 # Programmed
            - 140 # Push Button
            - 141 # Relay Activation
            - 142 # Relay Cycle (usually expressed as a count)
            - 143 # Removal Tamper
            - 144 # Reprogramming Tamper
            - 145 # Reverse Rotation Tamper
            - 146 # Switch Armed
            - 147 # Switch Disabled
            - 148 # Tamper
            - 149 # Watchdog Timeout
            - 150 # Customer’s bill for the previous billing period (Currency)
            - 151 # Customer’s bill, as known thus far within the present billing period (Currency)
            - 152 # Customer’s bill for the (Currency)
            - 153 # Monthly fee for connection to commodity.
            - 154 # Audible Volume (Sound)
            - 155 # Volumetric Flow
# Enum value descriptions (bit positions and their meanings)
            x-enum-descriptions:
              '0': Not Applicable
              '2': Apparent Power Factor
              '3': Currency
              '4': Current
              '5': Current Angle
              '6': Current Imbalance
              '7': Date
              '8': Demand
              '9': Distance
              '10': Distortion Volt Amperes
              '11': Energization
              '12': Energy
              '13': Energization Load Side
              '14': Fan
              '15': Frequency
              '16': Funds (Duplication of “currency”)
              '17': ieee1366ASAI
              '18': ieee1366ASIDI
              '19': ieee1366ASIFI
              '20': ieee1366CAIDI
              '21': ieee1366CAIFI
              '22': ieee1366CEMIn
              '23': ieee1366CEMSMIn
              '24': ieee1366CTAIDI
              '25': ieee1366MAIFI
              '26': ieee1366MAIFIe
              '27': ieee1366SAIDI
              '28': ieee1366SAIFI
              '31': Line Losses
              '32': Losses
              '33': Negative Sequence
              '34': Phasor Power Factor
              '35': Phasor Reactive Power
              '36': Positive Sequence
              '37': Power
              '38': Power Factor
              '40': Quantity Power
              '41': Sag (Voltage Dip)
              '42': Swell
              '43': Switch Position
              '44': Tap Position
              '45': Tariff Rate
              '46': Temperature
              '47': Total Harmonic Distortion
              '48': Transformer Losses
              '49': Unipede Voltage Dip 10 to 15
              '50': Unipede Voltage Dip 15 to 30
              '51': Unipede Voltage Dip 30 to 60
              '52': Unipede Voltage Dip 60 to 90
              '53': Unipede Voltage Dip 90 to 100
              '54': Voltage
              '55': Voltage Angle
              '56': Voltage Excursion
              '57': Voltage Imbalance
              '58': Volume (Clarified from Ed. 1. to indicate fluid volume)
              '59': Zero Flow Duration
              '60': Zero Sequence
              '64': Distortion Power Factor
              '81': Frequency Excursion (Usually expressed as a “count”)
              '90': Application Context
              '91': Ap Title
              '92': Asset Number
              '93': Bandwidth
              '94': Battery Voltage
              '95': Broadcast Address
              '96': Device Address Type 1
              '97': Device Address Type 2
              '98': Device Address Type 3
              '99': Device Address Type 4
              '100': Device Class
              '101': Electronic Serial Number
              '102': End Device ID
              '103': Group Address Type 1
              '104': Group Address Type 2
              '105': Group Address Type 3
              '106': Group Address Type 4
              '107': IP Address
              '108': MAC Address
              '109': Mfg Assigned Configuration ID
              '110': Mfg Assigned Physical Serial Number
              '111': Mfg Assigned Product Number
              '112': Mfg Assigned Unique Communication Address
              '113': Multicast Address
              '114': One Way Address
              '115': Signal Strength
              '116': Two Way Address
              '117': 'Signal to Noise Ratio (moved here from Attribute #9 UOM)'
              '118': Alarm
              '119': Battery Carryover
              '120': Data Overflow Alarm
              '121': Demand Limit
              '122': Demand Reset (usually expressed as a count as part of a billing cycle)
              '123': Diagnostic
              '124': Emergency Limit
              '125': Encoder Tamper
              '126': ieee1366 Momentary Interruption
              '127': ieee1366 Momentary Interruption Event
              '128': ieee1366 Sustained Interruption
              '129': Interruption Behaviour
              '130': Inversion Tamper
              '131': Load Interrupt
              '132': Load Shed
              '133': Maintenance
              '134': Physical Tamper
              '135': Power Loss Tamper
              '136': Power Outage
              '137': Power Quality
              '138': Power Restoration
              '139': Programmed
              '140': Push Button
              '141': Relay Activation
              '142': Relay Cycle (usually expressed as a count)
              '143': Removal Tamper
              '144': Reprogramming Tamper
              '145': Reverse Rotation Tamper
              '146': Switch Armed
              '147': Switch Disabled
              '148': Tamper
              '149': Watchdog Timeout
              '150': Customer’s bill for the previous billing period (Currency)
              '151': Customer’s bill, as known thus far within the present billing period (Currency)
              '152': Customer’s bill for the (Currency)
              '153': Monthly fee for connection to commodity.
              '154': Audible Volume (Sound)
              '155': Volumetric Flow
            minimum: 0
            maximum: 65535
          - type: string
            enum:
            - none
            - energy
            - demand
            - power
            - current
            - voltage
            - frequency
            - powerFactor
            - apparentPowerFactor
            - quantityPower
            - volumetricFlow
        phase:
          description: "Code for phase information associated with Readings of ReadingType.\nEnum values:\n  - 225: ABC to Neutral\n  - 224: Involving all phases\n  - 193: AB to Neutral\n  - 41: Phases A, C and neutral.\n  - 97: BC to neutral.\n  - 132: Phases A to B\n  - 96: Phases A and C\n  - 66: Phases B to C\n  - 129: Phases A to neutral.\n  - 65: Phases B to neutral.\n  - 33: Phases C to neutral.\n  - 128: Phase A.\n  - 64: Phase B.\n  - 32: Phase C.\n  - 16: Neutral\n  - 272: Phase S2 to neutral.\n  - 784: Phase S1, S2 to neutral.\n  - 528: Phase S1 to Neutral\n  - 256: Phase S2.\n  - 768: Phase S1 to S2\n  - 769: Phase S1, S2 to N\n  - 0: Not applicable to any phase\n  - 136: Phase A current relative to Phase A voltage\n  - 72: Phase B current or voltage relative to Phase A voltage\n  - 40: Phase C current or voltage relative to Phase A voltage\n  - 17: Neutral to ground\n  - 512: Phase S1"
          oneOf:
          - format: uint16
            type: integer
            enum:
            - 225 # ABC to Neutral
            - 224 # Involving all phases
            - 193 # AB to Neutral
            - 41 # Phases A, C and neutral.
            - 97 # BC to neutral.
            - 132 # Phases A to B
            - 96 # Phases A and C
            - 66 # Phases B to C
            - 129 # Phases A to neutral.
            - 65 # Phases B to neutral.
            - 33 # Phases C to neutral.
            - 128 # Phase A.
            - 64 # Phase B.
            - 32 # Phase C.
            - 16 # Neutral
            - 272 # Phase S2 to neutral.
            - 784 # Phase S1, S2 to neutral.
            - 528 # Phase S1 to Neutral
            - 256 # Phase S2.
            - 768 # Phase S1 to S2
            - 769 # Phase S1, S2 to N
            - 0 # Not applicable to any phase
            - 136 # Phase A current relative to Phase A voltage
            - 72 # Phase B current or voltage relative to Phase A voltage
            - 40 # Phase C current or voltage relative to Phase A voltage
            - 17 # Neutral to ground
            - 512 # Phase S1
# Enum value descriptions (bit positions and their meanings)
            x-enum-descriptions:
              '225': ABC to Neutral
              '224': Involving all phases
              '193': AB to Neutral
              '41': Phases A, C and neutral.
              '97': BC to neutral.
              '132': Phases A to B
              '96': Phases A and C
              '66': Phases B to C
              '129': Phases A to neutral.
              '65': Phases B to neutral.
              '33': Phases C to neutral.
              '128': Phase A.
              '64': Phase B.
              '32': Phase C.
              '16': Neutral
              '272': Phase S2 to neutral.
              '784': Phase S1, S2 to neutral.
              '528': Phase S1 to Neutral
              '256': Phase S2.
              '768': Phase S1 to S2
              '769': Phase S1, S2 to N
              '0': Not applicable to any phase
              '136': Phase A current relative to Phase A voltage
              '72': Phase B current or voltage relative to Phase A voltage
              '40': Phase C current or voltage relative to Phase A voltage
              '17': Neutral to ground
              '512': Phase S1
            minimum: 0
            maximum: 65535
          - type: string
            enum:
            - notApplicable
            - phaseAN
            - phaseBN
            - phaseCN
            - phaseAB
            - phaseBC
            - phaseCA
            - phaseABC
        powerOfTenMultiplier:
          format: int16
          type: integer
          enum:
          - -12  # Pico 10**-12
          - -9 # Nano 10**-9
          - -6 # Micro 10**-6
          - -3 # Milli 10**-3
          - -2 # Centi 10**-2
          - -1 # Deci 10**-1
          - 3 # Kilo 10**3
          - 6 # Mega 10**6
          - 9 # Giga 10**9
          - 12 # Tera 10**12
          - 0 # Not Applicable or "x1"
          - 1 # deca 10**1
          - 2 # hecto 10**2
# Enum value descriptions (bit positions and their meanings)
          x-enum-descriptions:
            '-12': Pico 10**-12
            '-9': Nano 10**-9
            '-6': Micro 10**-6
            '-3': Milli 10**-3
            '-2': Centi 10**-2
            '-1': Deci 10**-1
            '3': Kilo 10**3
            '6': Mega 10**6
            '9': Giga 10**9
            '12': Tera 10**12
            '0': Not Applicable or "x1"
            '1': deca 10**1
            '2': hecto 10**2
          description: "Code for the power of ten multiplier which, when used in combination with the uom, specifies the actual unit of measure for Readings of ReadingType.\nEnum values:\n  - -12: Pico 10**-12\n  - -9: Nano 10**-9\n  - -6: Micro 10**-6\n  - -3: Milli 10**-3\n  - -2: Centi 10**-2\n  - -1: Deci 10**-1\n  - 3: Kilo 10**3\n  - 6: Mega 10**6\n  - 9: Giga 10**9\n  - 12: Tera 10**12\n  - 0: Not Applicable or \"x1\"\n  - 1: deca 10**1\n  - 2: hecto 10**2"
        timeAttribute:
          format: uint16
          type: integer
          enum:
          - 0  # Not Applicable
          - 8 # Captured during the billing period starting at midnight of the first day of the billing period (as defined by the billing cycle day). If during the current billing period, it specifies a period from the start of the current billing period until "now".
          - 11 # Daily Period starting at midnight. If for the current day, this specifies the time from midnight to "now".
          - 13 # Monthly period starting at midnight on the first day of the month. If within the current month, this specifies the period from the start of the month until "now."
          - 22 # A season of time spanning multiple months. E.g. "Summer," "Spring," "Fall," and "Winter" based cycle. If within the current season, it specifies the period from the start of the current season until "now."
          - 24 # Weekly period starting at midnight on the first day of the week and ending the instant before midnight the last day of the week. If within the current week, it specifies the period from the start of the week until "now."
          - 32 # For the period defined by the start and end of the TimePeriod element in the message.
# Enum value descriptions (bit positions and their meanings)
          x-enum-descriptions:
            '0': Not Applicable
            '8': Captured during the billing period starting at midnight of the first day of the billing period (as defined by the billing cycle day). If during the current billing period, it specifies a period from the start of the current billing period until "now".
            '11': Daily Period starting at midnight. If for the current day, this specifies the time from midnight to "now".
            '13': Monthly period starting at midnight on the first day of the month. If within the current month, this specifies the period from the start of the month until "now."
            '22': A season of time spanning multiple months. E.g. "Summer," "Spring," "Fall," and "Winter" based cycle. If within the current season, it specifies the period from the start of the current season until "now."
            '24': Weekly period starting at midnight on the first day of the week and ending the instant before midnight the last day of the week. If within the current week, it specifies the period from the start of the week until "now."
            '32': For the period defined by the start and end of the TimePeriod element in the message.
          description: "Code used to specify a particular type of time interval method for Readings of ReadingType.\nEnum values:\n  - 0: Not Applicable\n  - 8: Captured during the billing period starting at midnight of the first day of the billing period (as defined by the billing cycle day). If during the current billing period, it specifies a period from the start of the current billing period until \"now\".\n  - 11: Daily Period starting at midnight. If for the current day, this specifies the time from midnight to \"now\".\n  - 13: Monthly period starting at midnight on the first day of the month. If within the current month, this specifies the period from the start of the month until \"now.\"\n  - 22: A season of time spanning multiple months. E.g. \"Summer,\" \"Spring,\" \"Fall,\" and \"Winter\" based cycle. If within the current season, it specifies the period from the start of the current season until \"now.\"\n  - 24: Weekly period starting at midnight on the first day of the week and ending the instant before midnight the last day of the week. If within the current week, it specifies the period from the start of the week until \"now.\"\n  - 32: For the period defined by the start and end of the TimePeriod element in the message."
          minimum: 0
          maximum: 65535
        tou:
          type: integer
          description: Code for the TOU type of Readings of ReadingType.
        uom:
          description: "Code for the base unit of measure for Readings of ReadingType.  Used in combination with the powerOfTenMultiplier to specify the actual unit of measure\nEnum values:\n  - 61: Apparent power, Volt Ampere (See also real power and reactive power.), VA\n  - 38: Real power, Watt. By definition, one Watt equals one Joule per second. Electrical power may have real and reactive components. The real portion of electrical power (I²R) or VIcos?, is expressed in Watts. (See also apparent power and reactive power.), W\n  - 63: Reactive power, Volt Ampere reactive. The “reactive” or “imaginary” component of electrical power (VISin?). (See also real power and apparent power)., VAr\n  - 71: Apparent energy, Volt Ampere hours, VAh\n  - 72: Real energy, Watt hours, Wh\n  - 73: Reactive energy, Volt Ampere reactive hours, VArh\n  - 29: Electric potential, Volt (W/A), V\n  - 30: Electric resistance, Ohm (V/A), O\n  - 5: Current, ampere, A\n  - 25: Electric capacitance, Farad (C/V), °C\n  - 28: Electric inductance, Henry (Wb/A), H\n  - 23: Relative temperature in degrees Celsius. In the SI unit system the symbol is ºC. Electric charge is measured in coulomb that has the unit symbol C. To distinguish degree Celsius from coulomb the symbol used in the UML is degC. Reason for not using ºC is the special character º is difficult to manage in software.\n  - 27: Time, seconds, s\n  - 159: Time, minute = s * 60, min\n  - 160: Time, hour = minute * 60, h\n  - 9: Plane angle, degrees, deg\n  - 10: Plane angle, Radian (m/m), rad\n  - 31: Energy joule, (N·m = C·V = W·s), J\n  - 32: Force newton, (kg m/s²), N\n  - 53: Electric conductance, Siemens (A / V = 1 / O), S\n  - 0: N/A, None\n  - 33: Frequency hertz, (1/s), Hz\n  - 3: Mass in gram, g\n  - 39: Pressure, Pascal (N/m²)(Note: the absolute or relative measurement of pressure is implied with this entry. See below for more explicit forms.), Pa\n  - 2: Length, meter, m\n  - 41: Area, square meter, m²\n  - 42: Volume, cubic meter, m³\n  - 69: Amps squared, amp squared, A2\n  - 105: ampere-squared, Ampere-squared hour, A²h\n  - 70: Amps squared time, square amp second, A²s\n  - 106: Ampere-hours, Ampere-hours, Ah\n  - 152: Current, Ratio of Amperages, A/A\n  - 103: A/m, magnetic field strength, Ampere per metre, A/m\n  - 68: Amp seconds, amp seconds, As\n  - 79: Sound pressure level, Bel, acoustic, Combine with multiplier prefix “d” to form decibels of Sound Pressure Level“dB (SPL).”, B (SPL)\n  - 113: Signal Strength, Bel-mW, normalized to 1mW. Note: to form “dBm” combine “Bm” with multiplier “d”. Bm\n  - 22: Radioactivity, Becquerel (1/s), Bq\n  - 132: Energy, British Thermal Units, BTU\n  - 133: Power, BTU per hour, BTU/h\n  - 8: Luminous intensity, candela, cd\n  - 76: Number of characters, characters, char\n  - 75: Rate of change of frequency, hertz per second, Hz/s\n  - 114: Application Value, encoded value, code\n  - 65: Power factor, Dimensionless, cos?\n  - 111: Amount of substance, counter value, count\n  - 119: Volume, cubic feet, ft³\n  - 120: Volume, cubic feet, ft³(compensated)\n  - 123: Volumetric flow rate, compensated cubic feet per hour, ft³(compensated)/h\n  - 78: Turbine inertia, gram·meter2 (Combine with multiplier prefix “k” to form kg·m2.), gm²\n  - 144: Concentration, The ratio of the mass of a solute divided by the mass of the solution., g/g\n  - 21: Absorbed dose, Gray (J/kg), GY\n  - 150: Frequency, Rate of frequency change, Hz/Hz\n  - 77: Data rate, characters per second, char/s\n  - 130: Volume, imperial gallons, ImperialGal\n  - 131: Volumetric flow rate, Imperial gallons per hour, ImperialGal/h\n  - 51: Heat capacity, Joule/Kelvin, J/K\n  - 165: Specific energy, Joules / kg, J/kg\n  - 6: Temperature, Kelvin, K\n  - 158: Catalytic activity, katal = mol / s, kat\n  - 47: Moment of mass ,kilogram meter (kg·m), M\n  - 48: Density, gram/cubic meter (combine with prefix multiplier “k” to form kg/ m³), g/m³\n  - 134: Volume, litre = dm3 = m3/1000., L\n  - 157: Volume, litre, with the value compensated for weather effects, L(compensated)\n  - 138: Volumetric flow rate, litres (compensated) per hour, L(compensated)/h\n  - 137: Volumetric flow rate, litres per hour, L/h\n  - 143: Concentration, The ratio of the volume of a solute divided by the volume of the solution., L/L\n  - 82: Volumetric flow rate, Volumetric flow rate, L/s\n  - 156: Volume, litre, with the value uncompensated for weather effects., L(uncompensated)\n  - 139: Volumetric flow rate, litres (uncompensated) per hour, L(uncompensated)/h\n  - 35: Luminous flux, lumen (cd sr), Lm\n  - 34: Illuminance lux, (lm/m²), L(uncompensated)/h\n  - 49: Viscosity, meter squared / second, m²/s\n  - 167: Volume, cubic meter, with the value compensated for weather effects., m3(compensated)\n  - 126: Volumetric flow rate, compensated cubic meters per hour, ³(compensated)/h\n  - 125: Volumetric flow rate, cubic meters per hour, m³/h\n  - 45: m3PerSec, cubic meters per second, m³/s\n  - 166: m3uncompensated, cubic meter, with the value uncompensated for weather effects., m3(uncompensated)\n  - 127: Volumetric flow rate, uncompensated cubic meters per hour, m³(uncompensated)/h\n  - 118: EndDeviceEvent, value to be interpreted as a EndDeviceEventCode, meCode\n  - 7: Amount of substance, mole, mol\n  - 147: Concentration, Molality, the amount of solute in moles and the amount of solvent in kilograms., mol/kg\n  - 145: Concentration, The amount of substance concentration, (c), the amount of solvent in moles divided by the volume of solution in m³., mol/ m³\n  - 146: Concentration, Molar fraction (?), the ratio of the molar amount of a solute divided by the molar amount of the solution.,mol/mol\n  - 80: Monetary unit, Generic money (Note: Specific monetary units are identified the currency class)., ¤\n  - 148: Length, Ratio of length, m/m\n  - 46: Fuel efficiency, meters / cubic meter, m/m³\n  - 43: Velocity, meters per second (m/s), m/s\n  - 44: Acceleration, meters per second squared, m/s²\n  - 102: resistivity, ? (rho), ?m\n  - 155: Pressure, Pascal, absolute pressure, PaA\n  - 140: Pressure, Pascal, gauge pressure, PaG\n  - 141: Pressure, Pounds per square inch, absolute, psiA\n  - 142: Pressure, Pounds per square inch, gauge, psiG\n  - 100: Quantity power, Q, Q\n  - 161: Quantity power, Q measured at 45º, Q45\n  - 163: Quantity energy, Q measured at 45º, Q45h\n  - 162: Quantity power, Q measured at 60º, Q60\n  - 164: Quantity energy, Qh measured at 60º, Q60h\n  - 101: Quantity energy, Qh, Qh\n  - 54: Angular velocity, radians per second, rad/s\n  - 154: Amount of rotation, Revolutions, rev\n  - 4: Rotational speed, Rotations per second, rev/s\n  - 149: Time, Ratio of time (can be combined with an multiplier prefix to show rates such as a clock drift rate, e.g. “µs/s”), s/s\n  - 11: Solid angle, Steradian (m2/m2), sr\n  - 109: State, \"1\" = \"true\", \"live\", \"on\", \"high\", \"set\"; \"0\" = \"false\", \"dead\", \"off\", \"low\", \"cleared\". Note: A Boolean value is preferred but other values may be supported, status\n  - 24: Doe equivalent, Sievert (J/kg), Sv\n  - 37: Magnetic flux density, Tesla (Wb/m2), T\n  - 169: Energy, Therm, therm\n  - 108: Timestamp, time and date per ISO 8601 format, timeStamp\n  - 128: Volume, US gallons, Gal\n  - 129: Volumetric flow rate, US gallons per hour, USGal/h\n  - 67: Volts squared, Volt squared (W2/A2), V²\n  - 104: volt-squared hour, Volt-squared-hours, V²h\n  - 117: Kh-Vah, apparent energy metering constant, VAh/rev\n  - 116: Kh-VArh, reactive energy metering constant, VArh/rev\n  - 74: Magnetic flux, Volts per Hertz, V/Hz\n  - 151: Voltage, Ratio of voltages (e.g. mV/V), V/V\n  - 66: Volt seconds, Volt seconds (Ws/A), Vs\n  - 36: Magnetic flux, Weber (V s), Wb\n  - 107: Wh/m3, energy per volume, Wh/m³\n  - 115: Kh-Wh, active energy metering constant, Wh/rev\n  - 50: Thermal conductivity, Watt/meter Kelvin, W/m K\n  - 81: Ramp rate, Watts per second, W/s\n  - 153: Power Factor, PF, W/VA\n  - 168: Signal Strength, Ratio of power, W/W"
          oneOf:
          - format: uint16
            type: integer
            enum:
            - 61 # Apparent power, Volt Ampere (See also real power and reactive power.), VA
            - 38 # Real power, Watt. By definition, one Watt equals one Joule per second. Electrical power may have real and reactive components. The real portion of electrical power (I²R) or VIcos?, is expressed in Watts. (See also apparent power and reactive power.), W
            - 63 # Reactive power, Volt Ampere reactive. The “reactive” or “imaginary” component of electrical power (VISin?). (See also real power and apparent power)., VAr
            - 71 # Apparent energy, Volt Ampere hours, VAh
            - 72 # Real energy, Watt hours, Wh
            - 73 # Reactive energy, Volt Ampere reactive hours, VArh
            - 29 # Electric potential, Volt (W/A), V
            - 30 # Electric resistance, Ohm (V/A), O
            - 5 # Current, ampere, A
            - 25 # Electric capacitance, Farad (C/V), °C
            - 28 # Electric inductance, Henry (Wb/A), H
            - 23 # Relative temperature in degrees Celsius. In the SI unit system the symbol is ºC. Electric charge is measured in coulomb that has the unit symbol C. To distinguish degree Celsius from coulomb the symbol used in the UML is degC. Reason for not using ºC is the special character º is difficult to manage in software.
            - 27 # Time, seconds, s
            - 159 # Time, minute = s * 60, min
            - 160 # Time, hour = minute * 60, h
            - 9 # Plane angle, degrees, deg
            - 10 # Plane angle, Radian (m/m), rad
            - 31 # Energy joule, (N·m = C·V = W·s), J
            - 32 # Force newton, (kg m/s²), N
            - 53 # Electric conductance, Siemens (A / V = 1 / O), S
            - 0 # N/A, None
            - 33 # Frequency hertz, (1/s), Hz
            - 3 # Mass in gram, g
            - 39 # Pressure, Pascal (N/m²)(Note: the absolute or relative measurement of pressure is implied with this entry. See below for more explicit forms.), Pa
            - 2 # Length, meter, m
            - 41 # Area, square meter, m²
            - 42 # Volume, cubic meter, m³
            - 69 # Amps squared, amp squared, A2
            - 105 # ampere-squared, Ampere-squared hour, A²h
            - 70 # Amps squared time, square amp second, A²s
            - 106 # Ampere-hours, Ampere-hours, Ah
            - 152 # Current, Ratio of Amperages, A/A
            - 103 # A/m, magnetic field strength, Ampere per metre, A/m
            - 68 # Amp seconds, amp seconds, As
            - 79 # Sound pressure level, Bel, acoustic, Combine with multiplier prefix “d” to form decibels of Sound Pressure Level“dB (SPL).”, B (SPL)
            - 113 # Signal Strength, Bel-mW, normalized to 1mW. Note: to form “dBm” combine “Bm” with multiplier “d”. Bm
            - 22 # Radioactivity, Becquerel (1/s), Bq
            - 132 # Energy, British Thermal Units, BTU
            - 133 # Power, BTU per hour, BTU/h
            - 8 # Luminous intensity, candela, cd
            - 76 # Number of characters, characters, char
            - 75 # Rate of change of frequency, hertz per second, Hz/s
            - 114 # Application Value, encoded value, code
            - 65 # Power factor, Dimensionless, cos?
            - 111 # Amount of substance, counter value, count
            - 119 # Volume, cubic feet, ft³
            - 120 # Volume, cubic feet, ft³(compensated)
            - 123 # Volumetric flow rate, compensated cubic feet per hour, ft³(compensated)/h
            - 78 # Turbine inertia, gram·meter2 (Combine with multiplier prefix “k” to form kg·m2.), gm²
            - 144 # Concentration, The ratio of the mass of a solute divided by the mass of the solution., g/g
            - 21 # Absorbed dose, Gray (J/kg), GY
            - 150 # Frequency, Rate of frequency change, Hz/Hz
            - 77 # Data rate, characters per second, char/s
            - 130 # Volume, imperial gallons, ImperialGal
            - 131 # Volumetric flow rate, Imperial gallons per hour, ImperialGal/h
            - 51 # Heat capacity, Joule/Kelvin, J/K
            - 165 # Specific energy, Joules / kg, J/kg
            - 6 # Temperature, Kelvin, K
            - 158 # Catalytic activity, katal = mol / s, kat
            - 47 # Moment of mass ,kilogram meter (kg·m), M
            - 48 # Density, gram/cubic meter (combine with prefix multiplier “k” to form kg/ m³), g/m³
            - 134 # Volume, litre = dm3 = m3/1000., L
            - 157 # Volume, litre, with the value compensated for weather effects, L(compensated)
            - 138 # Volumetric flow rate, litres (compensated) per hour, L(compensated)/h
            - 137 # Volumetric flow rate, litres per hour, L/h
            - 143 # Concentration, The ratio of the volume of a solute divided by the volume of the solution., L/L
            - 82 # Volumetric flow rate, Volumetric flow rate, L/s
            - 156 # Volume, litre, with the value uncompensated for weather effects., L(uncompensated)
            - 139 # Volumetric flow rate, litres (uncompensated) per hour, L(uncompensated)/h
            - 35 # Luminous flux, lumen (cd sr), Lm
            - 34 # Illuminance lux, (lm/m²), L(uncompensated)/h
            - 49 # Viscosity, meter squared / second, m²/s
            - 167 # Volume, cubic meter, with the value compensated for weather effects., m3(compensated)
            - 126 # Volumetric flow rate, compensated cubic meters per hour, ³(compensated)/h
            - 125 # Volumetric flow rate, cubic meters per hour, m³/h
            - 45 # m3PerSec, cubic meters per second, m³/s
            - 166 # m3uncompensated, cubic meter, with the value uncompensated for weather effects., m3(uncompensated)
            - 127 # Volumetric flow rate, uncompensated cubic meters per hour, m³(uncompensated)/h
            - 118 # EndDeviceEvent, value to be interpreted as a EndDeviceEventCode, meCode
            - 7 # Amount of substance, mole, mol
            - 147 # Concentration, Molality, the amount of solute in moles and the amount of solvent in kilograms., mol/kg
            - 145 # Concentration, The amount of substance concentration, (c), the amount of solvent in moles divided by the volume of solution in m³., mol/ m³
            - 146 # Concentration, Molar fraction (?), the ratio of the molar amount of a solute divided by the molar amount of the solution.,mol/mol
            - 80 # Monetary unit, Generic money (Note: Specific monetary units are identified the currency class)., ¤
            - 148 # Length, Ratio of length, m/m
            - 46 # Fuel efficiency, meters / cubic meter, m/m³
            - 43 # Velocity, meters per second (m/s), m/s
            - 44 # Acceleration, meters per second squared, m/s²
            - 102 # resistivity, ? (rho), ?m
            - 155 # Pressure, Pascal, absolute pressure, PaA
            - 140 # Pressure, Pascal, gauge pressure, PaG
            - 141 # Pressure, Pounds per square inch, absolute, psiA
            - 142 # Pressure, Pounds per square inch, gauge, psiG
            - 100 # Quantity power, Q, Q
            - 161 # Quantity power, Q measured at 45º, Q45
            - 163 # Quantity energy, Q measured at 45º, Q45h
            - 162 # Quantity power, Q measured at 60º, Q60
            - 164 # Quantity energy, Qh measured at 60º, Q60h
            - 101 # Quantity energy, Qh, Qh
            - 54 # Angular velocity, radians per second, rad/s
            - 154 # Amount of rotation, Revolutions, rev
            - 4 # Rotational speed, Rotations per second, rev/s
            - 149 # Time, Ratio of time (can be combined with an multiplier prefix to show rates such as a clock drift rate, e.g. “µs/s”), s/s
            - 11 # Solid angle, Steradian (m2/m2), sr
            - 109 # State, "1" = "true", "live", "on", "high", "set"; "0" = "false", "dead", "off", "low", "cleared". Note: A Boolean value is preferred but other values may be supported, status
            - 24 # Doe equivalent, Sievert (J/kg), Sv
            - 37 # Magnetic flux density, Tesla (Wb/m2), T
            - 169 # Energy, Therm, therm
            - 108 # Timestamp, time and date per ISO 8601 format, timeStamp
            - 128 # Volume, US gallons, Gal
            - 129 # Volumetric flow rate, US gallons per hour, USGal/h
            - 67 # Volts squared, Volt squared (W2/A2), V²
            - 104 # volt-squared hour, Volt-squared-hours, V²h
            - 117 # Kh-Vah, apparent energy metering constant, VAh/rev
            - 116 # Kh-VArh, reactive energy metering constant, VArh/rev
            - 74 # Magnetic flux, Volts per Hertz, V/Hz
            - 151 # Voltage, Ratio of voltages (e.g. mV/V), V/V
            - 66 # Volt seconds, Volt seconds (Ws/A), Vs
            - 36 # Magnetic flux, Weber (V s), Wb
            - 107 # Wh/m3, energy per volume, Wh/m³
            - 115 # Kh-Wh, active energy metering constant, Wh/rev
            - 50 # Thermal conductivity, Watt/meter Kelvin, W/m K
            - 81 # Ramp rate, Watts per second, W/s
            - 153 # Power Factor, PF, W/VA
            - 168 # Signal Strength, Ratio of power, W/W
# Enum value descriptions (bit positions and their meanings)
            x-enum-descriptions:
              '61': Apparent power, Volt Ampere (See also real power and reactive power.), VA
              '38': Real power, Watt. By definition, one Watt equals one Joule per second. Electrical power may have real and reactive components. The real portion of electrical power (I²R) or VIcos?, is expressed in Watts. (See also apparent power and reactive power.), W
              '63': Reactive power, Volt Ampere reactive. The “reactive” or “imaginary” component of electrical power (VISin?). (See also real power and apparent power)., VAr
              '71': Apparent energy, Volt Ampere hours, VAh
              '72': Real energy, Watt hours, Wh
              '73': Reactive energy, Volt Ampere reactive hours, VArh
              '29': Electric potential, Volt (W/A), V
              '30': Electric resistance, Ohm (V/A), O
              '5': Current, ampere, A
              '25': Electric capacitance, Farad (C/V), °C
              '28': Electric inductance, Henry (Wb/A), H
              '23': Relative temperature in degrees Celsius. In the SI unit system the symbol is ºC. Electric charge is measured in coulomb that has the unit symbol C. To distinguish degree Celsius from coulomb the symbol used in the UML is degC. Reason for not using ºC is the special character º is difficult to manage in software.
              '27': Time, seconds, s
              '159': Time, minute = s * 60, min
              '160': Time, hour = minute * 60, h
              '9': Plane angle, degrees, deg
              '10': Plane angle, Radian (m/m), rad
              '31': Energy joule, (N·m = C·V = W·s), J
              '32': Force newton, (kg m/s²), N
              '53': Electric conductance, Siemens (A / V = 1 / O), S
              '0': N/A, None
              '33': Frequency hertz, (1/s), Hz
              '3': Mass in gram, g
              '39': 'Pressure, Pascal (N/m²)(Note: the absolute or relative measurement of pressure is implied with this entry. See below for more explicit forms.), Pa'
              '2': Length, meter, m
              '41': Area, square meter, m²
              '42': Volume, cubic meter, m³
              '69': Amps squared, amp squared, A2
              '105': ampere-squared, Ampere-squared hour, A²h
              '70': Amps squared time, square amp second, A²s
              '106': Ampere-hours, Ampere-hours, Ah
              '152': Current, Ratio of Amperages, A/A
              '103': A/m, magnetic field strength, Ampere per metre, A/m
              '68': Amp seconds, amp seconds, As
              '79': Sound pressure level, Bel, acoustic, Combine with multiplier prefix “d” to form decibels of Sound Pressure Level“dB (SPL).”, B (SPL)
              '113': 'Signal Strength, Bel-mW, normalized to 1mW. Note: to form “dBm” combine “Bm” with multiplier “d”. Bm'
              '22': Radioactivity, Becquerel (1/s), Bq
              '132': Energy, British Thermal Units, BTU
              '133': Power, BTU per hour, BTU/h
              '8': Luminous intensity, candela, cd
              '76': Number of characters, characters, char
              '75': Rate of change of frequency, hertz per second, Hz/s
              '114': Application Value, encoded value, code
              '65': Power factor, Dimensionless, cos?
              '111': Amount of substance, counter value, count
              '119': Volume, cubic feet, ft³
              '120': Volume, cubic feet, ft³(compensated)
              '123': Volumetric flow rate, compensated cubic feet per hour, ft³(compensated)/h
              '78': Turbine inertia, gram·meter2 (Combine with multiplier prefix “k” to form kg·m2.), gm²
              '144': Concentration, The ratio of the mass of a solute divided by the mass of the solution., g/g
              '21': Absorbed dose, Gray (J/kg), GY
              '150': Frequency, Rate of frequency change, Hz/Hz
              '77': Data rate, characters per second, char/s
              '130': Volume, imperial gallons, ImperialGal
              '131': Volumetric flow rate, Imperial gallons per hour, ImperialGal/h
              '51': Heat capacity, Joule/Kelvin, J/K
              '165': Specific energy, Joules / kg, J/kg
              '6': Temperature, Kelvin, K
              '158': Catalytic activity, katal = mol / s, kat
              '47': Moment of mass ,kilogram meter (kg·m), M
              '48': Density, gram/cubic meter (combine with prefix multiplier “k” to form kg/ m³), g/m³
              '134': Volume, litre = dm3 = m3/1000., L
              '157': Volume, litre, with the value compensated for weather effects, L(compensated)
              '138': Volumetric flow rate, litres (compensated) per hour, L(compensated)/h
              '137': Volumetric flow rate, litres per hour, L/h
              '143': Concentration, The ratio of the volume of a solute divided by the volume of the solution., L/L
              '82': Volumetric flow rate, Volumetric flow rate, L/s
              '156': Volume, litre, with the value uncompensated for weather effects., L(uncompensated)
              '139': Volumetric flow rate, litres (uncompensated) per hour, L(uncompensated)/h
              '35': Luminous flux, lumen (cd sr), Lm
              '34': Illuminance lux, (lm/m²), L(uncompensated)/h
              '49': Viscosity, meter squared / second, m²/s
              '167': Volume, cubic meter, with the value compensated for weather effects., m3(compensated)
              '126': Volumetric flow rate, compensated cubic meters per hour, ³(compensated)/h
              '125': Volumetric flow rate, cubic meters per hour, m³/h
              '45': m3PerSec, cubic meters per second, m³/s
              '166': m3uncompensated, cubic meter, with the value uncompensated for weather effects., m3(uncompensated)
              '127': Volumetric flow rate, uncompensated cubic meters per hour, m³(uncompensated)/h
              '118': EndDeviceEvent, value to be interpreted as a EndDeviceEventCode, meCode
              '7': Amount of substance, mole, mol
              '147': Concentration, Molality, the amount of solute in moles and the amount of solvent in kilograms., mol/kg
              '145': Concentration, The amount of substance concentration, (c), the amount of solvent in moles divided by the volume of solution in m³., mol/ m³
              '146': Concentration, Molar fraction (?), the ratio of the molar amount of a solute divided by the molar amount of the solution.,mol/mol
              '80': 'Monetary unit, Generic money (Note: Specific monetary units are identified the currency class)., ¤'
              '148': Length, Ratio of length, m/m
              '46': Fuel efficiency, meters / cubic meter, m/m³
              '43': Velocity, meters per second (m/s), m/s
              '44': Acceleration, meters per second squared, m/s²
              '102': resistivity, ? (rho), ?m
              '155': Pressure, Pascal, absolute pressure, PaA
              '140': Pressure, Pascal, gauge pressure, PaG
              '141': Pressure, Pounds per square inch, absolute, psiA
              '142': Pressure, Pounds per square inch, gauge, psiG
              '100': Quantity power, Q, Q
              '161': Quantity power, Q measured at 45º, Q45
              '163': Quantity energy, Q measured at 45º, Q45h
              '162': Quantity power, Q measured at 60º, Q60
              '164': Quantity energy, Qh measured at 60º, Q60h
              '101': Quantity energy, Qh, Qh
              '54': Angular velocity, radians per second, rad/s
              '154': Amount of rotation, Revolutions, rev
              '4': Rotational speed, Rotations per second, rev/s
              '149': Time, Ratio of time (can be combined with an multiplier prefix to show rates such as a clock drift rate, e.g. “µs/s”), s/s
              '11': Solid angle, Steradian (m2/m2), sr
              '109': 'State, "1" = "true", "live", "on", "high", "set"; "0" = "false", "dead", "off", "low", "cleared". Note: A Boolean value is preferred but other values may be supported, status'
              '24': Doe equivalent, Sievert (J/kg), Sv
              '37': Magnetic flux density, Tesla (Wb/m2), T
              '169': Energy, Therm, therm
              '108': Timestamp, time and date per ISO 8601 format, timeStamp
              '128': Volume, US gallons, Gal
              '129': Volumetric flow rate, US gallons per hour, USGal/h
              '67': Volts squared, Volt squared (W2/A2), V²
              '104': volt-squared hour, Volt-squared-hours, V²h
              '117': Kh-Vah, apparent energy metering constant, VAh/rev
              '116': Kh-VArh, reactive energy metering constant, VArh/rev
              '74': Magnetic flux, Volts per Hertz, V/Hz
              '151': Voltage, Ratio of voltages (e.g. mV/V), V/V
              '66': Volt seconds, Volt seconds (Ws/A), Vs
              '36': Magnetic flux, Weber (V s), Wb
              '107': Wh/m3, energy per volume, Wh/m³
              '115': Kh-Wh, active energy metering constant, Wh/rev
              '50': Thermal conductivity, Watt/meter Kelvin, W/m K
              '81': Ramp rate, Watts per second, W/s
              '153': Power Factor, PF, W/VA
              '168': Signal Strength, Ratio of power, W/W
            minimum: 0
            maximum: 65535
          - type: string
            enum:
            - A
            - V
            - J
            - Hz
            - W
            - m3
            - VA
            - VAr
            - Wh
        cpp:
          type: integer
          description: "[extension] Critical peak period (CPP) bucket the reading value is attributed to. Value 0 means not applicable. Even though CPP is usually considered a specialized form of time of use 'tou', this attribute is defined explicitly for flexibility."
        interharmonic:
          $ref: '#/components/schemas/ReadingInterharmonic'
          description: "[extension] Indication of a \"harmonic\" or \"interharmonic\" basis for the measurement. Value 0 in 'numerator' and 'denominator' means not applicable."
        measuringPeriod:
          format: uint16
          type: integer
          enum:
          - 0  # Not Applicable
          - 1 # 10-minute
          - 2 # 15-minute
          - 3 # 1-minute
          - 4 # 24-hour
          - 5 # 30-minute
          - 6 # 5-minute
          - 7 # 60-minute
          - 10 # 2-minute
          - 14 # 3-minute
          - 15 # Within the present period of time
          - 16 # Shifted within the previous monthly cycle and data set
          - 31 # 20-minute interval
          - 50 # 60-minute Fixed Block
          - 51 # 30-minute Fixed Block
          - 52 # 20-minute Fixed Block
          - 53 # 15-minute Fixed Block
          - 54 # 10-minute Fixed Block
          - 55 # 5-minute Fixed Block
          - 56 # 1-minute Fixed Block
          - 57 # 60-minute Rolling Block with 30-minute sub-intervals
          - 58 # 60-minute Rolling Block with 20-minute sub-intervals
          - 59 # 60-minute Rolling Block with 15-minute sub-intervals
          - 60 # 60-minute Rolling Block with 12-minute sub-intervals
          - 61 # 60-minute Rolling Block with 10-minute sub-intervals
          - 62 # 60-minute Rolling Block with 6-minute sub-intervals
          - 63 # 60-minute Rolling Block with 5-minute sub-intervals
          - 64 # 60-minute Rolling Block with 4-minute sub-intervals
          - 65 # 30-minute Rolling Block with 15-minute sub-intervals
          - 66 # 30-minute Rolling Block with 10-minute sub-intervals
          - 67 # 30-minute Rolling Block with 6-minute sub-intervals
          - 68 # 30-minute Rolling Block with 5-minute sub-intervals
          - 69 # 30-minute Rolling Block with 3-minute sub-intervals
          - 70 # 30-minute Rolling Block with 2-minute sub-intervals
          - 71 # 15-minute Rolling Block with 5-minute sub-intervals
          - 72 # 15-minute Rolling Block with 3-minute sub-intervals
          - 73 # 15-minute Rolling Block with 1-minute sub-intervals
          - 74 # 10-minute Rolling Block with 5-minute sub-intervals
          - 75 # 10-minute Rolling Block with 2-minute sub-intervals
          - 76 # 10-minute Rolling Block with 1-minute sub-intervals
          - 77 # 5-minute Rolling Block with 1-minute sub-intervals
# Enum value descriptions (bit positions and their meanings)
          x-enum-descriptions:
            '0': Not Applicable
            '1': 10-minute
            '2': 15-minute
            '3': 1-minute
            '4': 24-hour
            '5': 30-minute
            '6': 5-minute
            '7': 60-minute
            '10': 2-minute
            '14': 3-minute
            '15': Within the present period of time
            '16': Shifted within the previous monthly cycle and data set
            '31': 20-minute interval
            '50': 60-minute Fixed Block
            '51': 30-minute Fixed Block
            '52': 20-minute Fixed Block
            '53': 15-minute Fixed Block
            '54': 10-minute Fixed Block
            '55': 5-minute Fixed Block
            '56': 1-minute Fixed Block
            '57': 60-minute Rolling Block with 30-minute sub-intervals
            '58': 60-minute Rolling Block with 20-minute sub-intervals
            '59': 60-minute Rolling Block with 15-minute sub-intervals
            '60': 60-minute Rolling Block with 12-minute sub-intervals
            '61': 60-minute Rolling Block with 10-minute sub-intervals
            '62': 60-minute Rolling Block with 6-minute sub-intervals
            '63': 60-minute Rolling Block with 5-minute sub-intervals
            '64': 60-minute Rolling Block with 4-minute sub-intervals
            '65': 30-minute Rolling Block with 15-minute sub-intervals
            '66': 30-minute Rolling Block with 10-minute sub-intervals
            '67': 30-minute Rolling Block with 6-minute sub-intervals
            '68': 30-minute Rolling Block with 5-minute sub-intervals
            '69': 30-minute Rolling Block with 3-minute sub-intervals
            '70': 30-minute Rolling Block with 2-minute sub-intervals
            '71': 15-minute Rolling Block with 5-minute sub-intervals
            '72': 15-minute Rolling Block with 3-minute sub-intervals
            '73': 15-minute Rolling Block with 1-minute sub-intervals
            '74': 10-minute Rolling Block with 5-minute sub-intervals
            '75': 10-minute Rolling Block with 2-minute sub-intervals
            '76': 10-minute Rolling Block with 1-minute sub-intervals
            '77': 5-minute Rolling Block with 1-minute sub-intervals
          description: "[extension] Time attribute inherent or fundamental to the reading value (as opposed to 'macroPeriod' that supplies an \"adjective\" to describe aspects of a time period with regard to the measurement). It refers to the way the value was originally measured and not to the frequency at which it is reported or presented. For example, an hourly interval of consumption data would have value 'hourly' as an attribute. However in the case of an hourly sampled voltage value, the meterReadings schema would carry the 'hourly' interval size information.\nIt is common for meters to report demand in a form that is measured over the course of a portion of an hour, while enterprise applications however commonly assume the demand (in kW or kVAr) normalized to 1 hour. The system that receives readings directly from the meter therefore must perform this transformation before publishing readings for use by the other enterprise systems. The scalar used is chosen based on the block size (not any sub-interval size).\nEnum values:\n  - 0: Not Applicable\n  - 1: 10-minute\n  - 2: 15-minute\n  - 3: 1-minute\n  - 4: 24-hour\n  - 5: 30-minute\n  - 6: 5-minute\n  - 7: 60-minute\n  - 10: 2-minute\n  - 14: 3-minute\n  - 15: Within the present period of time\n  - 16: Shifted within the previous monthly cycle and data set\n  - 31: 20-minute interval\n  - 50: 60-minute Fixed Block\n  - 51: 30-minute Fixed Block\n  - 52: 20-minute Fixed Block\n  - 53: 15-minute Fixed Block\n  - 54: 10-minute Fixed Block\n  - 55: 5-minute Fixed Block\n  - 56: 1-minute Fixed Block\n  - 57: 60-minute Rolling Block with 30-minute sub-intervals\n  - 58: 60-minute Rolling Block with 20-minute sub-intervals\n  - 59: 60-minute Rolling Block with 15-minute sub-intervals\n  - 60: 60-minute Rolling Block with 12-minute sub-intervals\n  - 61: 60-minute Rolling Block with 10-minute sub-intervals\n  - 62: 60-minute Rolling Block with 6-minute sub-intervals\n  - 63: 60-minute Rolling Block with 5-minute sub-intervals\n  - 64: 60-minute Rolling Block with 4-minute sub-intervals\n  - 65: 30-minute Rolling Block with 15-minute sub-intervals\n  - 66: 30-minute Rolling Block with 10-minute sub-intervals\n  - 67: 30-minute Rolling Block with 6-minute sub-intervals\n  - 68: 30-minute Rolling Block with 5-minute sub-intervals\n  - 69: 30-minute Rolling Block with 3-minute sub-intervals\n  - 70: 30-minute Rolling Block with 2-minute sub-intervals\n  - 71: 15-minute Rolling Block with 5-minute sub-intervals\n  - 72: 15-minute Rolling Block with 3-minute sub-intervals\n  - 73: 15-minute Rolling Block with 1-minute sub-intervals\n  - 74: 10-minute Rolling Block with 5-minute sub-intervals\n  - 75: 10-minute Rolling Block with 2-minute sub-intervals\n  - 76: 10-minute Rolling Block with 1-minute sub-intervals\n  - 77: 5-minute Rolling Block with 1-minute sub-intervals"
          minimum: 0
          maximum: 65535
        argument:
          $ref: '#/components/schemas/RationalNumber'
          description: "[extension] Argument used to introduce numbers into the unit of measure description where they are needed (e.g., 4 where the measure needs an argument such as CEMI(n=4)). Most arguments used in practice however will be integers (i.e., 'denominator'=1).\nValue 0 in 'numerator' and 'denominator' means not applicable."
      required: []
      description: Characteristics associated with all Readings included in a MeterReading.
    UsagePoint:
      type: object
      properties:
        roleFlags:
          format: hexBinary
          type: string
          description: Specifies the roles that this usage point has been assigned. Bit 1 - isMirror Bit 2 - isPremisesAggregationPoint Bit 3 - isPEV Bit 4 - isDER Bit 5 - isRevenueQuality Bit 6 - isDC Bit 7-16 - Reserved
        ServiceCategory:
          $ref: '#/components/schemas/ServiceCategory'
          description: Category of service provided to the customer.
        status:
          type: integer
          minimum: 0
          maximum: 255
          description: 'Specifies the current status of this usage point. Valid values include: 0 = off 1 = on'
        serviceDeliveryPoint:
          $ref: '#/components/schemas/ServiceDeliveryPoint'
          description: '[extension] Contains service delivery point information about the UsagePoint if it does represent the service delivery point.'
        amiBillingReady:
          type: string
          enum:
          - amiCapable  # Usage point is equipped with an AMI capable meter that is not yet currently equipped with a communications module.
          - amiDisabled # Usage point is equipped with an AMI capable meter; however, the AMI functionality has been disabled or is not being used.
          - billingApproved # Usage point is equipped with an operating AMI capable meter and accuracy has been certified for billing purposes.
          - enabled # Usage point is equipped with an AMI capable meter having communications capability.
          - nonAmi # Usage point is equipped with a non AMI capable meter.
          - nonMetered # Usage point is not currently equipped with a meter.
          - operable # Usage point is equipped with an AMI capable meter that is functioning and communicating with the AMI network.
# Enum value descriptions (bit positions and their meanings)
          x-enum-descriptions:
            amiCapable: Usage point is equipped with an AMI capable meter that is not yet currently equipped with a communications module.
            amiDisabled: Usage point is equipped with an AMI capable meter; however, the AMI functionality has been disabled or is not being used.
            billingApproved: Usage point is equipped with an operating AMI capable meter and accuracy has been certified for billing purposes.
            enabled: Usage point is equipped with an AMI capable meter having communications capability.
            nonAmi: Usage point is equipped with a non AMI capable meter.
            nonMetered: Usage point is not currently equipped with a meter.
            operable: Usage point is equipped with an AMI capable meter that is functioning and communicating with the AMI network.
          description: "[extension] Tracks the lifecycle of the metering installation at a usage point with respect to readiness for billing via advanced metering infrastructure reads.\nEnum values:\n  - amiCapable: Usage point is equipped with an AMI capable meter that is not yet currently equipped with a communications module.\n  - amiDisabled: Usage point is equipped with an AMI capable meter; however, the AMI functionality has been disabled or is not being used.\n  - billingApproved: Usage point is equipped with an operating AMI capable meter and accuracy has been certified for billing purposes.\n  - enabled: Usage point is equipped with an AMI capable meter having communications capability.\n  - nonAmi: Usage point is equipped with a non AMI capable meter.\n  - nonMetered: Usage point is not currently equipped with a meter.\n  - operable: Usage point is equipped with an AMI capable meter that is functioning and communicating with the AMI network."
        checkBilling:
          type: boolean
          description: '[extension] True if as a result of an inspection or otherwise, there is a reason to suspect that a previous billing may have been performed with erroneous data. Value should be reset once this potential discrepancy has been resolved.'
        connectionState:
          type: string
          enum:
          - connected  # The usage point is connected to the network and able to receive or send the applicable commodity (electricity, gas, water, etc.).
          - logicallyDisconnected # The usage point has been disconnected through operation of a disconnect function within the meter present at the usage point.  The usage point is unable to receive or send the applicable commodity (electricity, gas, water, etc.)  A logical disconnect can often be achieved without utilising a field crew.
          - physicallyDisconnected # The usage point has been disconnected from the network at a point upstream of the meter. The usage point is unable to receive or send the applicable commodity (electricity, gas, water, etc.). A physical disconnect is often achieved by utilising a field crew.
# Enum value descriptions (bit positions and their meanings)
          x-enum-descriptions:
            connected: The usage point is connected to the network and able to receive or send the applicable commodity (electricity, gas, water, etc.).
            logicallyDisconnected: The usage point has been disconnected through operation of a disconnect function within the meter present at the usage point.  The usage point is unable to receive or send the applicable commodity (electricity, gas, water, etc.)  A logical disconnect can often be achieved without utilising a field crew.
            physicallyDisconnected: The usage point has been disconnected from the network at a point upstream of the meter. The usage point is unable to receive or send the applicable commodity (electricity, gas, water, etc.). A physical disconnect is often achieved by utilising a field crew.
          description: "[extension] State of the usage point with respect to connection to the network.\nEnum values:\n  - connected: The usage point is connected to the network and able to receive or send the applicable commodity (electricity, gas, water, etc.).\n  - logicallyDisconnected: The usage point has been disconnected through operation of a disconnect function within the meter present at the usage point.  The usage point is unable to receive or send the applicable commodity (electricity, gas, water, etc.)  A logical disconnect can often be achieved without utilising a field crew.\n  - physicallyDisconnected: The usage point has been disconnected from the network at a point upstream of the meter. The usage point is unable to receive or send the applicable commodity (electricity, gas, water, etc.). A physical disconnect is often achieved by utilising a field crew."
        estimatedLoad:
          $ref: '#/components/schemas/SummaryMeasurement'
          description: '[extension] Estimated load.'
        grounded:
          type: boolean
          description: '[extension] True if grounded.'
        isSdp:
          type: boolean
          description: '[extension] If true, this usage point is a service delivery point, i.e., a usage point where the ownership of the service changes hands.'
        isVirtual:
          type: boolean
          description: "[extension] If true, this usage point is virtual, i.e., no physical location exists in the network where a meter could be located to collect the meter readings. For example, one may define a virtual usage point to serve as an aggregation of usage for all of a company's premises distributed widely across the distribution territory. Otherwise, the usage point is physical, i.e., there is a logical point in the network where a meter could be located to collect meter readings."
        minimalUsageExpected:
          type: boolean
          description: '[extension] If true, minimal or zero usage is expected at this usage point for situations such as premises vacancy, logical or physical disconnect. It is used for readings validation and estimation.'
        nominalServiceVoltage:
          $ref: '#/components/schemas/SummaryMeasurement'
          description: '[extension] Nominal service voltage.'
        outageRegion:
          type: string
          description: '[extension] Outage region in which this usage point is located.'
        phaseCode:
          format: uint16
          type: integer
          enum:
          - 225  # ABC to Neutral
          - 224 # Involving all phases
          - 193 # AB to Neutral
          - 41 # Phases A, C and neutral.
          - 97 # BC to neutral.
          - 132 # Phases A to B
          - 96 # Phases A and C
          - 66 # Phases B to C
          - 129 # Phases A to neutral.
          - 65 # Phases B to neutral.
          - 33 # Phases C to neutral.
          - 128 # Phase A.
          - 64 # Phase B.
          - 32 # Phase C.
          - 16 # Neutral
          - 272 # Phase S2 to neutral.
          - 784 # Phase S1, S2 to neutral.
          - 528 # Phase S1 to Neutral
          - 256 # Phase S2.
          - 768 # Phase S1 to S2
          - 769 # Phase S1, S2 to N
          - 0 # Not applicable to any phase
          - 136 # Phase A current relative to Phase A voltage
          - 72 # Phase B current or voltage relative to Phase A voltage
          - 40 # Phase C current or voltage relative to Phase A voltage
          - 17 # Neutral to ground
          - 512 # Phase S1
# Enum value descriptions (bit positions and their meanings)
          x-enum-descriptions:
            '225': ABC to Neutral
            '224': Involving all phases
            '193': AB to Neutral
            '41': Phases A, C and neutral.
            '97': BC to neutral.
            '132': Phases A to B
            '96': Phases A and C
            '66': Phases B to C
            '129': Phases A to neutral.
            '65': Phases B to neutral.
            '33': Phases C to neutral.
            '128': Phase A.
            '64': Phase B.
            '32': Phase C.
            '16': Neutral
            '272': Phase S2 to neutral.
            '784': Phase S1, S2 to neutral.
            '528': Phase S1 to Neutral
            '256': Phase S2.
            '768': Phase S1 to S2
            '769': Phase S1, S2 to N
            '0': Not applicable to any phase
            '136': Phase A current relative to Phase A voltage
            '72': Phase B current or voltage relative to Phase A voltage
            '40': Phase C current or voltage relative to Phase A voltage
            '17': Neutral to ground
            '512': Phase S1
          description: "[extension] Phase code. Number of wires and specific nominal phases can be deduced from enumeration literal values. For example, ABCN is three-phase, four-wire, s12n (splitSecondary12N) is single-phase, three-wire, and s1n and s2n are single-phase, two-wire.\nEnum values:\n  - 225: ABC to Neutral\n  - 224: Involving all phases\n  - 193: AB to Neutral\n  - 41: Phases A, C and neutral.\n  - 97: BC to neutral.\n  - 132: Phases A to B\n  - 96: Phases A and C\n  - 66: Phases B to C\n  - 129: Phases A to neutral.\n  - 65: Phases B to neutral.\n  - 33: Phases C to neutral.\n  - 128: Phase A.\n  - 64: Phase B.\n  - 32: Phase C.\n  - 16: Neutral\n  - 272: Phase S2 to neutral.\n  - 784: Phase S1, S2 to neutral.\n  - 528: Phase S1 to Neutral\n  - 256: Phase S2.\n  - 768: Phase S1 to S2\n  - 769: Phase S1, S2 to N\n  - 0: Not applicable to any phase\n  - 136: Phase A current relative to Phase A voltage\n  - 72: Phase B current or voltage relative to Phase A voltage\n  - 40: Phase C current or voltage relative to Phase A voltage\n  - 17: Neutral to ground\n  - 512: Phase S1"
          minimum: 0
          maximum: 65535
        ratedCurrent:
          $ref: '#/components/schemas/SummaryMeasurement'
          description: '[extension] Current flow that this usage point is configured to deliver.'
        ratedPower:
          $ref: '#/components/schemas/SummaryMeasurement'
          description: '[extension] Active power that this usage point is configured to deliver.'
        readCycle:
          type: string
          description: '[extension] Cycle day on which the meter for this usage point will normally be read.  Usually correlated with the billing cycle.'
        readRoute:
          type: string
          description: '[extension] Identifier of the route to which this usage point is assigned for purposes of meter reading. Typically used to configure hand held meter reading systems prior to collection of reads.'
        serviceDeliveryRemark:
          type: string
          description: '[extension] Remarks about this usage point, for example the reason for it being rated with a non-nominal priority.'
        servicePriority:
          type: string
          description: '[extension] Priority of service for this usage point. Note that usage points at the same service location can have different priorities.'
        pnodeRefs:
          $ref: '#/components/schemas/PnodeRefs'
          description: "[extension] A single electrical system Node or subset of Nodes where a\nphysical injection or withdrawal of electricity is modeled and for which a Locational\nMarginal Price is calculated by the RTO/ISO and used for financial settlements."
        aggregateNodeRefs:
          $ref: '#/components/schemas/AggregateNodeRefs'
          description: '[extension] A sequence of references to AggregateNodes.'
      required: []
      description: Logical point on a network at which consumption or production is either physically measured (e.g., metered) or estimated (e.g., unmetered street lights).
    ElectricPowerQualitySummary:
      type: object
      properties:
        flickerPlt:
          type: integer
          description: A measurement of long term Rapid Voltage Change in hundredths of a Volt. flickerPlt is derived from 2 hours of Pst values (12 values combined in cubic relationship).
        flickerPst:
          type: integer
          description: flickerPst is a value measured over 10 minutes that characterizes the likelihood that the voltage fluctuations would result in perceptible light flicker. A value of 1.0 is designed to represent the level that 50% of people would perceive flicker in a 60 watt incandescent bulb. The value reported is represented as an integer in hundredths.
        harmonicVoltage:
          type: integer
          description: A measurement of the Harmonic Voltage during the period. For DC, distortion is with respect to a signal of zero Hz.
        longInterruptions:
          type: integer
          description: A count of Long Interruption events (as defined by measurementProtocol) during the summary interval period.
        mainsVoltage:
          type: integer
          description: A measurement of the Mains [Signaling] Voltage during the summary interval period in uV.
        measurementProtocol:
          type: integer
          minimum: 0
          maximum: 255
          description: 'A reference to the source standard used as the measurement protocol definition. Examples are: 0 = “IEEE1519-2009” 1 = “EN50160”'
        powerFrequency:
          type: integer
          description: A measurement of the power frequency during the summary interval period in uHz.
        rapidVoltageChanges:
          type: integer
          description: A count of Rapid Voltage Change events during the summary interval period
        shortInterruptions:
          type: integer
          description: A count of Short Interruption events during the summary interval period
        summaryInterval:
          $ref: '#/components/schemas/DateTimeInterval'
          description: Interval of summary period
        supplyVoltageDips:
          type: integer
          description: A count of Supply Voltage Dip events during the summary interval period
        supplyVoltageImbalance:
          type: integer
          description: A count of Supply Voltage Imbalance events during the summary interval period
        supplyVoltageVariations:
          type: integer
          description: A count of Supply Voltage Variations during the summary interval period
        tempOvervoltage:
          type: integer
          description: A count of Temporary Overvoltage events (as defined by measurementProtocol) during the summary interval period
      required:
      - summaryInterval
      description: A summary of power quality events. This information represents a summary of power quality information typically required by customer facility energy management systems. It is not intended to satisfy the detailed requirements of power quality monitoring. All values are as defined by measurementProtocol during the period. The standards typically also give ranges of allowed values; the information attributes are the raw measurements, not the "yes/no" determination by the various standards. See referenced standards for definition, measurement protocol and period.
    ElectricPowerUsageSummary:
      type: object
      properties:
        billingPeriod:
          $ref: '#/components/schemas/DateTimeInterval'
          description: The billing period to which the included measurements apply. May also be an off-bill arbitrary period.
        billLastPeriod:
          type: integer
          description: The amount of the bill for the referenced billingPeriod  in hundred-thousandths of the currency specified in the ReadingType for this reading (e.g., 840 = USD, US dollar).
        billToDate:
          type: integer
          description: If the summary contains data from a current period beyond the end of the referenced billingPeriod, the bill amount as of the date the summary is generated, in hundred-thousandths of the currency specified in the ReadingType for this reading. (e.g., 840 = USD, US dollar).
        costAdditionalLastPeriod:
          type: integer
          description: Additional charges from the for the referenced billingPeriod, in hundred-thousandths of the currency specified in the ReadingType for this reading. (e.g., 840 = USD, US dollar).
        costAdditionalDetailLastPeriod:
          $ref: '#/components/schemas/LineItem'
          description: '[extension] Additional charges from the for the referenced billingPeriod which in total add up to costAdditionalLastPeriod.'
        currency:
          format: uint16
          type: integer
          enum:
          - 840  # US dollar
          - 978 # European euro
          - 36 # Australian dollar
          - 124 # Canadian dollar
          - 756 # Swiss francs
          - 156 # Chinese yuan renminbi
          - 208 # Danish crown
          - 826 # British pound
          - 392 # Japanese yen
          - 578 # Norwegian crown
          - 643 # Russian ruble
          - 752 # Swedish crown
          - 356 # India rupees
          - 0 # Another type of currency.
# Enum value descriptions (bit positions and their meanings)
          x-enum-descriptions:
            '840': US dollar
            '978': European euro
            '36': Australian dollar
            '124': Canadian dollar
            '756': Swiss francs
            '156': Chinese yuan renminbi
            '208': Danish crown
            '826': British pound
            '392': Japanese yen
            '578': Norwegian crown
            '643': Russian ruble
            '752': Swedish crown
            '356': India rupees
            '0': Another type of currency.
          description: "The ISO 4217 code indicating the currency applicable to the bill amounts in the summary.\nEnum values:\n  - 840: US dollar\n  - 978: European euro\n  - 36: Australian dollar\n  - 124: Canadian dollar\n  - 756: Swiss francs\n  - 156: Chinese yuan renminbi\n  - 208: Danish crown\n  - 826: British pound\n  - 392: Japanese yen\n  - 578: Norwegian crown\n  - 643: Russian ruble\n  - 752: Swedish crown\n  - 356: India rupees\n  - 0: Another type of currency."
          minimum: 0
          maximum: 65535
        overallConsumptionLastPeriod:
          $ref: '#/components/schemas/SummaryMeasurement'
          description: '[extension] The amount of energy consumed in the lfor the referenced billingPeriod.'
        currentBillingPeriodOverAllConsumption:
          $ref: '#/components/schemas/SummaryMeasurement'
          description: If the summary contains data from a current period beyond the end of the referenced billingPeriod, the total consumption for the billing period.
        currentDayLastYearNetConsumption:
          $ref: '#/components/schemas/SummaryMeasurement'
          description: If the summary contains data from a current period beyond the end of the referenced billingPeriod, the amount of energy consumed one year ago interpreted as same day of week same week of year (see ISO 8601) based on the day of the statusTimeStamp.
        currentDayNetConsumption:
          $ref: '#/components/schemas/SummaryMeasurement'
          description: If the summary contains data from a current period beyond the end of the referenced billingPeriod, net consumption for the current day (delivered - received) based on the day of the statusTimeStamp
        currentDayOverallConsumption:
          $ref: '#/components/schemas/SummaryMeasurement'
          description: If the summary contains data from a current period beyond the end of the referenced billingPeriod, overall energy consumption for the current day, based on the day of the statusTimeStamp.
        peakDemand:
          $ref: '#/components/schemas/SummaryMeasurement'
          description: If the summary contains data from a current period beyond the end of the referenced billingPeriod, peak demand recorded for the current period.
        previousDayLastYearOverallConsumption:
          $ref: '#/components/schemas/SummaryMeasurement'
          description: If the summary contains data from a current period beyond the end of the referenced billingPeriod, the amount of energy consumed on the previous day one year ago interpreted as same day of week same week of year (see ISO 8601) based on the day of the statusTimestamp.
        previousDayNetConsumption:
          $ref: '#/components/schemas/SummaryMeasurement'
          description: If the summary contains data from a current period beyond the end of the referenced billingPeriod, net consumption for the previous day relative to the day of the statusTimestamp.
        previousDayOverallConsumption:
          $ref: '#/components/schemas/SummaryMeasurement'
          description: If the summary contains data from a current period beyond the end of the referenced billingPeriod, the total consumption for the previous day based on the day of the statusTimestamp.
        qualityOfReading:
          format: uint16
          type: integer
          enum:
          - 0  # data that has gone through all required validation checks and either passed them all or has been verified
          - 7 # Replaced or approved by a human
          - 8 # data value was replaced by a machine computed value based on analysis of historical data using the same type of measurement.
          - 9 # data value was computed using linear interpolation based on the readings before and after it
          - 10 # data that has failed one or more checks
          - 11 # data that has been calculated (using logic or mathematical operations)
          - 12 # data that has been calculated as a projection or forecast of future readings
          - 13 # indicates that the quality of this reading has mixed characteristics
          - 14 # data that has not gone through the validation
          - 15 # the values have been adjusted to account for weather
          - 16 # specifies that a characteristic applies other than those defined
          - 17 # data that has been validated and possibly edited and/or estimated in accordance with approved procedures
          - 18 # data that failed at least one of the required validation checks but was determined to represent actual usage
          - 19 # data that is valid and acceptable for billing purposes
# Enum value descriptions (bit positions and their meanings)
          x-enum-descriptions:
            '0': data that has gone through all required validation checks and either passed them all or has been verified
            '7': Replaced or approved by a human
            '8': data value was replaced by a machine computed value based on analysis of historical data using the same type of measurement.
            '9': data value was computed using linear interpolation based on the readings before and after it
            '10': data that has failed one or more checks
            '11': data that has been calculated (using logic or mathematical operations)
            '12': data that has been calculated as a projection or forecast of future readings
            '13': indicates that the quality of this reading has mixed characteristics
            '14': data that has not gone through the validation
            '15': the values have been adjusted to account for weather
            '16': specifies that a characteristic applies other than those defined
            '17': data that has been validated and possibly edited and/or estimated in accordance with approved procedures
            '18': data that failed at least one of the required validation checks but was determined to represent actual usage
            '19': data that is valid and acceptable for billing purposes
          description: "Indication of the quality of the summary readings\nEnum values:\n  - 0: data that has gone through all required validation checks and either passed them all or has been verified\n  - 7: Replaced or approved by a human\n  - 8: data value was replaced by a machine computed value based on analysis of historical data using the same type of measurement.\n  - 9: data value was computed using linear interpolation based on the readings before and after it\n  - 10: data that has failed one or more checks\n  - 11: data that has been calculated (using logic or mathematical operations)\n  - 12: data that has been calculated as a projection or forecast of future readings\n  - 13: indicates that the quality of this reading has mixed characteristics\n  - 14: data that has not gone through the validation\n  - 15: the values have been adjusted to account for weather\n  - 16: specifies that a characteristic applies other than those defined\n  - 17: data that has been validated and possibly edited and/or estimated in accordance with approved procedures\n  - 18: data that failed at least one of the required validation checks but was determined to represent actual usage\n  - 19: data that is valid and acceptable for billing purposes"
          minimum: 0
          maximum: 65535
        ratchetDemand:
          $ref: '#/components/schemas/SummaryMeasurement'
          description: If the summary contains data from a current period beyond the end of the referenced billingPeriod, the current ratchet demand value for the ratchet demand over the ratchetDemandPeriod.
        ratchetDemandPeriod:
          $ref: '#/components/schemas/DateTimeInterval'
          description: The period over which the ratchet demand applies
        statusTimeStamp:
          type: integer
          description: Date/Time status of this UsageSummary
        commodity:
          format: uint16
          type: integer
          enum:
          - 0  # Not Applicable
          - 1 # All types of metered quantities. This type of reading comes from the meter and represents a “secondary” metered value.
          - 2 # It is possible for a meter to be outfitted with an external VT and/or CT. The meter might not be aware of these devices, and the display not compensate for their presence. Ultimately, when these scalars are applied, the value that represents the service value is called the “primary metered” value. The “index” in sub-category 3 mirrors those of sub-category 0.
          - 3 # A measurement of the communication infrastructure itself.
          - 4 # Air
          - 5 # Insulative Gas (SF6 is found separately below)
          - 6 # Insulative Oil
          - 7 # Natural Gas
          - 8 # Propane C3H8
          - 9 # Drinkable water
          - 10 # Water in steam form, usually used for heating.
          - 11 # Waste Water (Sewerage)
          - 12 # This fluid is likely in liquid form. It is not necessarily water or water based. The warm fluid returns cooler than when it was sent. The heat conveyed may be metered.
          - 13 # The cool fluid returns warmer than when it was sent. The heat conveyed may be metered.
          - 14 # Reclaimed water – possibly used for irrigation but not sufficiently treated to be considered safe for drinking.
          - 15 # Nitrous Oxides NOX
          - 16 # Sulfur Dioxide SO2
          - 17 # Methane CH4
          - 18 # Carbon Dioxide CO2
          - 19 # Carbon
          - 20 # Hexachlorocyclohexane HCH
          - 21 # Perfluorocarbons PFC
          - 22 # Sulfurhexafluoride SF6
          - 23 # Television
          - 24 # Internet service
          - 25 # Trash
          - 26 # Electricity Transmission "metered" -- Service taken directly from transmission system without transformation from standard transmission voltages
# Enum value descriptions (bit positions and their meanings)
          x-enum-descriptions:
            '0': Not Applicable
            '1': All types of metered quantities. This type of reading comes from the meter and represents a “secondary” metered value.
            '2': It is possible for a meter to be outfitted with an external VT and/or CT. The meter might not be aware of these devices, and the display not compensate for their presence. Ultimately, when these scalars are applied, the value that represents the service value is called the “primary metered” value. The “index” in sub-category 3 mirrors those of sub-category 0.
            '3': A measurement of the communication infrastructure itself.
            '4': Air
            '5': Insulative Gas (SF6 is found separately below)
            '6': Insulative Oil
            '7': Natural Gas
            '8': Propane C3H8
            '9': Drinkable water
            '10': Water in steam form, usually used for heating.
            '11': Waste Water (Sewerage)
            '12': This fluid is likely in liquid form. It is not necessarily water or water based. The warm fluid returns cooler than when it was sent. The heat conveyed may be metered.
            '13': The cool fluid returns warmer than when it was sent. The heat conveyed may be metered.
            '14': Reclaimed water – possibly used for irrigation but not sufficiently treated to be considered safe for drinking.
            '15': Nitrous Oxides NOX
            '16': Sulfur Dioxide SO2
            '17': Methane CH4
            '18': Carbon Dioxide CO2
            '19': Carbon
            '20': Hexachlorocyclohexane HCH
            '21': Perfluorocarbons PFC
            '22': Sulfurhexafluoride SF6
            '23': Television
            '24': Internet service
            '25': Trash
            '26': Electricity Transmission "metered" -- Service taken directly from transmission system without transformation from standard transmission voltages
          description: "[extension] The commodity for this summary report\nEnum values:\n  - 0: Not Applicable\n  - 1: All types of metered quantities. This type of reading comes from the meter and represents a “secondary” metered value.\n  - 2: It is possible for a meter to be outfitted with an external VT and/or CT. The meter might not be aware of these devices, and the display not compensate for their presence. Ultimately, when these scalars are applied, the value that represents the service value is called the “primary metered” value. The “index” in sub-category 3 mirrors those of sub-category 0.\n  - 3: A measurement of the communication infrastructure itself.\n  - 4: Air\n  - 5: Insulative Gas (SF6 is found separately below)\n  - 6: Insulative Oil\n  - 7: Natural Gas\n  - 8: Propane C3H8\n  - 9: Drinkable water\n  - 10: Water in steam form, usually used for heating.\n  - 11: Waste Water (Sewerage)\n  - 12: This fluid is likely in liquid form. It is not necessarily water or water based. The warm fluid returns cooler than when it was sent. The heat conveyed may be metered.\n  - 13: The cool fluid returns warmer than when it was sent. The heat conveyed may be metered.\n  - 14: Reclaimed water – possibly used for irrigation but not sufficiently treated to be considered safe for drinking.\n  - 15: Nitrous Oxides NOX\n  - 16: Sulfur Dioxide SO2\n  - 17: Methane CH4\n  - 18: Carbon Dioxide CO2\n  - 19: Carbon\n  - 20: Hexachlorocyclohexane HCH\n  - 21: Perfluorocarbons PFC\n  - 22: Sulfurhexafluoride SF6\n  - 23: Television\n  - 24: Internet service\n  - 25: Trash\n  - 26: Electricity Transmission \"metered\" -- Service taken directly from transmission system without transformation from standard transmission voltages"
          minimum: 0
          maximum: 65535
      required:
      - statusTimeStamp
      description: '[DEPRECATED] Summary of usage for a billing period'
    UsageSummary:
      type: object
      properties:
        billingPeriod:
          $ref: '#/components/schemas/DateTimeInterval'
          description: The billing period to which the included measurements apply. May also be an off-bill arbitrary period.
        billLastPeriod:
          type: integer
          description: The amount of the bill for the referenced billingPeriod  in hundred-thousandths of the currency specified in the ReadingType for this reading (e.g., 840 = USD, US dollar).
        billToDate:
          type: integer
          description: If the summary contains data from a current period beyond the end of the referenced billingPeriod, the bill amount as of the date the summary is generated, in hundred-thousandths of the currency specified in the ReadingType for this reading. (e.g., 840 = USD, US dollar).
        costAdditionalLastPeriod:
          type: integer
          description: Additional charges from the for the referenced billingPeriod, in hundred-thousandths of the currency specified in the ReadingType for this reading. (e.g., 840 = USD, US dollar).
        costAdditionalDetailLastPeriod:
          description: '[extension] Additional charges from the for the referenced billingPeriod which in total add up to costAdditionalLastPeriod.'
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/LineItem'
        currency:
          description: "The ISO 4217 code indicating the currency applicable to the bill amounts in the summary.\nEnum values:\n  - 840: US dollar\n  - 978: European euro\n  - 36: Australian dollar\n  - 124: Canadian dollar\n  - 756: Swiss francs\n  - 156: Chinese yuan renminbi\n  - 208: Danish crown\n  - 826: British pound\n  - 392: Japanese yen\n  - 578: Norwegian crown\n  - 643: Russian ruble\n  - 752: Swedish crown\n  - 356: India rupees\n  - 0: Another type of currency."
          oneOf:
          - format: uint16
            type: integer
            enum:
            - 840 # US dollar
            - 978 # European euro
            - 36 # Australian dollar
            - 124 # Canadian dollar
            - 756 # Swiss francs
            - 156 # Chinese yuan renminbi
            - 208 # Danish crown
            - 826 # British pound
            - 392 # Japanese yen
            - 578 # Norwegian crown
            - 643 # Russian ruble
            - 752 # Swedish crown
            - 356 # India rupees
            - 0 # Another type of currency.
# Enum value descriptions (bit positions and their meanings)
            x-enum-descriptions:
              '840': US dollar
              '978': European euro
              '36': Australian dollar
              '124': Canadian dollar
              '756': Swiss francs
              '156': Chinese yuan renminbi
              '208': Danish crown
              '826': British pound
              '392': Japanese yen
              '578': Norwegian crown
              '643': Russian ruble
              '752': Swedish crown
              '356': India rupees
              '0': Another type of currency.
            minimum: 0
            maximum: 65535
          - type: string
            enum:
            - other
            - AUD
            - CAD
            - CNY
            - DKK
            - INR
            - JPY
            - NOK
            - RUB
            - SEK
            - CHF
            - GBP
            - USD
            - EUR
        overallConsumptionLastPeriod:
          $ref: '#/components/schemas/SummaryMeasurement'
          description: '[extension] The amount of energy consumed in the lfor the referenced billingPeriod.'
        currentBillingPeriodOverAllConsumption:
          $ref: '#/components/schemas/SummaryMeasurement'
          description: If the summary contains data from a current period beyond the end of the referenced billingPeriod, the total consumption for the billing period.
        currentDayLastYearNetConsumption:
          $ref: '#/components/schemas/SummaryMeasurement'
          description: If the summary contains data from a current period beyond the end of the referenced billingPeriod, the amount of energy consumed one year ago interpreted as same day of week same week of year (see ISO 8601) based on the day of the statusTimeStamp.
        currentDayNetConsumption:
          $ref: '#/components/schemas/SummaryMeasurement'
          description: If the summary contains data from a current period beyond the end of the referenced billingPeriod, net consumption for the current day (delivered - received) based on the day of the statusTimeStamp
        currentDayOverallConsumption:
          $ref: '#/components/schemas/SummaryMeasurement'
          description: If the summary contains data from a current period beyond the end of the referenced billingPeriod, overall energy consumption for the current day, based on the day of the statusTimeStamp.
        peakDemand:
          $ref: '#/components/schemas/SummaryMeasurement'
          description: If the summary contains data from a current period beyond the end of the referenced billingPeriod, peak demand recorded for the current period.
        previousDayLastYearOverallConsumption:
          $ref: '#/components/schemas/SummaryMeasurement'
          description: If the summary contains data from a current period beyond the end of the referenced billingPeriod, the amount of energy consumed on the previous day one year ago interpreted as same day of week same week of year (see ISO 8601) based on the day of the statusTimestamp.
        previousDayNetConsumption:
          $ref: '#/components/schemas/SummaryMeasurement'
          description: If the summary contains data from a current period beyond the end of the referenced billingPeriod, net consumption for the previous day relative to the day of the statusTimestamp.
        previousDayOverallConsumption:
          $ref: '#/components/schemas/SummaryMeasurement'
          description: If the summary contains data from a current period beyond the end of the referenced billingPeriod, the total consumption for the previous day based on the day of the statusTimestamp.
        qualityOfReading:
          description: "Indication of the quality of the summary readings\nEnum values:\n  - 0: data that has gone through all required validation checks and either passed them all or has been verified\n  - 7: Replaced or approved by a human\n  - 8: data value was replaced by a machine computed value based on analysis of historical data using the same type of measurement.\n  - 9: data value was computed using linear interpolation based on the readings before and after it\n  - 10: data that has failed one or more checks\n  - 11: data that has been calculated (using logic or mathematical operations)\n  - 12: data that has been calculated as a projection or forecast of future readings\n  - 13: indicates that the quality of this reading has mixed characteristics\n  - 14: data that has not gone through the validation\n  - 15: the values have been adjusted to account for weather\n  - 16: specifies that a characteristic applies other than those defined\n  - 17: data that has been validated and possibly edited and/or estimated in accordance with approved procedures\n  - 18: data that failed at least one of the required validation checks but was determined to represent actual usage\n  - 19: data that is valid and acceptable for billing purposes"
          oneOf:
          - format: uint16
            type: integer
            enum:
            - 0 # data that has gone through all required validation checks and either passed them all or has been verified
            - 7 # Replaced or approved by a human
            - 8 # data value was replaced by a machine computed value based on analysis of historical data using the same type of measurement.
            - 9 # data value was computed using linear interpolation based on the readings before and after it
            - 10 # data that has failed one or more checks
            - 11 # data that has been calculated (using logic or mathematical operations)
            - 12 # data that has been calculated as a projection or forecast of future readings
            - 13 # indicates that the quality of this reading has mixed characteristics
            - 14 # data that has not gone through the validation
            - 15 # the values have been adjusted to account for weather
            - 16 # specifies that a characteristic applies other than those defined
            - 17 # data that has been validated and possibly edited and/or estimated in accordance with approved procedures
            - 18 # data that failed at least one of the required validation checks but was determined to represent actual usage
            - 19 # data that is valid and acceptable for billing purposes
# Enum value descriptions (bit positions and their meanings)
            x-enum-descriptions:
              '0': data that has gone through all required validation checks and either passed them all or has been verified
              '7': Replaced or approved by a human
              '8': data value was replaced by a machine computed value based on analysis of historical data using the same type of measurement.
              '9': data value was computed using linear interpolation based on the readings before and after it
              '10': data that has failed one or more checks
              '11': data that has been calculated (using logic or mathematical operations)
              '12': data that has been calculated as a projection or forecast of future readings
              '13': indicates that the quality of this reading has mixed characteristics
              '14': data that has not gone through the validation
              '15': the values have been adjusted to account for weather
              '16': specifies that a characteristic applies other than those defined
              '17': data that has been validated and possibly edited and/or estimated in accordance with approved procedures
              '18': data that failed at least one of the required validation checks but was determined to represent actual usage
              '19': data that is valid and acceptable for billing purposes
            minimum: 0
            maximum: 65535
          - type: string
            enum:
            - valid
            - manuallyEdited
            - estimatedUsingReferenceDay
            - estimatedUsingLinearInterpolation
            - questionable
            - derived
            - projected
            - mixed
            - raw
            - normalizedForWeather
            - other
            - validated
            - verified
            - billingApproved
        ratchetDemand:
          $ref: '#/components/schemas/SummaryMeasurement'
          description: If the summary contains data from a current period beyond the end of the referenced billingPeriod, the current ratchet demand value for the ratchet demand over the ratchetDemandPeriod.
        ratchetDemandPeriod:
          $ref: '#/components/schemas/DateTimeInterval'
          description: The period over which the ratchet demand applies
        statusTimeStamp:
          description: Date/Time status of this UsageSummary
          oneOf:
          - type: integer
            description: 'ESPI native: seconds since Unix epoch'
          - type: string
            format: date-time
            description: ISO 8601 date-time (e.g. 2025-07-15T00:00:00+05:30)
        commodity:
          description: "[extension] The commodity for this summary report\nEnum values:\n  - 0: Not Applicable\n  - 1: All types of metered quantities. This type of reading comes from the meter and represents a “secondary” metered value.\n  - 2: It is possible for a meter to be outfitted with an external VT and/or CT. The meter might not be aware of these devices, and the display not compensate for their presence. Ultimately, when these scalars are applied, the value that represents the service value is called the “primary metered” value. The “index” in sub-category 3 mirrors those of sub-category 0.\n  - 3: A measurement of the communication infrastructure itself.\n  - 4: Air\n  - 5: Insulative Gas (SF6 is found separately below)\n  - 6: Insulative Oil\n  - 7: Natural Gas\n  - 8: Propane C3H8\n  - 9: Drinkable water\n  - 10: Water in steam form, usually used for heating.\n  - 11: Waste Water (Sewerage)\n  - 12: This fluid is likely in liquid form. It is not necessarily water or water based. The warm fluid returns cooler than when it was sent. The heat conveyed may be metered.\n  - 13: The cool fluid returns warmer than when it was sent. The heat conveyed may be metered.\n  - 14: Reclaimed water – possibly used for irrigation but not sufficiently treated to be considered safe for drinking.\n  - 15: Nitrous Oxides NOX\n  - 16: Sulfur Dioxide SO2\n  - 17: Methane CH4\n  - 18: Carbon Dioxide CO2\n  - 19: Carbon\n  - 20: Hexachlorocyclohexane HCH\n  - 21: Perfluorocarbons PFC\n  - 22: Sulfurhexafluoride SF6\n  - 23: Television\n  - 24: Internet service\n  - 25: Trash\n  - 26: Electricity Transmission \"metered\" -- Service taken directly from transmission system without transformation from standard transmission voltages"
          oneOf:
          - format: uint16
            type: integer
            enum:
            - 0 # Not Applicable
            - 1 # All types of metered quantities. This type of reading comes from the meter and represents a “secondary” metered value.
            - 2 # It is possible for a meter to be outfitted with an external VT and/or CT. The meter might not be aware of these devices, and the display not compensate for their presence. Ultimately, when these scalars are applied, the value that represents the service value is called the “primary metered” value. The “index” in sub-category 3 mirrors those of sub-category 0.
            - 3 # A measurement of the communication infrastructure itself.
            - 4 # Air
            - 5 # Insulative Gas (SF6 is found separately below)
            - 6 # Insulative Oil
            - 7 # Natural Gas
            - 8 # Propane C3H8
            - 9 # Drinkable water
            - 10 # Water in steam form, usually used for heating.
            - 11 # Waste Water (Sewerage)
            - 12 # This fluid is likely in liquid form. It is not necessarily water or water based. The warm fluid returns cooler than when it was sent. The heat conveyed may be metered.
            - 13 # The cool fluid returns warmer than when it was sent. The heat conveyed may be metered.
            - 14 # Reclaimed water – possibly used for irrigation but not sufficiently treated to be considered safe for drinking.
            - 15 # Nitrous Oxides NOX
            - 16 # Sulfur Dioxide SO2
            - 17 # Methane CH4
            - 18 # Carbon Dioxide CO2
            - 19 # Carbon
            - 20 # Hexachlorocyclohexane HCH
            - 21 # Perfluorocarbons PFC
            - 22 # Sulfurhexafluoride SF6
            - 23 # Television
            - 24 # Internet service
            - 25 # Trash
            - 26 # Electricity Transmission "metered" -- Service taken directly from transmission system without transformation from standard transmission voltages
# Enum value descriptions (bit positions and their meanings)
            x-enum-descriptions:
              '0': Not Applicable
              '1': All types of metered quantities. This type of reading comes from the meter and represents a “secondary” metered value.
              '2': It is possible for a meter to be outfitted with an external VT and/or CT. The meter might not be aware of these devices, and the display not compensate for their presence. Ultimately, when these scalars are applied, the value that represents the service value is called the “primary metered” value. The “index” in sub-category 3 mirrors those of sub-category 0.
              '3': A measurement of the communication infrastructure itself.
              '4': Air
              '5': Insulative Gas (SF6 is found separately below)
              '6': Insulative Oil
              '7': Natural Gas
              '8': Propane C3H8
              '9': Drinkable water
              '10': Water in steam form, usually used for heating.
              '11': Waste Water (Sewerage)
              '12': This fluid is likely in liquid form. It is not necessarily water or water based. The warm fluid returns cooler than when it was sent. The heat conveyed may be metered.
              '13': The cool fluid returns warmer than when it was sent. The heat conveyed may be metered.
              '14': Reclaimed water – possibly used for irrigation but not sufficiently treated to be considered safe for drinking.
              '15': Nitrous Oxides NOX
              '16': Sulfur Dioxide SO2
              '17': Methane CH4
              '18': Carbon Dioxide CO2
              '19': Carbon
              '20': Hexachlorocyclohexane HCH
              '21': Perfluorocarbons PFC
              '22': Sulfurhexafluoride SF6
              '23': Television
              '24': Internet service
              '25': Trash
              '26': Electricity Transmission "metered" -- Service taken directly from transmission system without transformation from standard transmission voltages
            minimum: 0
            maximum: 65535
          - type: string
            enum:
            - none
            - electricitySecondaryMetered
            - electricityPrimaryMetered
            - communication
            - air
            - insulativeGas
            - insulativeOil
            - naturalGas
            - propane
            - potableWater
            - steam
            - wasteWater
        tariffProfile:
          type: string
          description: '[extension] A schedule of charges; structure associated with Tariff that allows the definition of complex tariff structures such as step and time of use.'
        readCycle:
          type: string
          description: '[extension] Cycle day on which the meter for this usage point will normally be read.  Usually correlated with the billing cycle.'
        tariffRiderRefs:
          $ref: '#/components/schemas/TariffRiderRefs'
          description: '[extension] List of rate options applied to the base tariff profile'
        billingChargeSource:
          $ref: '#/components/schemas/BillingChargeSource'
          description: '[extension] Source of Billing Charge'
      required:
      - statusTimeStamp
      description: '[extension] Summary of usage for a billing period'
    TimeConfiguration:
      type: object
      properties:
        dstEndRule:
          format: hexBinary
          type: string
          enum:
          - '0'  # DST starts/ends on the Day of the Month
          - '1' # DST starts/ends on the Day of the Week that is on or after the Day of the Month
          - '2' # DST starts/ends on the first occurrence of the Day of the Week in a month
          - '3' # DST starts/ends on the second occurrence of the Day of the Week in a month
          - '4' # DST starts/ends on the third occurrence of the Day of the Week in a month
          - '5' # DST starts/ends on the forth occurrence of the Day of the Week in a month
          - '6' # DST starts/ends on the fifth occurrence of the Day of the Week in a month
          - '7' # DST starts/ends on the last occurrence of the Day of the Week in a month
# Enum value descriptions (bit positions and their meanings)
          x-enum-descriptions:
            '0': DST starts/ends on the Day of the Month
            '1': DST starts/ends on the Day of the Week that is on or after the Day of the Month
            '2': DST starts/ends on the first occurrence of the Day of the Week in a month
            '3': DST starts/ends on the second occurrence of the Day of the Week in a month
            '4': DST starts/ends on the third occurrence of the Day of the Week in a month
            '5': DST starts/ends on the forth occurrence of the Day of the Week in a month
            '6': DST starts/ends on the fifth occurrence of the Day of the Week in a month
            '7': DST starts/ends on the last occurrence of the Day of the Week in a month
          description: "Rule to calculate end of daylight savings time in the current year.  Result of dstEndRule must be greater than result of dstStartRule.\nEnum values:\n  - 0: DST starts/ends on the Day of the Month\n  - 1: DST starts/ends on the Day of the Week that is on or after the Day of the Month\n  - 2: DST starts/ends on the first occurrence of the Day of the Week in a month\n  - 3: DST starts/ends on the second occurrence of the Day of the Week in a month\n  - 4: DST starts/ends on the third occurrence of the Day of the Week in a month\n  - 5: DST starts/ends on the forth occurrence of the Day of the Week in a month\n  - 6: DST starts/ends on the fifth occurrence of the Day of the Week in a month\n  - 7: DST starts/ends on the last occurrence of the Day of the Week in a month"
        dstOffset:
          type: integer
          description: Daylight savings time offset from local standard time.
        dstStartRule:
          format: hexBinary
          type: string
          enum:
          - '0'  # DST starts/ends on the Day of the Month
          - '1' # DST starts/ends on the Day of the Week that is on or after the Day of the Month
          - '2' # DST starts/ends on the first occurrence of the Day of the Week in a month
          - '3' # DST starts/ends on the second occurrence of the Day of the Week in a month
          - '4' # DST starts/ends on the third occurrence of the Day of the Week in a month
          - '5' # DST starts/ends on the forth occurrence of the Day of the Week in a month
          - '6' # DST starts/ends on the fifth occurrence of the Day of the Week in a month
          - '7' # DST starts/ends on the last occurrence of the Day of the Week in a month
# Enum value descriptions (bit positions and their meanings)
          x-enum-descriptions:
            '0': DST starts/ends on the Day of the Month
            '1': DST starts/ends on the Day of the Week that is on or after the Day of the Month
            '2': DST starts/ends on the first occurrence of the Day of the Week in a month
            '3': DST starts/ends on the second occurrence of the Day of the Week in a month
            '4': DST starts/ends on the third occurrence of the Day of the Week in a month
            '5': DST starts/ends on the forth occurrence of the Day of the Week in a month
            '6': DST starts/ends on the fifth occurrence of the Day of the Week in a month
            '7': DST starts/ends on the last occurrence of the Day of the Week in a month
          description: "Rule to calculate start of daylight savings time in the current year. Result of dstEndRule must be greater than result of dstStartRule.\nEnum values:\n  - 0: DST starts/ends on the Day of the Month\n  - 1: DST starts/ends on the Day of the Week that is on or after the Day of the Month\n  - 2: DST starts/ends on the first occurrence of the Day of the Week in a month\n  - 3: DST starts/ends on the second occurrence of the Day of the Week in a month\n  - 4: DST starts/ends on the third occurrence of the Day of the Week in a month\n  - 5: DST starts/ends on the forth occurrence of the Day of the Week in a month\n  - 6: DST starts/ends on the fifth occurrence of the Day of the Week in a month\n  - 7: DST starts/ends on the last occurrence of the Day of the Week in a month"
        tzOffset:
          type: integer
          description: Local time zone offset from UTCTime. Does not include any daylight savings time offsets.
      required:
      - dstEndRule
      - dstOffset
      - dstStartRule
      - tzOffset
      description: '[extension] Contains attributes related to the configuration of the time service.'
    ProgramIdMappings:
      type: object
      properties:
        tOUorCPPorConsumptionTier:
          type: string
          enum:
          - tou  # Time of Use
          - cpp # Consumption Peak Period
          - consumptiontier # Consumption Tier
# Enum value descriptions (bit positions and their meanings)
          x-enum-descriptions:
            tou: Time of Use
            cpp: Consumption Peak Period
            consumptiontier: Consumption Tier
          description: "Type of billing tariff profile uses\nEnum values:\n  - tou: Time of Use\n  - cpp: Consumption Peak Period\n  - consumptiontier: Consumption Tier"
      required:
      - tOUorCPPorConsumptionTier
      description: '[extension] List of programIDmappings'
    IntervalReading:
      type: object
      properties:
        cost:
          type: number
          description: '[correction] Specifies a cost associated with this reading, in hundred-thousandths of the currency specified in the ReadingType for this reading. (e.g., 840 = USD, US dollar)'
        ReadingQuality:
          $ref: '#/components/schemas/ReadingQuality'
          description: One or more quality of reading values for the current interval reading.
        timePeriod:
          $ref: '#/components/schemas/DateTimeInterval'
          description: The date time and duration of a reading. If not specified, readings for each “intervalLength” in ReadingType are present.
        value:
          type: number
          description: '[correction] Value in units specified by ReadingType'
        consumptionTier:
          type: integer
          description: '[extension] Code for consumption tier associated with reading.'
        tou:
          type: integer
          description: '[extension] Code for the TOU type of reading.'
        cpp:
          type: integer
          description: "[extension] Critical peak period (CPP) bucket the reading value is attributed to. Value 0 means not applicable. Even though CPP is usually considered a specialized form of time of use 'tou', this attribute is defined explicitly for flexibility."
      required: []
      description: Specific value measured by a meter or other asset. Each Reading is associated with a specific ReadingType.
    ReadingQuality:
      type: object
      properties:
        quality:
          description: "Quality, to be specified if different than ReadingType.defaultQuality. The specific format is specified per the standard is defined in QualityOfReading.\nEnum values:\n  - 0: data that has gone through all required validation checks and either passed them all or has been verified\n  - 7: Replaced or approved by a human\n  - 8: data value was replaced by a machine computed value based on analysis of historical data using the same type of measurement.\n  - 9: data value was computed using linear interpolation based on the readings before and after it\n  - 10: data that has failed one or more checks\n  - 11: data that has been calculated (using logic or mathematical operations)\n  - 12: data that has been calculated as a projection or forecast of future readings\n  - 13: indicates that the quality of this reading has mixed characteristics\n  - 14: data that has not gone through the validation\n  - 15: the values have been adjusted to account for weather\n  - 16: specifies that a characteristic applies other than those defined\n  - 17: data that has been validated and possibly edited and/or estimated in accordance with approved procedures\n  - 18: data that failed at least one of the required validation checks but was determined to represent actual usage\n  - 19: data that is valid and acceptable for billing purposes"
          oneOf:
          - format: uint16
            type: integer
            enum:
            - 0 # data that has gone through all required validation checks and either passed them all or has been verified
            - 7 # Replaced or approved by a human
            - 8 # data value was replaced by a machine computed value based on analysis of historical data using the same type of measurement.
            - 9 # data value was computed using linear interpolation based on the readings before and after it
            - 10 # data that has failed one or more checks
            - 11 # data that has been calculated (using logic or mathematical operations)
            - 12 # data that has been calculated as a projection or forecast of future readings
            - 13 # indicates that the quality of this reading has mixed characteristics
            - 14 # data that has not gone through the validation
            - 15 # the values have been adjusted to account for weather
            - 16 # specifies that a characteristic applies other than those defined
            - 17 # data that has been validated and possibly edited and/or estimated in accordance with approved procedures
            - 18 # data that failed at least one of the required validation checks but was determined to represent actual usage
            - 19 # data that is valid and acceptable for billing purposes
# Enum value descriptions (bit positions and their meanings)
            x-enum-descriptions:
              '0': data that has gone through all required validation checks and either passed them all or has been verified
              '7': Replaced or approved by a human
              '8': data value was replaced by a machine computed value based on analysis of historical data using the same type of measurement.
              '9': data value was computed using linear interpolation based on the readings before and after it
              '10': data that has failed one or more checks
              '11': data that has been calculated (using logic or mathematical operations)
              '12': data that has been calculated as a projection or forecast of future readings
              '13': indicates that the quality of this reading has mixed characteristics
              '14': data that has not gone through the validation
              '15': the values have been adjusted to account for weather
              '16': specifies that a characteristic applies other than those defined
              '17': data that has been validated and possibly edited and/or estimated in accordance with approved procedures
              '18': data that failed at least one of the required validation checks but was determined to represent actual usage
              '19': data that is valid and acceptable for billing purposes
            minimum: 0
            maximum: 65535
          - type: string
            enum:
            - valid
            - manuallyEdited
            - estimatedUsingReferenceDay
            - estimatedUsingLinearInterpolation
            - questionable
            - derived
            - projected
            - mixed
            - raw
            - normalizedForWeather
            - other
            - validated
            - verified
            - billingApproved
      required:
      - quality
      description: Quality of a specific reading value or interval reading value. Note that more than one Quality may be applicable to a given Reading. Typically not used unless problems or unusual conditions occur (i.e., quality for each Reading is assumed to be 'Good' (valid) unless stated otherwise in associated ReadingQuality).
    ServiceCategory:
      type: object
      properties:
        kind:
          format: uint16
          type: integer
          enum:
          - 0  # Electricity service.
          - 1 # Gas service.
          - 2 # Water service.
          - 3 # Time service.
          - 4 # Heat service.
          - 5 # Refuse (waster) service.
          - 6 # Sewerage service.
          - 7 # Rates (e.g. tax, charge, toll, duty, tariff, etc.) service.
          - 8 # TV license service.
          - 9 # Internet service.
# Enum value descriptions (bit positions and their meanings)
          x-enum-descriptions:
            '0': Electricity service.
            '1': Gas service.
            '2': Water service.
            '3': Time service.
            '4': Heat service.
            '5': Refuse (waster) service.
            '6': Sewerage service.
            '7': Rates (e.g. tax, charge, toll, duty, tariff, etc.) service.
            '8': TV license service.
            '9': Internet service.
          description: "Service classification Examples are: 0 - electricity 1 - gas The list of specific valid values per the standard are itemized in ServiceKind.\nEnum values:\n  - 0: Electricity service.\n  - 1: Gas service.\n  - 2: Water service.\n  - 3: Time service.\n  - 4: Heat service.\n  - 5: Refuse (waster) service.\n  - 6: Sewerage service.\n  - 7: Rates (e.g. tax, charge, toll, duty, tariff, etc.) service.\n  - 8: TV license service.\n  - 9: Internet service."
          minimum: 0
          maximum: 65535
      required:
      - kind
      description: Category of service provided to the customer.
    SummaryMeasurement:
      type: object
      properties:
        powerOfTenMultiplier:
          format: int16
          type: integer
          enum:
          - -12  # Pico 10**-12
          - -9 # Nano 10**-9
          - -6 # Micro 10**-6
          - -3 # Milli 10**-3
          - -2 # Centi 10**-2
          - -1 # Deci 10**-1
          - 3 # Kilo 10**3
          - 6 # Mega 10**6
          - 9 # Giga 10**9
          - 12 # Tera 10**12
          - 0 # Not Applicable or "x1"
          - 1 # deca 10**1
          - 2 # hecto 10**2
# Enum value descriptions (bit positions and their meanings)
          x-enum-descriptions:
            '-12': Pico 10**-12
            '-9': Nano 10**-9
            '-6': Micro 10**-6
            '-3': Milli 10**-3
            '-2': Centi 10**-2
            '-1': Deci 10**-1
            '3': Kilo 10**3
            '6': Mega 10**6
            '9': Giga 10**9
            '12': Tera 10**12
            '0': Not Applicable or "x1"
            '1': deca 10**1
            '2': hecto 10**2
          description: "The multiplier part of the unit of measure, e.g. “kilo” (k)\nEnum values:\n  - -12: Pico 10**-12\n  - -9: Nano 10**-9\n  - -6: Micro 10**-6\n  - -3: Milli 10**-3\n  - -2: Centi 10**-2\n  - -1: Deci 10**-1\n  - 3: Kilo 10**3\n  - 6: Mega 10**6\n  - 9: Giga 10**9\n  - 12: Tera 10**12\n  - 0: Not Applicable or \"x1\"\n  - 1: deca 10**1\n  - 2: hecto 10**2"
        timeStamp:
          description: The date and time (if needed) of the summary measurement.
          oneOf:
          - type: integer
            description: 'ESPI native: seconds since Unix epoch'
          - type: string
            format: date-time
            description: ISO 8601 date-time (e.g. 2025-07-15T00:00:00+05:30)
        uom:
          description: "The units of the reading, e.g. “Wh”\nEnum values:\n  - 61: Apparent power, Volt Ampere (See also real power and reactive power.), VA\n  - 38: Real power, Watt. By definition, one Watt equals one Joule per second. Electrical power may have real and reactive components. The real portion of electrical power (I²R) or VIcos?, is expressed in Watts. (See also apparent power and reactive power.), W\n  - 63: Reactive power, Volt Ampere reactive. The “reactive” or “imaginary” component of electrical power (VISin?). (See also real power and apparent power)., VAr\n  - 71: Apparent energy, Volt Ampere hours, VAh\n  - 72: Real energy, Watt hours, Wh\n  - 73: Reactive energy, Volt Ampere reactive hours, VArh\n  - 29: Electric potential, Volt (W/A), V\n  - 30: Electric resistance, Ohm (V/A), O\n  - 5: Current, ampere, A\n  - 25: Electric capacitance, Farad (C/V), °C\n  - 28: Electric inductance, Henry (Wb/A), H\n  - 23: Relative temperature in degrees Celsius. In the SI unit system the symbol is ºC. Electric charge is measured in coulomb that has the unit symbol C. To distinguish degree Celsius from coulomb the symbol used in the UML is degC. Reason for not using ºC is the special character º is difficult to manage in software.\n  - 27: Time, seconds, s\n  - 159: Time, minute = s * 60, min\n  - 160: Time, hour = minute * 60, h\n  - 9: Plane angle, degrees, deg\n  - 10: Plane angle, Radian (m/m), rad\n  - 31: Energy joule, (N·m = C·V = W·s), J\n  - 32: Force newton, (kg m/s²), N\n  - 53: Electric conductance, Siemens (A / V = 1 / O), S\n  - 0: N/A, None\n  - 33: Frequency hertz, (1/s), Hz\n  - 3: Mass in gram, g\n  - 39: Pressure, Pascal (N/m²)(Note: the absolute or relative measurement of pressure is implied with this entry. See below for more explicit forms.), Pa\n  - 2: Length, meter, m\n  - 41: Area, square meter, m²\n  - 42: Volume, cubic meter, m³\n  - 69: Amps squared, amp squared, A2\n  - 105: ampere-squared, Ampere-squared hour, A²h\n  - 70: Amps squared time, square amp second, A²s\n  - 106: Ampere-hours, Ampere-hours, Ah\n  - 152: Current, Ratio of Amperages, A/A\n  - 103: A/m, magnetic field strength, Ampere per metre, A/m\n  - 68: Amp seconds, amp seconds, As\n  - 79: Sound pressure level, Bel, acoustic, Combine with multiplier prefix “d” to form decibels of Sound Pressure Level“dB (SPL).”, B (SPL)\n  - 113: Signal Strength, Bel-mW, normalized to 1mW. Note: to form “dBm” combine “Bm” with multiplier “d”. Bm\n  - 22: Radioactivity, Becquerel (1/s), Bq\n  - 132: Energy, British Thermal Units, BTU\n  - 133: Power, BTU per hour, BTU/h\n  - 8: Luminous intensity, candela, cd\n  - 76: Number of characters, characters, char\n  - 75: Rate of change of frequency, hertz per second, Hz/s\n  - 114: Application Value, encoded value, code\n  - 65: Power factor, Dimensionless, cos?\n  - 111: Amount of substance, counter value, count\n  - 119: Volume, cubic feet, ft³\n  - 120: Volume, cubic feet, ft³(compensated)\n  - 123: Volumetric flow rate, compensated cubic feet per hour, ft³(compensated)/h\n  - 78: Turbine inertia, gram·meter2 (Combine with multiplier prefix “k” to form kg·m2.), gm²\n  - 144: Concentration, The ratio of the mass of a solute divided by the mass of the solution., g/g\n  - 21: Absorbed dose, Gray (J/kg), GY\n  - 150: Frequency, Rate of frequency change, Hz/Hz\n  - 77: Data rate, characters per second, char/s\n  - 130: Volume, imperial gallons, ImperialGal\n  - 131: Volumetric flow rate, Imperial gallons per hour, ImperialGal/h\n  - 51: Heat capacity, Joule/Kelvin, J/K\n  - 165: Specific energy, Joules / kg, J/kg\n  - 6: Temperature, Kelvin, K\n  - 158: Catalytic activity, katal = mol / s, kat\n  - 47: Moment of mass ,kilogram meter (kg·m), M\n  - 48: Density, gram/cubic meter (combine with prefix multiplier “k” to form kg/ m³), g/m³\n  - 134: Volume, litre = dm3 = m3/1000., L\n  - 157: Volume, litre, with the value compensated for weather effects, L(compensated)\n  - 138: Volumetric flow rate, litres (compensated) per hour, L(compensated)/h\n  - 137: Volumetric flow rate, litres per hour, L/h\n  - 143: Concentration, The ratio of the volume of a solute divided by the volume of the solution., L/L\n  - 82: Volumetric flow rate, Volumetric flow rate, L/s\n  - 156: Volume, litre, with the value uncompensated for weather effects., L(uncompensated)\n  - 139: Volumetric flow rate, litres (uncompensated) per hour, L(uncompensated)/h\n  - 35: Luminous flux, lumen (cd sr), Lm\n  - 34: Illuminance lux, (lm/m²), L(uncompensated)/h\n  - 49: Viscosity, meter squared / second, m²/s\n  - 167: Volume, cubic meter, with the value compensated for weather effects., m3(compensated)\n  - 126: Volumetric flow rate, compensated cubic meters per hour, ³(compensated)/h\n  - 125: Volumetric flow rate, cubic meters per hour, m³/h\n  - 45: m3PerSec, cubic meters per second, m³/s\n  - 166: m3uncompensated, cubic meter, with the value uncompensated for weather effects., m3(uncompensated)\n  - 127: Volumetric flow rate, uncompensated cubic meters per hour, m³(uncompensated)/h\n  - 118: EndDeviceEvent, value to be interpreted as a EndDeviceEventCode, meCode\n  - 7: Amount of substance, mole, mol\n  - 147: Concentration, Molality, the amount of solute in moles and the amount of solvent in kilograms., mol/kg\n  - 145: Concentration, The amount of substance concentration, (c), the amount of solvent in moles divided by the volume of solution in m³., mol/ m³\n  - 146: Concentration, Molar fraction (?), the ratio of the molar amount of a solute divided by the molar amount of the solution.,mol/mol\n  - 80: Monetary unit, Generic money (Note: Specific monetary units are identified the currency class)., ¤\n  - 148: Length, Ratio of length, m/m\n  - 46: Fuel efficiency, meters / cubic meter, m/m³\n  - 43: Velocity, meters per second (m/s), m/s\n  - 44: Acceleration, meters per second squared, m/s²\n  - 102: resistivity, ? (rho), ?m\n  - 155: Pressure, Pascal, absolute pressure, PaA\n  - 140: Pressure, Pascal, gauge pressure, PaG\n  - 141: Pressure, Pounds per square inch, absolute, psiA\n  - 142: Pressure, Pounds per square inch, gauge, psiG\n  - 100: Quantity power, Q, Q\n  - 161: Quantity power, Q measured at 45º, Q45\n  - 163: Quantity energy, Q measured at 45º, Q45h\n  - 162: Quantity power, Q measured at 60º, Q60\n  - 164: Quantity energy, Qh measured at 60º, Q60h\n  - 101: Quantity energy, Qh, Qh\n  - 54: Angular velocity, radians per second, rad/s\n  - 154: Amount of rotation, Revolutions, rev\n  - 4: Rotational speed, Rotations per second, rev/s\n  - 149: Time, Ratio of time (can be combined with an multiplier prefix to show rates such as a clock drift rate, e.g. “µs/s”), s/s\n  - 11: Solid angle, Steradian (m2/m2), sr\n  - 109: State, \"1\" = \"true\", \"live\", \"on\", \"high\", \"set\"; \"0\" = \"false\", \"dead\", \"off\", \"low\", \"cleared\". Note: A Boolean value is preferred but other values may be supported, status\n  - 24: Doe equivalent, Sievert (J/kg), Sv\n  - 37: Magnetic flux density, Tesla (Wb/m2), T\n  - 169: Energy, Therm, therm\n  - 108: Timestamp, time and date per ISO 8601 format, timeStamp\n  - 128: Volume, US gallons, Gal\n  - 129: Volumetric flow rate, US gallons per hour, USGal/h\n  - 67: Volts squared, Volt squared (W2/A2), V²\n  - 104: volt-squared hour, Volt-squared-hours, V²h\n  - 117: Kh-Vah, apparent energy metering constant, VAh/rev\n  - 116: Kh-VArh, reactive energy metering constant, VArh/rev\n  - 74: Magnetic flux, Volts per Hertz, V/Hz\n  - 151: Voltage, Ratio of voltages (e.g. mV/V), V/V\n  - 66: Volt seconds, Volt seconds (Ws/A), Vs\n  - 36: Magnetic flux, Weber (V s), Wb\n  - 107: Wh/m3, energy per volume, Wh/m³\n  - 115: Kh-Wh, active energy metering constant, Wh/rev\n  - 50: Thermal conductivity, Watt/meter Kelvin, W/m K\n  - 81: Ramp rate, Watts per second, W/s\n  - 153: Power Factor, PF, W/VA\n  - 168: Signal Strength, Ratio of power, W/W"
          oneOf:
          - format: uint16
            type: integer
            enum:
            - 61 # Apparent power, Volt Ampere (See also real power and reactive power.), VA
            - 38 # Real power, Watt. By definition, one Watt equals one Joule per second. Electrical power may have real and reactive components. The real portion of electrical power (I²R) or VIcos?, is expressed in Watts. (See also apparent power and reactive power.), W
            - 63 # Reactive power, Volt Ampere reactive. The “reactive” or “imaginary” component of electrical power (VISin?). (See also real power and apparent power)., VAr
            - 71 # Apparent energy, Volt Ampere hours, VAh
            - 72 # Real energy, Watt hours, Wh
            - 73 # Reactive energy, Volt Ampere reactive hours, VArh
            - 29 # Electric potential, Volt (W/A), V
            - 30 # Electric resistance, Ohm (V/A), O
            - 5 # Current, ampere, A
            - 25 # Electric capacitance, Farad (C/V), °C
            - 28 # Electric inductance, Henry (Wb/A), H
            - 23 # Relative temperature in degrees Celsius. In the SI unit system the symbol is ºC. Electric charge is measured in coulomb that has the unit symbol C. To distinguish degree Celsius from coulomb the symbol used in the UML is degC. Reason for not using ºC is the special character º is difficult to manage in software.
            - 27 # Time, seconds, s
            - 159 # Time, minute = s * 60, min
            - 160 # Time, hour = minute * 60, h
            - 9 # Plane angle, degrees, deg
            - 10 # Plane angle, Radian (m/m), rad
            - 31 # Energy joule, (N·m = C·V = W·s), J
            - 32 # Force newton, (kg m/s²), N
            - 53 # Electric conductance, Siemens (A / V = 1 / O), S
            - 0 # N/A, None
            - 33 # Frequency hertz, (1/s), Hz
            - 3 # Mass in gram, g
            - 39 # Pressure, Pascal (N/m²)(Note: the absolute or relative measurement of pressure is implied with this entry. See below for more explicit forms.), Pa
            - 2 # Length, meter, m
            - 41 # Area, square meter, m²
            - 42 # Volume, cubic meter, m³
            - 69 # Amps squared, amp squared, A2
            - 105 # ampere-squared, Ampere-squared hour, A²h
            - 70 # Amps squared time, square amp second, A²s
            - 106 # Ampere-hours, Ampere-hours, Ah
            - 152 # Current, Ratio of Amperages, A/A
            - 103 # A/m, magnetic field strength, Ampere per metre, A/m
            - 68 # Amp seconds, amp seconds, As
            - 79 # Sound pressure level, Bel, acoustic, Combine with multiplier prefix “d” to form decibels of Sound Pressure Level“dB (SPL).”, B (SPL)
            - 113 # Signal Strength, Bel-mW, normalized to 1mW. Note: to form “dBm” combine “Bm” with multiplier “d”. Bm
            - 22 # Radioactivity, Becquerel (1/s), Bq
            - 132 # Energy, British Thermal Units, BTU
            - 133 # Power, BTU per hour, BTU/h
            - 8 # Luminous intensity, candela, cd
            - 76 # Number of characters, characters, char
            - 75 # Rate of change of frequency, hertz per second, Hz/s
            - 114 # Application Value, encoded value, code
            - 65 # Power factor, Dimensionless, cos?
            - 111 # Amount of substance, counter value, count
            - 119 # Volume, cubic feet, ft³
            - 120 # Volume, cubic feet, ft³(compensated)
            - 123 # Volumetric flow rate, compensated cubic feet per hour, ft³(compensated)/h
            - 78 # Turbine inertia, gram·meter2 (Combine with multiplier prefix “k” to form kg·m2.), gm²
            - 144 # Concentration, The ratio of the mass of a solute divided by the mass of the solution., g/g
            - 21 # Absorbed dose, Gray (J/kg), GY
            - 150 # Frequency, Rate of frequency change, Hz/Hz
            - 77 # Data rate, characters per second, char/s
            - 130 # Volume, imperial gallons, ImperialGal
            - 131 # Volumetric flow rate, Imperial gallons per hour, ImperialGal/h
            - 51 # Heat capacity, Joule/Kelvin, J/K
            - 165 # Specific energy, Joules / kg, J/kg
            - 6 # Temperature, Kelvin, K
            - 158 # Catalytic activity, katal = mol / s, kat
            - 47 # Moment of mass ,kilogram meter (kg·m), M
            - 48 # Density, gram/cubic meter (combine with prefix multiplier “k” to form kg/ m³), g/m³
            - 134 # Volume, litre = dm3 = m3/1000., L
            - 157 # Volume, litre, with the value compensated for weather effects, L(compensated)
            - 138 # Volumetric flow rate, litres (compensated) per hour, L(compensated)/h
            - 137 # Volumetric flow rate, litres per hour, L/h
            - 143 # Concentration, The ratio of the volume of a solute divided by the volume of the solution., L/L
            - 82 # Volumetric flow rate, Volumetric flow rate, L/s
            - 156 # Volume, litre, with the value uncompensated for weather effects., L(uncompensated)
            - 139 # Volumetric flow rate, litres (uncompensated) per hour, L(uncompensated)/h
            - 35 # Luminous flux, lumen (cd sr), Lm
            - 34 # Illuminance lux, (lm/m²), L(uncompensated)/h
            - 49 # Viscosity, meter squared / second, m²/s
            - 167 # Volume, cubic meter, with the value compensated for weather effects., m3(compensated)
            - 126 # Volumetric flow rate, compensated cubic meters per hour, ³(compensated)/h
            - 125 # Volumetric flow rate, cubic meters per hour, m³/h
            - 45 # m3PerSec, cubic meters per second, m³/s
            - 166 # m3uncompensated, cubic meter, with the value uncompensated for weather effects., m3(uncompensated)
            - 127 # Volumetric flow rate, uncompensated cubic meters per hour, m³(uncompensated)/h
            - 118 # EndDeviceEvent, value to be interpreted as a EndDeviceEventCode, meCode
            - 7 # Amount of substance, mole, mol
            - 147 # Concentration, Molality, the amount of solute in moles and the amount of solvent in kilograms., mol/kg
            - 145 # Concentration, The amount of substance concentration, (c), the amount of solvent in moles divided by the volume of solution in m³., mol/ m³
            - 146 # Concentration, Molar fraction (?), the ratio of the molar amount of a solute divided by the molar amount of the solution.,mol/mol
            - 80 # Monetary unit, Generic money (Note: Specific monetary units are identified the currency class)., ¤
            - 148 # Length, Ratio of length, m/m
            - 46 # Fuel efficiency, meters / cubic meter, m/m³
            - 43 # Velocity, meters per second (m/s), m/s
            - 44 # Acceleration, meters per second squared, m/s²
            - 102 # resistivity, ? (rho), ?m
            - 155 # Pressure, Pascal, absolute pressure, PaA
            - 140 # Pressure, Pascal, gauge pressure, PaG
            - 141 # Pressure, Pounds per square inch, absolute, psiA
            - 142 # Pressure, Pounds per square inch, gauge, psiG
            - 100 # Quantity power, Q, Q
            - 161 # Quantity power, Q measured at 45º, Q45
            - 163 # Quantity energy, Q measured at 45º, Q45h
            - 162 # Quantity power, Q measured at 60º, Q60
            - 164 # Quantity energy, Qh measured at 60º, Q60h
            - 101 # Quantity energy, Qh, Qh
            - 54 # Angular velocity, radians per second, rad/s
            - 154 # Amount of rotation, Revolutions, rev
            - 4 # Rotational speed, Rotations per second, rev/s
            - 149 # Time, Ratio of time (can be combined with an multiplier prefix to show rates such as a clock drift rate, e.g. “µs/s”), s/s
            - 11 # Solid angle, Steradian (m2/m2), sr
            - 109 # State, "1" = "true", "live", "on", "high", "set"; "0" = "false", "dead", "off", "low", "cleared". Note: A Boolean value is preferred but other values may be supported, status
            - 24 # Doe equivalent, Sievert (J/kg), Sv
            - 37 # Magnetic flux density, Tesla (Wb/m2), T
            - 169 # Energy, Therm, therm
            - 108 # Timestamp, time and date per ISO 8601 format, timeStamp
            - 128 # Volume, US gallons, Gal
            - 129 # Volumetric flow rate, US gallons per hour, USGal/h
            - 67 # Volts squared, Volt squared (W2/A2), V²
            - 104 # volt-squared hour, Volt-squared-hours, V²h
            - 117 # Kh-Vah, apparent energy metering constant, VAh/rev
            - 116 # Kh-VArh, reactive energy metering constant, VArh/rev
            - 74 # Magnetic flux, Volts per Hertz, V/Hz
            - 151 # Voltage, Ratio of voltages (e.g. mV/V), V/V
            - 66 # Volt seconds, Volt seconds (Ws/A), Vs
            - 36 # Magnetic flux, Weber (V s), Wb
            - 107 # Wh/m3, energy per volume, Wh/m³
            - 115 # Kh-Wh, active energy metering constant, Wh/rev
            - 50 # Thermal conductivity, Watt/meter Kelvin, W/m K
            - 81 # Ramp rate, Watts per second, W/s
            - 153 # Power Factor, PF, W/VA
            - 168 # Signal Strength, Ratio of power, W/W
# Enum value descriptions (bit positions and their meanings)
            x-enum-descriptions:
              '61': Apparent power, Volt Ampere (See also real power and reactive power.), VA
              '38': Real power, Watt. By definition, one Watt equals one Joule per second. Electrical power may have real and reactive components. The real portion of electrical power (I²R) or VIcos?, is expressed in Watts. (See also apparent power and reactive power.), W
              '63': Reactive power, Volt Ampere reactive. The “reactive” or “imaginary” component of electrical power (VISin?). (See also real power and apparent power)., VAr
              '71': Apparent energy, Volt Ampere hours, VAh
              '72': Real energy, Watt hours, Wh
              '73': Reactive energy, Volt Ampere reactive hours, VArh
              '29': Electric potential, Volt (W/A), V
              '30': Electric resistance, Ohm (V/A), O
              '5': Current, ampere, A
              '25': Electric capacitance, Farad (C/V), °C
              '28': Electric inductance, Henry (Wb/A), H
              '23': Relative temperature in degrees Celsius. In the SI unit system the symbol is ºC. Electric charge is measured in coulomb that has the unit symbol C. To distinguish degree Celsius from coulomb the symbol used in the UML is degC. Reason for not using ºC is the special character º is difficult to manage in software.
              '27': Time, seconds, s
              '159': Time, minute = s * 60, min
              '160': Time, hour = minute * 60, h
              '9': Plane angle, degrees, deg
              '10': Plane angle, Radian (m/m), rad
              '31': Energy joule, (N·m = C·V = W·s), J
              '32': Force newton, (kg m/s²), N
              '53': Electric conductance, Siemens (A / V = 1 / O), S
              '0': N/A, None
              '33': Frequency hertz, (1/s), Hz
              '3': Mass in gram, g
              '39': 'Pressure, Pascal (N/m²)(Note: the absolute or relative measurement of pressure is implied with this entry. See below for more explicit forms.), Pa'
              '2': Length, meter, m
              '41': Area, square meter, m²
              '42': Volume, cubic meter, m³
              '69': Amps squared, amp squared, A2
              '105': ampere-squared, Ampere-squared hour, A²h
              '70': Amps squared time, square amp second, A²s
              '106': Ampere-hours, Ampere-hours, Ah
              '152': Current, Ratio of Amperages, A/A
              '103': A/m, magnetic field strength, Ampere per metre, A/m
              '68': Amp seconds, amp seconds, As
              '79': Sound pressure level, Bel, acoustic, Combine with multiplier prefix “d” to form decibels of Sound Pressure Level“dB (SPL).”, B (SPL)
              '113': 'Signal Strength, Bel-mW, normalized to 1mW. Note: to form “dBm” combine “Bm” with multiplier “d”. Bm'
              '22': Radioactivity, Becquerel (1/s), Bq
              '132': Energy, British Thermal Units, BTU
              '133': Power, BTU per hour, BTU/h
              '8': Luminous intensity, candela, cd
              '76': Number of characters, characters, char
              '75': Rate of change of frequency, hertz per second, Hz/s
              '114': Application Value, encoded value, code
              '65': Power factor, Dimensionless, cos?
              '111': Amount of substance, counter value, count
              '119': Volume, cubic feet, ft³
              '120': Volume, cubic feet, ft³(compensated)
              '123': Volumetric flow rate, compensated cubic feet per hour, ft³(compensated)/h
              '78': Turbine inertia, gram·meter2 (Combine with multiplier prefix “k” to form kg·m2.), gm²
              '144': Concentration, The ratio of the mass of a solute divided by the mass of the solution., g/g
              '21': Absorbed dose, Gray (J/kg), GY
              '150': Frequency, Rate of frequency change, Hz/Hz
              '77': Data rate, characters per second, char/s
              '130': Volume, imperial gallons, ImperialGal
              '131': Volumetric flow rate, Imperial gallons per hour, ImperialGal/h
              '51': Heat capacity, Joule/Kelvin, J/K
              '165': Specific energy, Joules / kg, J/kg
              '6': Temperature, Kelvin, K
              '158': Catalytic activity, katal = mol / s, kat
              '47': Moment of mass ,kilogram meter (kg·m), M
              '48': Density, gram/cubic meter (combine with prefix multiplier “k” to form kg/ m³), g/m³
              '134': Volume, litre = dm3 = m3/1000., L
              '157': Volume, litre, with the value compensated for weather effects, L(compensated)
              '138': Volumetric flow rate, litres (compensated) per hour, L(compensated)/h
              '137': Volumetric flow rate, litres per hour, L/h
              '143': Concentration, The ratio of the volume of a solute divided by the volume of the solution., L/L
              '82': Volumetric flow rate, Volumetric flow rate, L/s
              '156': Volume, litre, with the value uncompensated for weather effects., L(uncompensated)
              '139': Volumetric flow rate, litres (uncompensated) per hour, L(uncompensated)/h
              '35': Luminous flux, lumen (cd sr), Lm
              '34': Illuminance lux, (lm/m²), L(uncompensated)/h
              '49': Viscosity, meter squared / second, m²/s
              '167': Volume, cubic meter, with the value compensated for weather effects., m3(compensated)
              '126': Volumetric flow rate, compensated cubic meters per hour, ³(compensated)/h
              '125': Volumetric flow rate, cubic meters per hour, m³/h
              '45': m3PerSec, cubic meters per second, m³/s
              '166': m3uncompensated, cubic meter, with the value uncompensated for weather effects., m3(uncompensated)
              '127': Volumetric flow rate, uncompensated cubic meters per hour, m³(uncompensated)/h
              '118': EndDeviceEvent, value to be interpreted as a EndDeviceEventCode, meCode
              '7': Amount of substance, mole, mol
              '147': Concentration, Molality, the amount of solute in moles and the amount of solvent in kilograms., mol/kg
              '145': Concentration, The amount of substance concentration, (c), the amount of solvent in moles divided by the volume of solution in m³., mol/ m³
              '146': Concentration, Molar fraction (?), the ratio of the molar amount of a solute divided by the molar amount of the solution.,mol/mol
              '80': 'Monetary unit, Generic money (Note: Specific monetary units are identified the currency class)., ¤'
              '148': Length, Ratio of length, m/m
              '46': Fuel efficiency, meters / cubic meter, m/m³
              '43': Velocity, meters per second (m/s), m/s
              '44': Acceleration, meters per second squared, m/s²
              '102': resistivity, ? (rho), ?m
              '155': Pressure, Pascal, absolute pressure, PaA
              '140': Pressure, Pascal, gauge pressure, PaG
              '141': Pressure, Pounds per square inch, absolute, psiA
              '142': Pressure, Pounds per square inch, gauge, psiG
              '100': Quantity power, Q, Q
              '161': Quantity power, Q measured at 45º, Q45
              '163': Quantity energy, Q measured at 45º, Q45h
              '162': Quantity power, Q measured at 60º, Q60
              '164': Quantity energy, Qh measured at 60º, Q60h
              '101': Quantity energy, Qh, Qh
              '54': Angular velocity, radians per second, rad/s
              '154': Amount of rotation, Revolutions, rev
              '4': Rotational speed, Rotations per second, rev/s
              '149': Time, Ratio of time (can be combined with an multiplier prefix to show rates such as a clock drift rate, e.g. “µs/s”), s/s
              '11': Solid angle, Steradian (m2/m2), sr
              '109': 'State, "1" = "true", "live", "on", "high", "set"; "0" = "false", "dead", "off", "low", "cleared". Note: A Boolean value is preferred but other values may be supported, status'
              '24': Doe equivalent, Sievert (J/kg), Sv
              '37': Magnetic flux density, Tesla (Wb/m2), T
              '169': Energy, Therm, therm
              '108': Timestamp, time and date per ISO 8601 format, timeStamp
              '128': Volume, US gallons, Gal
              '129': Volumetric flow rate, US gallons per hour, USGal/h
              '67': Volts squared, Volt squared (W2/A2), V²
              '104': volt-squared hour, Volt-squared-hours, V²h
              '117': Kh-Vah, apparent energy metering constant, VAh/rev
              '116': Kh-VArh, reactive energy metering constant, VArh/rev
              '74': Magnetic flux, Volts per Hertz, V/Hz
              '151': Voltage, Ratio of voltages (e.g. mV/V), V/V
              '66': Volt seconds, Volt seconds (Ws/A), Vs
              '36': Magnetic flux, Weber (V s), Wb
              '107': Wh/m3, energy per volume, Wh/m³
              '115': Kh-Wh, active energy metering constant, Wh/rev
              '50': Thermal conductivity, Watt/meter Kelvin, W/m K
              '81': Ramp rate, Watts per second, W/s
              '153': Power Factor, PF, W/VA
              '168': Signal Strength, Ratio of power, W/W
            minimum: 0
            maximum: 65535
          - type: string
            enum:
            - A
            - V
            - J
            - Hz
            - W
            - m3
            - VA
            - VAr
            - Wh
        value:
          type: number
          description: The value of the summary measurement.
        readingTypeRef:
          type: string
          description: '[extension] Reference to a full ReadingType.'
      required: []
      description: An aggregated summary measurement reading.
    BatchItemInfo:
      type: object
      properties:
        name:
          format: hexBinary
          type: string
          description: An identifier for this object that is only unique within the containing collection.
        operation:
          format: uint16
          type: integer
          enum:
          - 0  # Create
          - 1 # Read
          - 2 # Update
          - 3 # Delete
# Enum value descriptions (bit positions and their meanings)
          x-enum-descriptions:
            '0': Create
            '1': Read
            '2': Update
            '3': Delete
          description: "Specifies the operation requested of this item.\nEnum values:\n  - 0: Create\n  - 1: Read\n  - 2: Update\n  - 3: Delete"
          minimum: 0
          maximum: 65535
        statusCode:
          format: uint16
          type: integer
          enum:
          - 200  # Ok
          - 201 # Created
          - 202 # Accepted
          - 204 # No Content
          - 301 # Moved Permanently
          - 302 # Redirect
          - 304 # Not Modified
          - 400 # Bad Request
          - 401 # Unauthorized
          - 403 # Forbidden
          - 404 # Not Found
          - 405 # Method Not Allowed
          - 410 # Gone
          - 500 # Internal Server Error
# Enum value descriptions (bit positions and their meanings)
          x-enum-descriptions:
            '200': Ok
            '201': Created
            '202': Accepted
            '204': No Content
            '301': Moved Permanently
            '302': Redirect
            '304': Not Modified
            '400': Bad Request
            '401': Unauthorized
            '403': Forbidden
            '404': Not Found
            '405': Method Not Allowed
            '410': Gone
            '500': Internal Server Error
          description: "Indicates the status code of the associated transaction.\nEnum values:\n  - 200: Ok\n  - 201: Created\n  - 202: Accepted\n  - 204: No Content\n  - 301: Moved Permanently\n  - 302: Redirect\n  - 304: Not Modified\n  - 400: Bad Request\n  - 401: Unauthorized\n  - 403: Forbidden\n  - 404: Not Found\n  - 405: Method Not Allowed\n  - 410: Gone\n  - 500: Internal Server Error"
          minimum: 0
          maximum: 65535
        statusReason:
          type: string
          description: Indicates the reason for the indicated status code.
      required: []
      description: Includes elements that make it possible to include multiple transactions in a single (batch) request.
    ServiceDeliveryPoint:
      type: object
      properties:
        name:
          type: string
          description: The name is any free human readable and possibly non unique text naming the object.
        tariffProfile:
          type: string
          description: A schedule of charges; structure associated with Tariff that allows the definition of complex tariff structures such as step and time of use.
        customerAgreement:
          type: string
          description: Agreement between the customer and the ServiceSupplier to pay for service at a specific service location. It provides for the recording of certain billing information about the type of service provided at the service location and is used during charge creation to determine the type of service.
        tariffRiderRefs:
          $ref: '#/components/schemas/TariffRiderRefs'
          description: '[extension] List of rate options applied to the base tariff profile'
      required: []
      description: '[extension] Service Delivery Point is representation of revenue UsagePoint attributes'
    DateTimeInterval:
      type: object
      properties:
        duration:
          type: integer
          minimum: 0
          maximum: 4294967295
          description: '[correction] Duration of the interval, in seconds.'
        start:
          description: '[correction] Date and time that this interval started.'
          oneOf:
          - type: integer
            description: 'ESPI native: seconds since Unix epoch'
          - type: string
            format: date-time
            description: ISO 8601 date-time (e.g. 2025-07-15T00:00:00+05:30)
      required:
      - duration
      - start
      description: Interval of date and time. End is not included because it can be derived from the start and the duration.
    IdentifiedObject:
      type: object
      properties:
        batchItemInfo:
          $ref: '#/components/schemas/BatchItemInfo'
      required: []
      description: This is a root class to provide common naming attributes for all classes needing naming attributes
    Object:
      type: object
      properties:
        extension:
          type: array
          items: {}
          description: Contains an extension.
      required: []
      description: Superclass of all object classes to allow extensions. Inheritance from Object provides an inherent extension mechanism permitting custom data to be included in a separate namespace.
    ServiceStatus:
      type: object
      properties:
        currentStatus:
          format: uint16
          type: integer
          enum:
          - 0  # Unavailable
          - 1 # Normal; operational
# Enum value descriptions (bit positions and their meanings)
          x-enum-descriptions:
            '0': Unavailable
            '1': Normal; operational
          description: "The current status of the service.\nEnum values:\n  - 0: Unavailable\n  - 1: Normal; operational"
          minimum: 0
          maximum: 65535
      required:
      - currentStatus
      description: Contains the current status of the service.
    RationalNumber:
      type: object
      properties: {}
      required: []
      description: "[extension] Rational number = 'numerator' / 'denominator'."
    ReadingInterharmonic:
      type: object
      properties: {}
      required: []
      description: "[extension] Interharmonics are represented as a rational number 'numerator' / 'denominator', and harmonics are represented using the same mechanism and identified by 'denominator'=1."
    BatchListType:
      type: object
      properties:
        resources:
          type: array
          items:
            type: string
          description: An individual resource URI.
      required: []
      description: '[extension] List of resource URIs that can be used to GET ESPI resources'
    LineItem:
      type: object
      properties:
        amount:
          type: integer
          description: Cost of line item.
        rounding:
          type: integer
          description: Rounded to nearest increment.
        dateTime:
          description: Significant date for line item.
          oneOf:
          - type: integer
            description: 'ESPI native: seconds since Unix epoch'
          - type: string
            format: date-time
            description: ISO 8601 date-time (e.g. 2025-07-15T00:00:00+05:30)
        note:
          type: string
          description: Comment or description of line item.
        measurement:
          $ref: '#/components/schemas/SummaryMeasurement'
          description: '[extension] relevant measurment for line item.'
        itemKind:
          description: "[extension] Classification of a line item -- i.e. usage charge, taxes, etc...\nEnum values:\n  - 1: Energy Generation Fee. A charge for generation of energy.\n  - 2: Energy Delivery Fee. A charge for delivery of energy.\n  - 3: Energy Usage Fee. A charge for electricity, natural gas, water consumption\n  - 4: Administrative Fee. A fee for administrative services.\n  - 5: Tax. A local, state, or federal energy tax.\n  - 6: Energy Generation Credit. A credit, discount or rebate for generation of energy.\n  - 7: Energy Delivery Credit. A credit, discount or rebate for delivery of energy.\n  - 8: Administrative Credit. A credit, discount or rebate for administrative services.\n  - 9: Payment. A payment for a previous billing.\n  - 10: Information. An informational line item."
          oneOf:
          - format: uint16
            type: integer
            enum:
            - 1 # Energy Generation Fee. A charge for generation of energy.
            - 2 # Energy Delivery Fee. A charge for delivery of energy.
            - 3 # Energy Usage Fee. A charge for electricity, natural gas, water consumption
            - 4 # Administrative Fee. A fee for administrative services.
            - 5 # Tax. A local, state, or federal energy tax.
            - 6 # Energy Generation Credit. A credit, discount or rebate for generation of energy.
            - 7 # Energy Delivery Credit. A credit, discount or rebate for delivery of energy.
            - 8 # Administrative Credit. A credit, discount or rebate for administrative services.
            - 9 # Payment. A payment for a previous billing.
            - 10 # Information. An informational line item.
# Enum value descriptions (bit positions and their meanings)
            x-enum-descriptions:
              '1': Energy Generation Fee. A charge for generation of energy.
              '2': Energy Delivery Fee. A charge for delivery of energy.
              '3': Energy Usage Fee. A charge for electricity, natural gas, water consumption
              '4': Administrative Fee. A fee for administrative services.
              '5': Tax. A local, state, or federal energy tax.
              '6': Energy Generation Credit. A credit, discount or rebate for generation of energy.
              '7': Energy Delivery Credit. A credit, discount or rebate for delivery of energy.
              '8': Administrative Credit. A credit, discount or rebate for administrative services.
              '9': Payment. A payment for a previous billing.
              '10': Information. An informational line item.
            minimum: 0
            maximum: 65535
          - type: string
            enum:
            - energyGenerationFee
            - energyDeliveryFee
            - energyUsageFee
            - administrativeFee
            - tax
            - energyGenerationCredit
            - energyDeliveryCredit
            - administrativeCredit
            - payment
            - information
        unitCost:
          type: integer
          description: '[extension] Per Unit cost.'
        itemPeriod:
          $ref: '#/components/schemas/DateTimeInterval'
          description: '[extension] Time period covered by the LineItem, to support pricing changes in the middle of a billing period'
      required:
      - note
      - itemKind
      description: '[extension] Line item of detail for additional cost'
    PnodeRefs:
      type: object
      properties:
        pnodeRef:
          $ref: '#/components/schemas/PnodeRef'
          description: pnodeRef structure.
      required:
      - pnodeRef
      description: '[extension] Sequence of references to Pnodes assoicated with a UsagePoint.'
    AggregateNodeRefs:
      type: object
      properties:
        aggregateNodeRef:
          $ref: '#/components/schemas/AggregateNodeRef'
      required:
      - aggregateNodeRef
      description: '[extension] References to associated AggregateNodes.'
    TariffRiderRefs:
      type: object
      properties:
        tariffRiderRef:
          $ref: '#/components/schemas/TariffRiderRef'
          description: '[extension] Tariff Rider structure.'
      required:
      - tariffRiderRef
      description: '[extension] References to associated Tariff Riders.'
    PnodeRef:
      type: object
      properties:
        apnodeType:
          type: string
          enum:
          - AG  # Aggregated Generation
          - CPZ # Custom Price Zone
          - DPZ # Default Price Zone
          - LAP # Load Aggregation Point
          - TH # Trading  Hub
          - SYS # System Zone
          - CA # Control Area
          - DCA # Designated Congestion Area
          - GA # generic aggregation
          - GH # generic hub
          - EHV # 500 kV - Extra High Voltage aggregate price nodes
          - ZN # Zone
          - INT # Interface
          - BUS # Bus
# Enum value descriptions (bit positions and their meanings)
          x-enum-descriptions:
            AG: Aggregated Generation
            CPZ: Custom Price Zone
            DPZ: Default Price Zone
            LAP: Load Aggregation Point
            TH: Trading  Hub
            SYS: System Zone
            CA: Control Area
            DCA: Designated Congestion Area
            GA: generic aggregation
            GH: generic hub
            EHV: 500 kV - Extra High Voltage aggregate price nodes
            ZN: Zone
            INT: Interface
            BUS: Bus
          description: "type of pnode.\nEnum values:\n  - AG: Aggregated Generation\n  - CPZ: Custom Price Zone\n  - DPZ: Default Price Zone\n  - LAP: Load Aggregation Point\n  - TH: Trading  Hub\n  - SYS: System Zone\n  - CA: Control Area\n  - DCA: Designated Congestion Area\n  - GA: generic aggregation\n  - GH: generic hub\n  - EHV: 500 kV - Extra High Voltage aggregate price nodes\n  - ZN: Zone\n  - INT: Interface\n  - BUS: Bus"
        ref:
          type: string
          description: Reference to a Pnode.
        startEffectiveDate:
          type: integer
          description: '[extension] Starting Effective Date of Pnode assignment'
        endEffectiveDate:
          type: integer
          description: '[extension] Ending Effective Date of Pnode assignment'
      required:
      - apnodeType
      - ref
      description: '[extension] Reference to a Pnode.'
    AggregateNodeRef:
      type: object
      properties:
        anodeType:
          type: string
          enum:
          - SYS  # System Zone/Region;
          - RUC # RUC Zone
          - LFZ # Load Forecast Zone
          - REG # Market Energy/Ancillary Service Region;
          - AGR # Aggregate Generation Resource;
          - POD # Point of Delivery;
          - ALR # Aggregate Load Resource;
          - LTAC # Load TransmissionAccessCharge (TAC) Group;
          - ACA # Adjacent Control Area
          - ASR # Aggregated System Resource
          - ECA # Embedded Control Area
# Enum value descriptions (bit positions and their meanings)
          x-enum-descriptions:
            SYS: System Zone/Region;
            RUC: RUC Zone
            LFZ: Load Forecast Zone
            REG: Market Energy/Ancillary Service Region;
            AGR: Aggregate Generation Resource;
            POD: Point of Delivery;
            ALR: Aggregate Load Resource;
            LTAC: Load TransmissionAccessCharge (TAC) Group;
            ACA: Adjacent Control Area
            ASR: Aggregated System Resource
            ECA: Embedded Control Area
          description: "Type of aggregateNode.\nEnum values:\n  - SYS: System Zone/Region;\n  - RUC: RUC Zone\n  - LFZ: Load Forecast Zone\n  - REG: Market Energy/Ancillary Service Region;\n  - AGR: Aggregate Generation Resource;\n  - POD: Point of Delivery;\n  - ALR: Aggregate Load Resource;\n  - LTAC: Load TransmissionAccessCharge (TAC) Group;\n  - ACA: Adjacent Control Area\n  - ASR: Aggregated System Resource\n  - ECA: Embedded Control Area"
        ref:
          type: string
          description: Reference to an AggregateNode.
        startEffectiveDate:
          type: integer
          description: '[extension] Starting Effective Date of ANode assignment'
        endEffectiveDate:
          type: integer
          description: '[extension] Ending Effective Date of ANode assignment'
        pnodeRef:
          $ref: '#/components/schemas/PnodeRef'
      required:
      - anodeType
      - ref
      description: '[extension] Reference to an AggregateNode (could be a load aggregation point which is a specialization of AggregateNode).'
    TariffRiderRef:
      type: object
      properties:
        riderType:
          type: string
          description: '[extension] Rate options applied to the base tariff profile'
        enrollmentStatus:
          type: string
          enum:
          - unenrolled  # Currently NOT enrolled in Tariff Rider
          - enrolled # Currently enrolled in the Tariff Rider
          - enrolledPending # Currently pending enrollment in Tariff Rider
# Enum value descriptions (bit positions and their meanings)
          x-enum-descriptions:
            unenrolled: Currently NOT enrolled in Tariff Rider
            enrolled: Currently enrolled in the Tariff Rider
            enrolledPending: Currently pending enrollment in Tariff Rider
          description: "[extension] Retail Customer's Tariff Rider enrollment status\nEnum values:\n  - unenrolled: Currently NOT enrolled in Tariff Rider\n  - enrolled: Currently enrolled in the Tariff Rider\n  - enrolledPending: Currently pending enrollment in Tariff Rider"
        effectiveDate:
          type: integer
          description: "[extension] Effective date of Retail Customer's Tariff Rider enrollment status"
      required:
      - riderType
      - enrollmentStatus
      - effectiveDate
      description: '[extension] Reference to a Tariff Rider.'
    BillingChargeSource:
      type: object
      properties:
        agencyName:
          type: string
          description: '[extension] Name of billing source'
      required: []
      description: '[extension] Information about source of billing charge'
