“Energy Services Provider Interface” XSD

Schema document for namespace http://naesb.org/espi at https://naesb.org/espi.xsd

version 3.3.20190408


Import http://www.w3.org/2005/Atom

Formal declaration in XSD source form

<xs:import namespace="http://www.w3.org/2005/Atom" schemaLocation="atom.xsd"/>

Complex type ApplicationInformation

Notes

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.

Atom Links:
self link to this resource

Formal declaration in XSD source form

<xs:complexType name="ApplicationInformation">
<xs:complexContent>
<xs:extension base=" IdentifiedObject">
<xs:sequence>
<xs:element name="dataCustodianId" type=" String64">
<!-- [extension] Contains the identifier for the Data Custodian. (e.g. "Sandbox Data Custodian") -->
</xs:element>
<xs:element name="dataCustodianApplicationStatus" type=" DataCustodianApplicationStatus">
<!-- 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) -->
</xs:element>
<xs:element name="thirdPartyApplicationDescription" type=" String256" minOccurs="0">
<!-- A description of the application. (e.g. "Third Party Application Description is added as provided by each TP") -->
</xs:element>
<xs:element name="thirdPartyApplicationStatus" type=" ThirdPartyApplicatonStatus" minOccurs="0">
<!-- A code indicating the current status of the application. (e.g. "1" => Development -->
</xs:element>
<xs:element name="thirdPartyApplicationType" type=" ThirdPartyApplicationType" minOccurs="0">
<!-- A code indicating the type of the application. (e.g. "1" => Web) -->
</xs:element>
<xs:element name="thirdPartyApplicationUse" type=" ThirdPartyApplicationUse" minOccurs="0">
<!-- A code indicating the expected use of the application. (e.g. "1" => EnergyManagement) -->
</xs:element>
<xs:element name="thirdPartyPhone" type=" String32" minOccurs="0">
<!-- 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") -->
</xs:element>
<xs:element name="authorizationServerUri" type=" xs:anyURI" minOccurs="0">
<!-- [extension] Contains the base URI link to the authorization server. (e.g. "https://server.example.com/DataCustodian") -->
</xs:element>
<xs:element name="thirdPartyNotifyUri" type=" xs:anyURI">
<!-- [extension] URI used to notify ThirdParty that subscribed information is available. (e.g. "https://server.example.com/ThirdParty/espi/1_1/Notification") -->
</xs:element>
<xs:element name="authorizationServerAuthorizationEndpoint" type=" xs:anyURI">
<!-- [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" -->
</xs:element>
<xs:element name="authorizationServerRegistrationEndpoint" type=" xs:anyURI" minOccurs="0">
<!-- [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") -->
</xs:element>
<xs:element name="authorizationServerTokenEndpoint" type=" xs:anyURI">
<!-- [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") -->
</xs:element>
<xs:element name="dataCustodianBulkRequestURI" type=" xs:anyURI">
<!-- [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) -->
</xs:element>
<xs:element name="dataCustodianResourceEndpoint" type=" xs:anyURI">
<!-- [extension] {ResourceServer}{ResourcePath}. (e.g. "https://server.example.com/DataCustodian/espi/1_1/resource") -->
</xs:element>
<xs:element name="thirdPartyScopeSelectionScreenURI" type=" xs:anyURI">
<!-- [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") -->
</xs:element>
<xs:element name="thirdPartyUserPortalScreenURI" type=" xs:anyURI" minOccurs="0">
<!-- [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") -->
</xs:element>
<xs:element name="client_secret" type=" String512">
<!-- [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") -->
</xs:element>
<xs:element name="logo_uri" type=" xs:anyURI" minOccurs="0">
<!-- [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") -->
</xs:element>
<xs:element name="client_name" type=" String256">
<!-- [extension] The name of the application to which access will be granted (OAuth client_name). (e.g. "Green Button ThirdParty") -->
</xs:element>
<xs:element name="client_uri" type=" xs:anyURI" minOccurs="0">
<!-- [extension] The link to the main page of the application (OAuth client_uri). (e.g. "https://server.example.com/ThirdParty") -->
</xs:element>
<xs:element name="redirect_uri" type=" xs:anyURI" maxOccurs="unbounded">
<!-- [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") -->
</xs:element>
<xs:element name="client_id" type=" String64">
<!-- Contains the identifier for the Third Party (OAuth client_id). (e.g. "ThirdParty Name") -->
</xs:element>
<xs:element name="tos_uri" type=" xs:anyURI" minOccurs="0">
<!-- [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") -->
</xs:element>
<xs:element name="policy_uri" type=" xs:anyURI" minOccurs="0">
<!-- [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") -->
</xs:element>
<xs:element name="software_id" type=" String256">
<!-- [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") -->
</xs:element>
<xs:element name="software_version" type=" String32">
<!-- [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") -->
</xs:element>
<xs:element name="client_id_issued_at" type=" TimeType">
<!-- [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) -->
</xs:element>
<xs:element name="client_secret_expires_at" type=" TimeType">
<!-- [extension] Date time at which this client_secret expires -- value of 0 means the client_secret never expires. (e.g. "0" => never expires) -->
</xs:element>
<xs:element name="contacts" type=" String256" minOccurs="0" maxOccurs="unbounded">
<!-- [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") -->
</xs:element>
<xs:element name="token_endpoint_auth_method" type=" TokenEndPointMethod">
<!-- [extension] The authentication method used by the OAuth 2.0 Token Endpoint to authenticate the Third Party Application. (e.g. "client_secret_basic") -->
</xs:element>
<xs:element name="scope" type=" String256" maxOccurs="unbounded">
<!-- [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;") -->
</xs:element>
<xs:element name="grant_types" type=" GrantType" minOccurs="2" maxOccurs="unbounded">
<!-- [extension] Grant types this interface supports. (e.g. "client_credentials, authorization_code, refresh_token" in separate tags -->
</xs:element>
<xs:element name="response_types" type=" ResponseType">
<!-- [extension] Response types supported. (e.g. "code") -->
</xs:element>
<xs:element name="registration_client_uri">
<!-- [extension] {ClientConfigurationURI} A URI used by a registered client to manage registration information. This URI is returned by the AuthorizationServer in the “registration_client_uri” field of the client information response. {AuthorizationServerRegistrationEndpoint}/ApplicationInformation/{ApplicationInformationID}. (e.g. "https://server.example.com/DataCustodian/espi/1_1/resource/ApplicationInformation/{ApplicationInformationID}/") -->
</xs:element>
<xs:element name="registration_access_token">
<!-- [extension] A credential obtained during Third Party registration with the Data Custodian to enable access to the ApplicationInformation resource. This is persisted in the ApplicationInformation resource structure. (e.g. "fe82518d-e325-404e-978c-c02f9339bccc") -->
</xs:element>
<xs:element name="dataCustodianScopeSelectionScreenURI">
<!-- [DEPRECATED][extension] The URI used by the Third Party to redirect the Retail Customer to the Data Custodian Scope Selection Screen (note that this will likely involve a dialog with the Retail Customer including a log in authentication process). (e.g. http://server.example.com/DataCustodian/RetailCustomer/ScopeSelection) -->
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
<!-- 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.

Atom Links:
self link to this resource -->
</xs:complexType>

Complex type Authorization

Notes

[extension] Represents a permission granted by an owner for access to a resource.

Atom Links:
self link to this resource
rel corresponding ApplicationInformation (if this is the client access containing token instance)
rel corresponding to the authorized resource (if this is the access_token containing instance for a customer resource)

Note: 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.

Formal declaration in XSD source form

<xs:complexType name="Authorization">
<xs:complexContent>
<xs:extension base=" IdentifiedObject">
<xs:sequence>
<xs:element name="authorizedPeriod" type=" DateTimeInterval" minOccurs="0">
<!-- 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) -->
</xs:element>
<xs:element name="publishedPeriod" type=" DateTimeInterval" minOccurs="0">
<!-- 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) -->
</xs:element>
<xs:element name="status" type=" AuthorizationStatus">
<!-- The status of this authorization. (e.g. "1" => active) -->
</xs:element>
<xs:element name="expires_at" type=" TimeType">
<!-- Expiration period for the access token. (e.g. "1403190000" for 2014-06-19T15:00:00Z) -->
</xs:element>
<xs:element name="grant_type" type=" GrantType" minOccurs="0">
<!-- Type of grant being negotiated for. (e.g. "authorization_code") -->
</xs:element>
<xs:element name="scope" type=" String256">
<!-- Negotiated scope of the authorization. (e.g. "FB=1_3_4_5_13_14_15_1937_39;IntervalDuration=3600;BlockDuration=monthly;HistoryLength=94608000" -->
</xs:element>
<xs:element name="token_type" type=" TokenType">
<!-- Type of token used. (e.g. "Bearer") -->
</xs:element>
<xs:element name="error" type=" OAuthError" minOccurs="0">
<!-- Contains last error returned to ThirdParty. (e.g. "server_error") -->
</xs:element>
<xs:element name="error_description" type=" String256" minOccurs="0">
<!-- Contains free text string describing last error returned to ThirdParty. (e.g. "No Service") -->
</xs:element>
<xs:element name="error_uri" type=" xs:anyURI" minOccurs="0">
<!-- Specific error URI for last returned error. (e.g. "na" if not supported) -->
</xs:element>
<xs:element name="resourceURI" type=" xs:anyURI">
<!-- 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"). -->
</xs:element>
<xs:element name="authorizationURI" type=" xs:anyURI">
<!-- URI that can be used to update or delete this Authorization. (e.g. "http://server.example.com/DataCustodian/espi/1_1/resource/Authorization/1") -->
</xs:element>
<xs:element name="customerResourceURI" type=" xs:anyURI" minOccurs="0">
<!-- 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").
Note: This URI will have a differnt namespace than the URI value found in the resourceURI element. -->
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
<!-- [extension] Represents a permission granted by an owner for access to a resource.

Atom Links:
self link to this resource
rel corresponding ApplicationInformation (if this is the client access containing token instance)
rel corresponding to the authorized resource (if this is the access_token containing instance for a customer resource)

Note: 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. -->
</xs:complexType>

Complex type IntervalBlock

Notes

Time sequence of Readings of the same ReadingType.

Formal declaration in XSD source form

<xs:complexType name="IntervalBlock">
<xs:complexContent>
<xs:extension base=" IdentifiedObject">
<xs:sequence>
<xs:element name="interval" type=" DateTimeInterval" minOccurs="0">
<!-- Specifies the time period during which the contained readings were taken. -->
</xs:element>
<xs:element name="IntervalReading" type=" IntervalReading" minOccurs="0" maxOccurs="unbounded">
<!-- One or more interval reading values measured by a meter or other asset. -->
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
<!-- Time sequence of Readings of the same ReadingType. -->
</xs:complexType>

Complex type MeterReading

Notes

Set of values obtained from the meter.

Formal declaration in XSD source form

<xs:complexType name="MeterReading">
<xs:complexContent>
<xs:extension base=" IdentifiedObject"/>
</xs:complexContent>
<!-- Set of values obtained from the meter. -->
</xs:complexType>

Complex type ReadingType

Notes

Characteristics associated with all Readings included in a MeterReading.

Formal declaration in XSD source form

<xs:complexType name="ReadingType">
<xs:complexContent>
<xs:extension base=" IdentifiedObject">
<xs:sequence>
<xs:element name="accumulationBehaviour" type=" AccumulationKind" minOccurs="0" maxOccurs="1">
<!-- Code indicating how value is accumulated over time for Readings of ReadingType. -->
</xs:element>
<xs:element name="commodity" type=" CommodityKind" minOccurs="0" maxOccurs="1">
<!-- Code for commodity classification of Readings of ReadingType. -->
</xs:element>
<xs:element name="consumptionTier" type=" Int16" minOccurs="0">
<!-- Code for consumption tier associated with a Reading of ReadingType. -->
</xs:element>
<xs:element name="currency" type=" Currency" minOccurs="0">
<!-- Code for the currency for costs associated with this ReadingType. The valid values per the standard are defined in CurrencyCode. -->
</xs:element>
<xs:element name="dataQualifier" type=" DataQualifierKind" minOccurs="0">
<!-- Code describing a salient attribute of Readings of ReadingType. -->
</xs:element>
<xs:element name="defaultQuality" type=" QualityOfReading" minOccurs="0">
<!-- Default value to be used if no value of ReadingQuality.quality is provided.
Specific format and valid values per the standard are specified in QualityOfReading. -->
</xs:element>
<xs:element name="flowDirection" type=" FlowDirectionKind" minOccurs="0">
<!-- Direction associated with current related Readings. -->
</xs:element>
<xs:element name="intervalLength" type=" UInt32" minOccurs="0">
<!-- Default interval length specified in seconds for Readings of ReadingType. -->
</xs:element>
<xs:element name="kind" type=" MeasurementKind" minOccurs="0">
<!-- Code for general classification of a Reading of ReadingType. -->
</xs:element>
<xs:element name="phase" type=" PhaseCodeKind" minOccurs="0">
<!-- Code for phase information associated with Readings of ReadingType. -->
</xs:element>
<xs:element name="powerOfTenMultiplier" type=" UnitMultiplierKind" minOccurs="0">
<!-- 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. -->
</xs:element>
<xs:element name="timeAttribute" type=" TimePeriodOfInterest" minOccurs="0">
<!-- Code used to specify a particular type of time interval method for Readings of ReadingType. -->
</xs:element>
<xs:element name="tou" type=" Int16" minOccurs="0">
<!-- Code for the TOU type of Readings of ReadingType. -->
</xs:element>
<xs:element name="uom" type=" UnitSymbolKind" minOccurs="0">
<!-- Code for the base unit of measure for Readings of ReadingType. Used in combination with the powerOfTenMultiplier to specify the actual unit of measure -->
</xs:element>
<xs:element name="cpp" type=" Int16" minOccurs="0" maxOccurs="1">
<!-- [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. -->
</xs:element>
<xs:element name="interharmonic" type=" ReadingInterharmonic" minOccurs="0" maxOccurs="1">
<!-- [extension] Indication of a "harmonic" or "interharmonic" basis for the measurement. Value 0 in 'numerator' and 'denominator' means not applicable. -->
</xs:element>
<xs:element name="measuringPeriod" type=" TimeAttributeKind" minOccurs="0" maxOccurs="1">
<!-- [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.
It 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). -->
</xs:element>
<xs:element name="argument" type=" RationalNumber" minOccurs="0">
<!-- [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).
Value 0 in 'numerator' and 'denominator' means not applicable. -->
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
<!-- Characteristics associated with all Readings included in a MeterReading. -->
</xs:complexType>

Complex type UsagePoint

Notes

Logical point on a network at which consumption or production is either physically measured (e.g., metered) or estimated (e.g., unmetered street lights).

Formal declaration in XSD source form

<xs:complexType name="UsagePoint">
<xs:complexContent>
<xs:extension base=" IdentifiedObject">
<xs:sequence>
<xs:element name="roleFlags" type=" HexBinary16" minOccurs="0">
<!-- 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 -->
</xs:element>
<xs:element name="ServiceCategory" type=" ServiceCategory" minOccurs="0">
<!-- Category of service provided to the customer. -->
</xs:element>
<xs:element name="status" type=" UInt8" minOccurs="0">
<!-- Specifies the current status of this usage point. Valid values include: 0 = off 1 = on -->
</xs:element>
<xs:element name="serviceDeliveryPoint" type=" ServiceDeliveryPoint" minOccurs="0">
<!-- [extension] Contains service delivery point information about the UsagePoint if it does represent the service delivery point. -->
</xs:element>
<xs:element name="amiBillingReady" type=" AmiBillingReadyKind" minOccurs="0" maxOccurs="1">
<!-- [extension] Tracks the lifecycle of the metering installation at a usage point with respect to readiness for billing via advanced metering infrastructure reads. -->
</xs:element>
<xs:element name="checkBilling" type=" xs:boolean" minOccurs="0" maxOccurs="1">
<!-- [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. -->
</xs:element>
<xs:element name="connectionState" type=" UsagePointConnectedKind" minOccurs="0" maxOccurs="1">
<!-- [extension] State of the usage point with respect to connection to the network. -->
</xs:element>
<xs:element name="estimatedLoad" type=" SummaryMeasurement" minOccurs="0" maxOccurs="1">
<!-- [extension] Estimated load. -->
</xs:element>
<xs:element name="grounded" type=" xs:boolean" minOccurs="0" maxOccurs="1">
<!-- [extension] True if grounded. -->
</xs:element>
<xs:element name="isSdp" type=" xs:boolean" minOccurs="0" maxOccurs="1">
<!-- [extension] If true, this usage point is a service delivery point, i.e., a usage point where the ownership of the service changes hands. -->
</xs:element>
<xs:element name="isVirtual" type=" xs:boolean" minOccurs="0" maxOccurs="1">
<!-- [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. -->
</xs:element>
<xs:element name="minimalUsageExpected" type=" xs:boolean" minOccurs="0" maxOccurs="1">
<!-- [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. -->
</xs:element>
<xs:element name="nominalServiceVoltage" type=" SummaryMeasurement" minOccurs="0" maxOccurs="1">
<!-- [extension] Nominal service voltage. -->
</xs:element>
<xs:element name="outageRegion" type=" String256" minOccurs="0" maxOccurs="1">
<!-- [extension] Outage region in which this usage point is located. -->
</xs:element>
<xs:element name="phaseCode" type=" PhaseCodeKind" minOccurs="0" maxOccurs="1">
<!-- [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. -->
</xs:element>
<xs:element name="ratedCurrent" type=" SummaryMeasurement" minOccurs="0" maxOccurs="1">
<!-- [extension] Current flow that this usage point is configured to deliver. -->
</xs:element>
<xs:element name="ratedPower" type=" SummaryMeasurement" minOccurs="0" maxOccurs="1">
<!-- [extension] Active power that this usage point is configured to deliver. -->
</xs:element>
<xs:element name="readCycle" type=" String256" minOccurs="0" maxOccurs="1">
<!-- [extension] Cycle day on which the meter for this usage point will normally be read. Usually correlated with the billing cycle. -->
</xs:element>
<xs:element name="readRoute" type=" String256" minOccurs="0" maxOccurs="1">
<!-- [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. -->
</xs:element>
<xs:element name="serviceDeliveryRemark" type=" String256" minOccurs="0" maxOccurs="1">
<!-- [extension] Remarks about this usage point, for example the reason for it being rated with a non-nominal priority. -->
</xs:element>
<xs:element name="servicePriority" type=" String32" minOccurs="0" maxOccurs="1">
<!-- [extension] Priority of service for this usage point. Note that usage points at the same service location can have different priorities. -->
</xs:element>
<xs:element name="pnodeRefs" type=" PnodeRefs" minOccurs="0">
<!-- [extension] A single electrical system Node or subset of Nodes where a
physical injection or withdrawal of electricity is modeled and for which a Locational
Marginal Price is calculated by the RTO/ISO and used for financial settlements. -->
</xs:element>
<xs:element name="aggregateNodeRefs" type=" AggregateNodeRefs" minOccurs="0">
<!-- [extension] A sequence of references to AggregateNodes. -->
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
<!-- Logical point on a network at which consumption or production is either physically measured (e.g., metered) or estimated (e.g., unmetered street lights). -->
</xs:complexType>

Complex type ElectricPowerQualitySummary

Notes

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.

Formal declaration in XSD source form

<xs:complexType name="ElectricPowerQualitySummary">
<xs:complexContent>
<xs:extension base=" IdentifiedObject">
<xs:sequence>
<xs:element name="flickerPlt" type=" Int48" minOccurs="0">
<!-- 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). -->
</xs:element>
<xs:element name="flickerPst" type=" Int48" minOccurs="0">
<!-- 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. -->
</xs:element>
<xs:element name="harmonicVoltage" type=" Int48" minOccurs="0">
<!-- A measurement of the Harmonic Voltage during the period. For DC, distortion is with respect to a signal of zero Hz. -->
</xs:element>
<xs:element name="longInterruptions" type=" Int48" minOccurs="0">
<!-- A count of Long Interruption events (as defined by measurementProtocol) during the summary interval period. -->
</xs:element>
<xs:element name="mainsVoltage" type=" Int48" minOccurs="0">
<!-- A measurement of the Mains [Signaling] Voltage during the summary interval period in uV. -->
</xs:element>
<xs:element name="measurementProtocol" type=" UInt8" minOccurs="0">
<!-- A reference to the source standard used as the measurement protocol definition. Examples are: 0 = “IEEE1519-2009” 1 = “EN50160” -->
</xs:element>
<xs:element name="powerFrequency" type=" Int48" minOccurs="0">
<!-- A measurement of the power frequency during the summary interval period in uHz. -->
</xs:element>
<xs:element name="rapidVoltageChanges" type=" Int48" minOccurs="0">
<!-- A count of Rapid Voltage Change events during the summary interval period -->
</xs:element>
<xs:element name="shortInterruptions" type=" Int48" minOccurs="0">
<!-- A count of Short Interruption events during the summary interval period -->
</xs:element>
<xs:element name="summaryInterval" type=" DateTimeInterval">
<!-- Interval of summary period -->
</xs:element>
<xs:element name="supplyVoltageDips" type=" Int48" minOccurs="0">
<!-- A count of Supply Voltage Dip events during the summary interval period -->
</xs:element>
<xs:element name="supplyVoltageImbalance" type=" Int48" minOccurs="0">
<!-- A count of Supply Voltage Imbalance events during the summary interval period -->
</xs:element>
<xs:element name="supplyVoltageVariations" type=" Int48" minOccurs="0">
<!-- A count of Supply Voltage Variations during the summary interval period -->
</xs:element>
<xs:element name="tempOvervoltage" type=" Int48" minOccurs="0">
<!-- A count of Temporary Overvoltage events (as defined by measurementProtocol) during the summary interval period -->
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
<!-- 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. -->
</xs:complexType>

Complex type ElectricPowerUsageSummary

Notes

[deprecated] Summary of usage for a billing period

Formal declaration in XSD source form

<xs:complexType name="ElectricPowerUsageSummary">
<xs:complexContent>
<xs:extension base=" IdentifiedObject">
<xs:sequence>
<xs:element name="billingPeriod" type=" DateTimeInterval" minOccurs="0">
<!-- The billing period to which the included measurements apply. May also be an off-bill arbitrary period. -->
</xs:element>
<xs:element name="billLastPeriod" type=" Int48" minOccurs="0">
<!-- 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). -->
</xs:element>
<xs:element name="billToDate" type=" Int48" minOccurs="0">
<!-- 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). -->
</xs:element>
<xs:element name="costAdditionalLastPeriod" type=" Int48" minOccurs="0">
<!-- 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). -->
</xs:element>
<xs:element name="costAdditionalDetailLastPeriod" type=" LineItem" minOccurs="0" maxOccurs="unbounded">
<!-- [extension] Additional charges from the for the referenced billingPeriod which in total add up to costAdditionalLastPeriod. -->
</xs:element>
<xs:element name="currency" type=" Currency" minOccurs="0">
<!-- The ISO 4217 code indicating the currency applicable to the bill amounts in the summary. -->
</xs:element>
<xs:element name="overallConsumptionLastPeriod" type=" SummaryMeasurement" minOccurs="0">
<!-- [extension] The amount of energy consumed in the lfor the referenced billingPeriod. -->
</xs:element>
<xs:element name="currentBillingPeriodOverAllConsumption" type=" SummaryMeasurement" minOccurs="0">
<!-- If the summary contains data from a current period beyond the end of the referenced billingPeriod, the total consumption for the billing period. -->
</xs:element>
<xs:element name="currentDayLastYearNetConsumption" type=" SummaryMeasurement" minOccurs="0">
<!-- 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. -->
</xs:element>
<xs:element name="currentDayNetConsumption" type=" SummaryMeasurement" minOccurs="0">
<!-- 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 -->
</xs:element>
<xs:element name="currentDayOverallConsumption" type=" SummaryMeasurement" minOccurs="0">
<!-- 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. -->
</xs:element>
<xs:element name="peakDemand" type=" SummaryMeasurement" minOccurs="0">
<!-- If the summary contains data from a current period beyond the end of the referenced billingPeriod, peak demand recorded for the current period. -->
</xs:element>
<xs:element name="previousDayLastYearOverallConsumption" type=" SummaryMeasurement" minOccurs="0">
<!-- 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. -->
</xs:element>
<xs:element name="previousDayNetConsumption" type=" SummaryMeasurement" minOccurs="0">
<!-- 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. -->
</xs:element>
<xs:element name="previousDayOverallConsumption" type=" SummaryMeasurement" minOccurs="0">
<!-- 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. -->
</xs:element>
<xs:element name="qualityOfReading" type=" QualityOfReading" minOccurs="0">
<!-- Indication of the quality of the summary readings -->
</xs:element>
<xs:element name="ratchetDemand" type=" SummaryMeasurement" minOccurs="0">
<!-- 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. -->
</xs:element>
<xs:element name="ratchetDemandPeriod" type=" DateTimeInterval" minOccurs="0">
<!-- The period over which the ratchet demand applies -->
</xs:element>
<xs:element name="statusTimeStamp" type=" TimeType">
<!-- Date/Time status of this UsageSummary -->
</xs:element>
<xs:element name="commodity" type=" CommodityKind" minOccurs="0">
<!-- [extension] The commodity for this summary report -->
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
<!-- [deprecated] Summary of usage for a billing period -->
</xs:complexType>

Complex type UsageSummary

Notes

[extension] Summary of usage for a billing period

Formal declaration in XSD source form

<xs:complexType name="UsageSummary">
<xs:complexContent>
<xs:extension base=" IdentifiedObject">
<xs:sequence>
<xs:element name="billingPeriod" type=" DateTimeInterval" minOccurs="0">
<!-- The billing period to which the included measurements apply. May also be an off-bill arbitrary period. -->
</xs:element>
<xs:element name="billLastPeriod" type=" Int48" minOccurs="0">
<!-- 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). -->
</xs:element>
<xs:element name="billToDate" type=" Int48" minOccurs="0">
<!-- 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). -->
</xs:element>
<xs:element name="costAdditionalLastPeriod" type=" Int48" minOccurs="0">
<!-- 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). -->
</xs:element>
<xs:element name="costAdditionalDetailLastPeriod" type=" LineItem" minOccurs="0" maxOccurs="unbounded">
<!-- [extension] Additional charges from the for the referenced billingPeriod which in total add up to costAdditionalLastPeriod. -->
</xs:element>
<xs:element name="currency" type=" Currency" minOccurs="0">
<!-- The ISO 4217 code indicating the currency applicable to the bill amounts in the summary. -->
</xs:element>
<xs:element name="overallConsumptionLastPeriod" type=" SummaryMeasurement" minOccurs="0">
<!-- [extension] The amount of energy consumed in the lfor the referenced billingPeriod. -->
</xs:element>
<xs:element name="currentBillingPeriodOverAllConsumption" type=" SummaryMeasurement" minOccurs="0">
<!-- If the summary contains data from a current period beyond the end of the referenced billingPeriod, the total consumption for the billing period. -->
</xs:element>
<xs:element name="currentDayLastYearNetConsumption" type=" SummaryMeasurement" minOccurs="0">
<!-- 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. -->
</xs:element>
<xs:element name="currentDayNetConsumption" type=" SummaryMeasurement" minOccurs="0">
<!-- 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 -->
</xs:element>
<xs:element name="currentDayOverallConsumption" type=" SummaryMeasurement" minOccurs="0">
<!-- 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. -->
</xs:element>
<xs:element name="peakDemand" type=" SummaryMeasurement" minOccurs="0">
<!-- If the summary contains data from a current period beyond the end of the referenced billingPeriod, peak demand recorded for the current period. -->
</xs:element>
<xs:element name="previousDayLastYearOverallConsumption" type=" SummaryMeasurement" minOccurs="0">
<!-- 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. -->
</xs:element>
<xs:element name="previousDayNetConsumption" type=" SummaryMeasurement" minOccurs="0">
<!-- 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. -->
</xs:element>
<xs:element name="previousDayOverallConsumption" type=" SummaryMeasurement" minOccurs="0">
<!-- 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. -->
</xs:element>
<xs:element name="qualityOfReading" type=" QualityOfReading" minOccurs="0">
<!-- Indication of the quality of the summary readings -->
</xs:element>
<xs:element name="ratchetDemand" type=" SummaryMeasurement" minOccurs="0">
<!-- 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. -->
</xs:element>
<xs:element name="ratchetDemandPeriod" type=" DateTimeInterval" minOccurs="0">
<!-- The period over which the ratchet demand applies -->
</xs:element>
<xs:element name="statusTimeStamp" type=" TimeType">
<!-- Date/Time status of this UsageSummary -->
</xs:element>
<xs:element name="commodity" type=" CommodityKind" minOccurs="0">
<!-- [extension] The commodity for this summary report -->
</xs:element>
<xs:element name="tariffProfile" type=" String256" minOccurs="0">
<!-- [extension] A schedule of charges; structure associated with Tariff that allows the definition of complex tariff structures such as step and time of use. -->
</xs:element>
<xs:element name="readCycle" type=" String256" minOccurs="0">
<!-- [extension] Cycle day on which the meter for this usage point will normally be read. Usually correlated with the billing cycle. -->
</xs:element>
<xs:element name="tariffRiderRefs" type=" TariffRiderRefs" minOccurs="0">
<!-- [extension] List of rate options applied to the base tariff profile -->
</xs:element>
<xs:element name="billingChargeSource" type=" BillingChargeSource" minOccurs="0">
<!-- [extension] Source of Billing Charge -->
</xs:element>
<!-- [extension] List of rate options applied to the base tariff profile -->
</xs:sequence>
</xs:extension>
</xs:complexContent>
<!-- [extension] Summary of usage for a billing period -->
</xs:complexType>

Complex type TimeConfiguration

Notes

[extension] Contains attributes related to the configuration of the time service.

Formal declaration in XSD source form

<xs:complexType name="TimeConfiguration">
<xs:complexContent>
<xs:extension base=" IdentifiedObject">
<xs:sequence>
<xs:element name="dstEndRule" type=" DstRuleType">
<!-- Rule to calculate end of daylight savings time in the current year. Result of dstEndRule must be greater than result of dstStartRule. -->
</xs:element>
<xs:element name="dstOffset" type=" TimeType">
<!-- Daylight savings time offset from local standard time. -->
</xs:element>
<xs:element name="dstStartRule" type=" DstRuleType">
<!-- Rule to calculate start of daylight savings time in the current year. Result of dstEndRule must be greater than result of dstStartRule. -->
</xs:element>
<xs:element name="tzOffset" type=" TimeType">
<!-- Local time zone offset from UTCTime. Does not include any daylight savings time offsets. -->
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
<!-- [extension] Contains attributes related to the configuration of the time service. -->
</xs:complexType>

Complex type ProgramIdMappings

Notes

[extension] List of programIDmappings

Formal declaration in XSD source form

<xs:complexType name="ProgramIdMappings">
<xs:complexContent>
<xs:extension base=" IdentifiedObject">
<xs:sequence maxOccurs="unbounded">
<xs:element name="programIdMapping">
<xs:complexType>
<xs:sequence>
<xs:element name="tOUorCPPorConsumptionTier" type=" tOUorCPPorConsumptionTier">
<!-- Type of billing tariff profile uses -->
</xs:element>
<xs:element name="code">
<!-- Code (numeric value) -->
</xs:element>
<xs:element name="name">
<!-- Name associated with code -->
</xs:element>
<xs:element name="note" minOccurs="0">
<!-- Optional description of code -->
</xs:element>
</xs:sequence>
</xs:complexType>
<!-- [extension] single program id mapping -->
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
<!-- [extension] List of programIDmappings -->
</xs:complexType>

Complex type IntervalReading

Notes

Specific value measured by a meter or other asset. Each Reading is associated with a specific ReadingType.

Formal declaration in XSD source form

<xs:complexType name="IntervalReading">
<xs:complexContent>
<xs:extension base=" Object">
<xs:sequence>
<xs:element name="cost" type=" Int48" minOccurs="0">
<!-- [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) -->
</xs:element>
<xs:element name="ReadingQuality" type=" ReadingQuality" minOccurs="0" maxOccurs="unbounded">
<!-- One or more quality of reading values for the current interval reading. -->
</xs:element>
<xs:element name="timePeriod" type=" DateTimeInterval" minOccurs="0">
<!-- The date time and duration of a reading. If not specified, readings for each “intervalLength” in ReadingType are present. -->
</xs:element>
<xs:element name="value" type=" Int48" minOccurs="0">
<!-- [correction] Value in units specified by ReadingType -->
</xs:element>
<xs:element name="consumptionTier" type=" Int16" minOccurs="0" maxOccurs="1">
<!-- [extension] Code for consumption tier associated with reading. -->
</xs:element>
<xs:element name="tou" type=" Int16" minOccurs="0" maxOccurs="1">
<!-- [extension] Code for the TOU type of reading. -->
</xs:element>
<xs:element name="cpp" type=" Int16" minOccurs="0" maxOccurs="1">
<!-- [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. -->
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
<!-- Specific value measured by a meter or other asset. Each Reading is associated with a specific ReadingType. -->
</xs:complexType>

Complex type ReadingQuality

Notes

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).

Formal declaration in XSD source form

<xs:complexType name="ReadingQuality">
<xs:complexContent>
<xs:extension base=" Object">
<xs:sequence>
<xs:element name="quality" type=" QualityOfReading">
<!-- Quality, to be specified if different than ReadingType.defaultQuality. The specific format is specified per the standard is defined in QualityOfReading. -->
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
<!-- 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). -->
</xs:complexType>

Complex type ServiceCategory

Notes

Category of service provided to the customer.

Formal declaration in XSD source form

<xs:complexType name="ServiceCategory">
<xs:complexContent>
<xs:extension base=" Object">
<xs:sequence>
<xs:element name="kind" type=" ServiceKind">
<!-- Service classification Examples are: 0 - electricity 1 - gas The list of specific valid values per the standard are itemized in ServiceKind. -->
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
<!-- Category of service provided to the customer. -->
</xs:complexType>

Complex type SummaryMeasurement

Notes

An aggregated summary measurement reading.

Formal declaration in XSD source form

<xs:complexType name="SummaryMeasurement">
<xs:complexContent>
<xs:extension base=" Object">
<xs:sequence>
<xs:element name="powerOfTenMultiplier" type=" UnitMultiplierKind" minOccurs="0">
<!-- The multiplier part of the unit of measure, e.g. “kilo” (k) -->
</xs:element>
<xs:element name="timeStamp" type=" TimeType" minOccurs="0">
<!-- The date and time (if needed) of the summary measurement. -->
</xs:element>
<xs:element name="uom" type=" UnitSymbolKind" minOccurs="0">
<!-- The units of the reading, e.g. “Wh” -->
</xs:element>
<xs:element name="value" type=" Int48" minOccurs="0">
<!-- The value of the summary measurement. -->
</xs:element>
<xs:element name="readingTypeRef" type=" xs:anyURI" minOccurs="0">
<!-- [extension] Reference to a full ReadingType. -->
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
<!-- An aggregated summary measurement reading. -->
</xs:complexType>

Complex type BatchItemInfo

Notes

Includes elements that make it possible to include multiple transactions in a single (batch) request.

Formal declaration in XSD source form

<xs:complexType name="BatchItemInfo">
<xs:complexContent>
<xs:extension base=" Object">
<xs:sequence>
<xs:element name="name" type=" HexBinary16" minOccurs="0">
<!-- An identifier for this object that is only unique within the containing collection. -->
</xs:element>
<xs:element name="operation" type=" CRUDOperation" minOccurs="0">
<!-- Specifies the operation requested of this item. -->
</xs:element>
<xs:element name="statusCode" type=" StatusCode" minOccurs="0">
<!-- Indicates the status code of the associated transaction. -->
</xs:element>
<xs:element name="statusReason" type=" String256" minOccurs="0">
<!-- Indicates the reason for the indicated status code. -->
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
<!-- Includes elements that make it possible to include multiple transactions in a single (batch) request. -->
</xs:complexType>

Complex type ServiceDeliveryPoint

Notes

[extension] Service Delivery Point is representation of revenue UsagePoint attributes

Formal declaration in XSD source form

<xs:complexType name="ServiceDeliveryPoint">
<xs:complexContent>
<xs:extension base=" Object">
<xs:sequence>
<xs:element name="name" type=" String256" minOccurs="0">
<!-- The name is any free human readable and possibly non unique text naming the object. -->
</xs:element>
<xs:element name="tariffProfile" type=" String256" minOccurs="0">
<!-- A schedule of charges; structure associated with Tariff that allows the definition of complex tariff structures such as step and time of use. -->
</xs:element>
<xs:element name="customerAgreement" type=" String256" minOccurs="0">
<!-- 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. -->
</xs:element>
<xs:element name="tariffRiderRefs" type=" TariffRiderRefs" minOccurs="0">
<!-- [extension] List of rate options applied to the base tariff profile -->
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
<!-- [extension] Service Delivery Point is representation of revenue UsagePoint attributes -->
</xs:complexType>

Simple type HexBinary128

Notes

A 128-bit field encoded as a hex string (32 characters / 16 octets)

Formal declaration in XSD source form

<xs:simpleType name="HexBinary128">
<xs:restriction base=" xs:hexBinary">
<xs:maxLength value="16"/>
</xs:restriction>
<!-- A 128-bit field encoded as a hex string (32 characters / 16 octets) -->
</xs:simpleType>

Simple type HexBinary32

Notes

A 32-bit field encoded as a hex string (8 characters / 4 octets)

Formal declaration in XSD source form

<xs:simpleType name="HexBinary32">
<xs:restriction base=" xs:hexBinary">
<xs:maxLength value="4"/>
</xs:restriction>
<!-- A 32-bit field encoded as a hex string (8 characters / 4 octets) -->
</xs:simpleType>

Simple type HexBinary16

Notes

A 16-bit field encoded as a hex string (4 characters / 2 octets)

Formal declaration in XSD source form

<xs:simpleType name="HexBinary16">
<xs:restriction base=" xs:hexBinary">
<xs:maxLength value="2"/>
</xs:restriction>
<!-- A 16-bit field encoded as a hex string (4 characters / 2 octets) -->
</xs:simpleType>

Simple type HexBinary8

Notes

An 8-bit field encoded as a hex string (2 characters / 1 octets)

Formal declaration in XSD source form

<xs:simpleType name="HexBinary8">
<xs:restriction base=" xs:hexBinary">
<xs:maxLength value="1"/>
</xs:restriction>
<!-- An 8-bit field encoded as a hex string (2 characters / 1 octets) -->
</xs:simpleType>

Simple type String512

Notes

[extension] Character string of max length 512

Formal declaration in XSD source form

<xs:simpleType name="String512">
<xs:restriction base=" xs:string">
<xs:maxLength value="512"/>
</xs:restriction>
<!-- [extension] Character string of max length 512 -->
</xs:simpleType>

Simple type String256

Notes

Character string of max length 256

Formal declaration in XSD source form

<xs:simpleType name="String256">
<xs:restriction base=" xs:string">
<xs:maxLength value="256"/>
</xs:restriction>
<!-- Character string of max length 256 -->
</xs:simpleType>

Simple type String64

Notes

Character string of max length 64

Formal declaration in XSD source form

<xs:simpleType name="String64">
<xs:restriction base=" xs:string">
<xs:maxLength value="64"/>
</xs:restriction>
<!-- Character string of max length 64 -->
</xs:simpleType>

Simple type String32

Notes

Character string of max length 32

Formal declaration in XSD source form

<xs:simpleType name="String32">
<xs:restriction base=" xs:string">
<xs:maxLength value="32"/>
</xs:restriction>
<!-- Character string of max length 32 -->
</xs:simpleType>

Simple type String16

Notes

Character string of max length 16

Formal declaration in XSD source form

<xs:simpleType name="String16">
<xs:restriction base=" xs:string">
<xs:maxLength value="16"/>
</xs:restriction>
<!-- Character string of max length 16 -->
</xs:simpleType>

Simple type String8

Notes

Character string of max length 8

Formal declaration in XSD source form

<xs:simpleType name="String8">
<xs:restriction base=" xs:string">
<xs:maxLength value="8"/>
</xs:restriction>
<!-- Character string of max length 8 -->
</xs:simpleType>

Simple type String4

Notes

Character string of max length 4

Formal declaration in XSD source form

<xs:simpleType name="String4">
<xs:restriction base=" xs:string">
<xs:maxLength value="4"/>
</xs:restriction>
<!-- Character string of max length 4 -->
</xs:simpleType>

Simple type UInt16

Notes

Unsigned integer, max inclusive 65535 (2^16-1), same as xs:unsignedShort

Formal declaration in XSD source form

<xs:simpleType name="UInt16">
<xs:restriction base=" xs:unsignedShort"/>
<!-- Unsigned integer, max inclusive 65535 (2^16-1), same as xs:unsignedShort -->
</xs:simpleType>

Simple type UInt32

Notes

Unsigned integer, max inclusive 4294967295 (2^32-1), same as xs:unsignedInt

Formal declaration in XSD source form

<xs:simpleType name="UInt32">
<xs:restriction base=" xs:unsignedInt"/>
<!-- Unsigned integer, max inclusive 4294967295 (2^32-1), same as xs:unsignedInt -->
</xs:simpleType>

Simple type UInt48

Notes

Unsigned integer, max inclusive 281474976710655 (2^48-1), restriction of xs:unsignedLong

Formal declaration in XSD source form

<xs:simpleType name="UInt48">
<xs:restriction base=" xs:unsignedLong">
<xs:maxInclusive value="281474976710655"/>
</xs:restriction>
<!-- Unsigned integer, max inclusive 281474976710655 (2^48-1), restriction of xs:unsignedLong -->
</xs:simpleType>

Simple type UInt8

Notes

Unsigned integer, max inclusive 255 (2^8-1), same as xs:unsignedByte

Formal declaration in XSD source form

<xs:simpleType name="UInt8">
<xs:restriction base=" xs:unsignedByte"/>
<!-- Unsigned integer, max inclusive 255 (2^8-1), same as xs:unsignedByte -->
</xs:simpleType>

Simple type Int48

Notes

Signed integer, max inclusive -140737488355327 to +140737488355327 (2^47-1), restriction of xs:long

Formal declaration in XSD source form

<xs:simpleType name="Int48">
<xs:restriction base=" xs:long">
<xs:minInclusive value="-140737488355328"/>
<xs:maxInclusive value="140737488355328"/>
</xs:restriction>
<!-- Signed integer, max inclusive -140737488355327 to +140737488355327 (2^47-1), restriction of xs:long -->
</xs:simpleType>

Simple type Int16

Notes

Signed integer, max inclusive (2^16-1), restriction of xs:short

Formal declaration in XSD source form

<xs:simpleType name="Int16">
<xs:restriction base=" xs:short"/>
<!-- Signed integer, max inclusive (2^16-1), restriction of xs:short -->
</xs:simpleType>

Simple type TimeType

Notes

Time is a signed 64-bit value representing the number of seconds since 0 hours, 0 minutes, 0 seconds, on the 1st of January, 1970.

Formal declaration in XSD source form

<xs:simpleType name="TimeType">
<xs:restriction base=" xs:long"/>
<!-- Time is a signed 64-bit value representing the number of seconds since 0 hours, 0 minutes, 0 seconds, on the 1st of January, 1970. -->
</xs:simpleType>

Complex type DateTimeInterval

Notes

Interval of date and time. End is not included because it can be derived from the start and the duration.

Formal declaration in XSD source form

<xs:complexType name="DateTimeInterval">
<xs:complexContent>
<xs:extension base=" Object">
<xs:sequence>
<xs:element name="duration" type=" UInt32">
<!-- [correction] Duration of the interval, in seconds. -->
</xs:element>
<xs:element name="start" type=" TimeType">
<!-- [correction] Date and time that this interval started. -->
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
<!-- Interval of date and time. End is not included because it can be derived from the start and the duration. -->
</xs:complexType>

Complex type IdentifiedObject

Notes

This is a root class to provide common naming attributes for all classes needing naming attributes

Formal declaration in XSD source form

<xs:complexType name="IdentifiedObject">
<xs:complexContent>
<xs:extension base=" Object">
<xs:sequence>
<xs:element name="batchItemInfo" type=" BatchItemInfo" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
<!-- This is a root class to provide common naming attributes for all classes needing naming attributes -->
</xs:complexType>

Simple type UUIDType

Notes

This pattern defines a UUID

Formal declaration in XSD source form

<xs:simpleType name="UUIDType">
<xs:restriction base=" xs:string">
<xs:pattern value="[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}"/>
</xs:restriction>
<!-- This pattern defines a UUID -->
</xs:simpleType>

Complex type Object

Notes

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.

Formal declaration in XSD source form

<xs:complexType name="Object">
<xs:sequence>
<xs:element name="extension" type=" xs:anyType" minOccurs="0" maxOccurs="unbounded">
<!-- Contains an extension. -->
</xs:element>
</xs:sequence>
<!-- 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. -->
</xs:complexType>

Complex type ServiceStatus

Notes

Contains the current status of the service.

Formal declaration in XSD source form

<xs:complexType name="ServiceStatus">
<xs:complexContent>
<xs:extension base=" Object">
<xs:sequence>
<xs:element name="currentStatus" type=" ESPIServiceStatus">
<!-- The current status of the service. -->
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
<!-- Contains the current status of the service. -->
</xs:complexType>

Complex type RationalNumber

Notes

[extension] Rational number = 'numerator' / 'denominator'.

Formal declaration in XSD source form

<xs:complexType name="RationalNumber">
<xs:complexContent>
<xs:extension base=" Object">
<xs:sequence>
<xs:element name="numerator" type=" xs:integer" minOccurs="0"/>
<xs:element name="denominator" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
<!-- [extension] Rational number = 'numerator' / 'denominator'. -->
</xs:complexType>

Complex type ReadingInterharmonic

Notes

[extension] Interharmonics are represented as a rational number 'numerator' / 'denominator', and harmonics are represented using the same mechanism and identified by 'denominator'=1.

Formal declaration in XSD source form

<xs:complexType name="ReadingInterharmonic">
<xs:complexContent>
<xs:extension base=" Object">
<xs:sequence>
<xs:element name="numerator" type=" xs:integer" minOccurs="0"/>
<xs:element name="denominator" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
<!-- [extension] Interharmonics are represented as a rational number 'numerator' / 'denominator', and harmonics are represented using the same mechanism and identified by 'denominator'=1. -->
</xs:complexType>

Complex type BatchListType

Notes

[extension] List of resource URIs that can be used to GET ESPI resources

Formal declaration in XSD source form

<xs:complexType name="BatchListType">
<xs:sequence>
<xs:element name="resources" type=" xs:anyURI" minOccurs="0" maxOccurs="unbounded">
<!-- An individual resource URI. -->
</xs:element>
</xs:sequence>
<!-- [extension] List of resource URIs that can be used to GET ESPI resources -->
</xs:complexType>

Complex type LineItem

Notes

[extension] Line item of detail for additional cost

Formal declaration in XSD source form

<xs:complexType name="LineItem">
<xs:complexContent>
<xs:extension base=" Object">
<xs:sequence>
<xs:element name="amount" type=" Int48" minOccurs="0">
<!-- Cost of line item. -->
</xs:element>
<xs:element name="rounding" type=" Int48" minOccurs="0">
<!-- Rounded to nearest increment. -->
</xs:element>
<xs:element name="dateTime" type=" TimeType" minOccurs="0">
<!-- Significant date for line item. -->
</xs:element>
<xs:element name="note" type=" String256">
<!-- Comment or description of line item. -->
</xs:element>
<xs:element name="measurement" type=" SummaryMeasurement" minOccurs="0">
<!-- [extension] relevant measurment for line item. -->
</xs:element>
<xs:element name="itemKind" type=" ItemKind">
<!-- [extension] Classification of a line item -- i.e. usage charge, taxes, etc... -->
</xs:element>
<xs:element name="unitCost" type=" Int48" minOccurs="0" maxOccurs="1">
<!-- [extension] Per Unit cost. -->
</xs:element>
<xs:element name="itemPeriod" type=" DateTimeInterval" minOccurs="0" maxOccurs="1">
<!-- [extension] Time period covered by the LineItem, to support pricing changes in the middle of a billing period -->
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
<!-- [extension] Line item of detail for additional cost -->
</xs:complexType>

Complex type PnodeRefs

Notes

[extension] Sequence of references to Pnodes assoicated with a UsagePoint.

Formal declaration in XSD source form

<xs:complexType name="PnodeRefs">
<xs:complexContent>
<xs:extension base=" Object">
<xs:sequence>
<xs:element name="pnodeRef" type=" PnodeRef" maxOccurs="unbounded">
<!-- pnodeRef structure. -->
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
<!-- [extension] Sequence of references to Pnodes assoicated with a UsagePoint. -->
</xs:complexType>

Complex type AggregateNodeRefs

Notes

[extension] References to associated AggregateNodes.

Formal declaration in XSD source form

<xs:complexType name="AggregateNodeRefs">
<xs:complexContent>
<xs:extension base=" Object">
<xs:sequence>
<xs:element name="aggregateNodeRef" type=" AggregateNodeRef" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
<!-- [extension] References to associated AggregateNodes. -->
</xs:complexType>

Complex type TariffRiderRefs

Notes

[extension] References to associated Tariff Riders.

Formal declaration in XSD source form

<xs:complexType name="TariffRiderRefs">
<xs:complexContent>
<xs:extension base=" Object">
<xs:sequence>
<xs:element name="tariffRiderRef" type=" TariffRiderRef" maxOccurs="unbounded">
<!-- [extension] Tariff Rider structure. -->
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
<!-- [extension] References to associated Tariff Riders. -->
</xs:complexType>

Complex type PnodeRef

Notes

[extension] Reference to a Pnode.

Formal declaration in XSD source form

<xs:complexType name="PnodeRef">
<xs:complexContent>
<xs:extension base=" Object">
<xs:sequence>
<xs:element name="apnodeType" type=" ApnodeType">
<!-- type of pnode. -->
</xs:element>
<xs:element name="ref" type=" String256">
<!-- Reference to a Pnode. -->
</xs:element>
<xs:element name="startEffectiveDate" type=" TimeType" minOccurs="0">
<!-- [extension] Starting Effective Date of Pnode assignment -->
</xs:element>
<xs:element name="endEffectiveDate" type=" TimeType" minOccurs="0">
<!-- [extension] Ending Effective Date of Pnode assignment -->
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
<!-- [extension] Reference to a Pnode. -->
</xs:complexType>

Complex type AggregateNodeRef

Notes

[extension] Reference to an AggregateNode (could be a load aggregation point which is a specialization of AggregateNode).

Formal declaration in XSD source form

<xs:complexType name="AggregateNodeRef">
<xs:complexContent>
<xs:extension base=" Object">
<xs:sequence>
<xs:element name="anodeType" type=" AnodeType">
<!-- Type of aggregateNode. -->
</xs:element>
<xs:element name="ref" type=" String256">
<!-- Reference to an AggregateNode. -->
</xs:element>
<xs:element name="startEffectiveDate" type=" TimeType" minOccurs="0">
<!-- [extension] Starting Effective Date of ANode assignment -->
</xs:element>
<xs:element name="endEffectiveDate" type=" TimeType" minOccurs="0">
<!-- [extension] Ending Effective Date of ANode assignment -->
</xs:element>
<xs:element name="pnodeRef" type=" PnodeRef" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
<!-- [extension] Reference to an AggregateNode (could be a load aggregation point which is a specialization of AggregateNode). -->
</xs:complexType>

Complex type TariffRiderRef

Notes

[extension] Reference to a Tariff Rider.

Formal declaration in XSD source form

<xs:complexType name="TariffRiderRef">
<xs:complexContent>
<xs:extension base=" Object">
<xs:sequence>
<xs:element name="riderType" type=" String256">
<!-- [extension] Rate options applied to the base tariff profile -->
</xs:element>
<xs:element name="enrollmentStatus" type=" EnrollmentStatus">
<!-- [extension] Retail Customer's Tariff Rider enrollment status -->
</xs:element>
<xs:element name="effectiveDate" type=" TimeType">
<!-- [extension] Effective date of Retail Customer's Tariff Rider enrollment status -->
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
<!-- [extension] Reference to a Tariff Rider. -->
</xs:complexType>

Complex type BillingChargeSource

Notes

[extension] Information about source of billing charge

Formal declaration in XSD source form

<xs:complexType name="BillingChargeSource">
<xs:complexContent>
<xs:extension base=" Object">
<xs:sequence>
<xs:element name="agencyName" type=" String256" minOccurs="0">
<!-- [extension] Name of billing source -->
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
<!-- [extension] Information about source of billing charge -->
</xs:complexType>

Simple type TokenEndPointMethod

Notes

[extension] Token endpoint method in OAuth 2.0.

Formal declaration in XSD source form

<xs:simpleType name="TokenEndPointMethod">
<xs:restriction base=" String32">
<xs:enumeration value="client_secret_basic">
<!-- [extension] Indicates the client uses HTTP Basic authentication (RFC 6749 Section 2.3.1). -->
</xs:enumeration>
</xs:restriction>
<!-- [extension] Token endpoint method in OAuth 2.0. -->
</xs:simpleType>

Simple type GrantType

Notes

[extension] OAuth 2.0 ESPI supported grant types.

Formal declaration in XSD source form

<xs:simpleType name="GrantType">
<xs:restriction base=" String32">
<xs:enumeration value="authorization_code">
<!-- OAuth 2.0 Authorization Code Grant flow (RFC 6749 Section 4.1). -->
</xs:enumeration>
<xs:enumeration value="client_credentials">
<!-- OAuth 2.0 Client Credentials Grant flow (RFC 6749 Section 4.4). -->
</xs:enumeration>
<xs:enumeration value="refresh_token">
<!-- OAuth 2.0 Refresh Token flow (RFC 6749 Section 6.). -->
</xs:enumeration>
</xs:restriction>
<!-- [extension] OAuth 2.0 ESPI supported grant types. -->
</xs:simpleType>

Simple type ResponseType

Notes

[extension] OAuth 2.0 ESPI supported response types.

Formal declaration in XSD source form

<xs:simpleType name="ResponseType">
<xs:restriction base=" String32">
<xs:enumeration value="code">
<!-- Indicates a request for an authorization code (RFC 6749 Section 4.1.1) -->
</xs:enumeration>
</xs:restriction>
<!-- [extension] OAuth 2.0 ESPI supported response types. -->
</xs:simpleType>

Simple type TokenType

Notes

[extension] OAuth 2.0 ESPI supported token types.

Formal declaration in XSD source form

<xs:simpleType name="TokenType">
<xs:restriction base=" String32">
<xs:enumeration value="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). -->
</xs:enumeration>
</xs:restriction>
<!-- [extension] OAuth 2.0 ESPI supported token types. -->
</xs:simpleType>

Simple type OAuthError

Notes

[extension] OAuth 2.0 ESPI supported error codes.

Formal declaration in XSD source form

<xs:simpleType name="OAuthError">
<xs:restriction base=" String32">
<xs:enumeration value="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).
-->
</xs:enumeration>
<xs:enumeration value="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). -->
</xs:enumeration>
<xs:enumeration value="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). -->
</xs:enumeration>
<xs:enumeration value="unauthorized_client">
<!-- The authenticated client is not authorized to use this authorization grant type (RFC 6749 Sections 4.1.2.1 and 5.2).
-->
</xs:enumeration>
<xs:enumeration value="unsupported_grant_type">
<!-- The authorization grant type is not supported by the authorization server (RFC 6749 Section 5.2). -->
</xs:enumeration>
<xs:enumeration value="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). -->
</xs:enumeration>
<xs:enumeration value="invalid_redirect_uri">
<!-- The value of one or more redirection URIs is invalid (RFC 7591 Section 3.2.2).
-->
</xs:enumeration>
<xs:enumeration value="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).
-->
</xs:enumeration>
<xs:enumeration value="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.
-->
</xs:enumeration>
<xs:enumeration value="access_denied">
<!-- The resource owner or authorization server denied the request (RFC 6749 Section 4.1.2.1).
-->
</xs:enumeration>
<xs:enumeration value="unsupported_response_type">
<!-- The authorization server does not support obtaining an authorization code using this method (RFC 6749 Section 4.1.2.1).
-->
</xs:enumeration>
<xs:enumeration value="server_error">
<!-- The authorization server encountered an unexpected condition that prevented it from fulfilling the request (RFC 6749 Section 4.1.2.1).
-->
</xs:enumeration>
<xs:enumeration value="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).
-->
</xs:enumeration>
</xs:restriction>
<!-- [extension] OAuth 2.0 ESPI supported error codes. -->
</xs:simpleType>

Simple type ItemKind

Notes

[extension] Code for classification billing line items.

Formal declaration in XSD source form

<xs:simpleType name="ItemKind">
<xs:union memberTypes=" UInt16">
<xs:simpleType>
<xs:restriction base=" UInt16">
<xs:enumeration value="1">
<!-- Energy Generation Fee. A charge for generation of energy. -->
</xs:enumeration>
<xs:enumeration value="2">
<!-- Energy Delivery Fee. A charge for delivery of energy. -->
</xs:enumeration>
<xs:enumeration value="3">
<!-- Energy Usage Fee. A charge for electricity, natural gas, water consumption -->
</xs:enumeration>
<xs:enumeration value="4">
<!-- Administrative Fee. A fee for administrative services. -->
</xs:enumeration>
<xs:enumeration value="5">
<!-- Tax. A local, state, or federal energy tax. -->
</xs:enumeration>
<xs:enumeration value="6">
<!-- Energy Generation Credit. A credit, discount or rebate for generation of energy. -->
</xs:enumeration>
<xs:enumeration value="7">
<!-- Energy Delivery Credit. A credit, discount or rebate for delivery of energy. -->
</xs:enumeration>
<xs:enumeration value="8">
<!-- Administrative Credit. A credit, discount or rebate for administrative services. -->
</xs:enumeration>
<xs:enumeration value="9">
<!-- Payment. A payment for a previous billing. -->
</xs:enumeration>
<xs:enumeration value="10">
<!-- Information. An informational line item. -->
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:union>
<!-- [extension] Code for classification billing line items. -->
</xs:simpleType>

Simple type AccumulationKind

Notes

Code indicating how value is accumulated over time for Readings of ReadingType. The list of valid values per the standard are defined in AccumulationBehaviorType.

Formal declaration in XSD source form

<xs:simpleType name="AccumulationKind">
<xs:union memberTypes=" UInt16">
<xs:simpleType>
<xs:restriction base=" UInt16">
<xs:enumeration value="0">
<!-- Not Applicable or implied by the unit of measure. -->
</xs:enumeration>
<xs:enumeration value="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. -->
</xs:enumeration>
<xs:enumeration value="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.) -->
</xs:enumeration>
<xs:enumeration value="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. -->
</xs:enumeration>
<xs:enumeration value="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.) -->
</xs:enumeration>
<xs:enumeration value="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.) -->
</xs:enumeration>
<xs:enumeration value="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. -->
</xs:enumeration>
<xs:enumeration value="10">
<!-- A form of computation which introduces a time delay characteristic to the data value -->
</xs:enumeration>
<xs:enumeration 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.) -->
</xs:enumeration>
<xs:enumeration value="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. -->
</xs:enumeration>
<xs:enumeration 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.) -->
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:union>
<!-- Code indicating how value is accumulated over time for Readings of ReadingType. The list of valid values per the standard are defined in AccumulationBehaviorType. -->
</xs:simpleType>

Simple type CommodityKind

Notes

Code for commodity classification of Readings of ReadingType. The valid values per the standard are defined in CommodityType.

Formal declaration in XSD source form

<xs:simpleType name="CommodityKind">
<xs:union memberTypes=" UInt16">
<xs:simpleType>
<xs:restriction base=" UInt16">
<xs:enumeration value="0">
<!-- Not Applicable -->
</xs:enumeration>
<xs:enumeration value="1">
<!-- All types of metered quantities. This type of reading comes from the meter and represents a “secondary” metered value. -->
</xs:enumeration>
<xs:enumeration 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. -->
</xs:enumeration>
<xs:enumeration value="3">
<!-- A measurement of the communication infrastructure itself. -->
</xs:enumeration>
<xs:enumeration value="4">
<!-- Air -->
</xs:enumeration>
<xs:enumeration value="5">
<!-- Insulative Gas (SF6 is found separately below) -->
</xs:enumeration>
<xs:enumeration value="6">
<!-- Insulative Oil -->
</xs:enumeration>
<xs:enumeration value="7">
<!-- Natural Gas -->
</xs:enumeration>
<xs:enumeration value="8">
<!-- Propane C3H8 -->
</xs:enumeration>
<xs:enumeration value="9">
<!-- Drinkable water -->
</xs:enumeration>
<xs:enumeration value="10">
<!-- Water in steam form, usually used for heating. -->
</xs:enumeration>
<xs:enumeration value="11">
<!-- Waste Water (Sewerage) -->
</xs:enumeration>
<xs:enumeration value="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. -->
</xs:enumeration>
<xs:enumeration value="13">
<!-- The cool fluid returns warmer than when it was sent. The heat conveyed may be metered. -->
</xs:enumeration>
<xs:enumeration value="14">
<!-- Reclaimed water – possibly used for irrigation but not sufficiently treated to be considered safe for drinking. -->
</xs:enumeration>
<xs:enumeration value="15">
<!-- Nitrous Oxides NOX -->
</xs:enumeration>
<xs:enumeration value="16">
<!-- Sulfur Dioxide SO2 -->
</xs:enumeration>
<xs:enumeration value="17">
<!-- Methane CH4 -->
</xs:enumeration>
<xs:enumeration value="18">
<!-- Carbon Dioxide CO2 -->
</xs:enumeration>
<xs:enumeration value="19">
<!-- Carbon -->
</xs:enumeration>
<xs:enumeration value="20">
<!-- Hexachlorocyclohexane HCH -->
</xs:enumeration>
<xs:enumeration value="21">
<!-- Perfluorocarbons PFC -->
</xs:enumeration>
<xs:enumeration value="22">
<!-- Sulfurhexafluoride SF6 -->
</xs:enumeration>
<xs:enumeration value="23">
<!-- Television -->
</xs:enumeration>
<xs:enumeration value="24">
<!-- Internet service -->
</xs:enumeration>
<xs:enumeration value="25">
<!-- Trash -->
</xs:enumeration>
<xs:enumeration value="26">
<!-- Electricity Transmission "metered" -- Service taken directly from transmission system without transformation from standard transmission voltages -->
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:union>
<!-- Code for commodity classification of Readings of ReadingType. The valid values per the standard are defined in CommodityType. -->
</xs:simpleType>

Simple type Currency

Notes

Code for the currency for costs associated with this ReadingType. The valid values per the standard are defined in CurrencyCode.

Formal declaration in XSD source form

<xs:simpleType name="Currency">
<xs:union memberTypes=" UInt16">
<xs:simpleType>
<xs:restriction base=" UInt16">
<xs:enumeration value="840">
<!-- US dollar -->
</xs:enumeration>
<xs:enumeration value="978">
<!-- European euro -->
</xs:enumeration>
<xs:enumeration value="36">
<!-- Australian dollar -->
</xs:enumeration>
<xs:enumeration value="124">
<!-- Canadian dollar -->
</xs:enumeration>
<xs:enumeration value="756">
<!-- Swiss francs -->
</xs:enumeration>
<xs:enumeration value="156">
<!-- Chinese yuan renminbi -->
</xs:enumeration>
<xs:enumeration value="208">
<!-- Danish crown -->
</xs:enumeration>
<xs:enumeration value="826">
<!-- British pound -->
</xs:enumeration>
<xs:enumeration value="392">
<!-- Japanese yen -->
</xs:enumeration>
<xs:enumeration value="578">
<!-- Norwegian crown -->
</xs:enumeration>
<xs:enumeration value="643">
<!-- Russian ruble -->
</xs:enumeration>
<xs:enumeration value="752">
<!-- Swedish crown -->
</xs:enumeration>
<xs:enumeration value="356">
<!-- India rupees -->
</xs:enumeration>
<xs:enumeration value="0">
<!-- Another type of currency. -->
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:union>
<!-- Code for the currency for costs associated with this ReadingType. The valid values per the standard are defined in CurrencyCode. -->
</xs:simpleType>

Simple type DataQualifierKind

Notes

Code describing a salient attribute of Readings of ReadingType. Valid values per the standard are defined in DataQualifierType.

Formal declaration in XSD source form

<xs:simpleType name="DataQualifierKind">
<xs:union memberTypes=" UInt16">
<xs:simpleType>
<xs:restriction base=" UInt16">
<xs:enumeration value="0">
<!-- Not Applicable -->
</xs:enumeration>
<xs:enumeration value="2">
<!-- Average value -->
</xs:enumeration>
<xs:enumeration value="4">
<!-- The value represents an amount over which a threshold was exceeded. -->
</xs:enumeration>
<xs:enumeration value="5">
<!-- The value represents a programmed threshold. -->
</xs:enumeration>
<xs:enumeration value="7">
<!-- The value represents a programmed threshold. -->
</xs:enumeration>
<xs:enumeration value="8">
<!-- The highest value observed -->
</xs:enumeration>
<xs:enumeration value="9">
<!-- The smallest value observed -->
</xs:enumeration>
<xs:enumeration value="11">
<!-- Nominal -->
</xs:enumeration>
<xs:enumeration value="12">
<!-- Normal -->
</xs:enumeration>
<xs:enumeration value="16">
<!-- The second highest value observed -->
</xs:enumeration>
<xs:enumeration value="17">
<!-- The second smallest value observed -->
</xs:enumeration>
<xs:enumeration value="23">
<!-- The third highest value observed -->
</xs:enumeration>
<xs:enumeration value="24">
<!-- The fourth highest value observed -->
</xs:enumeration>
<xs:enumeration value="25">
<!-- The fifth highest value observed -->
</xs:enumeration>
<xs:enumeration value="26">
<!-- The accumulated sum -->
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:union>
<!-- Code describing a salient attribute of Readings of ReadingType. Valid values per the standard are defined in DataQualifierType. -->
</xs:simpleType>

Simple type FlowDirectionKind

Notes

Direction associated with current related Readings. valid values per the standard are defined in FlowDirectionType.

Formal declaration in XSD source form

<xs:simpleType name="FlowDirectionKind">
<xs:union memberTypes=" UInt16">
<xs:simpleType>
<xs:restriction base=" UInt16">
<xs:enumeration value="0">
<!-- Not Applicable (N/A) -->
</xs:enumeration>
<xs:enumeration value="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. -->
</xs:enumeration>
<xs:enumeration value="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. -->
</xs:enumeration>
<xs:enumeration value="3">
<!-- Typically used to describe that a power factor is leading the reference value. Note: Leading power factors typically indicate capacitive loading. -->
</xs:enumeration>
<xs:enumeration value="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. -->
</xs:enumeration>
<xs:enumeration value="5">
<!-- Reactive positive quadrants. (The term “lagging” is preferred.) -->
</xs:enumeration>
<xs:enumeration value="7">
<!-- Quadrants 1 and 3 -->
</xs:enumeration>
<xs:enumeration value="8">
<!-- Quadrants 1 and 4 usually represent forward active energy -->
</xs:enumeration>
<xs:enumeration value="9">
<!-- Q1 minus Q4 -->
</xs:enumeration>
<xs:enumeration value="10">
<!-- Quadrants 2 and 3 usually represent reverse active energy -->
</xs:enumeration>
<xs:enumeration value="11">
<!-- Quadrants 2 and 4 -->
</xs:enumeration>
<xs:enumeration value="12">
<!-- Q2 minus Q3 -->
</xs:enumeration>
<xs:enumeration value="13">
<!-- Reactive negative quadrants. (The term “leading” is preferred.) -->
</xs:enumeration>
<xs:enumeration value="14">
<!-- Q3 minus Q2 -->
</xs:enumeration>
<xs:enumeration value="15">
<!-- Q1 only -->
</xs:enumeration>
<xs:enumeration value="16">
<!-- Q2 only -->
</xs:enumeration>
<xs:enumeration value="17">
<!-- Q3 only -->
</xs:enumeration>
<xs:enumeration value="18">
<!-- Q4 only -->
</xs:enumeration>
<xs:enumeration value="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. -->
</xs:enumeration>
<xs:enumeration value="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. -->
</xs:enumeration>
<xs:enumeration value="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. -->
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:union>
<!-- Direction associated with current related Readings. valid values per the standard are defined in FlowDirectionType. -->
</xs:simpleType>

Simple type MeasurementKind

Notes

Name of physical measurement

Formal declaration in XSD source form

<xs:simpleType name="MeasurementKind">
<xs:union memberTypes=" UInt16">
<xs:simpleType>
<xs:restriction base=" UInt16">
<xs:enumeration value="0">
<!-- Not Applicable -->
</xs:enumeration>
<xs:enumeration value="2">
<!-- Apparent Power Factor -->
</xs:enumeration>
<xs:enumeration value="3">
<!-- Currency -->
</xs:enumeration>
<xs:enumeration value="4">
<!-- Current -->
</xs:enumeration>
<xs:enumeration value="5">
<!-- Current Angle -->
</xs:enumeration>
<xs:enumeration value="6">
<!-- Current Imbalance -->
</xs:enumeration>
<xs:enumeration value="7">
<!-- Date -->
</xs:enumeration>
<xs:enumeration value="8">
<!-- Demand -->
</xs:enumeration>
<xs:enumeration value="9">
<!-- Distance -->
</xs:enumeration>
<xs:enumeration value="10">
<!-- Distortion Volt Amperes -->
</xs:enumeration>
<xs:enumeration value="11">
<!-- Energization -->
</xs:enumeration>
<xs:enumeration value="12">
<!-- Energy -->
</xs:enumeration>
<xs:enumeration value="13">
<!-- Energization Load Side -->
</xs:enumeration>
<xs:enumeration value="14">
<!-- Fan -->
</xs:enumeration>
<xs:enumeration value="15">
<!-- Frequency -->
</xs:enumeration>
<xs:enumeration value="16">
<!-- Funds (Duplication of “currency”) -->
</xs:enumeration>
<xs:enumeration value="17">
<!-- ieee1366ASAI -->
</xs:enumeration>
<xs:enumeration value="18">
<!-- ieee1366ASIDI -->
</xs:enumeration>
<xs:enumeration value="19">
<!-- ieee1366ASIFI -->
</xs:enumeration>
<xs:enumeration value="20">
<!-- ieee1366CAIDI -->
</xs:enumeration>
<xs:enumeration value="21">
<!-- ieee1366CAIFI -->
</xs:enumeration>
<xs:enumeration value="22">
<!-- ieee1366CEMIn -->
</xs:enumeration>
<xs:enumeration value="23">
<!-- ieee1366CEMSMIn -->
</xs:enumeration>
<xs:enumeration value="24">
<!-- ieee1366CTAIDI -->
</xs:enumeration>
<xs:enumeration value="25">
<!-- ieee1366MAIFI -->
</xs:enumeration>
<xs:enumeration value="26">
<!-- ieee1366MAIFIe -->
</xs:enumeration>
<xs:enumeration value="27">
<!-- ieee1366SAIDI -->
</xs:enumeration>
<xs:enumeration value="28">
<!-- ieee1366SAIFI -->
</xs:enumeration>
<xs:enumeration value="31">
<!-- Line Losses -->
</xs:enumeration>
<xs:enumeration value="32">
<!-- Losses -->
</xs:enumeration>
<xs:enumeration value="33">
<!-- Negative Sequence -->
</xs:enumeration>
<xs:enumeration value="34">
<!-- Phasor Power Factor -->
</xs:enumeration>
<xs:enumeration value="35">
<!-- Phasor Reactive Power -->
</xs:enumeration>
<xs:enumeration value="36">
<!-- Positive Sequence -->
</xs:enumeration>
<xs:enumeration value="37">
<!-- Power -->
</xs:enumeration>
<xs:enumeration value="38">
<!-- Power Factor -->
</xs:enumeration>
<xs:enumeration value="40">
<!-- Quantity Power -->
</xs:enumeration>
<xs:enumeration value="41">
<!-- Sag (Voltage Dip) -->
</xs:enumeration>
<xs:enumeration value="42">
<!-- Swell -->
</xs:enumeration>
<xs:enumeration value="43">
<!-- Switch Position -->
</xs:enumeration>
<xs:enumeration value="44">
<!-- Tap Position -->
</xs:enumeration>
<xs:enumeration value="45">
<!-- Tariff Rate -->
</xs:enumeration>
<xs:enumeration value="46">
<!-- Temperature -->
</xs:enumeration>
<xs:enumeration value="47">
<!-- Total Harmonic Distortion -->
</xs:enumeration>
<xs:enumeration value="48">
<!-- Transformer Losses -->
</xs:enumeration>
<xs:enumeration value="49">
<!-- Unipede Voltage Dip 10 to 15 -->
</xs:enumeration>
<xs:enumeration value="50">
<!-- Unipede Voltage Dip 15 to 30 -->
</xs:enumeration>
<xs:enumeration value="51">
<!-- Unipede Voltage Dip 30 to 60 -->
</xs:enumeration>
<xs:enumeration value="52">
<!-- Unipede Voltage Dip 60 to 90 -->
</xs:enumeration>
<xs:enumeration value="53">
<!-- Unipede Voltage Dip 90 to 100 -->
</xs:enumeration>
<xs:enumeration value="54">
<!-- Voltage -->
</xs:enumeration>
<xs:enumeration value="55">
<!-- Voltage Angle -->
</xs:enumeration>
<xs:enumeration value="56">
<!-- Voltage Excursion -->
</xs:enumeration>
<xs:enumeration value="57">
<!-- Voltage Imbalance -->
</xs:enumeration>
<xs:enumeration value="58">
<!-- Volume (Clarified from Ed. 1. to indicate fluid volume) -->
</xs:enumeration>
<xs:enumeration value="59">
<!-- Zero Flow Duration -->
</xs:enumeration>
<xs:enumeration value="60">
<!-- Zero Sequence -->
</xs:enumeration>
<xs:enumeration value="64">
<!-- Distortion Power Factor -->
</xs:enumeration>
<xs:enumeration value="81">
<!-- Frequency Excursion (Usually expressed as a “count”) -->
</xs:enumeration>
<xs:enumeration value="90">
<!-- Application Context -->
</xs:enumeration>
<xs:enumeration value="91">
<!-- Ap Title -->
</xs:enumeration>
<xs:enumeration value="92">
<!-- Asset Number -->
</xs:enumeration>
<xs:enumeration value="93">
<!-- Bandwidth -->
</xs:enumeration>
<xs:enumeration value="94">
<!-- Battery Voltage -->
</xs:enumeration>
<xs:enumeration value="95">
<!-- Broadcast Address -->
</xs:enumeration>
<xs:enumeration value="96">
<!-- Device Address Type 1 -->
</xs:enumeration>
<xs:enumeration value="97">
<!-- Device Address Type 2 -->
</xs:enumeration>
<xs:enumeration value="98">
<!-- Device Address Type 3 -->
</xs:enumeration>
<xs:enumeration value="99">
<!-- Device Address Type 4 -->
</xs:enumeration>
<xs:enumeration value="100">
<!-- Device Class -->
</xs:enumeration>
<xs:enumeration value="101">
<!-- Electronic Serial Number -->
</xs:enumeration>
<xs:enumeration value="102">
<!-- End Device ID -->
</xs:enumeration>
<xs:enumeration value="103">
<!-- Group Address Type 1 -->
</xs:enumeration>
<xs:enumeration value="104">
<!-- Group Address Type 2 -->
</xs:enumeration>
<xs:enumeration value="105">
<!-- Group Address Type 3 -->
</xs:enumeration>
<xs:enumeration value="106">
<!-- Group Address Type 4 -->
</xs:enumeration>
<xs:enumeration value="107">
<!-- IP Address -->
</xs:enumeration>
<xs:enumeration value="108">
<!-- MAC Address -->
</xs:enumeration>
<xs:enumeration value="109">
<!-- Mfg Assigned Configuration ID -->
</xs:enumeration>
<xs:enumeration value="110">
<!-- Mfg Assigned Physical Serial Number -->
</xs:enumeration>
<xs:enumeration value="111">
<!-- Mfg Assigned Product Number -->
</xs:enumeration>
<xs:enumeration value="112">
<!-- Mfg Assigned Unique Communication Address -->
</xs:enumeration>
<xs:enumeration value="113">
<!-- Multicast Address -->
</xs:enumeration>
<xs:enumeration value="114">
<!-- One Way Address -->
</xs:enumeration>
<xs:enumeration value="115">
<!-- Signal Strength -->
</xs:enumeration>
<xs:enumeration value="116">
<!-- Two Way Address -->
</xs:enumeration>
<xs:enumeration value="117">
<!-- Signal to Noise Ratio (moved here from Attribute #9 UOM) -->
</xs:enumeration>
<xs:enumeration value="118">
<!-- Alarm -->
</xs:enumeration>
<xs:enumeration value="119">
<!-- Battery Carryover -->
</xs:enumeration>
<xs:enumeration value="120">
<!-- Data Overflow Alarm -->
</xs:enumeration>
<xs:enumeration value="121">
<!-- Demand Limit -->
</xs:enumeration>
<xs:enumeration value="122">
<!-- Demand Reset (usually expressed as a count as part of a billing cycle) -->
</xs:enumeration>
<xs:enumeration value="123">
<!-- Diagnostic -->
</xs:enumeration>
<xs:enumeration value="124">
<!-- Emergency Limit -->
</xs:enumeration>
<xs:enumeration value="125">
<!-- Encoder Tamper -->
</xs:enumeration>
<xs:enumeration value="126">
<!-- ieee1366 Momentary Interruption -->
</xs:enumeration>
<xs:enumeration value="127">
<!-- ieee1366 Momentary Interruption Event -->
</xs:enumeration>
<xs:enumeration value="128">
<!-- ieee1366 Sustained Interruption -->
</xs:enumeration>
<xs:enumeration value="129">
<!-- Interruption Behaviour -->
</xs:enumeration>
<xs:enumeration value="130">
<!-- Inversion Tamper -->
</xs:enumeration>
<xs:enumeration value="131">
<!-- Load Interrupt -->
</xs:enumeration>
<xs:enumeration value="132">
<!-- Load Shed -->
</xs:enumeration>
<xs:enumeration value="133">
<!-- Maintenance -->
</xs:enumeration>
<xs:enumeration value="134">
<!-- Physical Tamper -->
</xs:enumeration>
<xs:enumeration value="135">
<!-- Power Loss Tamper -->
</xs:enumeration>
<xs:enumeration value="136">
<!-- Power Outage -->
</xs:enumeration>
<xs:enumeration value="137">
<!-- Power Quality -->
</xs:enumeration>
<xs:enumeration value="138">
<!-- Power Restoration -->
</xs:enumeration>
<xs:enumeration value="139">
<!-- Programmed -->
</xs:enumeration>
<xs:enumeration value="140">
<!-- Push Button -->
</xs:enumeration>
<xs:enumeration value="141">
<!-- Relay Activation -->
</xs:enumeration>
<xs:enumeration value="142">
<!-- Relay Cycle (usually expressed as a count) -->
</xs:enumeration>
<xs:enumeration value="143">
<!-- Removal Tamper -->
</xs:enumeration>
<xs:enumeration value="144">
<!-- Reprogramming Tamper -->
</xs:enumeration>
<xs:enumeration value="145">
<!-- Reverse Rotation Tamper -->
</xs:enumeration>
<xs:enumeration value="146">
<!-- Switch Armed -->
</xs:enumeration>
<xs:enumeration value="147">
<!-- Switch Disabled -->
</xs:enumeration>
<xs:enumeration value="148">
<!-- Tamper -->
</xs:enumeration>
<xs:enumeration value="149">
<!-- Watchdog Timeout -->
</xs:enumeration>
<xs:enumeration value="150">
<!-- Customer’s bill for the previous billing period (Currency) -->
</xs:enumeration>
<xs:enumeration value="151">
<!-- Customer’s bill, as known thus far within the present billing period (Currency) -->
</xs:enumeration>
<xs:enumeration value="152">
<!-- Customer’s bill for the (Currency) -->
</xs:enumeration>
<xs:enumeration value="153">
<!-- Monthly fee for connection to commodity. -->
</xs:enumeration>
<xs:enumeration value="154">
<!-- Audible Volume (Sound) -->
</xs:enumeration>
<xs:enumeration value="155">
<!-- Volumetric Flow -->
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:union>
<!-- Name of physical measurement -->
</xs:simpleType>

Simple type PhaseCodeKind

Notes

Enumeration of phase identifiers. Allows designation of phases for both transmission and distribution equipment, circuits and loads. Residential and small commercial loads are often served from single-phase, or split-phase, secondary circuits. Phases 1 and 2 refer to hot wires that are 180 degrees out of phase, while N refers to the neutral wire. Through single-phase transformer connections, these secondary circuits may be served from one or two of the primary phases A, B, and C. For three-phase loads, use the A, B, C phase codes instead of s12N.

Formal declaration in XSD source form

<xs:simpleType name="PhaseCodeKind">
<xs:union memberTypes=" UInt16">
<xs:simpleType>
<xs:restriction base=" UInt16">
<xs:enumeration value="225">
<!-- ABC to Neutral -->
</xs:enumeration>
<xs:enumeration value="224">
<!-- Involving all phases -->
</xs:enumeration>
<xs:enumeration value="193">
<!-- AB to Neutral -->
</xs:enumeration>
<xs:enumeration value="41">
<!-- Phases A, C and neutral. -->
</xs:enumeration>
<xs:enumeration value="97">
<!-- BC to neutral. -->
</xs:enumeration>
<xs:enumeration value="132">
<!-- Phases A to B -->
</xs:enumeration>
<xs:enumeration value="96">
<!-- Phases A and C -->
</xs:enumeration>
<xs:enumeration value="66">
<!-- Phases B to C -->
</xs:enumeration>
<xs:enumeration value="129">
<!-- Phases A to neutral. -->
</xs:enumeration>
<xs:enumeration value="65">
<!-- Phases B to neutral. -->
</xs:enumeration>
<xs:enumeration value="33">
<!-- Phases C to neutral. -->
</xs:enumeration>
<xs:enumeration value="128">
<!-- Phase A. -->
</xs:enumeration>
<xs:enumeration value="64">
<!-- Phase B. -->
</xs:enumeration>
<xs:enumeration value="32">
<!-- Phase C. -->
</xs:enumeration>
<xs:enumeration value="16">
<!-- Neutral -->
</xs:enumeration>
<xs:enumeration value="272">
<!-- Phase S2 to neutral. -->
</xs:enumeration>
<xs:enumeration value="784">
<!-- Phase S1, S2 to neutral. -->
</xs:enumeration>
<xs:enumeration value="528">
<!-- Phase S1 to Neutral -->
</xs:enumeration>
<xs:enumeration value="256">
<!-- Phase S2. -->
</xs:enumeration>
<xs:enumeration value="768">
<!-- Phase S1 to S2 -->
</xs:enumeration>
<xs:enumeration value="769">
<!-- Phase S1, S2 to N -->
</xs:enumeration>
<xs:enumeration value="0">
<!-- Not applicable to any phase -->
</xs:enumeration>
<xs:enumeration value="136">
<!-- Phase A current relative to Phase A voltage -->
</xs:enumeration>
<xs:enumeration value="72">
<!-- Phase B current or voltage relative to Phase A voltage -->
</xs:enumeration>
<xs:enumeration value="40">
<!-- Phase C current or voltage relative to Phase A voltage -->
</xs:enumeration>
<xs:enumeration value="17">
<!-- Neutral to ground -->
</xs:enumeration>
<xs:enumeration value="512">
<!-- Phase S1 -->
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:union>
<!-- Enumeration of phase identifiers. Allows designation of phases for both transmission and distribution equipment, circuits and loads. Residential and small commercial loads are often served from single-phase, or split-phase, secondary circuits. Phases 1 and 2 refer to hot wires that are 180 degrees out of phase, while N refers to the neutral wire. Through single-phase transformer connections, these secondary circuits may be served from one or two of the primary phases A, B, and C. For three-phase loads, use the A, B, C phase codes instead of s12N. -->
</xs:simpleType>

Simple type UnitMultiplierKind

Notes

The power of ten unit multipliers.

Formal declaration in XSD source form

<xs:simpleType name="UnitMultiplierKind">
<xs:union memberTypes=" Int16">
<xs:simpleType>
<xs:restriction base=" Int16">
<xs:enumeration value="-12">
<!-- Pico 10**-12 -->
</xs:enumeration>
<xs:enumeration value="-9">
<!-- Nano 10**-9 -->
</xs:enumeration>
<xs:enumeration value="-6">
<!-- Micro 10**-6 -->
</xs:enumeration>
<xs:enumeration value="-3">
<!-- Milli 10**-3 -->
</xs:enumeration>
<xs:enumeration value="-2">
<!-- Centi 10**-2 -->
</xs:enumeration>
<xs:enumeration value="-1">
<!-- Deci 10**-1 -->
</xs:enumeration>
<xs:enumeration value="3">
<!-- Kilo 10**3 -->
</xs:enumeration>
<xs:enumeration value="6">
<!-- Mega 10**6 -->
</xs:enumeration>
<xs:enumeration value="9">
<!-- Giga 10**9 -->
</xs:enumeration>
<xs:enumeration value="12">
<!-- Tera 10**12 -->
</xs:enumeration>
<xs:enumeration value="0">
<!-- Not Applicable or "x1" -->
</xs:enumeration>
<xs:enumeration value="1">
<!-- deca 10**1 -->
</xs:enumeration>
<xs:enumeration value="2">
<!-- hecto 10**2 -->
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:union>
<!-- The power of ten unit multipliers. -->
</xs:simpleType>

Simple type QualityOfReading

Notes

List of codes indicating the quality of the reading

Formal declaration in XSD source form

<xs:simpleType name="QualityOfReading">
<xs:union memberTypes=" UInt16">
<xs:simpleType>
<xs:restriction base=" UInt16">
<xs:enumeration value="0">
<!-- data that has gone through all required validation checks and either passed them all or has been verified -->
</xs:enumeration>
<xs:enumeration value="7">
<!-- Replaced or approved by a human -->
</xs:enumeration>
<xs:enumeration value="8">
<!-- data value was replaced by a machine computed value based on analysis of historical data using the same type of measurement. -->
</xs:enumeration>
<xs:enumeration value="9">
<!-- data value was computed using linear interpolation based on the readings before and after it -->
</xs:enumeration>
<xs:enumeration value="10">
<!-- data that has failed one or more checks -->
</xs:enumeration>
<xs:enumeration value="11">
<!-- data that has been calculated (using logic or mathematical operations) -->
</xs:enumeration>
<xs:enumeration value="12">
<!-- data that has been calculated as a projection or forecast of future readings -->
</xs:enumeration>
<xs:enumeration value="13">
<!-- indicates that the quality of this reading has mixed characteristics -->
</xs:enumeration>
<xs:enumeration value="14">
<!-- data that has not gone through the validation -->
</xs:enumeration>
<xs:enumeration value="15">
<!-- the values have been adjusted to account for weather -->
</xs:enumeration>
<xs:enumeration value="16">
<!-- specifies that a characteristic applies other than those defined -->
</xs:enumeration>
<xs:enumeration value="17">
<!-- data that has been validated and possibly edited and/or estimated in accordance with approved procedures -->
</xs:enumeration>
<xs:enumeration value="18">
<!-- data that failed at least one of the required validation checks but was determined to represent actual usage -->
</xs:enumeration>
<xs:enumeration value="19">
<!-- data that is valid and acceptable for billing purposes -->
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:union>
<!-- List of codes indicating the quality of the reading -->
</xs:simpleType>

Simple type ServiceKind

Notes

Kind of service represented by the UsagePoint

Formal declaration in XSD source form

<xs:simpleType name="ServiceKind">
<xs:union memberTypes=" UInt16">
<xs:simpleType>
<xs:restriction base=" UInt16">
<xs:enumeration value="0">
<!-- Electricity service. -->
</xs:enumeration>
<xs:enumeration value="1">
<!-- Gas service. -->
</xs:enumeration>
<xs:enumeration value="2">
<!-- Water service. -->
</xs:enumeration>
<xs:enumeration value="3">
<!-- Time service. -->
</xs:enumeration>
<xs:enumeration value="4">
<!-- Heat service. -->
</xs:enumeration>
<xs:enumeration value="5">
<!-- Refuse (waster) service. -->
</xs:enumeration>
<xs:enumeration value="6">
<!-- Sewerage service. -->
</xs:enumeration>
<xs:enumeration value="7">
<!-- Rates (e.g. tax, charge, toll, duty, tariff, etc.) service. -->
</xs:enumeration>
<xs:enumeration value="8">
<!-- TV license service. -->
</xs:enumeration>
<xs:enumeration value="9">
<!-- Internet service. -->
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:union>
<!-- Kind of service represented by the UsagePoint -->
</xs:simpleType>

Simple type TimeAttributeKind

Notes

Code used to specify a particular type of time interval method for Readings of ReadingType. Valid values per the standard are defined in TimeAttributeType.

Formal declaration in XSD source form

<xs:simpleType name="TimeAttributeKind">
<xs:union memberTypes=" UInt16">
<xs:simpleType>
<xs:restriction base=" UInt16">
<xs:enumeration value="0">
<!-- Not Applicable -->
</xs:enumeration>
<xs:enumeration value="1">
<!-- 10-minute -->
</xs:enumeration>
<xs:enumeration value="2">
<!-- 15-minute -->
</xs:enumeration>
<xs:enumeration value="3">
<!-- 1-minute -->
</xs:enumeration>
<xs:enumeration value="4">
<!-- 24-hour -->
</xs:enumeration>
<xs:enumeration value="5">
<!-- 30-minute -->
</xs:enumeration>
<xs:enumeration value="6">
<!-- 5-minute -->
</xs:enumeration>
<xs:enumeration value="7">
<!-- 60-minute -->
</xs:enumeration>
<xs:enumeration value="10">
<!-- 2-minute -->
</xs:enumeration>
<xs:enumeration value="14">
<!-- 3-minute -->
</xs:enumeration>
<xs:enumeration value="15">
<!-- Within the present period of time -->
</xs:enumeration>
<xs:enumeration value="16">
<!-- Shifted within the previous monthly cycle and data set -->
</xs:enumeration>
<xs:enumeration value="31">
<!-- 20-minute interval -->
</xs:enumeration>
<xs:enumeration value="50">
<!-- 60-minute Fixed Block -->
</xs:enumeration>
<xs:enumeration value="51">
<!-- 30-minute Fixed Block -->
</xs:enumeration>
<xs:enumeration value="52">
<!-- 20-minute Fixed Block -->
</xs:enumeration>
<xs:enumeration value="53">
<!-- 15-minute Fixed Block -->
</xs:enumeration>
<xs:enumeration value="54">
<!-- 10-minute Fixed Block -->
</xs:enumeration>
<xs:enumeration value="55">
<!-- 5-minute Fixed Block -->
</xs:enumeration>
<xs:enumeration value="56">
<!-- 1-minute Fixed Block -->
</xs:enumeration>
<xs:enumeration value="57">
<!-- 60-minute Rolling Block with 30-minute sub-intervals -->
</xs:enumeration>
<xs:enumeration value="58">
<!-- 60-minute Rolling Block with 20-minute sub-intervals -->
</xs:enumeration>
<xs:enumeration value="59">
<!-- 60-minute Rolling Block with 15-minute sub-intervals -->
</xs:enumeration>
<xs:enumeration value="60">
<!-- 60-minute Rolling Block with 12-minute sub-intervals -->
</xs:enumeration>
<xs:enumeration value="61">
<!-- 60-minute Rolling Block with 10-minute sub-intervals -->
</xs:enumeration>
<xs:enumeration value="62">
<!-- 60-minute Rolling Block with 6-minute sub-intervals -->
</xs:enumeration>
<xs:enumeration value="63">
<!-- 60-minute Rolling Block with 5-minute sub-intervals -->
</xs:enumeration>
<xs:enumeration value="64">
<!-- 60-minute Rolling Block with 4-minute sub-intervals -->
</xs:enumeration>
<xs:enumeration value="65">
<!-- 30-minute Rolling Block with 15-minute sub-intervals -->
</xs:enumeration>
<xs:enumeration value="66">
<!-- 30-minute Rolling Block with 10-minute sub-intervals -->
</xs:enumeration>
<xs:enumeration value="67">
<!-- 30-minute Rolling Block with 6-minute sub-intervals -->
</xs:enumeration>
<xs:enumeration value="68">
<!-- 30-minute Rolling Block with 5-minute sub-intervals -->
</xs:enumeration>
<xs:enumeration value="69">
<!-- 30-minute Rolling Block with 3-minute sub-intervals -->
</xs:enumeration>
<xs:enumeration value="70">
<!-- 30-minute Rolling Block with 2-minute sub-intervals -->
</xs:enumeration>
<xs:enumeration value="71">
<!-- 15-minute Rolling Block with 5-minute sub-intervals -->
</xs:enumeration>
<xs:enumeration value="72">
<!-- 15-minute Rolling Block with 3-minute sub-intervals -->
</xs:enumeration>
<xs:enumeration value="73">
<!-- 15-minute Rolling Block with 1-minute sub-intervals -->
</xs:enumeration>
<xs:enumeration value="74">
<!-- 10-minute Rolling Block with 5-minute sub-intervals -->
</xs:enumeration>
<xs:enumeration value="75">
<!-- 10-minute Rolling Block with 2-minute sub-intervals -->
</xs:enumeration>
<xs:enumeration value="76">
<!-- 10-minute Rolling Block with 1-minute sub-intervals -->
</xs:enumeration>
<xs:enumeration value="77">
<!-- 5-minute Rolling Block with 1-minute sub-intervals -->
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:union>
<!-- Code used to specify a particular type of time interval method for Readings of ReadingType. Valid values per the standard are defined in TimeAttributeType. -->
</xs:simpleType>

Simple type TimePeriodOfInterest

Notes

[extension] Specific time intervals (e.g., billing period, daily, seasonal, etc) used to identify specific periods of time.

Formal declaration in XSD source form

<xs:simpleType name="TimePeriodOfInterest">
<xs:union memberTypes=" UInt16">
<xs:simpleType>
<xs:restriction base=" UInt16">
<xs:enumeration value="0">
<!-- Not Applicable -->
</xs:enumeration>
<xs:enumeration value="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". -->
</xs:enumeration>
<xs:enumeration value="11">
<!-- Daily Period starting at midnight. If for the current day, this specifies the time from midnight to "now". -->
</xs:enumeration>
<xs:enumeration value="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." -->
</xs:enumeration>
<xs:enumeration value="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." -->
</xs:enumeration>
<xs:enumeration value="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." -->
</xs:enumeration>
<xs:enumeration value="32">
<!-- For the period defined by the start and end of the TimePeriod element in the message. -->
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:union>
<!-- [extension] Specific time intervals (e.g., billing period, daily, seasonal, etc) used to identify specific periods of time.
-->
</xs:simpleType>

Simple type UnitSymbolKind

Notes

Code for the base unit of measure for Readings of ReadingType. Used in combination with the powerOfTenMultiplier to specify the actual unit of measure. Valid values per the standard are defined in UomType.

Formal declaration in XSD source form

<xs:simpleType name="UnitSymbolKind">
<xs:union memberTypes=" UInt16">
<xs:simpleType>
<xs:restriction base=" UInt16">
<xs:enumeration value="61">
<!-- Apparent power, Volt Ampere (See also real power and reactive power.), VA -->
</xs:enumeration>
<xs:enumeration value="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 -->
</xs:enumeration>
<xs:enumeration value="63">
<!-- Reactive power, Volt Ampere reactive. The “reactive” or “imaginary” component of electrical power (VISin?). (See also real power and apparent power)., VAr -->
</xs:enumeration>
<xs:enumeration value="71">
<!-- Apparent energy, Volt Ampere hours, VAh -->
</xs:enumeration>
<xs:enumeration value="72">
<!-- Real energy, Watt hours, Wh -->
</xs:enumeration>
<xs:enumeration value="73">
<!-- Reactive energy, Volt Ampere reactive hours, VArh -->
</xs:enumeration>
<xs:enumeration value="29">
<!-- Electric potential, Volt (W/A), V -->
</xs:enumeration>
<xs:enumeration value="30">
<!-- Electric resistance, Ohm (V/A), O -->
</xs:enumeration>
<xs:enumeration value="5">
<!-- Current, ampere, A -->
</xs:enumeration>
<xs:enumeration value="25">
<!-- Electric capacitance, Farad (C/V), °C -->
</xs:enumeration>
<xs:enumeration value="28">
<!-- Electric inductance, Henry (Wb/A), H -->
</xs:enumeration>
<xs:enumeration value="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. -->
</xs:enumeration>
<xs:enumeration value="27">
<!-- Time, seconds, s -->
</xs:enumeration>
<xs:enumeration value="159">
<!-- Time, minute = s * 60, min -->
</xs:enumeration>
<xs:enumeration value="160">
<!-- Time, hour = minute * 60, h -->
</xs:enumeration>
<xs:enumeration value="9">
<!-- Plane angle, degrees, deg -->
</xs:enumeration>
<xs:enumeration value="10">
<!-- Plane angle, Radian (m/m), rad -->
</xs:enumeration>
<xs:enumeration value="31">
<!-- Energy joule, (N·m = C·V = W·s), J -->
</xs:enumeration>
<xs:enumeration value="32">
<!-- Force newton, (kg m/s²), N -->
</xs:enumeration>
<xs:enumeration value="53">
<!-- Electric conductance, Siemens (A / V = 1 / O), S -->
</xs:enumeration>
<xs:enumeration value="0">
<!-- N/A, None -->
</xs:enumeration>
<xs:enumeration value="33">
<!-- Frequency hertz, (1/s), Hz -->
</xs:enumeration>
<xs:enumeration value="3">
<!-- Mass in gram, g -->
</xs:enumeration>
<xs:enumeration value="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 -->
</xs:enumeration>
<xs:enumeration value="2">
<!-- Length, meter, m -->
</xs:enumeration>
<xs:enumeration value="41">
<!-- Area, square meter, m² -->
</xs:enumeration>
<xs:enumeration value="42">
<!-- Volume, cubic meter, m³ -->
</xs:enumeration>
<xs:enumeration value="69">
<!-- Amps squared, amp squared, A2 -->
</xs:enumeration>
<xs:enumeration value="105">
<!-- ampere-squared, Ampere-squared hour, A²h -->
</xs:enumeration>
<xs:enumeration value="70">
<!-- Amps squared time, square amp second, A²s -->
</xs:enumeration>
<xs:enumeration value="106">
<!-- Ampere-hours, Ampere-hours, Ah -->
</xs:enumeration>
<xs:enumeration value="152">
<!-- Current, Ratio of Amperages, A/A -->
</xs:enumeration>
<xs:enumeration value="103">
<!-- A/m, magnetic field strength, Ampere per metre, A/m -->
</xs:enumeration>
<xs:enumeration value="68">
<!-- Amp seconds, amp seconds, As -->
</xs:enumeration>
<xs:enumeration value="79">
<!-- Sound pressure level, Bel, acoustic, Combine with multiplier prefix “d” to form decibels of Sound Pressure Level“dB (SPL).”, B (SPL) -->
</xs:enumeration>
<xs:enumeration value="113">
<!-- Signal Strength, Bel-mW, normalized to 1mW. Note: to form “dBm” combine “Bm” with multiplier “d”. Bm -->
</xs:enumeration>
<xs:enumeration value="22">
<!-- Radioactivity, Becquerel (1/s), Bq -->
</xs:enumeration>
<xs:enumeration value="132">
<!-- Energy, British Thermal Units, BTU -->
</xs:enumeration>
<xs:enumeration value="133">
<!-- Power, BTU per hour, BTU/h -->
</xs:enumeration>
<xs:enumeration value="8">
<!-- Luminous intensity, candela, cd -->
</xs:enumeration>
<xs:enumeration value="76">
<!-- Number of characters, characters, char -->
</xs:enumeration>
<xs:enumeration value="75">
<!-- Rate of change of frequency, hertz per second, Hz/s -->
</xs:enumeration>
<xs:enumeration value="114">
<!-- Application Value, encoded value, code -->
</xs:enumeration>
<xs:enumeration value="65">
<!-- Power factor, Dimensionless, cos? -->
</xs:enumeration>
<xs:enumeration value="111">
<!-- Amount of substance, counter value, count -->
</xs:enumeration>
<xs:enumeration value="119">
<!-- Volume, cubic feet, ft³ -->
</xs:enumeration>
<xs:enumeration value="120">
<!-- Volume, cubic feet, ft³(compensated) -->
</xs:enumeration>
<xs:enumeration value="123">
<!-- Volumetric flow rate, compensated cubic feet per hour, ft³(compensated)/h -->
</xs:enumeration>
<xs:enumeration value="78">
<!-- Turbine inertia, gram·meter2 (Combine with multiplier prefix “k” to form kg·m2.), gm² -->
</xs:enumeration>
<xs:enumeration value="144">
<!-- Concentration, The ratio of the mass of a solute divided by the mass of the solution., g/g -->
</xs:enumeration>
<xs:enumeration value="21">
<!-- Absorbed dose, Gray (J/kg), GY -->
</xs:enumeration>
<xs:enumeration value="150">
<!-- Frequency, Rate of frequency change, Hz/Hz -->
</xs:enumeration>
<xs:enumeration value="77">
<!-- Data rate, characters per second, char/s -->
</xs:enumeration>
<xs:enumeration value="130">
<!-- Volume, imperial gallons, ImperialGal -->
</xs:enumeration>
<xs:enumeration value="131">
<!-- Volumetric flow rate, Imperial gallons per hour, ImperialGal/h -->
</xs:enumeration>
<xs:enumeration value="51">
<!-- Heat capacity, Joule/Kelvin, J/K -->
</xs:enumeration>
<xs:enumeration value="165">
<!-- Specific energy, Joules / kg, J/kg -->
</xs:enumeration>
<xs:enumeration value="6">
<!-- Temperature, Kelvin, K -->
</xs:enumeration>
<xs:enumeration value="158">
<!-- Catalytic activity, katal = mol / s, kat -->
</xs:enumeration>
<xs:enumeration value="47">
<!-- Moment of mass ,kilogram meter (kg·m), M -->
</xs:enumeration>
<xs:enumeration value="48">
<!-- Density, gram/cubic meter (combine with prefix multiplier “k” to form kg/ m³), g/m³ -->
</xs:enumeration>
<xs:enumeration value="134">
<!-- Volume, litre = dm3 = m3/1000., L -->
</xs:enumeration>
<xs:enumeration value="157">
<!-- Volume, litre, with the value compensated for weather effects, L(compensated) -->
</xs:enumeration>
<xs:enumeration value="138">
<!-- Volumetric flow rate, litres (compensated) per hour, L(compensated)/h -->
</xs:enumeration>
<xs:enumeration value="137">
<!-- Volumetric flow rate, litres per hour, L/h -->
</xs:enumeration>
<xs:enumeration value="143">
<!-- Concentration, The ratio of the volume of a solute divided by the volume of the solution., L/L -->
</xs:enumeration>
<xs:enumeration value="82">
<!-- Volumetric flow rate, Volumetric flow rate, L/s -->
</xs:enumeration>
<xs:enumeration value="156">
<!-- Volume, litre, with the value uncompensated for weather effects., L(uncompensated) -->
</xs:enumeration>
<xs:enumeration value="139">
<!-- Volumetric flow rate, litres (uncompensated) per hour, L(uncompensated)/h -->
</xs:enumeration>
<xs:enumeration value="35">
<!-- Luminous flux, lumen (cd sr), Lm -->
</xs:enumeration>
<xs:enumeration value="34">
<!-- Illuminance lux, (lm/m²), L(uncompensated)/h -->
</xs:enumeration>
<xs:enumeration value="49">
<!-- Viscosity, meter squared / second, m²/s -->
</xs:enumeration>
<xs:enumeration value="167">
<!-- Volume, cubic meter, with the value compensated for weather effects., m3(compensated) -->
</xs:enumeration>
<xs:enumeration value="126">
<!-- Volumetric flow rate, compensated cubic meters per hour, ³(compensated)/h -->
</xs:enumeration>
<xs:enumeration value="125">
<!-- Volumetric flow rate, cubic meters per hour, m³/h -->
</xs:enumeration>
<xs:enumeration value="45">
<!-- m3PerSec, cubic meters per second, m³/s -->
</xs:enumeration>
<xs:enumeration value="166">
<!-- m3uncompensated, cubic meter, with the value uncompensated for weather effects., m3(uncompensated) -->
</xs:enumeration>
<xs:enumeration value="127">
<!-- Volumetric flow rate, uncompensated cubic meters per hour, m³(uncompensated)/h -->
</xs:enumeration>
<xs:enumeration value="118">
<!-- EndDeviceEvent, value to be interpreted as a EndDeviceEventCode, meCode -->
</xs:enumeration>
<xs:enumeration value="7">
<!-- Amount of substance, mole, mol -->
</xs:enumeration>
<xs:enumeration value="147">
<!-- Concentration, Molality, the amount of solute in moles and the amount of solvent in kilograms., mol/kg -->
</xs:enumeration>
<xs:enumeration value="145">
<!-- Concentration, The amount of substance concentration, (c), the amount of solvent in moles divided by the volume of solution in m³., mol/ m³ -->
</xs:enumeration>
<xs:enumeration value="146">
<!-- Concentration, Molar fraction (?), the ratio of the molar amount of a solute divided by the molar amount of the solution.,mol/mol -->
</xs:enumeration>
<xs:enumeration value="80">
<!-- Monetary unit, Generic money (Note: Specific monetary units are identified the currency class)., ¤ -->
</xs:enumeration>
<xs:enumeration value="148">
<!-- Length, Ratio of length, m/m -->
</xs:enumeration>
<xs:enumeration value="46">
<!-- Fuel efficiency, meters / cubic meter, m/m³ -->
</xs:enumeration>
<xs:enumeration value="43">
<!-- Velocity, meters per second (m/s), m/s -->
</xs:enumeration>
<xs:enumeration value="44">
<!-- Acceleration, meters per second squared, m/s² -->
</xs:enumeration>
<xs:enumeration value="102">
<!-- resistivity, ? (rho), ?m -->
</xs:enumeration>
<xs:enumeration value="155">
<!-- Pressure, Pascal, absolute pressure, PaA -->
</xs:enumeration>
<xs:enumeration value="140">
<!-- Pressure, Pascal, gauge pressure, PaG -->
</xs:enumeration>
<xs:enumeration value="141">
<!-- Pressure, Pounds per square inch, absolute, psiA -->
</xs:enumeration>
<xs:enumeration value="142">
<!-- Pressure, Pounds per square inch, gauge, psiG -->
</xs:enumeration>
<xs:enumeration value="100">
<!-- Quantity power, Q, Q -->
</xs:enumeration>
<xs:enumeration value="161">
<!-- Quantity power, Q measured at 45º, Q45 -->
</xs:enumeration>
<xs:enumeration value="163">
<!-- Quantity energy, Q measured at 45º, Q45h -->
</xs:enumeration>
<xs:enumeration value="162">
<!-- Quantity power, Q measured at 60º, Q60 -->
</xs:enumeration>
<xs:enumeration value="164">
<!-- Quantity energy, Qh measured at 60º, Q60h -->
</xs:enumeration>
<xs:enumeration value="101">
<!-- Quantity energy, Qh, Qh -->
</xs:enumeration>
<xs:enumeration value="54">
<!-- Angular velocity, radians per second, rad/s -->
</xs:enumeration>
<xs:enumeration value="154">
<!-- Amount of rotation, Revolutions, rev -->
</xs:enumeration>
<xs:enumeration value="4">
<!-- Rotational speed, Rotations per second, rev/s -->
</xs:enumeration>
<xs:enumeration value="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 -->
</xs:enumeration>
<xs:enumeration value="11">
<!-- Solid angle, Steradian (m2/m2), sr -->
</xs:enumeration>
<xs:enumeration value="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 -->
</xs:enumeration>
<xs:enumeration value="24">
<!-- Doe equivalent, Sievert (J/kg), Sv -->
</xs:enumeration>
<xs:enumeration value="37">
<!-- Magnetic flux density, Tesla (Wb/m2), T -->
</xs:enumeration>
<xs:enumeration value="169">
<!-- Energy, Therm, therm -->
</xs:enumeration>
<xs:enumeration value="108">
<!-- Timestamp, time and date per ISO 8601 format, timeStamp -->
</xs:enumeration>
<xs:enumeration value="128">
<!-- Volume, US gallons, Gal -->
</xs:enumeration>
<xs:enumeration value="129">
<!-- Volumetric flow rate, US gallons per hour, USGal/h -->
</xs:enumeration>
<xs:enumeration value="67">
<!-- Volts squared, Volt squared (W2/A2), V² -->
</xs:enumeration>
<xs:enumeration value="104">
<!-- volt-squared hour, Volt-squared-hours, V²h -->
</xs:enumeration>
<xs:enumeration value="117">
<!-- Kh-Vah, apparent energy metering constant, VAh/rev -->
</xs:enumeration>
<xs:enumeration value="116">
<!-- Kh-VArh, reactive energy metering constant, VArh/rev -->
</xs:enumeration>
<xs:enumeration value="74">
<!-- Magnetic flux, Volts per Hertz, V/Hz -->
</xs:enumeration>
<xs:enumeration value="151">
<!-- Voltage, Ratio of voltages (e.g. mV/V), V/V -->
</xs:enumeration>
<xs:enumeration value="66">
<!-- Volt seconds, Volt seconds (Ws/A), Vs -->
</xs:enumeration>
<xs:enumeration value="36">
<!-- Magnetic flux, Weber (V s), Wb -->
</xs:enumeration>
<xs:enumeration value="107">
<!-- Wh/m3, energy per volume, Wh/m³ -->
</xs:enumeration>
<xs:enumeration value="115">
<!-- Kh-Wh, active energy metering constant, Wh/rev -->
</xs:enumeration>
<xs:enumeration value="50">
<!-- Thermal conductivity, Watt/meter Kelvin, W/m K -->
</xs:enumeration>
<xs:enumeration value="81">
<!-- Ramp rate, Watts per second, W/s -->
</xs:enumeration>
<xs:enumeration value="153">
<!-- Power Factor, PF, W/VA -->
</xs:enumeration>
<xs:enumeration value="168">
<!-- Signal Strength, Ratio of power, W/W -->
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:union>
<!-- Code for the base unit of measure for Readings of ReadingType. Used in combination with the powerOfTenMultiplier to specify the actual unit of measure. Valid values per the standard are defined in UomType.
-->
</xs:simpleType>

Simple type StatusCode

Notes

indicates the status code of the associated transaction

Formal declaration in XSD source form

<xs:simpleType name="StatusCode">
<xs:union memberTypes=" UInt16">
<xs:simpleType>
<xs:restriction base=" UInt16">
<xs:enumeration value="200">
<!-- Ok -->
</xs:enumeration>
<xs:enumeration value="201">
<!-- Created -->
</xs:enumeration>
<xs:enumeration value="202">
<!-- Accepted -->
</xs:enumeration>
<xs:enumeration value="204">
<!-- No Content -->
</xs:enumeration>
<xs:enumeration value="301">
<!-- Moved Permanently -->
</xs:enumeration>
<xs:enumeration value="302">
<!-- Redirect -->
</xs:enumeration>
<xs:enumeration value="304">
<!-- Not Modified -->
</xs:enumeration>
<xs:enumeration value="400">
<!-- Bad Request -->
</xs:enumeration>
<xs:enumeration value="401">
<!-- Unauthorized -->
</xs:enumeration>
<xs:enumeration value="403">
<!-- Forbidden -->
</xs:enumeration>
<xs:enumeration value="404">
<!-- Not Found -->
</xs:enumeration>
<xs:enumeration value="405">
<!-- Method Not Allowed -->
</xs:enumeration>
<xs:enumeration value="410">
<!-- Gone -->
</xs:enumeration>
<xs:enumeration value="500">
<!-- Internal Server Error -->
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:union>
<!-- indicates the status code of the associated transaction -->
</xs:simpleType>

Simple type CRUDOperation

Notes

Specifies the operation requested of this item

Formal declaration in XSD source form

<xs:simpleType name="CRUDOperation">
<xs:union memberTypes=" UInt16">
<xs:simpleType>
<xs:restriction base=" UInt16">
<xs:enumeration value="0">
<!-- Create -->
</xs:enumeration>
<xs:enumeration value="1">
<!-- Read -->
</xs:enumeration>
<xs:enumeration value="2">
<!-- Update -->
</xs:enumeration>
<xs:enumeration value="3">
<!-- Delete -->
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:union>
<!-- Specifies the operation requested of this item -->
</xs:simpleType>

Simple type DataCustodianApplicationStatus

Notes

A code indicating the current status of the application. This value is provided by Data Custodian, cannot be modified by Third Party.

Formal declaration in XSD source form

<xs:simpleType name="DataCustodianApplicationStatus">
<xs:union memberTypes=" UInt16">
<xs:simpleType>
<xs:restriction base=" UInt16">
<xs:enumeration value="1">
<!-- Review -->
</xs:enumeration>
<xs:enumeration value="2">
<!-- Production (Live) -->
</xs:enumeration>
<xs:enumeration value="3">
<!-- On Hold -->
</xs:enumeration>
<xs:enumeration value="4">
<!-- Revoked -->
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:union>
<!-- A code indicating the current status of the application. This value is provided by Data Custodian, cannot be modified by Third Party. -->
</xs:simpleType>

Simple type ThirdPartyApplicatonStatus

Notes

A code indicating the current status of the application

Formal declaration in XSD source form

<xs:simpleType name="ThirdPartyApplicatonStatus">
<xs:union memberTypes=" UInt16">
<xs:simpleType>
<xs:restriction base=" UInt16">
<xs:enumeration value="1">
<!-- Development -->
</xs:enumeration>
<xs:enumeration value="2">
<!-- Review/Test -->
</xs:enumeration>
<xs:enumeration value="3">
<!-- Live -->
</xs:enumeration>
<xs:enumeration value="4">
<!-- Remove -->
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:union>
<!-- A code indicating the current status of the application -->
</xs:simpleType>

Simple type ThirdPartyApplicationType

Notes

A code indicating the type of application

Formal declaration in XSD source form

<xs:simpleType name="ThirdPartyApplicationType">
<xs:union memberTypes=" UInt16">
<xs:simpleType>
<xs:restriction base=" UInt16">
<xs:enumeration value="1">
<!-- The application is on the web -->
</xs:enumeration>
<xs:enumeration value="2">
<!-- The application is on a desktop -->
</xs:enumeration>
<xs:enumeration value="3">
<!-- The application is on a mobile device -->
</xs:enumeration>
<xs:enumeration value="4">
<!-- The application is on another device -->
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:union>
<!-- A code indicating the type of application -->
</xs:simpleType>

Simple type ThirdPartyApplicationUse

Notes

A code indicating the expected use of the application.

Formal declaration in XSD source form

<xs:simpleType name="ThirdPartyApplicationUse">
<xs:union memberTypes=" UInt16">
<xs:simpleType>
<xs:restriction base=" UInt16">
<xs:enumeration value="1">
<!-- Energy Management -->
</xs:enumeration>
<xs:enumeration value="2">
<!-- Analytical -->
</xs:enumeration>
<xs:enumeration value="3">
<!-- Governmental -->
</xs:enumeration>
<xs:enumeration value="4">
<!-- Academic -->
</xs:enumeration>
<xs:enumeration value="5">
<!-- Law Enforcement -->
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:union>
<!-- A code indicating the expected use of the application. -->
</xs:simpleType>

Simple type AuthorizationStatus

Notes

A code indicating the status of an Authorization

Formal declaration in XSD source form

<xs:simpleType name="AuthorizationStatus">
<xs:union memberTypes=" UInt16">
<xs:simpleType>
<xs:restriction base=" UInt16">
<xs:enumeration value="0">
<!-- Revoked -->
</xs:enumeration>
<xs:enumeration value="1">
<!-- Active -->
</xs:enumeration>
<xs:enumeration value="2">
<!-- Denied -->
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:union>
<!-- A code indicating the status of an Authorization -->
</xs:simpleType>

Simple type ESPIServiceStatus

Notes

The current status of the service

Formal declaration in XSD source form

<xs:simpleType name="ESPIServiceStatus">
<xs:union memberTypes=" UInt16">
<xs:simpleType>
<xs:restriction base=" UInt16">
<xs:enumeration value="0">
<!-- Unavailable -->
</xs:enumeration>
<xs:enumeration value="1">
<!-- Normal; operational -->
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:union>
<!-- The current status of the service -->
</xs:simpleType>

Simple type AmiBillingReadyKind

Notes

Lifecycle states of the metering installation at a usage point with respect to readiness for billing via advanced metering infrastructure reads.

Formal declaration in XSD source form

<xs:simpleType name="AmiBillingReadyKind">
<xs:restriction base=" String32">
<xs:enumeration value="amiCapable">
<!-- Usage point is equipped with an AMI capable meter that is not yet currently equipped with a communications module. -->
</xs:enumeration>
<xs:enumeration value="amiDisabled">
<!-- Usage point is equipped with an AMI capable meter; however, the AMI functionality has been disabled or is not being used. -->
</xs:enumeration>
<xs:enumeration value="billingApproved">
<!-- Usage point is equipped with an operating AMI capable meter and accuracy has been certified for billing purposes. -->
</xs:enumeration>
<xs:enumeration value="enabled">
<!-- Usage point is equipped with an AMI capable meter having communications capability. -->
</xs:enumeration>
<xs:enumeration value="nonAmi">
<!-- Usage point is equipped with a non AMI capable meter. -->
</xs:enumeration>
<xs:enumeration value="nonMetered">
<!-- Usage point is not currently equipped with a meter. -->
</xs:enumeration>
<xs:enumeration value="operable">
<!-- Usage point is equipped with an AMI capable meter that is functioning and communicating with the AMI network. -->
</xs:enumeration>
</xs:restriction>
<!-- Lifecycle states of the metering installation at a usage point with respect to readiness for billing via advanced metering infrastructure reads. -->
</xs:simpleType>

Simple type UsagePointConnectedKind

Notes

State of the usage point with respect to connection to the network.

Formal declaration in XSD source form

<xs:simpleType name="UsagePointConnectedKind">
<xs:restriction base=" String32">
<xs:enumeration value="connected">
<!-- The usage point is connected to the network and able to receive or send the applicable commodity (electricity, gas, water, etc.). -->
</xs:enumeration>
<xs:enumeration value="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. -->
</xs:enumeration>
<xs:enumeration value="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. -->
</xs:enumeration>
</xs:restriction>
<!-- State of the usage point with respect to connection to the network. -->
</xs:simpleType>

Simple type DstRuleType

Notes

[extension] Bit map encoded rule from which is calculated the start or end time, within the current year, to which daylight savings time offset must be applied.

The rule encoding:
Bits 0 - 11: seconds 0 - 3599
Bits 12 - 16: hours 0 - 23
Bits 17 - 19: day of the week 0 = not applicable, 1 - 7 (Monday = 1)
Bits:20 - 24: day of the month 0 = not applicable, 1 - 31
Bits: 25 - 27: operator (detailed below)
Bits: 28 - 31: month 1 - 12

Rule value of 0xFFFFFFFF means rule processing/DST correction is disabled.

The operators:

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

An example: DST starts on third Friday in March at 1:45 AM. The rule...
Seconds: 2700
Hours: 1
Day of Week: 5
Day of Month: 0
Operator: 4
Month: 3

Formal declaration in XSD source form

<xs:simpleType name="DstRuleType">
<xs:restriction base=" HexBinary32"/>
<!-- [extension] Bit map encoded rule from which is calculated the start or end time, within the current year, to which daylight savings time offset must be applied.

The rule encoding:
Bits 0 - 11: seconds 0 - 3599
Bits 12 - 16: hours 0 - 23
Bits 17 - 19: day of the week 0 = not applicable, 1 - 7 (Monday = 1)
Bits:20 - 24: day of the month 0 = not applicable, 1 - 31
Bits: 25 - 27: operator (detailed below)
Bits: 28 - 31: month 1 - 12

Rule value of 0xFFFFFFFF means rule processing/DST correction is disabled.

The operators:

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

An example: DST starts on third Friday in March at 1:45 AM. The rule...
Seconds: 2700
Hours: 1
Day of Week: 5
Day of Month: 0
Operator: 4
Month: 3 -->
</xs:simpleType>

Simple type ApnodeType

Notes

Aggregate Node Types for example:
AG - Aggregated Generation
CPZ - Custom Price Zone
DPZ - Default Price Zone
LAP - Load Aggregation Point
TH - Trading Hub
SYS - System Zone
CA - Control Area

GA - generic aggregation
EHV - 500 kV
GH - generic hub
ZN - zone
INT - Interface
BUS - Bus

Formal declaration in XSD source form

<xs:simpleType name="ApnodeType">
<xs:restriction base=" String8">
<xs:enumeration value="AG">
<!-- Aggregated Generation -->
</xs:enumeration>
<xs:enumeration value="CPZ">
<!-- Custom Price Zone -->
</xs:enumeration>
<xs:enumeration value="DPZ">
<!-- Default Price Zone -->
</xs:enumeration>
<xs:enumeration value="LAP">
<!-- Load Aggregation Point -->
</xs:enumeration>
<xs:enumeration value="TH">
<!-- Trading Hub -->
</xs:enumeration>
<xs:enumeration value="SYS">
<!-- System Zone -->
</xs:enumeration>
<xs:enumeration value="CA">
<!-- Control Area -->
</xs:enumeration>
<xs:enumeration value="DCA">
<!-- Designated Congestion Area -->
</xs:enumeration>
<xs:enumeration value="GA">
<!-- generic aggregation -->
</xs:enumeration>
<xs:enumeration value="GH">
<!-- generic hub -->
</xs:enumeration>
<xs:enumeration value="EHV">
<!-- 500 kV - Extra High Voltage aggregate price nodes -->
</xs:enumeration>
<xs:enumeration value="ZN">
<!-- Zone -->
</xs:enumeration>
<xs:enumeration value="INT">
<!-- Interface -->
</xs:enumeration>
<xs:enumeration value="BUS">
<!-- Bus -->
</xs:enumeration>
</xs:restriction>
<!-- Aggregate Node Types for example:
AG - Aggregated Generation
CPZ - Custom Price Zone
DPZ - Default Price Zone
LAP - Load Aggregation Point
TH - Trading Hub
SYS - System Zone
CA - Control Area

GA - generic aggregation
EHV - 500 kV
GH - generic hub
ZN - zone
INT - Interface
BUS - Bus -->
</xs:simpleType>

Simple type AnodeType

Notes

Aggregated Nodes Types for example:
 - 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

Formal declaration in XSD source form

<xs:simpleType name="AnodeType">
<xs:restriction base=" String8">
<xs:enumeration value="SYS">
<!-- System Zone/Region; -->
</xs:enumeration>
<xs:enumeration value="RUC">
<!-- RUC Zone -->
</xs:enumeration>
<xs:enumeration value="LFZ">
<!-- Load Forecast Zone -->
</xs:enumeration>
<xs:enumeration value="REG">
<!-- Market Energy/Ancillary Service Region; -->
</xs:enumeration>
<xs:enumeration value="AGR">
<!-- Aggregate Generation Resource; -->
</xs:enumeration>
<xs:enumeration value="POD">
<!-- Point of Delivery; -->
</xs:enumeration>
<xs:enumeration value="ALR">
<!-- Aggregate Load Resource; -->
</xs:enumeration>
<xs:enumeration value="LTAC">
<!-- Load TransmissionAccessCharge (TAC) Group; -->
</xs:enumeration>
<xs:enumeration value="ACA">
<!-- Adjacent Control Area -->
</xs:enumeration>
<xs:enumeration value="ASR">
<!-- Aggregated System Resource -->
</xs:enumeration>
<xs:enumeration value="ECA">
<!-- Embedded Control Area -->
</xs:enumeration>
</xs:restriction>
<!-- Aggregated Nodes Types for example:
 - 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 -->
</xs:simpleType>

Simple type tOUorCPPorConsumptionTier

Notes

[extension] Type of billing tariff profile uses

Formal declaration in XSD source form

<xs:simpleType name="tOUorCPPorConsumptionTier">
<xs:restriction base=" xs:string">
<xs:enumeration value="tou">
<!-- Time of Use -->
</xs:enumeration>
<xs:enumeration value="cpp">
<!-- Consumption Peak Period -->
</xs:enumeration>
<xs:enumeration value="consumptiontier">
<!-- Consumption Tier -->
</xs:enumeration>
</xs:restriction>
<!-- [extension] Type of billing tariff profile uses -->
</xs:simpleType>

Simple type ParticipationCategoryMPM

Notes

For example:
'Y' - Participates in both LMPM and SMPM
'N' - Not included in LMP price measures
'S' - Participates in SMPM price measures
'L' - Participates in LMPM price measures

Formal declaration in XSD source form

<xs:simpleType name="ParticipationCategoryMPM">
<xs:restriction base=" String4">
<xs:enumeration value="Y">
<!-- Participates in both LMPM and SMPM -->
</xs:enumeration>
<xs:enumeration value="N">
<!-- Not included in LMP price measures -->
</xs:enumeration>
<xs:enumeration value="S">
<!-- Participates in SMPM price measures -->
</xs:enumeration>
<xs:enumeration value="L">
<!-- Participates in LMPM price measures -->
</xs:enumeration>
</xs:restriction>
<!-- For example:
'Y' - Participates in both LMPM and SMPM
'N' - Not included in LMP price measures
'S' - Participates in SMPM price measures
'L' - Participates in LMPM price measures
-->
</xs:simpleType>

Simple type EnrollmentStatus

Notes

[extension] Current Tariff Rider enrollment status

Formal declaration in XSD source form

<xs:simpleType name="EnrollmentStatus">
<xs:restriction base=" String32">
<xs:enumeration value="unenrolled">
<!-- Currently NOT enrolled in Tariff Rider -->
</xs:enumeration>
<xs:enumeration value="enrolled">
<!-- Currently enrolled in the Tariff Rider -->
</xs:enumeration>
<xs:enumeration value="enrolledPending">
<!-- Currently pending enrollment in Tariff Rider -->
</xs:enumeration>
</xs:restriction>
<!-- [extension] Current Tariff Rider enrollment status -->
</xs:simpleType>

Element ApplicationInformation

Formal declaration in XSD source form

<xs:element name="ApplicationInformation" type=" ApplicationInformation"/>

Element Authorization

Formal declaration in XSD source form

<xs:element name="Authorization" type=" Authorization"/>

Element IntervalBlock

Formal declaration in XSD source form

<xs:element name="IntervalBlock" type=" IntervalBlock"/>

Element IntervalReading

Formal declaration in XSD source form

<xs:element name="IntervalReading" type=" IntervalReading"/>

Element MeterReading

Formal declaration in XSD source form

<xs:element name="MeterReading" type=" MeterReading"/>

Element ReadingQuality

Formal declaration in XSD source form

<xs:element name="ReadingQuality" type=" ReadingQuality"/>

Element ReadingType

Formal declaration in XSD source form

<xs:element name="ReadingType" type=" ReadingType"/>

Element IdentifiedObject

Formal declaration in XSD source form

<xs:element name="IdentifiedObject" type=" IdentifiedObject"/>

Element UsagePoint

Formal declaration in XSD source form

<xs:element name="UsagePoint" type=" UsagePoint"/>

Element ElectricPowerQualitySummary

Formal declaration in XSD source form

<xs:element name="ElectricPowerQualitySummary" type=" ElectricPowerQualitySummary"/>

Element ElectricPowerUsageSummary

Formal declaration in XSD source form

<xs:element name="ElectricPowerUsageSummary" type=" ElectricPowerUsageSummary"/>

Element UsageSummary

Formal declaration in XSD source form

<xs:element name="UsageSummary" type=" UsageSummary"/>

Element DateTimeInterval

Formal declaration in XSD source form

<xs:element name="DateTimeInterval" type=" DateTimeInterval"/>

Element SummaryMeasurement

Formal declaration in XSD source form

<xs:element name="SummaryMeasurement" type=" SummaryMeasurement"/>

Element BatchItemInfo

Formal declaration in XSD source form

<xs:element name="BatchItemInfo" type=" BatchItemInfo"/>

Element Object

Formal declaration in XSD source form

<xs:element name="Object" type=" Object"/>

Element ServiceStatus

Formal declaration in XSD source form

<xs:element name="ServiceStatus" type=" ServiceStatus"/>

Element LocalTimeParameters

Formal declaration in XSD source form

<xs:element name="LocalTimeParameters" type=" TimeConfiguration"/>

Element ProgramIdMappings

Formal declaration in XSD source form

<xs:element name="ProgramIdMappings" type=" ProgramIdMappings"/>

Element BatchList

Formal declaration in XSD source form

<xs:element name="BatchList" type=" BatchListType"/>