URPX Ontology

a owl:Ontology

URPX ontology for utility rate plan exchange

Child Identifiers
Properties
Latest historical manifestation file
ontology/releases/v0.2.0/ttl/urpx-ontology.ttl Raw file
# SPDX-FileCopyrightText: 2026 Flux Tailor LLC
#
# SPDX-License-Identifier: Apache-2.0
# SPDX-Transition-License-After-Draft: W3C-20231102
# Will transition to W3C Document License upon Working Group Draft acceptance. See TRANSITION.md.

# URPX Ontology
# Version: 0.2.0 pre-draft
# Generated: 2026-01-20

# ============================================================================
# ****************    METADATA AND PREFIXES    *******************************
# ============================================================================
@prefix urpx: <https://urpx-org.github.io/urpx/ontology/> .
@prefix dcat: <http://www.w3.org/ns/dcat#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix geosparql: <http://www.opengis.net/ont/geosparql#> .

<https://urpx-org.github.io/urpx/ontology>
    a owl:Ontology ;
    rdfs:label "URPX Ontology"@en ;
    dcterms:creator "Klaar De Schepper, Una Smithsimon, Flux Tailor LLC" ;
    dcterms:description "URPX ontology for utility rate plan exchange" ;
    dcterms:license <http://www.apache.org/licenses/LICENSE-2.0> ;
    dcterms:modified "2026-04-29"^^xsd:date ;
    dcterms:title "URPX Ontology" ;
    dcterms:hasVersion <https://urpx-org.github.io/urpx/ontology/releases/v0.2.0> ;
    owl:versionInfo "0.2.0" ;
    owl:versionIRI <https://github.com/urpx-org/urpx/raw/v0.2.0/ontology/urpx-ontology.ttl> .

<https://urpx-org.github.io/urpx/ontology/releases/v0.2.0>
    a owl:Ontology ;
    dcterms:isVersionOf <https://urpx-org.github.io/urpx/ontology> ;
    dcterms:issued "2026-04-29"^^xsd:date ;
    owl:versionInfo "0.2.0" ;
    dcat:distribution <https://urpx-org.github.io/urpx/ontology/releases/v0.2.0/ttl> .

<https://urpx-org.github.io/urpx/ontology/releases/v0.2.0/ttl>
    a dcat:Distribution ;
    dcat:downloadURL <https://github.com/urpx-org/urpx/raw/v0.2.0/ontology/urpx-ontology.ttl> ;
    dcat:downloadURL <https://urpx-org.github.io/urpx/ontology/releases/v0.2.0/ttl/urpx-ontology.ttl> ;
    dcat:mediaType <https://www.iana.org/assignments/media-types/text/turtle> .


# ============================================================================
# ****************    CLASSES    *********************************************
# ============================================================================

urpx:AccountServiceAgreement a owl:Class ;
    rdfs:label "Account Service Agreement"@en ;
    rdfs:comment "Links rate plan contracts to service delivery terms" ;
    skos:note "Provides the contractual framework for rate plan application to allow for eligibility definitions. Service account and agreement data lives in customer data, not URPX." .

urpx:AdministrativeBoundary a owl:Class ;
    rdfs:label "Administrative Boundary"@en ;
    rdfs:comment "Government-defined geographic boundary for administrative purposes" ;
    skos:note "Standard administrative divisions used for regulatory and statistical purposes." .

urpx:AlternativeDimension a owl:Class ;
    rdfs:label "Alternative Dimension"@en ;
    rdfs:comment "Dimension along which price set alternatives differ using ontology properties" ;
    skos:note "Defines the customer profile attribute that determines which PriceSetAlternative applies. Uses actual ontology properties from Customer Profile or Service Point Profile (e.g., urpx:hasCustomerKind, urpx:voltageLevel). When no suitable URPX property exists, customDimensionProperty may provide a fallback identifier." .

urpx:AlternativeDimensions a owl:Class ;
    rdfs:label "Alternative Dimensions"@en ;
    rdfs:comment "Dimensions defining the set of profileAlternatives. " ;
    skos:note "Wrapper for multiple alternative dimensions within a ProfileAlternatives context. Organizes related dimensions and their metadata, enabling complex alternative structures with multiple dimensions of variation." .

urpx:ApplicabilityGroup a owl:Class ;
    rdfs:label "Applicability Group"@en ;
    rdfs:comment "Geographic and service class applicability rules for statement prices" ;
    skos:note "Defines where and to whom statement prices apply. Supports complex applicability rules common in regulatory filings." .

urpx:ApplicabilityRule a owl:Class ;
    rdfs:label "Applicability Rule"@en ;
    rdfs:comment "Conditions determining when a price applies to usage" ;
    skos:note "Determines price application. Different from eligibility - this is for when a price applies during billing, not who can use the rate plan." .

urpx:BillingCycle a owl:Class ;
    rdfs:label "Billing Cycle"@en ;
    rdfs:comment "Standardized billing period definitions" ;
    skos:note "Provides standardized cycle definitions for rate plan application and temporal alignment across systems." .

urpx:BillingModel a owl:Class ;
    rdfs:label "Billing Model"@en ;
    rdfs:comment "Billing-specific rules and calculation patterns for rate plan version with ledger-based organization" ;
    skos:note """Defines billing calculation rules, proration patterns, and adjustment mechanisms. Contains one or more ledgers for organizing prices by billing category (supply, delivery, etc.). Each ledger can have multiple MetricInputs for per-meter or per-service-point pricing.""" .

urpx:BooleanOperationNode a owl:Class ;
    rdfs:label "Boolean Operation Node"@en ;
    rdfs:comment "Boolean combinator node in a condition expression tree"@en ;
    rdfs:subClassOf urpx:ConditionNode ;
    skos:note "Used for AND OR NOT composition inside a ConditionExpression tree. Uses operandNodes only and never leftOperand or rightOperand." .

urpx:CalculationMethod a owl:Class ;
    rdfs:label "Calculation Method"@en ;
    rdfs:comment "Defines how prices are calculated over billing intervals" ;
    skos:note "Specifies the method for calculating prices associated with a ledger based on billing intervals. Supports complex billing scenarios by allowing combinations of calculation methods." .

urpx:ComparisonNode a owl:Class ;
    rdfs:label "Comparison Node"@en ;
    rdfs:comment "Atomic comparison predicate in a condition expression"@en ;
    rdfs:subClassOf urpx:ConditionNode ;
    skos:note "Reusable atomic predicate. Uses operator, leftOperand, and rightOperand." .

urpx:ConditionExpression a owl:Class ;
    rdfs:label "Condition Expression"@en ;
    rdfs:comment "Rule-level wrapper for structured condition applicability used in EligibilityRule, ApplicabilityRule, ApplicabilityGroup, ProfileAlternative"@en ;
    skos:note "Carries exactly one rootNode. The root is a ConditionNode, either a ComparisonNode or a BooleanOperationNode." .

urpx:ConditionNode a owl:Class ;
    rdfs:label "Condition Node"@en ;
    rdfs:comment "Abstract superclass for nodes that may appear in a ConditionExpression tree"@en ;
    skos:note "Structural superclass for ComparisonNode and BooleanOperationNode." .

urpx:County a owl:Class ;
    rdfs:label "County"@en ;
    rdfs:comment "County or equivalent second-level administrative division" ;
    rdfs:subClassOf urpx:AdministrativeBoundary ;
    skos:note """Second-level administrative division for local governance.
                 Important for municipal utilities and local regulatory oversight.
                 
                 Standards Alignment:
                 - FIPS county codes for standardized identification
                 - Census county definitions for demographic data
                 - Geographic business practices for utility operations""" .

urpx:CustomOperandNode a owl:Class ;
    rdfs:label "Custom Operand Node"@en ;
    rdfs:comment "Fallback operand node for custom condition properties and custom literal values"@en ;
    skos:note "Use only when no suitable URPX-native property exists. Literal-bearing nodes may also optionally carry referencesMetricInput." .

urpx:CustomerProfile a owl:Class ;
    rdfs:label "Customer Profile"@en ;
    rdfs:comment "Customer business and social characteristics for rate eligibility and program participation evaluation" ;
    rdfs:subClassOf urpx:Profile ;
    skos:note "Represents customer business, social, and program participation characteristics. Includes assistance program support." .

urpx:DataSourceReference a owl:Class ;
    rdfs:label "Data Source Reference"@en ;
    rdfs:comment "Structured reference to a data source including filename, URL, and media type." ;
    skos:note "Used to provide traceability for data points back to their original source files or APIs." .

urpx:DatatypeOperandNode a owl:Class ;
    rdfs:label "Datatype Operand Node"@en ;
    rdfs:comment "Operand node for datatype-valued condition properties and datatype literal values"@en ;
    skos:note "Use conditionProperty for a datatype-valued property reference or one datatype-specific value property for a literal. Literal-bearing nodes may also optionally carry referencesMetricInput." .

urpx:DERExportsDocument a owl:Class ;
    rdfs:label "DER Exports Document"@en ;
    rdfs:comment "DER export pricing structures for distributed energy resources" ;
    rdfs:subClassOf urpx:URPXDocument ;
    skos:note "Container for distributed energy resource export pricing. Standards Alignment (Future): IEEE 1547 (Interconnection standards), DERMS (DER Management Systems integration), CSIP (Common Smart Inverter Profile)." .

urpx:DistributedEnergyResource a owl:Class ;
    rdfs:label "Distributed Energy Resource"@en ;
    rdfs:comment "On-site generation and storage capabilities" ;
    skos:note "Represents distributed energy resources (DER) including solar, storage, EV charging, and wind. Enables rate plan selection for customers with generation and storage capabilities." .

urpx:DynamicPricing a owl:Class ;
    rdfs:label "Dynamic Pricing"@en ;
    rdfs:comment "Configuration for real-time or event-based variable pricing" ;
    skos:note "Enables market-based or event-driven pricing. Supports various update frequencies and price sources including wholesale markets." .

urpx:EligibilityRule a owl:Class ;
    rdfs:label "Eligibility Rule"@en ;
    rdfs:comment "Conditions determining customer and service point qualification" ;
    skos:note "Defines who is eligible for sign up. Can reference measurement limits or types of customers and express complex boolean conditions. Provides criteria for matching customers and service delivery points and with rate plans and rate plan modifiers." .

urpx:GeneralRule a owl:Class ;
    rdfs:label "General Rule"@en ;
    rdfs:comment "A rule or statement that applies across rate plans and rate plan versions, not tied to a single billing context" ;
    skos:note "Used for tariff book-level rules that are defined once and referenced by multiple RatePlanVersion and RatePlanModifierVersion instances." .

urpx:HighlyDynamicPricesDocument a owl:Class ;
    rdfs:label "Highly Dynamic Prices Document"@en ;
    rdfs:comment "Real-time pricing data requiring smart home and EMS integration" ;
    rdfs:subClassOf urpx:URPXDocument ;
    skos:note "Container for real-time dynamic pricing structures including full rate plans. Requires deep integration with smart home and utility/industrial EMS systems." .

urpx:Holiday a owl:Class ;
    rdfs:label "Holiday"@en ;
    rdfs:comment "Single holiday definition with date or calculation rule" ;
    skos:note "Individual holiday specification. Must have either specific date or rule. Supports observance rules for weekends. Defines scheduled temporal events affecting price application." .

urpx:HolidayCalendar a owl:Class ;
    rdfs:label "Holiday Calendar"@en ;
    rdfs:comment "Collection of holidays affecting TOU period application with versioning support" ;
    skos:note "Defines holidays for rate calculations. Aligned with utility industry CalendarTimeInterval patterns. Part of versioned LocationDataSet enabling holiday date changes year to year. Can be referenced independently by rate plans or through LocationDataSet." .

urpx:Ledger a owl:Class ;
    rdfs:label "Ledger"@en ;
    rdfs:comment "Enables multiple ledgers for separation of supply vs delivery charges or other billing segregations" ;
    skos:note "Utilities often separate supply and delivery charges into different ledgers. Supports complex billing scenarios with multiple charge categories. Each ledger can have its own set of prices and MetricInputs. Ledgers reference MetricInputs (many-to-many) rather than containing them." .

urpx:LocationDataSet a owl:Class ;
    rdfs:label "Location Data Set"@en ;
    rdfs:comment "Versioned auxiliary location data including holiday calendars, timezone, and DST rules" ;
    skos:note "Container for versioned location-specific auxiliary data needed for rate plan calculations. Bundles holiday calendars with timezone information and DST rules for temporal validity. Organizations publish versions as holidays change or timezone rules are updated." .

urpx:MetricInput a owl:Class ;
    rdfs:label "MetricInput"@en ;
    rdfs:comment "Organizational unit for pricing rules supporting measured MetricInputs (raw meter data), profile MetricInputs (profile properties), and calculated MetricInputs (derived metrics)" ;
    skos:note "Defines a time based metric input to the cost model. Supports measured MetricInputs (meter data), profile MetricInputs (customer or service point profile properties), static or dynamic metrics derived from other inputs, and calculated metrics based on inputs from one or more MetricInput inputs (derived metrics like net export = generation - grid import)." .

urpx:MetricSpecification a owl:Class ;
    rdfs:label "Metric Specification"@en ;
    rdfs:comment "Measurement specification for common billing scenarios" ;
    skos:note "Defines what is being measured in a price. Covers: commodity, measurement kind, unit of measure, flow direction, accumulation" .

urpx:Municipality a owl:Class ;
    rdfs:label "Municipality"@en ;
    rdfs:comment "City, town, or incorporated municipal area" ;
    rdfs:subClassOf urpx:AdministrativeBoundary ;
    skos:note "Incorporated municipal areas with local government authority." .

urpx:ObjectOperandNode a owl:Class ;
    rdfs:label "Object Operand Node"@en ;
    rdfs:comment "Operand node for object-valued condition properties and object references"@en ;
    skos:note "Use conditionProperty, referencesValue, or referencesMetricInput." .

urpx:OperationNode a owl:Class ;
    rdfs:label "Operation Node"@en ;
    rdfs:comment "Expression node for nested arithmetic or derived comparison preparation"@en ;
    skos:note "Used inside ComparisonNode expressions. Uses leftOperand and rightOperand and is distinct from BooleanOperationNode." .

urpx:Organization a owl:Class ;
    rdfs:label "Organization"@en ;
    rdfs:comment "Any entity participating in energy markets or rate regulation" ;
    skos:note """Base class for all organizational entities in the energy sector.
                 Includes utilities, regulators, ISOs/RTOs, aggregators, energy service companies, and parent holdings.
                 Supports international entities with flexible identification.""" .

urpx:OrganizationEvent a owl:Class ;
    rdfs:label "Organization Event"@en ;
    rdfs:comment "Corporate transition event affecting organization structure or identity" ;
    skos:note """Base class for M&A, rebranding, territory changes affecting organizations.
                 Tracks predecessor and successor relationships for rate plan continuity.""" .

urpx:OrganizationIdentifier a owl:Class ;
    rdfs:label "Organization Identifier"@en ;
    rdfs:comment "External identifier from regulatory or financial systems" ;
    skos:note """Captures EIA ID, DUNS, LEI, and other jurisdiction-specific identifiers.
                 Supports international identification schemes with issuing authority tracking.""" .
   
urpx:OrganizationIdentity a owl:Class ;
    rdfs:label "Organization Identity"@en ;
    rdfs:comment "Temporal identity record tracking names and identifiers over time" ;
    skos:note """Captures organization identity at a point in time with validity period.
                 Supports name changes, rebranding, and identifier updates.""" .              

urpx:OrganizationName a owl:Class ;
    rdfs:label "Organization Name"@en ;
    rdfs:comment "Name variant with type, language, and canonical/preferred status" ;
    skos:note """Supports multiple names per organization with different purposes.
                 Tracks canonical (official) and preferred (for display) designations.""" .

urpx:OrganizationTransition a owl:Class ;
    rdfs:label "Organization Transition"@en ;
    rdfs:comment "N-ary relator for complex organization transitions" ;
    skos:note """Captures full context of organization changes including multiple
                 predecessors/successors, partial transfers, and regulatory approvals.""" .

urpx:PlanElements a owl:Class ;
    rdfs:label "Plan Elements"@en ;
    rdfs:comment "Centralized container for temporal and pricing elements of rate plan or modifier versions" ;
    skos:note "Contains parameters needed to set up cost model calculations including seasons, holiday calendars, metric input definitions, and billing model definitions. Used by both RatePlanVersion and RatePlanModifierVersion for unified structure." .

urpx:Price a owl:Class ;
    rdfs:label "Price"@en ;
    rdfs:comment "Individual pricing component with rate and applicability rules" ;
    skos:note "Represents a single billable component. Aligned with utility industry Price class concepts. Must have at least one pricing field. Can have start/end dates and expected end date." .

urpx:PriceDefinition a owl:Class ;
    rdfs:label "Price Definition"@en ;
    rdfs:comment "A structural definition of a price, excluding instance-specific details like start/end dates, amount, and unit price." ;
    skos:note "PriceDefinition is used at the ledger level to define the metadata and calculation structure of a price, which is then instantiated in a RatePlanVersion or RatePlanModifier with specific values." .

urpx:PriceSet a owl:Class ;
    rdfs:label "Price Set"@en ;
    rdfs:comment "Logical grouping of related prices for organization and calculation" ;
    skos:note "Groups prices by purpose or calculation order. Aligned with utility industry PriceGroup concepts. Useful for separating fixed vs variable prices or organizing by service type. Can have start/end dates for temporal validity." .

urpx:Prices a owl:Class ;
    rdfs:label "Prices"@en ;
    rdfs:comment "Centralized container for all price-related content within a rate plan version. Consolidates base price sets and alternative price sets, providing single point of access for all prices. Each RatePlanVersion has exactly one Prices container." ;
    skos:note "Architectural container class. Separates price storage organization from rate plan structure. Contains hasPriceSet for default prices and hasPriceSetAlternatives for alternative configurations." .

urpx:PriceSetAlternative a owl:Class ;
    rdfs:label "Price Set Alternative"@en ;
    rdfs:subClassOf urpx:PriceSet ;
    rdfs:comment "Price set that represents one alternative in a mutually exclusive set of options. Subclass of PriceSet with required reference to applicable ProfileAlternative. Lives in Prices container alongside base price sets, but distinguished by its connection to dimension-based alternatives." ;
    skos:note "Required property: forProfileAlternative. This IRI reference links the price set to its defining ProfileAlternative in the ProfileAlternatives layer, enabling clean separation between dimension definition and price storage." .

urpx:PriceSetAlternatives a owl:Class ;
    rdfs:label "Price Set Alternatives"@en ;
    rdfs:comment "Set of price sets that represents a set of alternatives in a mutually exclusive set of options." ;
    skos:note "Set of Prices with mutually exclusive user choice. Includes two or more PriceSetAlternative instances. Linked to ProfileAlternatives with IRI reference." .

urpx:PriceSummary a owl:Class ;
    rdfs:label "Price Summary"@en ;
    rdfs:comment "Total or subtotal aggregating multiple price line items" ;
    skos:note """Aggregates multiple prices into totals/subtotals for billing presentation.
                 Explicitly references included line items to avoid double counting.
                 Supports transition from summary to detailed billing formats.""" .

urpx:PriceUpdateRule a owl:Class ;
    rdfs:label "Price Update Rule"@en ;
    rdfs:comment "Rule defining when and how dynamic prices are calculated" ;
    skos:note "Governs dynamic price updates. Contains formulas and trigger conditions. Can reference external indices or internal calculations." .

urpx:PriorRatePlan a owl:Class ;
    rdfs:label "Prior Rate Plan"@en ;
    rdfs:comment "Reference to customer's previous rate plan for eligibility determination" ;
    skos:note "Tracks customer's rate plan history for eligibility rules that depend on previous enrollment. Separate from ProgramEnrollment to handle different eligibility patterns in utility rate structures." .

urpx:Profile a owl:Class ;
    rdfs:label "Profile"@en ;
    rdfs:comment "Abstract parent for all profile types used in rate plan eligibility and service delivery evaluation" ;
    skos:note "Subclasses define specific profile characteristics: CustomerProfile for business and social characteristics, ServicePointProfile for physical service delivery characteristics. No properties defined at this level - all properties live on concrete subclasses." .

urpx:ProfileAlternative a owl:Class ;
    rdfs:label "Profile Alternative"@en ;
    rdfs:comment "Specific combination of dimension values representing one alternative choice. Defines the dimensions along which price set alternatives differ, enabling mutually exclusive options for user selection. Each dimension set specifies dimension-value pairs that characterize a particular alternative configuration." ;
    skos:note "Dimension definition layer independent of price sets. Used to define alternatives based on customer profile characteristics, geographic locations, or service configurations." .

urpx:ProfileAlternatives a owl:Class ;
    rdfs:label "Profile Alternatives"@en ;
    rdfs:comment "Container for alternative dimension structures requiring user selection. Provides the bridge between customer profile characteristics and mutually exclusive alternative choices. Each ProfileAlternatives instance groups related alternative dimension sets that define the available options for a specific selection context." ;
    skos:note "Separates user selection layer from automatic filtering layer. Used when rate plan has mutually exclusive options requiring explicit user choice (e.g., selecting between different zone configurations or service levels)." .

urpx:ProgramEnrollment a owl:Class ;
    rdfs:label "Program Enrollment"@en ;
    rdfs:comment "Customer enrollment in utility programs for eligibility determination" ;
    skos:note "Tracks customer participation in utility programs (demand response, green energy, low-income assistance, etc.) for rate plan eligibility. Distinct from rate plan history to handle program-based eligibility patterns." .

urpx:RateCase a owl:Class ;
    rdfs:label "Rate Case"@en ;
    rdfs:comment "Public service commission proceeding concerning rate plan or price changes for cost-of-service regulated utilities" ;
    skos:note "Links to a formal rate case proceeding that may affect rate plan versions, rate plan modifier versions, price definitions, prices, price sets, or price set alternatives." .

urpx:RateGroup a owl:Class ;
    rdfs:label "Rate Group"@en ;
    rdfs:comment "Specific rate grouping within a service class (e.g., Rate I, Rate II)" ;
    rdfs:subClassOf urpx:ServiceClass ;
    skos:note """Subclass of ServiceClass that represents specific rate groups within a service class.
                 Enables organization of rates like "Service Class 2 Rate I" and "Service Class 2 Rate II"
                 while maintaining the service class hierarchy. Rate plans can reference either the
                 service class directly or via nested under specific rate groups.""" .

urpx:RatePlan a owl:Class ;
    rdfs:label "Rate Plan"@en ;
    rdfs:comment "Master template for a utility rate plan that contains temporal versions" ;
    owl:disjointWith urpx:RatePlanVersion ;
    skos:note "Represents the conceptual rate plan independent of time. Contains the stable identifier and houses all temporal versions of the rate." .

urpx:RatePlanModifier a owl:Class ;
    rdfs:label "Rate Plan Modifier"@en ;
    rdfs:comment "Master template for a rate plan modifier that contains temporal versions" ;
    owl:disjointWith urpx:RatePlanModifierVersion ;
    skos:note "Represents a conceptual modifier independent of time, parallel to RatePlan structure. Contains the stable identifier and houses all temporal versions of the modifier. Examples include low income discounts, green energy options, demand response, DER export crediting for on site generation." .

urpx:RatePlanModifierVersion a owl:Class ;
    rdfs:label "Rate Plan Modifier Version"@en ;
    rdfs:comment "Temporal instance of a rate plan modifier with specific effective dates and prices" ;
    skos:note "Time-bound version of a rate plan modifier, parallel to RatePlanVersion structure. Versions must not overlap temporally (except drafts) and should form a continuous timeline. Contains the actual prices, credits, and adjustments for the modifier." .

urpx:RatePlanVersion a owl:Class ;
    rdfs:label "Rate Plan Version"@en ;
    rdfs:comment "Temporal instance of a rate plan with specific effective dates and prices" ;
    skos:note "Time-bound version of a rate plan. Versions must not overlap temporally (except drafts) and should form a continuous timeline. Supports lifecycle states from draft through expiration." .

urpx:RegulatoryAuthority a owl:Class ;
    rdfs:label "Regulatory Authority"@en ;
    rdfs:comment "Entity with jurisdiction to approve and regulate utility rates" ;
    rdfs:subClassOf urpx:Organization ;
    skos:note """Government or quasi-government entity with rate-setting authority.
                 Includes PUCs, FERC, international regulators with nested jurisdictions.""" .

urpx:Season a owl:Class ;
    rdfs:label "Season"@en ;
    rdfs:comment "Seasonal period definition with flexible date or month-based specifications" ;
    skos:note """Defines seasonal rate periods with a choice of 1) date-based: urpx:startDate + urpx:endDate for year-specific seasons and 2. Month-based: month (xsd:gMonth) for recurring annual patterns""" .

urpx:ServiceBracket a owl:Class ;
    rdfs:label "Service Bracket"@en ;
    rdfs:comment "Contextual boundary definition for a service tier" ;
    skos:note "Carries the actual lower and upper bounds for a ServiceTier and may optionally be qualified by season or profile alternative. A ServiceTier may have one or more ServiceBracket instances." .

urpx:ServiceClass a owl:Class ;
    rdfs:label "Service Class"@en ;
    rdfs:comment "Region-specific rate classification with raw and cleaned identifiers" ;
    skos:note """Service class identifiers as used in tariff books. Maintains both raw format
                 (as published) and cleaned format (for system use). Links prices to rate plans
                 across different contexts. Can contain multiple RateGroups for detailed organization.""" .

urpx:ServicePointProfile a owl:Class ;
    rdfs:label "Service Point Profile"@en ;
    rdfs:comment "Service delivery point characteristics for rate plan eligibility and service configuration evaluation" ;
    rdfs:subClassOf urpx:Profile ;
    skos:note """Represents the physical and technical characteristics of a utility service delivery point.""" .

urpx:ServiceTerritory a owl:Class ;
    rdfs:label "Service Territory"@en ;
    rdfs:comment "Geographic area where a utility provides service to customers" ;
    skos:note "Defines utility service area boundaries with precise geographic coverage." .

urpx:ServiceTier a owl:Class ;
    rdfs:label "Service Tier"@en ;
    rdfs:comment "Logical tier identity for tiered pricing" ;
    skos:note "Defines the stable tier identity and serviceTierNumber used by prices. Actual lower and upper bounds live on attached ServiceBracket instances. Prices may reference tiers via serviceTierNumber or referencesServiceTier, or reference an exact bracket via referencesServiceBracket." .

urpx:ServiceTiers a owl:Class ;
    rdfs:label "Service Tiers"@en ;
    rdfs:comment "Container for multiple service tiers within a billing model" ;
    skos:note "Organizes multiple ServiceTier instances within a BillingModel and references the MetricInput they apply to. Container-level season and profile-alternative qualifiers remain valid and may scope all contained tiers. Name and description are allowed on the container." .

urpx:State a owl:Class ;
    rdfs:label "State"@en ;
    rdfs:comment "State, province, or equivalent first-level administrative division" ;
    rdfs:subClassOf urpx:AdministrativeBoundary ;
    skos:note "First-level administrative division within a country. Primary level for utility regulation in most jurisdictions." .

urpx:SupplyChargesDocument a owl:Class ;
    rdfs:label "Supply Prices Document"@en ;
    rdfs:comment "Supply prices document for competitive retail energy pricing" ;
    rdfs:subClassOf urpx:URPXDocument ;
    skos:note "Container for energy supply prices in competitive markets. CANNOT contain: RatePlans. Used in competitive retail markets for supply pricing. Complements delivery-only rate plans." .

urpx:SystemOperator a owl:Class ;
    rdfs:label "System Operator"@en ;
    rdfs:comment "ISO, RTO, or transmission system operator managing grid operations" ;
    rdfs:subClassOf urpx:Organization ;
    skos:note """Independent system operators and regional transmission organizations.
                 Manages wholesale markets and grid reliability for multiple jurisdictions.""" .

urpx:TOUPeriod a owl:Class ;
    rdfs:label "Time-of-Use Period"@en ;
    rdfs:comment "Specific time period with unique ID for linking to prices" ;
    skos:note "Individual time period within a tier. Aligned with utility industry TimeTariffInterval concepts. TOUPeriodNumber must be unique across entire schedule for price linking." .

urpx:TOUSchedule a owl:Class ;
    rdfs:label "Time-of-Use Schedule"@en ;
    rdfs:comment "Container for time-based pricing tiers and periods with optional holiday calendar" ;
    skos:note "Defines time-varying rate structures. Aligned with utility industry TimeTariffInterval concepts. Contains TOUTiers which group periods by price level (peak, off-peak, etc.). Can be specific to measurement types." .

urpx:TOUTier a owl:Class ;
    rdfs:label "Time-of-Use Tier"@en ;
    rdfs:comment "Price tier grouping TOU periods of similar pricing level (peak, mid-peak, off-peak)" ;
    skos:note "Groups TOU periods by pricing tier. TierNumber assigned in descending price order (1=highest price tier)." .

urpx:TariffAddendumDocument a owl:Class ;
    rdfs:label "Tariff Addendum Document"@en ;
    rdfs:comment "Addendum filing for corrections or clarifications" ;
    rdfs:subClassOf urpx:URPXDocument ;
    skos:note "Tariff addendum for corrections or clarifications." .

urpx:TariffBookDocument a owl:Class ;
    rdfs:label "Tariff Book Document"@en ;
    rdfs:comment "Tariff book document containing rate plans, modifiers, prices, and general rules" ;
    rdfs:subClassOf urpx:URPXDocument ;
    skos:note "Comprehensive tariff book document" .

urpx:TariffBookReference a owl:Class ;
    rdfs:label "Tariff Book Reference"@en ;
    rdfs:comment "Structured reference to a specific location within a tariff book PDF" ;
    skos:note "Nested within DataSourceReference via hasTariffBookReference. Captures leaf and page position within the PDF." .

urpx:TariffPublication a owl:Class ;
    rdfs:label "Tariff Publication"@en ;
    rdfs:comment "Formal regulatory filing" ;
    skos:note "Official regulatory filing that contains rate plan information, pricing, and rules." .

urpx:TariffStatementDocument a owl:Class ;
    rdfs:label "Tariff Statement Document"@en ;
    rdfs:comment "PSC statement filing with prices and modifiers but no rate plans" ;
    rdfs:subClassOf urpx:URPXDocument ;
    skos:note "Tariff statement document for periodic price adjustments across customer types and rate plans. CAN contain: RatePlanModifiers. Used for periodic rate plan adjustments and fuel cost adjustments." .

urpx:TariffStatementReference a owl:Class ;
    rdfs:label "Tariff Statement Reference"@en ;
    rdfs:comment "Structured reference to a PSC statement filing PDF with provenance and statement type" ;
    skos:note "Nested within DataSourceReference via hasTariffStatementReference." .

urpx:TariffSupplementDocument a owl:Class ;
    rdfs:label "Tariff Supplement Document"@en ;
    rdfs:comment "Supplemental filing containing only rate plan modifiers" ;
    rdfs:subClassOf urpx:URPXDocument ;
    skos:note "Tariff supplement providing additional information or modifications." .

urpx:TimeBracket a owl:Class ;
    rdfs:label "Time Bracket"@en ;
    rdfs:comment "Time window definition with day type and holiday handling" ;
    skos:note "Defines when a TOU period applies. Supports complex patterns including seasons, weekday/weekend, and holiday considerations." .

urpx:URPXDocument a owl:Class ;
    rdfs:label "URPX Document"@en ;
    rdfs:comment "Base container for all URPX content types with subclass-specific capabilities" ;
    owl:disjointWith urpx:RatePlan,
        urpx:RatePlanVersion ;
    skos:note "Root container for all URPX rate plan information. Serves as the exchange unit for rate plan data between systems. Different document types support different content capabilities." .

urpx:UtilityOperator a owl:Class ;
    rdfs:label "Utility Operator"@en ;
    rdfs:comment "Entity providing utility services and publishing rate plans" ;
    rdfs:subClassOf urpx:Organization ;
    skos:note """Actual service provider that operates infrastructure and serves customers.
                 May be electric, gas, water, or multi-service utility with specific ownership structure.""" .









# ============================================================================
# ****************    ENUMERATION CLASSES    *********************************
# ============================================================================

urpx:AccumulationValue a owl:Class ;
    rdfs:label "Accumulation Value"@en ;
    rdfs:comment "Accumulation method enumeration values for measurement aggregation" ;
    owl:equivalentClass [ owl:oneOf ( urpx:delta urpx:bulk urpx:instantaneous urpx:summation ) ] ;
    skos:note "Enumeration class for measurement accumulation methods aligned." .

urpx:AggregationMethodValue a owl:Class ;
    rdfs:label "Aggregation Method Value"@en ;
    rdfs:comment "Aggregation method enumeration values for interval measurement processing" ;
    owl:equivalentClass [ owl:oneOf ( urpx:sum urpx:average urpx:maximum urpx:minimum urpx:median ) ] ;
    skos:note "Enumeration class for statistical aggregation methods used in measurement interval processing." .

urpx:AnnualIncomeRangeValue a owl:Class ;
    rdfs:label "Annual Income Range Value"@en ;
    rdfs:comment "HEAP eligibility income range enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:highIncome urpx:lowIncome urpx:middleIncome urpx:moderateIncome urpx:veryLowIncome ) ] ;
    skos:note "Enumeration class for income range classification. privacy-preserving income brackets for assistance program qualification." .

urpx:AssistanceEligibilityLevelValue a owl:Class ;
    rdfs:label "Assistance Eligibility Level Value"@en ;
    rdfs:comment "Social program eligibility level enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:notQualifiedAssistance urpx:provisionallyQualifiedAssistance urpx:qualifiedAssistance urpx:underReviewAssistance ) ] ;
    skos:note "Enumeration class for assistance program eligibility levels. standardized qualification definitions." .

urpx:BillPortionValue a owl:Class ;
    rdfs:label "Bill Portion Value"@en ;
    rdfs:comment "Enumeration of valid bill portion values"@en ;
    owl:equivalentClass [ owl:oneOf ( urpx:bundledPortion urpx:deliveryPortion urpx:supplyPortion ) ] .

urpx:BooleanOperatorValue a owl:Class ;
    rdfs:label "Boolean Operator Value"@en ;
    rdfs:comment "Enumeration class for boolean-only operators used in condition expression trees"@en ;
    owl:equivalentClass [ owl:oneOf ( urpx:andOperator urpx:notOperator urpx:orOperator ) ] ;
    skos:note "Enumeration class for boolean-only operators used by BooleanOperationNode in condition expression trees." .

urpx:ChangeReasonValue a owl:Class ;
    rdfs:label "Change Reason Value"@en ;
    rdfs:comment "Regulatory filing categories enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:changeReasonOther urpx:correction urpx:fuelAdjustment urpx:initial urpx:rateCase urpx:regulatoryOrder urpx:riderUpdate urpx:seasonalChange ) ] ;
    skos:note "Enumeration class for standardized change reason definitions." .

urpx:ChargeCategoryValue a owl:Class ;
    rdfs:label "Charge Category Value"@en ;
    rdfs:comment "Enumeration of valid charge category values"@en ;
    owl:equivalentClass [ owl:oneOf ( urpx:adjustment urpx:auxiliaryCharge urpx:discount urpx:environmental urpx:infrastructure urpx:regulatory urpx:serviceCharge urpx:taxes ) ] .

urpx:ChargeTypeValue a owl:Class ;
    rdfs:label "Charge Type Value"@en ;
    rdfs:comment "Enumeration of specific charge type implementations"@en ;
    owl:equivalentClass [ owl:oneOf ( urpx:adjustmentPowerCost urpx:adjustmentRenewable urpx:adjustmentTariff urpx:ancillaryServices urpx:capacity urpx:capacityCharge urpx:capitalCredit urpx:complianceCharge urpx:congestionCharge urpx:conservationCharge urpx:contractMisc urpx:creditAdministrative urpx:creditEnergy urpx:creditGeneration urpx:creditInfrastructure urpx:creditMisc urpx:creditPriceProtection urpx:creditRenewable urpx:creditTariffRider urpx:deliveryCharge urpx:demandDirect urpx:demandIndirect urpx:demandSideManagement urpx:depositCredit urpx:depositInterest urpx:depositRequest urpx:distributedGeneration urpx:distributionCharge urpx:donation urpx:efficiencyFunding urpx:energyStorage urpx:environmentalFunding urpx:facilities urpx:generation urpx:handling urpx:heapDiscount urpx:initiationCharge urpx:minimumBill urpx:minimumCharge urpx:nonBypassableCharge urpx:powerFactor urpx:publicBenefits urpx:recoverySurcharge urpx:reliabilityCharge urpx:renewableFunding urpx:rentalFee urpx:serviceMetered urpx:serviceNonMetered urpx:strandedCosts urpx:systemBenefitCharge urpx:tariffRider urpx:taxAdjustment urpx:taxCredit urpx:taxMisc urpx:taxMunicipal urpx:taxSales urpx:taxState urpx:taxUtility urpx:transitionCharge urpx:transmission urpx:usageCharge urpx:volumetricCharge ) ] .

urpx:CommodityValue a owl:Class ;
    rdfs:label "Commodity Value"@en ;
    rdfs:comment "Industry-standard commodity type enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:biomass urpx:cableTv urpx:chilledWater urpx:coal urpx:commodityOther urpx:compressedAir urpx:diesel urpx:districtCooling urpx:districtHeating urpx:electricity urpx:fuelOil urpx:gasoline urpx:geothermal urpx:hotWater urpx:hydroelectric urpx:internet urpx:irrigation urpx:naturalGas urpx:nonPotableWater urpx:nuclear urpx:potableWater urpx:propane urpx:recycling urpx:security urpx:sewage urpx:solar urpx:steam urpx:stormwater urpx:telecommunications urpx:wasteHeat urpx:wasteManagement urpx:water urpx:wind ) ] ;
    skos:note "Enumeration class for commodity types covering energy, utilities, and telecommunications services." .

urpx:ConnectionKindValue a owl:Class ;
    rdfs:label "Connection Kind Value"@en ;
    rdfs:comment "Connection type enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:directConnection urpx:overheadConnection urpx:padMountedConnection urpx:permanentConnection urpx:temporaryConnection urpx:undergroundConnection ) ] ;
    skos:note "Enumeration class for service connection types." .

urpx:ConnectorTypeValue a owl:Class ;
    rdfs:label "Connector Type Value"@en ;
    rdfs:comment "EV connector type enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:level1 urpx:level2 urpx:dcFast urpx:teslaSupercharger urpx:chademo urpx:ccs ) ] ;
    skos:note "Enumeration class for electric vehicle charging connector types affecting charging capabilities." .

urpx:CustomerChoiceValue a owl:Class ;
    rdfs:label "Customer Choice Value"@en ;
    rdfs:comment "Enrollment choice type for rate plan versions" ;
    owl:equivalentClass [ owl:oneOf ( urpx:voluntaryChoice urpx:mandatoryChoice ) ] ;
    skos:note "Indicates whether customer enrollment in a rate plan version is voluntary or mandatory." .

urpx:CustomerKindValue a owl:Class ;
    rdfs:label "Customer Kind Value"@en ;
    rdfs:comment "Customer classification enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:residentialKind  urpx:commercialKind  urpx:industrialKind  urpx:enterpriseKind  urpx:serviceProviderKind  urpx:internalUseKind urpx:nonResidentialKind ) ] ;
    skos:note "Enumeration class for customer type classification." .

urpx:CustomerSubKindValue a owl:Class ;
    rdfs:label "Customer Sub Kind Value"@en ;
    rdfs:comment "Detailed customer classification enumeration values organized by parent kind" ;
    owl:equivalentClass [ owl:oneOf ( urpx:residentialStandard  urpx:residentialFarm urpx:residentialMultiUnit urpx:commercialStandard urpx:commercialStreetlight urpx:commercialPumping urpx:industrialStandard urpx:industrialLargeLoad urpx:energySupplier urpx:energyScheduler urpx:windMachine urpx:subsidiary urpx:regionalOperator urpx:religiousInstitution ) ] ;
    skos:note "Enumeration class for detailed customer subcategories organized by main customer kind." .

urpx:DataSourceTypeValue a owl:Class ;
    rdfs:label "Data Source Type Value"@en ;
    rdfs:comment "Data source type enumeration values for structured references" ;
    owl:equivalentClass [ owl:oneOf ( urpx:apiSource urpx:databaseSource urpx:manualSource urpx:utilityWebsiteSource urpx:regulatoryWebsiteSource ) ] ;
    skos:note "Enumeration class for data source types enabling better traceability and validation of price information sources." .

urpx:DayTypeValue a owl:Class ;
    rdfs:label "Day Type Value"@en ;
    rdfs:comment "ISO 8601 day type enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:allDays urpx:customDays urpx:weekdayDays urpx:weekendDays ) ] ;
    skos:note "Enumeration class for standardized day type classifications for temporal logic." .

urpx:DERTypeValue a owl:Class ;
    rdfs:label "DER Type Value"@en ;
    rdfs:comment "Distributed energy resource type enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:solarDER urpx:storageDER urpx:evChargingDER urpx:windDER urpx:generatorDER urpx:geothermalDER urpx:wasteDigestionDER urpx:hydroDER urpx:nuclearDER ) ] ;
    skos:note "Enumeration class for distributed energy resource categorization." .

urpx:DynamicPricingTypeValue a owl:Class ;
    rdfs:label "Dynamic Pricing Type Value"@en ;
    rdfs:comment "FERC market terminology enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:criticalPeakPricing urpx:demandResponsePricing urpx:eventDrivenPricing urpx:indexBasedPricing urpx:realTimePricing urpx:timeVaryingPricing ) ] ;
    skos:note "Enumeration class for dynamic pricing types. standardized market pricing terminology." .

urpx:EndUseValue a owl:Class ;
    rdfs:label "End Use Value"@en ;
    rdfs:comment "End use classification enumeration values for electric service" ;
    owl:equivalentClass [ owl:oneOf ( urpx:heatingEndUse urpx:nonheatingEndUse urpx:dataCenterEndUse urpx:spaceHeatingEndUse urpx:spaceCoolingEndUse urpx:waterHeatingEndUse urpx:cookingEndUse urpx:dryingEndUse urpx:lightingEndUse urpx:refrigerationEndUse urpx:agriculturalEndUse urpx:streetLightingEndUse urpx:municipalEndUse urpx:otherEndUse ) ] ;
    skos:note "Enumeration class for electric service end use categorization covering heating, cooling, water heating, cooking, drying, lighting, refrigeration, and specific service types like agricultural or street lighting." .

urpx:EnergyServiceProvider a owl:Class ;
    rdfs:label "Energy Service Provider"@en ;
    rdfs:comment "Retail energy provider, aggregator, or energy service company" ;
    rdfs:subClassOf urpx:Organization ;
    skos:note """Competitive retail providers, community choice aggregators, ESCOs.
                 Offer rate plans and DER rate plan modifiers but typically don't own distribution infrastructure.""" .

urpx:EnrollmentStatusValue a owl:Class ;
    rdfs:label "Enrollment Status Value"@en ;
    rdfs:comment "Lifecycle states enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:activeStatus urpx:expiredStatus urpx:inactiveStatus urpx:pendingStatus urpx:suspendedStatus urpx:terminatedStatus ) ] ;
    skos:note "Enumeration class for enrollment status tracking. standardized lifecycle state definitions." .

urpx:EntityTypeValue a owl:Class ;
    rdfs:label "Entity Type Value"@en ;
    rdfs:comment "Legal entity type enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:corporationEntity urpx:entityOther urpx:governmentEntity urpx:individualEntity urpx:llcEntity urpx:nonprofitEntity urpx:partnershipEntity urpx:trustEntity ) ] ;
    skos:note "Enumeration class for legal entity types. standardized legal entity type definitions." .

urpx:FlowDirectionValue a owl:Class ;
    rdfs:label "Flow Direction Value"@en ;
    rdfs:comment "Flow direction enumeration values for energy flow measurement" ;
    owl:equivalentClass [ owl:oneOf ( urpx:forward urpx:reverse urpx:net urpx:bidirectional ) ] ;
    skos:note "Enumeration class for energy flow direction. values for consumption (forward), generation (reverse), net metering (net), and bidirectional flow." .

urpx:GeographicScopeValue a owl:Class ;
    rdfs:label "Geographic Scope Value"@en ;
    rdfs:comment "ISO 3166 admin levels enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:countyScope urpx:customScope urpx:municipalityScope urpx:serviceTerritoryScope urpx:statewideScope ) ] ;
    skos:note "Enumeration class for geographic scope classification. standardized administrative level definitions." .

urpx:GeographicZoneValue a owl:Class ;
    rdfs:label "Geographic Zone Value"@en ;
    rdfs:comment "Census geographic types enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:coastalZone urpx:desertZone urpx:geographicZoneOther urpx:industrialZone urpx:mountainZone urpx:ruralZone urpx:suburbanZone urpx:urbanZone ) ] ;
    skos:note "Enumeration class for customer location classification. standardized geographic zone definitions." .

urpx:HVACKindValue a owl:Class ;
    rdfs:label "HVAC Kind Value"@en ;
    rdfs:comment "HVAC equipment type enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:airConditioner urpx:airSourceHeatPump urpx:groundSourceHeatPump urpx:spaceHeater urpx:districtHeatingConnection ) ] ;
    skos:note "Enumeration class for HVAC equipment categorization including heat pumps and district heating." .

urpx:IdentifierSchemeValue a owl:Class ;
    rdfs:label "Identifier Scheme Value"@en ;
    rdfs:comment "Standard ID systems enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:companyNumberScheme urpx:dunsScheme urpx:eiaScheme urpx:gleifScheme urpx:gridScheme urpx:isinScheme urpx:leiScheme urpx:localRegulatorScheme urpx:vatScheme ) ] ;
    skos:note "Enumeration class for organization identifier classification with standardized identifier scheme definitions for external identifier categorization for international systems" .

urpx:InterconnectionStatusValue a owl:Class ;
    rdfs:label "Interconnection Status Value"@en ;
    rdfs:comment "DER interconnection status enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:disconnectedStatus urpx:interconnectedStatus urpx:notApplicableInterconnection urpx:pendingInterconnection ) ] ;
    skos:note "Enumeration class for distributed energy resource grid interconnection status. standardized status definitions." .

urpx:IntervalAlignmentValue a owl:Class ;
    rdfs:label "Interval Alignment Value"@en ;
    rdfs:comment "Defines how a temporal interval is anchored or aligned (e.g., calendar year, billing period, or rolling start)." ;
    owl:equivalentClass [ owl:oneOf ( urpx:calendarAligned urpx:billingPeriodAligned urpx:rollingAligned urpx:fixedAligned ) ] ;
    skos:note "Used in conjunction with intervalDuration to specify the precise temporal boundary of the metric measurement period." .

urpx:IntervalSelectionValue a owl:Class ;
    rdfs:label "Interval Selection Value"@en ;
    rdfs:comment "Defines how periods are selected or evaluated (e.g., rolling window, consecutive periods)." ;
    owl:equivalentClass [ owl:oneOf ( urpx:rollingWindowSelection urpx:consecutivePeriodsSelection urpx:fixedWindowSelection ) ] ;
    skos:note "Used in MetricSpecification to define non-standard temporal data aggregation/selection, particularly for eligibility rules." .

urpx:IntervalTypeValue a owl:Class ;
    rdfs:label "Interval Type Value"@en ;
    rdfs:comment "Single consolidated enumeration for standard temporal intervals used in billing and measurement" ;
    owl:equivalentClass [ owl:oneOf ( urpx:realTimeInterval urpx:fiveMinuteInterval urpx:fifteenMinuteInterval urpx:thirtyMinuteInterval urpx:hourlyInterval urpx:dailyInterval urpx:weeklyInterval urpx:monthlyInterval urpx:quarterlyInterval urpx:annualInterval urpx:customInterval ) ] ;
    skos:note "Consolidates all interval-related enumerations (BillingIntervalTypeValue, MeasurementIntervalTypeValue, CycleTypeValue) into one canonical list. Used for semantic labeling of required xsd:duration properties." .

urpx:InverterTypeValue a owl:Class ;
    rdfs:label "Inverter Type Value"@en ;
    rdfs:comment "Solar inverter type enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:stringInverter urpx:microInverter urpx:powerOptimizer urpx:centralInverter urpx:hybridInverter ) ] ;
    skos:note "Enumeration class for solar inverter types affecting grid interaction and requirements." .

urpx:LedgerTypeValue a owl:Class ;
    rdfs:label "Ledger Type Value"@en ;
    rdfs:comment "Ledger type enumeration values for billing segregation" ;
    owl:equivalentClass [ owl:oneOf ( urpx:bundledLedger urpx:calculatedLedger urpx:deliveryLedger urpx:distributionLedger urpx:measuredLedger urpx:profileMetricLedger urpx:supplyLedger urpx:transmissionLedger ) ] ;
    skos:note "Enumeration for ledger types enabling separation of supply, delivery, transmission, distribution, and bundled charges." .

urpx:LoadProfileValue a owl:Class ;
    rdfs:label "Load Profile Value"@en ;
    rdfs:comment "Load profile classification enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:baseload urpx:peaking urpx:variable urpx:seasonal urpx:intermittent urpx:loadProfileOther ) ] ;
    skos:note "Enumeration class for load profile characteristics. standardized load pattern definitions for rate plan matching." .

urpx:MeasurementTypeValue a owl:Class ;
    rdfs:label "Measurement Type Value"@en ;
    rdfs:comment "Measurement type enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:current urpx:demand urpx:energy urpx:frequency urpx:power urpx:powerFactor urpx:pressure urpx:temperature urpx:voltage urpx:volume urpx:volumetricFlow ) ] ;
    skos:note "Enumeration class for measurement types covering comprehensive utility measurement categories including energy, demand, power quality, flow, and environmental measurements." .

urpx:MediaTypeValue a owl:Class ;
    rdfs:label "Media Type Value"@en ;
    rdfs:comment "Media type enumeration values for communication channels" ;
    owl:equivalentClass [ owl:oneOf ( urpx:applicationJson urpx:applicationPdf urpx:applicationVndMsExcel urpx:applicationVndOasisOpendocumentSpreadsheet urpx:applicationVndOasisOpendocumentText urpx:applicationVndOpenxmlformatsOfficedocumentSpreadsheetmlSheet urpx:imageGif urpx:imageJpeg urpx:imagePng urpx:textCsv urpx:textHtml urpx:textPlain urpx:textRtf urpx:textXml ) ] ;
    skos:note "Enumeration class for communication media types used in customer interactions and notifications." .

urpx:MeteringConfigurationValue a owl:Class ;
    rdfs:label "Metering Configuration Value"@en ;
    rdfs:comment "Metering configuration type enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:interval urpx:demandConfiguration urpx:prepaid urpx:ami urpx:manual urpx:netMetering ) ] ;
    skos:note "Enumeration class for metering configuration types. standardized metering definitions for billing and rate application." .

urpx:MetricInputTypeValue a owl:Class ;
    rdfs:label "MetricInput Type Value"@en ;
    rdfs:comment "MetricInput type enumeration values for measurement organization" ;
    owl:equivalentClass [ owl:oneOf ( urpx:measuredMetricInput urpx:calculatedMetricInput urpx:aggregatedMetricInput urpx:virtualMetricInput urpx:profileMetricInput ) ] ;
    skos:note "Enumeration for MetricInput types: measured (raw meter data), calculated (derived metrics), aggregated (sum of MetricInputs), virtual (synthetic for billing)." .

urpx:ModifierCategoryValue a owl:Class ;
    rdfs:label "Modifier Category Value"@en ;
    rdfs:comment "Business categorization enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:billingCategory urpx:customerServiceCategory urpx:demandManagementCategory urpx:environmentalCategory urpx:modifierCategoryOther urpx:promotionalCategory urpx:regulatoryCategory ) ] ;
    skos:note "Enumeration class for rate plan modifier organization. standardized category definitions." .

urpx:ModifierTypeValue a owl:Class ;
    rdfs:label "Modifier Type Value"@en ;
    rdfs:comment "Utility rate modifiers enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:addOn urpx:adjustment urpx:credit urpx:demandResponse urpx:evCharging urpx:greenEnergy urpx:modifierTypeOther urpx:optIn urpx:optOut urpx:rider ) ] ;
    skos:note "Enumeration class for rate plan modifier categorization. standardized modifier type definitions." .

urpx:NameTypeValue a owl:Class ;
    rdfs:label "Name Type Value"@en ;
    rdfs:comment "Entity naming enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:abbreviationName urpx:acronymName urpx:brandName urpx:commonName urpx:dbaName urpx:formerName urpx:legalName urpx:tradeName ) ] ;
    skos:note "Enumeration class for organization name classification with standardized name type definitions for entity name categorization" .

urpx:ObservanceRuleValue a owl:Class ;
    rdfs:label "Observance Rule Value"@en ;
    rdfs:comment "Government holiday observance rule enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:actualDateObservance urpx:fridayIfWeekendObservance urpx:mondayIfWeekendObservance urpx:nearestWeekdayObservance ) ] ;
    skos:note "Enumeration class for standardized holiday weekend observance rules." .

urpx:OperatorValue a owl:Class ;
    rdfs:label "Operator Value"@en ;
    rdfs:comment "Enumeration class for operators used in condition evaluation and service tier boundary definitions" ;
    owl:equivalentClass [ owl:oneOf ( urpx:addOperator urpx:andOperator urpx:betweenOperator urpx:containsOperator urpx:divideOperator urpx:equalsOperator urpx:greaterThanOperator urpx:greaterThanOrEqualOperator urpx:inOperator urpx:lessThanOperator urpx:lessThanOrEqualOperator urpx:multiplyOperator urpx:notEqualsOperator urpx:notInOperator urpx:notOperator urpx:orOperator urpx:subtractOperator ) ] ;
    skos:note "Enumeration class for comparison and calculation operators. Standardized operator definitions for consistent rule evaluation." .

urpx:OrganizationTypeValue a owl:Class ;
    rdfs:label "Organization Type Value"@en ;
    rdfs:comment "Organization types enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:aggregatorOrganization urpx:cooperativeOrganization urpx:espOrganization urpx:ippOrganization urpx:isoRtoOrganization urpx:municipalOrganization urpx:parentOrganization urpx:regulatorOrganization urpx:utilityOrganization ) ] ;
    skos:note "Enumeration class for organizational type classification with standardized organization type definitions for energy sector entity categorization" .

urpx:OwnershipTypeValue a owl:Class ;
    rdfs:label "Ownership Type Value"@en ;
    rdfs:comment "Standardized ownership categories for utility organizations." ;
    owl:equivalentClass [ owl:oneOf ( urpx:cooperativeOwnership urpx:federalOwnership urpx:investorOwned urpx:municipalOwnership urpx:privateOwnership urpx:stateOwnership urpx:tribalOwnership ) ] ;
    skos:note "Enumeration class for utility ownership classification with standardized ownership type definitions aligned with reporting standards for business structure categorization" .

urpx:PanelOrientationValue a owl:Class ;
    rdfs:label "Panel Orientation Value"@en ;
    rdfs:comment "Solar panel orientation enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:south urpx:southeast urpx:southwest urpx:east urpx:west urpx:north urpx:northeast urpx:northwest urpx:tracking urpx:multipleOrientations ) ] ;
    skos:note "Enumeration class for solar panel orientation affecting generation profiles." .

urpx:PhaseCodeKindValue a owl:Class ;
    rdfs:label "Phase Code Kind Value"@en ;
    rdfs:comment "Enumeration of electrical phase configurations." ;
    owl:equivalentClass [ owl:oneOf (urpx:A urpx:AB urpx:ABN urpx:ABC urpx:ABCN urpx:AC urpx:ACN urpx:AN urpx:AtoAv urpx:B urpx:BAv urpx:BC urpx:BCN urpx:BN urpx:C urpx:CAv urpx:CN urpx:N urpx:NG urpx:S1 urpx:S12 urpx:S12N urpx:S1N urpx:S2 urpx:S2N ) ] ;
    skos:note "Enumeration class for electrical phase code classification." .

urpx:PremiseTypeValue a owl:Class ;
    rdfs:label "Premise Type Value"@en ;
    rdfs:comment "Premise type enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:singleFamily urpx:multiFamily urpx:office urpx:retailStore urpx:manufacturing urpx:warehouse urpx:school urpx:hospital urpx:premiseTypeOther ) ] ;
    skos:note "Enumeration class for premise type classifications. standardized premise definitions for service point categorization." .

urpx:PriceSourceValue a owl:Class ;
    rdfs:label "Price Source Value"@en ;
    rdfs:comment "FERC market sources enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:algorithmicSource urpx:capacityAuctionSource urpx:demandForecastSource urpx:gasIndexSource urpx:manualOverrideSource urpx:renewableForecastSource urpx:wholesaleMarketSource ) ] ;
    skos:note "Enumeration class for dynamic pricing data sources. standardized market price source definitions." .

urpx:ProgramTypeValue a owl:Class ;
    rdfs:label "Program Type Value"@en ;
    rdfs:comment "Program types enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:demandResponseProgram urpx:energyEfficiencyProgram urpx:greenEnergyProgram urpx:lowIncomeProgram urpx:moderateIncomeProgram urpx:timeOfUseProgram urpx:communityChoiceAggregation urpx:communitySolar ) ] ;
    skos:note "Enumeration class for utility program categorization. standardized program type definitions including CCA and community solar." .
    
urpx:PublicationTypeValue a owl:Class ;
    rdfs:label "Publication Type Value"@en ;
    rdfs:comment "Regulatory document types enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:amendment urpx:notice urpx:order urpx:ratePlanPublication urpx:ratePlanModifierPublication urpx:regulatoryFiling urpx:supplement urpx:tariffBook urpx:tariffBookLeaves urpx:tariffStatement ) ] ;
    skos:note "Enumeration class for tariff publication categorization. standardized document type definitions." .

urpx:RegulatoryScopeValue a owl:Class ;
    rdfs:label "Regulatory Scope Value"@en ;
    rdfs:comment "Regulatory functions enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:distributionRegulation urpx:environmentalRegulation urpx:marketRegulation urpx:ratesRegulation urpx:safetyRegulation urpx:transmissionRegulation ) ] ;
    skos:note "Enumeration class for regulatory oversight classification with standardized regulatory scope definitions for regulatory authority categorization for energy systems" .

urpx:Scenario a owl:Class ;
    rdfs:label "Scenario"@en ;
    rdfs:comment "Input container grouping customer and service point profiles for broad rate plan eligibility evaluation." ;
    skos:note "Not used within a rate plan. Used to model a scenario against which EligibilityRule conditions on RatePlanVersions can be evaluated. A Scenario holds a CustomerProfile and/or ServicePointProfile representing the subject of evaluation." .

urpx:SeasonalPatternValue a owl:Class ;
    rdfs:label "Seasonal Pattern Value"@en ;
    rdfs:comment "Usage patterns enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:flatPattern urpx:summerPeakPattern urpx:variablePattern urpx:winterPeakPattern ) ] ;
    skos:note "Enumeration class for seasonal usage classification. standardized seasonal pattern definitions." .

urpx:ServiceRoleValue a owl:Class ;
    rdfs:label "Service Role Value"@en ;
    rdfs:comment "Service role enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:aggregationRole urpx:bundledServiceRole urpx:demandResponseRole urpx:communitySolarServiceRole urpx:distributionServiceRole urpx:energyEfficiencyRole urpx:retailSupplyRole urpx:solarInstallationRole ) ] ;
    skos:note "Enumeration class for utility service role indicating the type of service provided." .

urpx:SpecialNeedsStatusValue a owl:Class ;
    rdfs:label "Special Needs Status Value"@en ;
    rdfs:comment "Special needs classification enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:medicalEquipment urpx:disabilityAccommodation urpx:lifeSupport urpx:vulnerableCustomer urpx:noSpecialNeeds ) ] ;
    skos:note "Enumeration class for special needs classification affecting rate eligibility and service priority." .

urpx:TariffStatementTypeValue a owl:Class ;
    rdfs:label "Statement Type Value"@en ;
    rdfs:comment "PSC statement filing types enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:distributionStatement urpx:fuelAdjustmentStatement urpx:purchasedPowerStatement urpx:statementTypeOther urpx:transmissionStatement ) ] ;
    skos:note "Enumeration class for statement document categorization. Standardized statement type definitions." .

urpx:TaxExemptStatusValue a owl:Class ;
    rdfs:label "Tax Exempt Status Value"@en ;
    rdfs:comment "Tax exemption status enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:exempt urpx:nonExempt urpx:partialExempt urpx:pendingVerification ) ] ;
    skos:note "Enumeration class for tax exemption classifications for tax-based rate eligibility." .

urpx:TOUTierStandardNameValue a owl:Class ;
    rdfs:label "TOU Tier Standard Name Value"@en ;
    rdfs:comment "Industry standard TOU tier terminology enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:criticalPeakTier urpx:midPeakTier urpx:offPeakTier urpx:peakTier urpx:shoulderTier urpx:superOffPeakTier urpx:superPeakTier ) ] ;
    skos:note "Enumeration class for standardized time-of-use tier naming across utilities." .

urpx:UnitOfMeasureValue a owl:Class ;
    rdfs:label "Unit of Measure Value"@en ;
    rdfs:comment "Industry-standard unit of measure enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:GW urpx:GWh urpx:MVA urpx:MVAh urpx:MW urpx:MWh urpx:W urpx:Wh urpx:acre urpx:barrel urpx:bcf urpx:bit urpx:btu urpx:byte urpx:ccf urpx:cord urpx:count urpx:cubicFoot urpx:cubicMeter urpx:decatherm urpx:gallon urpx:Gbps urpx:hectare urpx:hertz urpx:item urpx:kVA urpx:kVAr urpx:kVArh urpx:kVAh urpx:kW urpx:kWh urpx:kilogallon urpx:kilogram urpx:kilometer urpx:liter urpx:Mbps urpx:mcf urpx:metricTon urpx:mile urpx:mmbtu urpx:mmcf urpx:percent urpx:pound urpx:ratio urpx:squareFoot urpx:squareMeter urpx:tcf urpx:therm urpx:ton urpx:unitOther urpx:VA urpx:VAh urpx:VAr urpx:VArh urpx:year ) ] ;
    skos:note "Enumeration class for units of measure covering energy, demand, volume, weight, area, and time units." .

urpx:UpdateFrequencyValue a owl:Class ;
    rdfs:label "Update Frequency Value"@en ;
    rdfs:comment "ISO 8601 interval enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:continuousUpdates urpx:dailyUpdates urpx:eventTriggeredUpdates urpx:every15Minutes urpx:every5Minutes urpx:hourlyUpdates urpx:monthlyUpdates urpx:onDemandUpdates urpx:weeklyUpdates ) ] ;
    skos:note "Enumeration class for dynamic pricing update frequencies. standardized temporal interval definitions." .

urpx:VoltageLevelValue a owl:Class ;
    rdfs:label "Voltage Level Value"@en ;
    rdfs:comment "Service voltage level enumeration values" ;
    owl:equivalentClass [ owl:oneOf ( urpx:secondaryVoltage urpx:primaryVoltage urpx:subTransmissionVoltage urpx:transmissionVoltage urpx:distributionVoltage ) ] ;
    skos:note "Enumeration class for service voltage level classification." .





# ============================================================================
#  ****************    PROPERTIES    *****************************************
# ============================================================================

urpx:abbreviation a owl:DatatypeProperty ;
    rdfs:label "Abbreviation"@en ;
    rdfs:comment "Short form or abbreviation of name" ;
    rdfs:domain urpx:OrganizationName ;
    rdfs:range xsd:string ;
    skos:note "Organization name abbreviations. E.g., PG&E, ConEd." .

urpx:accessURL a owl:DatatypeProperty ;
    rdfs:label "Access URL"@en ;
    rdfs:comment "URL from which the data was directly accessed or downloaded" ;
    rdfs:domain urpx:DataSourceReference ;
    rdfs:range xsd:anyURI ;
    skos:note "Captures the retrieval location for provenance. Use urpx:url for the canonical document URL." .

urpx:accumulationMethod a owl:ObjectProperty ;
    rdfs:label "Accumulation Method"@en ;
    rdfs:comment "How measurement values accumulate over time" ;
    rdfs:domain urpx:MetricSpecification ;
    rdfs:range urpx:AccumulationValue ;
    skos:note "Defines accumulation pattern: delta (difference), bulk (cumulative), instantaneous (snapshot), or summation (sum over period)." .

urpx:adder a owl:DatatypeProperty ;
    rdfs:label "Adder"@en ;
    rdfs:comment "Fixed amount added to calculated price" ;
    rdfs:domain [ a owl:Class ;
        owl:unionOf ( urpx:Price urpx:PriceSet ) ] ;
    rdfs:range xsd:decimal ;
    skos:note "Applied after multiplication for final price." .

urpx:aggregationMethod a owl:ObjectProperty ;
    rdfs:label "Aggregation Method"@en ;
    rdfs:comment "Statistical method for aggregating interval measurements" ;
    rdfs:domain urpx:CalculationMethod ;
    rdfs:range urpx:AggregationMethodValue ;
    skos:note "Specifies how measurements are aggregated: sum, average, maximum, minimum, or median. Used with intervalDuration for interval-based calculation methods." .

urpx:alternateName a owl:DatatypeProperty ;
    rdfs:label "Alternate Name"@en ;
    rdfs:comment "An alias for the item" ;
    rdfs:domain urpx:Organization ;
    rdfs:range xsd:string ;
    skos:note "URPX Usage: GUI-friendly short name for display purposes (e.g., 'ConEd')." .

urpx:alternativeLabel a owl:DatatypeProperty ;
    rdfs:label "Alternative Label"@en ;
    rdfs:comment "Human-readable label describing this alternative's profile" ;
    rdfs:domain urpx:PriceSetAlternative ;
    rdfs:range xsd:string ;
    skos:note "E.g., 'Zone H - Low Tension - Trip 2'." .

urpx:amount a owl:DatatypeProperty ;
    rdfs:label "Amount"@en ;
    rdfs:comment "Fixed amount for prices not based on consumption" ;
    rdfs:domain urpx:Price ;
    rdfs:range xsd:decimal ;
    skos:note "Fixed pricing for prices like connection fees, service prices, or flat-rate billing." .

urpx:anchorLink a owl:DatatypeProperty ;
    rdfs:label "Anchor Link"@en ;
    rdfs:comment "URL or fragment identifier pointing to a specific location within a tariff book PDF" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:DataSourceReference urpx:TariffBookReference urpx:TariffStatementReference ) ] ;
    rdfs:range xsd:anyURI ;
    skos:note "Deep link into a PDF section or named anchor. Typically a PDF page anchor or named destination." .

urpx:annualIncomeRange a owl:ObjectProperty ;
    rdfs:label "Annual Income Range"@en ;
    rdfs:comment "Annual income range bracket (HEAP eligibility)" ;
    rdfs:domain urpx:CustomerProfile ;
    rdfs:range urpx:AnnualIncomeRangeValue ;
    skos:note "HEAP eligibility income brackets enumeration. with standardized income range definitions for consistent assistance program qualification across utilities. Preserves privacy by using ranges instead of actual income." .

urpx:applicabilityLogic a owl:DatatypeProperty ;
    rdfs:label "Applicability Logic"@en ;
    rdfs:comment "Boolean logic for complex applicability rules" ;
    rdfs:domain urpx:ApplicabilityGroup ;
    rdfs:range xsd:string ;
    skos:note "Supports AND, OR, NOT operations for combining geographic and service class rules." .

urpx:applicableToRateGroup a owl:ObjectProperty ;
    rdfs:label "Applicable To Rate Group"@en ;
    rdfs:comment "Rate groups this modifier or rate plan can apply to" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:RatePlanModifier urpx:RatePlan ) ] ;
    rdfs:range urpx:RateGroup ;
    skos:note "Enables applicability to specific rate groups within service classes." .

urpx:applicableToRatePlan a owl:ObjectProperty ;
    rdfs:label "Applicable To Rate Plan"@en ;
    rdfs:comment "Rate plans this modifier or supply plan can be applied to" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:RatePlan urpx:RatePlanVersion urpx:RatePlanModifierVersion ) ] ;
    rdfs:range urpx:RatePlan ;
    skos:note "Defines which rate plans are compatible with this modifier or supply plan complement. For simple modifier-to-plan associations use this property. For complex enrollment-based or conditional modifier application use hasEligibilityRule." .

urpx:applicableToRatePlanVersion a owl:ObjectProperty ;
    rdfs:label "Applicable To Rate Plan Version"@en ;
    rdfs:comment "Rate plan versions this modifier can be applied to" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:RatePlanModifierVersion urpx:RatePlanVersion ) ] ;
    rdfs:range urpx:RatePlanVersion ;
    skos:note "Defines which specific rate plan versions are compatible with this modifier version." .

urpx:appliesInSeason a owl:ObjectProperty ;
    rdfs:label "Applies In Season"@en ;
    rdfs:comment "Season(s) this resource applies to" ;
    rdfs:domain [ a owl:Class ;
        owl:unionOf ( urpx:TimeBracket urpx:Price urpx:PriceDefinition urpx:PriceSetAlternative urpx:PriceSet urpx:ServiceTiers urpx:ServiceBracket ) ] ;
    rdfs:range urpx:Season ;
    skos:note "URI references to seasons defined in PlanElements. Enables time brackets, pricing resources, ServiceTiers groups, and ServiceBracket variants to reference seasons without nesting." .

urpx:approves a owl:ObjectProperty ;
    rdfs:label "Approves"@en ;
    rdfs:comment "Links regulator to approved rate plans" ;
    rdfs:domain urpx:RegulatoryAuthority ;
    rdfs:range urpx:RatePlan ;
    skos:note "Approval of rate plans by Regulatory authority or or other party." .

urpx:assistanceEligibilityLevel a owl:ObjectProperty ;
    rdfs:label "Assistance Eligibility Level"@en ;
    rdfs:comment "Assistance program eligibility level" ;
    rdfs:domain urpx:CustomerProfile ;
    rdfs:range urpx:AssistanceEligibilityLevelValue ;
    skos:note "Social program eligibility levels enumeration. with standardized assistance level definitions for consistent social program qualification across utilities." .

urpx:averageMonthlyUsage a owl:DatatypeProperty ;
    rdfs:label "Average Monthly Usage"@en ;
    rdfs:comment "Average monthly usage in kWh" ;
    rdfs:domain urpx:ServicePointProfile ;
    rdfs:range xsd:decimal ;
    skos:note "Average monthly usage for service point profile. Used for rate plan eligibility and service tier determination." .

urpx:basedOnPrice a owl:ObjectProperty ;
    rdfs:label "Based On Price"@en ;
    rdfs:comment "References another price or price summary that this price depends on for calculation" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:Price urpx:PriceDefinition ) ] ;
    rdfs:range [ a owl:Class ;
            owl:unionOf ( urpx:Price urpx:PriceSummary ) ] ;
    skos:note "Enables price calculation dependencies. Used with multiplier/adder properties for calculation formulas." .

urpx:basePrice a owl:DatatypeProperty ;
    rdfs:label "Base Price"@en ;
    rdfs:comment "Base price before adjustments" ;
    rdfs:domain urpx:Price ;
    rdfs:range xsd:decimal ;
    skos:note "Used with multipliers/adders for dynamic calculations." .

urpx:baseQuantity a owl:DatatypeProperty ;
    rdfs:label "Base Quantity"@en ;
    rdfs:comment "Base quantity for per-unit pricing (e.g., 'per 2 households')" ;
    rdfs:domain [ a owl:Class ;
        owl:unionOf ( urpx:Price urpx:PriceDefinition urpx:PriceSet ) ];
    rdfs:range xsd:decimal ;
    skos:note "Specifies the base quantity when price is expressed as 'per X units'. For example, baseQuantity=2 with householdCount metric means 'per 2 households'. Default is 1 if not specified. Used in calculation: Total = amount × (metricValue / baseQuantity)." ;
    skos:example "baseQuantity=2 for '$100 per 2 households' means each household pays $50" .

urpx:billedDemand a owl:DatatypeProperty ;
    rdfs:label "Billed Demand"@en ;
    rdfs:comment "Utility-estimated demand for billing in kW" ;
    rdfs:domain urpx:ServicePointProfile ;
    rdfs:range xsd:decimal ;
    skos:note "Utility estimate of service demand used for billing. Profile characteristic (utility-assigned, not meter measurement). Distinct from measured demand (measuredMetricInput) or calculated demand (calculatedMetricInput). Used for demand-based rate tiers when actual measurement unavailable. Can be updated by utility." .

urpx:billingCycleCode a owl:DatatypeProperty ;
    rdfs:label "Billing Cycle Code"@en ;
    rdfs:comment "Billing cycle identifier aligned with utility billing periods",
        "Billing cycle identifier aligned with utility billing periods" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:CustomerProfile urpx:Price urpx:PriceDefinition urpx:PriceSet ) ] ;
    rdfs:range xsd:string ;
    skos:note "Identifies billing cycle using utility-determined codes (e.g., 'trip_1', 'cycle_21', 'route_A'). " .

urpx:billPortion a owl:ObjectProperty ;
    rdfs:label "Bill Portion"@en ;
    rdfs:comment "Identifies which portion of the bill this charge, metric, or price set belongs to"@en ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:Price urpx:PriceSet urpx:PriceDefinition urpx:ChargeTypeValue ) ] ;
    rdfs:range urpx:BillPortionValue ;
    skos:note "Specifies whether a charge applies to delivery, supply, or bundled service. Typically defined at MetricSpecification level for consistent application across prices."@en .

urpx:booleanValue a owl:DatatypeProperty ;
    rdfs:label "Boolean Value"@en ;
    rdfs:comment "Boolean literal value used in a condition operand node"@en ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:DatatypeOperandNode urpx:CustomOperandNode ) ] ;
    rdfs:range xsd:boolean ;
    skos:note "Boolean literal value for condition modeling." .

urpx:buildingSquareFootage a owl:DatatypeProperty ;
    rdfs:label "Building Square Footage"@en ;
    rdfs:comment "Building size in square feet" ;
    rdfs:domain urpx:ServicePointProfile ;
    rdfs:range xsd:decimal ;
    skos:note "Total building area served. Profile characteristic (not meter measurement). Used for commercial rate eligibility and size-based tiered pricing. Common in commercial and industrial rate structures. Can change with building modifications." .

urpx:calculatedBasedOn a owl:ObjectProperty ;
    rdfs:label "Input Metric"@en ;
    rdfs:comment "Source MetricInputs for calculated MetricInput derivation" ;
    rdfs:range urpx:MetricInput ;
    skos:note "References to source MetricInputs used in calculation. Multiple input MetricInputs can be specified. Used within calculationRule blank node." .

urpx:calculationFormula a owl:DatatypeProperty ;
    rdfs:label "Calculation Formula"@en ;
    rdfs:comment "Formula defining calculation logic for complex scenarios" ;
    rdfs:domain urpx:CalculationMethod ;
    rdfs:range xsd:string ;
    skos:note "Optional formula when simple multiplication isn't sufficient. Example: '(basePrice * usage) + (demandCharge * peakDemand)'." .

urpx:calculationRule a owl:ObjectProperty ;
    rdfs:label "Calculation Rule"@en ;
    rdfs:comment "Calculation rule for derived MetricInputs" ;
    rdfs:domain urpx:MetricInput ;
    skos:note "Defines how calculated MetricInputs derive their values from input MetricInputs. Used for net export, aggregation, and time-shifted metrics." .

urpx:caseNumber a owl:DatatypeProperty ;
    rdfs:label "Case Number"@en ;
    rdfs:comment "Jurisdiction-specific identifier assigned to a rate case proceeding" ;
    rdfs:domain urpx:RateCase ;
    rdfs:range xsd:string ;
    skos:note "Required identifier for the proceeding. Format varies by jurisdiction." .

urpx:changeDescription a owl:DatatypeProperty ;
    rdfs:label "Change Description"@en ;
    rdfs:comment "Detailed explanation of changes" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:RatePlanVersion urpx:RatePlanModifierVersion ) ] ;
    rdfs:range xsd:string ;
    skos:note "Human-readable description of what changed and why." .

urpx:changeReason a owl:ObjectProperty ;
    rdfs:label "Change Reason"@en ;
    rdfs:comment "Reason for version change (regulatory filing categories)" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:RatePlanVersion urpx:RatePlanModifierVersion ) ] ;
    rdfs:range urpx:ChangeReasonValue ;
    skos:note "Regulatory filing categories enumeration for version change tracking. with standardized change reason definitions." .

urpx:chargeCategory a owl:ObjectProperty ;
    rdfs:label "Charge Category"@en ;
    dcterms:description "Categorizes charges by their business function rather than their mechanical properties. Used for front-end grouping and reporting."@en ;
    rdfs:comment "Business purpose classification of a charge"@en ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:Price urpx:PriceDefinition urpx:PriceSet urpx:ChargeTypeValue ) ] ;
    rdfs:range urpx:ChargeCategoryValue .

urpx:chargeType a owl:ObjectProperty ;
    rdfs:label "Charge Type"@en ;
    dcterms:description "Identifies the specific type of charge implementation. Multiple chargeType values can be assigned to a single charge."@en ;
    rdfs:comment "Specific implementation type of a charge"@en ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:Price urpx:PriceDefinition urpx:PriceSet ) ] ;
    rdfs:range urpx:ChargeTypeValue .

urpx:conditionProperty a owl:ObjectProperty ;
    rdfs:label "Condition Property"@en ;
    rdfs:comment "IRI reference to the ontology property evaluated by an operand node"@en ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:DatatypeOperandNode urpx:ObjectOperandNode ) ] ;
    rdfs:range rdf:Property ;
    skos:note "Points to the URPX ontology property being evaluated." .

urpx:connectionKind a owl:ObjectProperty ;
    rdfs:label "Connection Kind"@en ;
    rdfs:comment "Type of connection at service point" ;
    rdfs:domain urpx:ServicePointProfile ;
    rdfs:range urpx:ConnectionKindValue ;
    skos:note "Connection types enumeration. with standardized connection type definitions for consistent service connection classification across utilities." .

urpx:connectorType a owl:ObjectProperty ;
    rdfs:label "Connector Type"@en ;
    rdfs:comment "EV connector type" ;
    rdfs:domain urpx:DistributedEnergyResource ;
    rdfs:range urpx:ConnectorTypeValue ;
    skos:note "Connector types: Level 1, Level 2, DC Fast, Tesla Supercharger, CHAdeMO, CCS. Affects charging capabilities." .

urpx:commodity a owl:ObjectProperty ;
    rdfs:label "Service Type"@en ;
    rdfs:comment "Industry-standard commodity type specification" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:MetricSpecification urpx:Price urpx:PriceDefinition urpx:PriceSet urpx:RatePlanVersion urpx:RatePlanModifierVersion urpx:Organization ) ] ;
    rdfs:range urpx:CommodityValue ;
    skos:note "Industry-standard commodity enumeration used throughout ontology. Consolidated single property for commodity specification at multiple levels: price specification (MetricSpecification), direct price assignment (Price, PriceSet), rate plan classification (RatePlanVersion, RatePlanModifierVersion), and organization service type (Organization). with full commodity type coverage. User-facing name: 'Service Type' for application interfaces." .

urpx:contractEffectiveDate a owl:DatatypeProperty ;
    rdfs:label "Contract Effective Date"@en ;
    rdfs:comment "Effective date and time of service agreement contract" ;
    rdfs:domain urpx:AccountServiceAgreement ;
    rdfs:range xsd:dateTime ;
    skos:note "ISO 8601 dateTime format required. Timezone may be inherited from document or organization level." .

urpx:contractExpirationDate a owl:DatatypeProperty ;
    rdfs:label "Contract Expiration Date"@en ;
    rdfs:comment "Expiration date and time of service agreement contract" ;
    rdfs:domain urpx:AccountServiceAgreement ;
    rdfs:range xsd:dateTime ;
    skos:note "ISO 8601 dateTime format required. Timezone may be inherited from document or organization level. Tracks contract validity period for rate plan eligibility." .

urpx:creditRating a owl:DatatypeProperty ;
    rdfs:label "Credit Rating"@en ;
    rdfs:comment "Reference to external credit rating classification" ;
    rdfs:domain urpx:CustomerProfile ;
    rdfs:range xsd:string ;
    skos:note "References external credit rating categories. Credit rating data lives in external systems for alternative credit scoring and program eligibility - URPX maintains architectural boundary by referencing external systems rather than duplicating financial customer data." .

urpx:currentPrice a owl:DatatypeProperty ;
    rdfs:label "Current Price"@en ;
    rdfs:comment "Current effective price" ;
    rdfs:domain urpx:Price ;
    rdfs:range xsd:decimal ;
    skos:note "For dynamic pricing, represents current calculated price." .

urpx:customConditionProperty a owl:DatatypeProperty ;
    rdfs:label "Custom Condition Property"@en ;
    rdfs:comment "Fallback custom property identifier for custom operand nodes in human-readable language"@en ;
    rdfs:domain urpx:CustomOperandNode ;
    rdfs:range xsd:string ;
    skos:note "Fallback-only property name for custom conditions when no suitable URPX property exists." .

urpx:customDimensionProperty a owl:DatatypeProperty ;
    rdfs:label "Custom Dimension Property"@en ;
    rdfs:comment "Fallback custom property identifier for alternative dimensions in human-readable form"@en ;
    rdfs:domain urpx:AlternativeDimension ;
    rdfs:range xsd:string ;
    skos:note "Fallback-only property name for alternative dimensions when no suitable URPX property exists." .

urpx:customerChoice a owl:ObjectProperty ;
    rdfs:label "Customer Choice"@en ;
    rdfs:comment "Indicates whether enrollment in this rate plan version is voluntary or mandatory" ;
    rdfs:domain urpx:RatePlanVersion ;
    rdfs:range urpx:CustomerChoiceValue ;
    skos:note "Optional. When absent, enrollment type is unspecified." .

urpx:cycleStartDay a owl:DatatypeProperty ;
    rdfs:label "Cycle Start Day"@en ;
    rdfs:comment "Day of month when billing cycle starts" ;
    rdfs:domain urpx:BillingCycle ;
    rdfs:range xsd:integer ;
    skos:note "Integer 1-31 for billing period definitions." .

urpx:dataSourceType a owl:ObjectProperty ;
    rdfs:label "Data Source"@en ;
    rdfs:comment "Type of source of the data" ;
    rdfs:domain urpx:DataSourceReference;
    rdfs:range urpx:DataSourceTypeValue ;
    skos:note "Identifies the source of the data, such as the database name or specific API endpoint. Useful for tracking data provenance." .

urpx:dateApproved a owl:DatatypeProperty ;
    rdfs:label "Approval Date"@en ;
    rdfs:comment "Regulatory approval date" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:TariffPublication urpx:DataSourceReference urpx:TariffBookReference  urpx:TariffStatementReference urpx:RatePlan urpx:RatePlanModifier urpx:RatePlanVersion urpx:RatePlanModifierVersion ) ] ;
    rdfs:range xsd:date ;
    skos:note "When regulatory authority approved this version." .

urpx:dateTimeApproved a owl:DatatypeProperty ;
    rdfs:label "Approval Date Time"@en ;
    rdfs:comment "Regulatory approval date and time" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:TariffPublication urpx:DataSourceReference urpx:TariffBookReference  urpx:TariffStatementReference urpx:RatePlan urpx:RatePlanModifier urpx:RatePlanVersion urpx:RatePlanModifierVersion ) ] ;
    rdfs:range xsd:dateTime ;
    skos:note "When regulatory authority approved this version." .

urpx:dateCreated a owl:DatatypeProperty ;
    rdfs:label "Date Created"@en ;
    rdfs:comment "Date the source document or data was created" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:DataSourceReference urpx:URPXDocument urpx:TariffPublication urpx:TariffBookReference urpx:TariffStatementReference urpx:RatePlan urpx:RatePlanModifier urpx:RatePlanVersion urpx:RatePlanModifierVersion ) ] ;
    rdfs:range xsd:date ;
    skos:note "ISO 8601 date format. Sourced from document metadata or publisher statement." .

urpx:dateTimeCreated a owl:DatatypeProperty ;
    rdfs:label "Date Time Created"@en ;
    rdfs:comment "Date and time the source document or data was created" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:DataSourceReference urpx:URPXDocument urpx:TariffPublication urpx:TariffBookReference urpx:TariffStatementReference urpx:RatePlan urpx:RatePlanModifier urpx:RatePlanVersion urpx:RatePlanModifierVersion ) ] ;
    rdfs:range xsd:dateTime ;
    skos:note "ISO 8601 date format. Sourced from document metadata or publisher statement." .

urpx:dateModified a owl:DatatypeProperty ;
    rdfs:label "Date Modified"@en ;
    rdfs:comment "Date the source document or data was last updated" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:DataSourceReference urpx:TariffBookReference urpx:TariffStatementReference urpx:TariffPublication ) ] ;
    rdfs:range xsd:date ;
    skos:note "ISO 8601 date format. Sourced from document metadata or publisher statement." .

urpx:dateTimeModified a owl:DatatypeProperty ;
    rdfs:label "Date Time Modified"@en ;
    rdfs:comment "Date and time the source document or data was last updated" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:DataSourceReference urpx:TariffBookReference urpx:TariffStatementReference urpx:TariffPublication ) ] ;
    rdfs:range xsd:dateTime ;
    skos:note "ISO 8601 date format. Sourced from document metadata or publisher statement." .

urpx:datePublished a owl:DatatypeProperty ;
    rdfs:label "Date Published"@en ;
    rdfs:comment "Date of first broadcast/publication" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:TariffPublication urpx:DataSourceReference urpx:RatePlan urpx:RatePlanModifier urpx:RatePlanVersion urpx:RatePlanModifierVersion urpx:TariffBookReference  urpx:TariffStatementReference ) ] ;
    rdfs:range xsd:date ;
    skos:note "Official publication or filing date for tariff documents." .

urpx:dateTimePublished a owl:DatatypeProperty ;
    rdfs:label "Date Time Published"@en ;
    rdfs:comment "Date and time of first broadcast/publication" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:TariffPublication urpx:DataSourceReference urpx:RatePlan urpx:RatePlanModifier urpx:RatePlanVersion urpx:RatePlanModifierVersion urpx:TariffBookReference  urpx:TariffStatementReference ) ] ;
    rdfs:range xsd:dateTime ;
    skos:note "Official publication or filing date for tariff documents." .    

urpx:dateReceived a owl:DatatypeProperty ;
    rdfs:label "Date Received"@en ;
    rdfs:comment "Date the document was received" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:URPXDocument urpx:TariffPublication urpx:TariffBookReference urpx:TariffStatementReference ) ] ;
    rdfs:range xsd:date ;
    skos:note "ISO 8601 date format. Captures when the document was received, which may differ from publication or approval dates." .

urpx:dateTimeReceived a owl:DatatypeProperty ;
    rdfs:label "Date Time Received"@en ;
    rdfs:comment "Date and time the document was received" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:URPXDocument urpx:TariffPublication urpx:TariffBookReference urpx:TariffStatementReference ) ] ;
    rdfs:range xsd:dateTime ;
    skos:note "ISO 8601 date format. Captures when the document was received, which may differ from publication or approval dates." .

urpx:dateRetrieved a owl:DatatypeProperty ;
    rdfs:label "Date Retrieved"@en ;
    rdfs:comment "Date on which data was retrieved";
    rdfs:domain urpx:DataSourceReference ;
    rdfs:range xsd:date ;
    skos:note "ISO 8601 date format. Records the access date for provenance." .

urpx:dateTimeRetrieved a owl:DatatypeProperty ;
    rdfs:label "Date Time Retrieved"@en ;
    rdfs:comment "Date and time on which data was retrieved";
    rdfs:domain urpx:DataSourceReference ;
    rdfs:range xsd:dateTime ;
    skos:note "ISO 8601 date format. Records the access date for provenance." .

urpx:dateTimeValue a owl:DatatypeProperty ;
    rdfs:label "DateTime Value"@en ;
    rdfs:comment "DateTime literal value used in a condition operand node"@en ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:DatatypeOperandNode urpx:CustomOperandNode ) ] ;
    rdfs:range xsd:dateTime ;
    skos:note "DateTime literal value for condition modeling." .

urpx:dateValue a owl:DatatypeProperty ;
    rdfs:label "Date Value"@en ;
    rdfs:comment "Date literal value used in a condition operand node"@en ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:DatatypeOperandNode urpx:CustomOperandNode ) ] ;
    rdfs:range xsd:date ;
    skos:note "Date literal value for condition modeling." .

urpx:dayType a owl:ObjectProperty ;
    rdfs:label "Day Type"@en ;
    rdfs:comment "Type of days this time bracket applies to (ISO 8601 aligned)" ;
    rdfs:domain urpx:TimeBracket ;
    rdfs:range urpx:DayTypeValue ;
    skos:note "ISO 8601 day classification enumeration for time bracket application. with standardized day type definitions." .

urpx:daylightSavingRules a owl:DatatypeProperty ;
    rdfs:label "Daylight Saving Rules"@en ;
    rdfs:comment "Daylight saving time rules for this location" ;
    rdfs:domain urpx:LocationDataSet ;
    rdfs:range xsd:string ;
    skos:note "DST transition rules and offsets. Can reference standard DST rules or specify custom rules for location." .

urpx:decimalValue a owl:DatatypeProperty ;
    rdfs:label "Decimal Value"@en ;
    rdfs:comment "Decimal literal value used in a condition operand node"@en ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:DatatypeOperandNode urpx:CustomOperandNode ) ] ;
    rdfs:range xsd:decimal ;
    skos:note "Decimal literal value for condition modeling." .

urpx:defaultSelectionLogic a owl:DatatypeProperty ;
    rdfs:label "Default Selection Logic"@en ;
    rdfs:comment "Logic for auto-selecting default alternative" ;
    rdfs:domain urpx:ProfileAlternative ;
    rdfs:range xsd:string ;
    skos:note "E.g., 'lowest_price', 'most_common', 'first_listed'." .

urpx:derType a owl:ObjectProperty ;
    rdfs:label "DER Type"@en ;
    rdfs:comment "Type of distributed energy resource" ;
    rdfs:domain urpx:DistributedEnergyResource ;
    rdfs:range urpx:DERTypeValue ;
    skos:note "DER types: solar, storage, ev charging, wind, generator. Categorizes the primary type of distributed energy resource." .

urpx:description a owl:DatatypeProperty ;
    rdfs:label "Description"@en ;
    rdfs:comment "Detailed description of the item" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:GeneralRule urpx:EligibilityRule urpx:ConditionExpression urpx:ComparisonNode urpx:RatePlan urpx:RatePlanVersion urpx:RatePlanModifier urpx:RatePlanModifierVersion urpx:Price urpx:PriceDefinition urpx:PriceSet urpx:TariffPublication urpx:TariffBookReference urpx:URPXDocument urpx:CalculationMethod urpx:MetricInput urpx:Ledger urpx:DataSourceReference urpx:PriceUpdateRule urpx:ApplicabilityRule urpx:OperationNode urpx:BooleanOperationNode urpx:RateCase urpx:ServiceTiers ) ] ;
    rdfs:range xsd:string ;
    skos:note "Comprehensive explanation for documentation (max 1000 chars recommended)." .

urpx:dimensionDisplayName a owl:DatatypeProperty ;
    rdfs:label "Dimension Display Name"@en ;
    rdfs:comment "Human-readable name for UI display" ;
    rdfs:domain urpx:AlternativeDimension ;
    rdfs:range xsd:string ;
    skos:note "E.g., 'NYISO Zone', 'Voltage Level', 'Billing Cycle'." .

urpx:dimensionProperty a owl:DatatypeProperty ;
    rdfs:label "Dimension Property"@en ;
    rdfs:comment "URI of the ontology property this dimension represents" ;
    rdfs:domain urpx:AlternativeDimension ;
    rdfs:range xsd:anyURI ;
    skos:note "References actual property like urpx:hasCustomerKind, urpx:voltageLevel, urpx:billingCycleId. Enables type-safe validation." .

urpx:durationValue a owl:DatatypeProperty ;
    rdfs:label "Duration Value"@en ;
    rdfs:comment "Duration literal value used in a condition operand node"@en ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:DatatypeOperandNode urpx:CustomOperandNode ) ] ;
    rdfs:range xsd:duration ;
    skos:note "Duration literal value for condition modeling." .

urpx:dynamicPricingType a owl:ObjectProperty ;
    rdfs:label "Dynamic Pricing Type"@en ;
    rdfs:comment "Type of dynamic pricing (FERC market terminology)" ;
    rdfs:domain urpx:DynamicPricing ;
    rdfs:range urpx:DynamicPricingTypeValue ;
    skos:note "FERC market terminology enumeration for dynamic pricing types. with standardized market pricing type definitions." .

urpx:effectiveDate a owl:DatatypeProperty ;
    rdfs:label "Effective Date"@en ;
    rdfs:comment "Date when entity becomes active" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:DataSourceReference urpx:RatePlan urpx:RatePlanModifier urpx:RatePlanVersion urpx:RatePlanModifierVersion urpx:TariffPublication urpx:URPXDocument ) ] ;
    rdfs:range xsd:date ;
    skos:note "ISO 8601 date format. For date-only specifications." .

urpx:effectiveDateTime a owl:DatatypeProperty ;
    rdfs:label "Effective Date Time"@en ;
    rdfs:comment "Date/time when entity becomes active" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:DataSourceReference urpx:RatePlan urpx:RatePlanModifier urpx:RatePlanVersion urpx:RatePlanModifierVersion urpx:TariffPublication urpx:URPXDocument ) ] ;
    rdfs:range xsd:dateTime ;
    skos:note "ISO 8601 format with timezone. Critical for version management." .

urpx:endDate a owl:DatatypeProperty ;
    rdfs:label "End Date"@en ;
    rdfs:comment "End date for validity period (date only, no time component). Omit for indefinite validity." ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:Price urpx:PriceSet urpx:TOUPeriod urpx:BillingCycle urpx:Season ) ] ;
    rdfs:range xsd:date ;
    skos:note "When endDate is not present, the validity period is considered open-ended until superseded or explicitly terminated." .

urpx:endDateTime a owl:DatatypeProperty ;
    rdfs:label "End Date Time"@en ;
    rdfs:comment "End date and time for validity period (with time component). Omit for indefinite validity." ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:Price urpx:PriceSet urpx:TOUPeriod urpx:BillingCycle urpx:Season ) ] ;
    rdfs:range xsd:dateTime ;
    skos:note "When endDateTime is not present, the validity period is considered open-ended until superseded or explicitly terminated." .

urpx:endTime a owl:DatatypeProperty ;
    rdfs:label "End Time"@en ;
    rdfs:comment "End time for this bracket" ;
    rdfs:domain urpx:TimeBracket ;
    rdfs:range xsd:time ;
    skos:note "24-hour format (e.g., 17:00:00). Timezone context inherited from parent TOUSchedule's timeZone property for proper temporal alignment." .

urpx:endUse a owl:ObjectProperty ;
    rdfs:label "End Use"@en ;
    rdfs:comment "End use classification for electric service (heating vs non-heating)" ;
    rdfs:domain urpx:ServicePointProfile ;
    rdfs:range urpx:EndUseValue ;
    skos:note "End use classification enumeration for electric service categorization. Distinguishes heating from non-heating electric service for rate application. Used in ProfileAlternative for end-use-based rate variations and ServicePointProfile for site characterization." .

urpx:enrollmentEndDate a owl:DatatypeProperty ;
    rdfs:label "Enrollment End Date"@en ;
    rdfs:comment "End date of enrollment" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:PriorRatePlan urpx:ProgramEnrollment ) ] ;
    rdfs:range xsd:date ;
    skos:note "When customer ended participation, null if still active." .

urpx:enrollmentStartDate a owl:DatatypeProperty ;
    rdfs:label "Enrollment Start Date"@en ;
    rdfs:comment "Start date of enrollment" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:PriorRatePlan urpx:ProgramEnrollment ) ] ;
    rdfs:range xsd:date ;
    skos:note "When customer began participation in rate plan or program." .

urpx:enrollmentStatus a owl:ObjectProperty ;
    rdfs:label "Enrollment Status"@en ;
    rdfs:comment "Current enrollment status (lifecycle states)" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:PriorRatePlan urpx:ProgramEnrollment ) ] ;
    rdfs:range urpx:EnrollmentStatusValue ;
    skos:note "Lifecycle states enumeration for enrollment status tracking. with standardized lifecycle state definitions." .

urpx:entityType a owl:ObjectProperty ;
    rdfs:label "Entity Type"@en ;
    rdfs:comment "Legal entity type" ;
    rdfs:domain urpx:CustomerProfile ;
    rdfs:range urpx:EntityTypeValue ;
    skos:note "Entity types enumeration. with standardized legal entity type definitions." .

urpx:evChargingCapacity a owl:DatatypeProperty ;
    rdfs:label "Ev Charging Capacity"@en ;
    rdfs:comment "EV charging capacity in kW" ;
    rdfs:domain urpx:DistributedEnergyResource ;
    rdfs:range xsd:decimal ;
    skos:note "Electric vehicle charging capability. Used for EV-specific rates and managed charging programs." .

urpx:expirationDate a owl:DatatypeProperty ;
    rdfs:label "Expiration Date"@en ;
    rdfs:comment "Date when entity becomes inactive" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:DataSourceReference urpx:RatePlan urpx:RatePlanModifier urpx:RatePlanVersion urpx:RatePlanModifierVersion urpx:TariffPublication urpx:URPXDocument ) ] ;
    rdfs:range xsd:date ;
    skos:note "ISO 8601 date format. For date-only specifications." .

urpx:expirationDateTime a owl:DatatypeProperty ;
    rdfs:label "Expiration Date Time"@en ;
    rdfs:comment "Date/time when entity becomes inactive" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:DataSourceReference urpx:RatePlan urpx:RatePlanModifier urpx:RatePlanVersion urpx:RatePlanModifierVersion urpx:TariffPublication urpx:URPXDocument ) ] ;
    rdfs:range xsd:dateTime ;
    skos:note "Optional but recommended for clarity. Null implies indefinite duration." .

urpx:expectedEndDate a owl:DatatypeProperty ;
    rdfs:label "Expected End Date"@en ;
    rdfs:comment "Provisional end date subject to change" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:Price urpx:PriceSet urpx:TOUPeriod urpx:BillingCycle urpx:URPXDocument urpx:TariffPublication urpx:RatePlanVersion urpx:RatePlanModifierVersion urpx:LocationDataSet ) ] ;
    rdfs:range xsd:date ;
    skos:note "Used when definitive end date is unknown but provisional date exists. Common for rates marked 'effective until further notice' or 'subject to review'. Does not create binding commitment - actual end may differ." .

urpx:expectedEndDateTime a owl:DatatypeProperty ;
    rdfs:label "Expected End Date Time"@en ;
    rdfs:comment "Provisional end date/time subject to change" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:Price urpx:PriceSet urpx:TOUPeriod urpx:BillingCycle urpx:URPXDocument urpx:TariffPublication urpx:RatePlanVersion urpx:RatePlanModifierVersion urpx:LocationDataSet ) ] ;
    rdfs:range xsd:dateTime ;
    skos:note "Provisional end date/time with timezone precision. Supports utility 'until further notice' rate patterns. ISO 8601 format with timezone." .

urpx:fileName a owl:DatatypeProperty ;
    rdfs:label "File Name"@en ;
    rdfs:comment "Name of document or file including filename extension if present." ;
    rdfs:domain urpx:DataSourceReference ;
    rdfs:range xsd:string .

urpx:filingNumber a owl:DatatypeProperty ;
    rdfs:label "Filing Number"@en ;
    rdfs:comment "Official regulatory filing or docket number" ;
    rdfs:domain urpx:TariffPublication ;
    rdfs:range xsd:string ;
    skos:note "Unique identifier used by regulatory authority for tracking." .

urpx:flowDirection a owl:ObjectProperty ;
    rdfs:label "Flow Direction"@en ;
    rdfs:comment "Direction of energy flow for measurement" ;
    rdfs:domain urpx:MetricSpecification ;
    rdfs:range urpx:FlowDirectionValue ;
    skos:note "Defines flow direction: forward (consumption/import), reverse (generation/export), net (net metering), or bidirectional. Critical for DER and net metering scenarios." .

urpx:formula a owl:DatatypeProperty ;
    rdfs:label "Formula"@en ;
    rdfs:comment "Formula expression for calculated MetricInputs" ;
    rdfs:range xsd:string ;
    skos:note "String expression defining calculation logic. Example: 'generation - gridImport' for net export. Used within calculationRule blank node." .

urpx:generalRuleID a owl:DatatypeProperty ;
    rdfs:label "General Rule ID"@en ;
    rdfs:comment "Unique identifier for a general rule" ;
    rdfs:domain urpx:GeneralRule ;
    rdfs:range xsd:string ;
    skos:note "Stable identifier for referencing this rule from RatePlanVersion and RatePlanModifierVersion instances across rate plans." .

urpx:geographicScope a owl:ObjectProperty ;
    rdfs:label "Geographic Scope"@en ;
    rdfs:comment "Geographic scope of applicability or eligibility (ISO 3166 admin levels)" ;
    rdfs:domain urpx:ServicePointProfile ;
    rdfs:range urpx:GeographicScopeValue ;
    skos:note "ISO 3166 admin levels enumeration for geographic scope classification with standardized administrative level definitions." .

urpx:geographicZone a owl:ObjectProperty ;
    rdfs:label "Geographic Zone"@en ;
    rdfs:comment "Geographic classification (Census geographic types)" ;
    rdfs:domain urpx:ServicePointProfile ;
    rdfs:range urpx:GeographicZoneValue ;
    skos:note "Census geographic types enumeration for customer location classification. with standardized geographic zone definitions for consistent location-based analysis across utilities." .

urpx:gMonthValue a owl:DatatypeProperty ;
    rdfs:label "GMonth Value"@en ;
    rdfs:comment "gMonth literal value used in a condition operand node"@en ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:DatatypeOperandNode urpx:CustomOperandNode ) ] ;
    rdfs:range xsd:gMonth ;
    skos:note "gMonth literal value for condition modeling." .

urpx:gYearValue a owl:DatatypeProperty ;
    rdfs:label "GYear Value"@en ;
    rdfs:comment "gYear literal value used in a condition operand node"@en ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:DatatypeOperandNode urpx:CustomOperandNode ) ] ;
    rdfs:range xsd:gYear ;
    skos:note "gYear literal value for condition modeling." .

urpx:hasAlternative a owl:ObjectProperty ;
    rdfs:label "Has Alternative"@en ;
    rdfs:comment "Links alternatives container to specific price set options" ;
    rdfs:domain urpx:PriceSet ;
    rdfs:range urpx:ProfileAlternative ;
    skos:note "All linked PriceSets must have matching priceMatchingKey." .

urpx:hasAlternativeDimension a owl:ObjectProperty ;
    rdfs:label "Has Alternative Dimension"@en ;
    rdfs:comment "Dimensions along which alternatives differ" ;
    rdfs:domain urpx:AlternativeDimensions ;
    rdfs:range urpx:AlternativeDimension ;
    skos:note "Multiple dimensions create a matrix of alternatives." .

urpx:hasAlternativeDimensions a owl:ObjectProperty ;
    rdfs:label "Has Alternative Dimensions"@en ;
    rdfs:comment "Links ProfileAlternatives to its AlternativeDimensions container, which wraps the alternative dimension sets and their metadata" ;
    rdfs:domain urpx:ProfileAlternatives ;
    rdfs:range urpx:AlternativeDimensions ;
    skos:note "Each ProfileAlternatives has exactly one AlternativeDimensions container." .

urpx:hasApplicabilityGroup a owl:ObjectProperty ;
    rdfs:label "Has Applicability Group"@en ;
    rdfs:comment "Links price set to applicability rules" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:PriceSet urpx:Price urpx:PriceDefinition ) ] ;
    rdfs:range urpx:ApplicabilityGroup ;
    skos:note "Defines geographic and service class applicability for the entire price set." .

urpx:hasApplicabilityRule a owl:ObjectProperty ;
    rdfs:label "Has Applicability Rule"@en ;
    rdfs:comment "Conditions for price application" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:Price urpx:PriceDefinition urpx:PriceSet urpx:GeneralRule ) ] ;
    rdfs:range urpx:ApplicabilityRule ;
    skos:note "Determines when price applies during billing calculation." .

urpx:hasBillingCycle a owl:ObjectProperty ;
    rdfs:label "Has Billing Cycle"@en ;
    rdfs:comment "Links Ledger to billing cycle definitions" ;
    rdfs:domain urpx:Ledger ;
    rdfs:range urpx:BillingCycle ;
    skos:note "Links Ledger to billing cycle definitions." .

urpx:hasBillingModel a owl:ObjectProperty ;
    rdfs:label "Has Billing Model"@en ;
    rdfs:comment "Billing rules and calculation patterns for rate plan version" ;
    rdfs:domain urpx:PlanElements ;
    rdfs:range urpx:BillingModel ;
    skos:note "Defines billing calculation rules, proration patterns, and adjustment mechanisms. Separates billing concerns from pricing and temporal definitions." .

urpx:hasCalculationMethod a owl:ObjectProperty ;
    rdfs:label "Has Calculation Method"@en ;
    rdfs:comment "Links price to its calculation method" ;
    rdfs:domain [ a owl:Class ;
    owl:unionOf ( urpx:Price urpx:PriceDefinition urpx:PriceSet ) ] ;
    rdfs:range urpx:CalculationMethod;
    skos:note "Defines how a price is calculated." .

urpx:hasCalendar a owl:ObjectProperty ;
    rdfs:label "Has Calendar"@en ;
    rdfs:comment "References holiday calendar for this TOU schedule" ;
    rdfs:domain urpx:TOUSchedule ;
    rdfs:range urpx:HolidayCalendar ;
    skos:note "Links to document-level calendar or external calendar resource." .

urpx:hasConditionExpression a owl:ObjectProperty ;
    rdfs:label "Has Condition Expression"@en ;
    rdfs:comment "Links a rule to its structured condition expression"@en ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:EligibilityRule urpx:ApplicabilityRule urpx:ApplicabilityGroup urpx:ProfileAlternative ) ] ;
    rdfs:range urpx:ConditionExpression ;
    skos:note "The rule-level entry point for structured condition applicability." .

urpx:hasCounty a owl:ObjectProperty ;
    rdfs:label "Has County"@en ;
    rdfs:comment "Links service point profile to county-level geographic scope" ;
    rdfs:domain urpx:ServicePointProfile ;
    rdfs:range urpx:County ;
    skos:note "Defines county-level eligibility and applicability through use in service point profile and within ConditionExpression." .

urpx:hasCustomerKind a owl:ObjectProperty ;
    rdfs:label "Has Customer Kind"@en ;
    rdfs:comment "Primary customer classification" ;
    rdfs:domain urpx:CustomerProfile ;
    rdfs:range urpx:CustomerKindValue ;
    skos:note "Links customer profile to main customer type classification. Multiple customer kinds can be assigned to support complex customer profiles." .

urpx:hasCustomerProfile a owl:ObjectProperty ;
    rdfs:label "Has Customer Profile"@en ;
    rdfs:comment "Links scenario to customer profile for business/social characteristics" ;
    rdfs:domain urpx:Scenario ;
    rdfs:range urpx:CustomerProfile ;
    skos:note "Parallel property with hasServicePointProfile. Evaluates eligibility rules based on customer business, social, and program participation characteristics. Used for rate plan qualification and program eligibility." .

urpx:hasCustomerSubKind a owl:ObjectProperty ;
    rdfs:label "Has Customer Sub Kind"@en ;
    rdfs:comment "Detailed customer classification" ;
    rdfs:domain urpx:CustomerProfile ;
    rdfs:range urpx:CustomerSubKindValue ;
    skos:note "Links customer profile to detailed customer subcategory classification. Multiple customer subkinds can be assigned to support complex customer profiles. with hierarchical organization under parent customer kinds." .

urpx:hasDataSourceReference a owl:ObjectProperty ;
    rdfs:label "Has Data Source Reference"@en ;
    rdfs:comment "Links an entity to a structured data source reference." ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:GeneralRule urpx:PriceSet urpx:Price urpx:PriceDefinition urpx:PriceSetAlternative urpx:RatePlanVersion urpx:RatePlanModifierVersion urpx:TariffBookDocument urpx:TariffPublication urpx:TariffStatementDocument urpx:EligibilityRule ) ] ;
    rdfs:range urpx:DataSourceReference ;
    skos:note "Enables traceability for data points back to their original source files or APIs with structured metadata." .

urpx:hasDistributedEnergyResource a owl:ObjectProperty ;
    rdfs:label "Has Distributed Energy Resource"@en ;
    rdfs:comment "Distributed energy resources associated with this service point" ;
    rdfs:domain urpx:ServicePointProfile ;
    rdfs:range urpx:DistributedEnergyResource ;
    skos:note "Links service point to DER capabilities including solar, storage, EV charging, and wind. Supports distributed energy resource (DER) metadata including solar, storage, and EV charging." .

urpx:hasDynamicPricing a owl:ObjectProperty ;
    rdfs:label "Has Dynamic Pricing"@en ;
    rdfs:comment "Links price to dynamic pricing configuration" ;
    rdfs:domain urpx:Price ;
    rdfs:range urpx:DynamicPricing ;
    skos:note "Enables real-time, market-based, or event-driven pricing for the price." .

urpx:hasEligibilityRule a owl:ObjectProperty ;
    rdfs:label "Has Eligibility Rule"@en ;
    rdfs:comment "Customer qualification rules" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:RatePlanVersion urpx:RatePlanModifierVersion ) ] ;
    rdfs:range urpx:EligibilityRule ;
    skos:note "Rules determine customer qualification for the rate plan version or rate plan modifier version." .

urpx:hasGeneralRule a owl:ObjectProperty ;
    rdfs:label "Has General Rule"@en ;
    rdfs:comment "Links a TariffBookDocument to its general rules" ;
    rdfs:domain urpx:TariffBookDocument ;
    rdfs:range urpx:GeneralRule ;
    skos:note "General rules defined at the tariff book level, shared across rate plans." .

urpx:hasHoliday a owl:ObjectProperty ;
    rdfs:label "Has Holiday"@en ;
    rdfs:comment "Individual holidays in the calendar" ;
    rdfs:domain urpx:HolidayCalendar ;
    rdfs:range urpx:Holiday ;
    skos:note "Each holiday must have either specific date or calculation rule." .

urpx:hasHolidayCalendar a owl:ObjectProperty ;
    rdfs:label "Has Holiday Calendar"@en ;
    rdfs:comment "Holiday calendar reference for TOU calculations, versioned location data, or centralized temporal definitions" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:LocationDataSet urpx:PlanElements ) ] ;
    rdfs:range urpx:HolidayCalendar ;
    skos:note "Can be referenced at RatePlanVersion level for direct selection, contained within LocationDataSet for versioned bundling, or within PlanElements. All approaches supported for flexibility." .

urpx:hasHVAC a owl:ObjectProperty ;
    rdfs:label "Has HVAC"@en ;
    rdfs:comment "HVAC equipment associated with this service point" ;
    rdfs:domain urpx:ServicePointProfile ;
    rdfs:range urpx:HVACKindValue ;
    skos:note "Links service point to HVAC equipment including heat pumps and space heaters." .

urpx:hasIdentifier a owl:ObjectProperty ;
    rdfs:label "Has Identifier"@en ;
    rdfs:comment "Links identity to external identifiers" ;
    rdfs:domain urpx:OrganizationIdentity ;
    rdfs:range urpx:OrganizationIdentifier ;
    skos:note "External organization identifiers. E.g., EIA ID, DUNS, LEI." .

urpx:hasIdentity a owl:ObjectProperty ;
    rdfs:label "Has Identity"@en ;
    rdfs:comment "Links organization to temporal identity records" ;
    rdfs:domain urpx:Organization ;
    rdfs:range urpx:OrganizationIdentity ;
    skos:note "Temporal identity tracking for organization names and identifiers over time." .

urpx:hasJurisdictionOver a owl:ObjectProperty ;
    rdfs:label "Has Jurisdiction Over"@en ;
    rdfs:comment "Links regulator to regulated entities" ;
    rdfs:domain urpx:RegulatoryAuthority ;
    rdfs:range urpx:Organization ;
    skos:note "Regulatory authority jurisdiction over organizations." .

urpx:hasLedger a owl:ObjectProperty ;
    rdfs:label "Has Ledger"@en ;
    rdfs:comment "Links plan elements to ledgers for billing segregation" ;
    rdfs:domain urpx:BillingModel ;
    rdfs:range urpx:Ledger ;
    skos:note "Enables multiple ledgers for separation of supply vs delivery charges. At least one ledger required. Ledgers reference MetricInputs (many-to-many)." .

urpx:hasLocationDataSet a owl:ObjectProperty ;
    rdfs:label "Has Location Data Set"@en ;
    rdfs:comment "Links organization to versioned location auxiliary data" ;
    rdfs:domain [ a owl:Class;
            owl:unionOf ( urpx:Organization urpx:RatePlan urpx:RatePlanModifier ) ] ;
    rdfs:range urpx:LocationDataSet ;
    skos:note "Organizations publish versioned LocationDataSet instances containing holidays, timezone, and DST rules. Multiple versions can exist for temporal evolution." .

urpx:hasMeteringConfiguration a owl:ObjectProperty ;
    rdfs:label "Metering Configuration"@en ;
    rdfs:comment "Metering configuration type" ;
    rdfs:domain urpx:ServicePointProfile ;
    rdfs:range urpx:MeteringConfigurationValue ;
    skos:note "Metering types: net, interval, demandConfiguration, prepaid, ami, manual. Affects billing and rate application." .

urpx:hasMetricInput a owl:ObjectProperty ;
    rdfs:label "Has Metric Input"@en ;
    rdfs:comment "Links plan elements to metric inputs for measurement organization" ;
    rdfs:domain urpx:PlanElements ; 
    rdfs:range urpx:MetricInput ;
    skos:note "Supports measured MetricInputs (raw meter data) and calculated MetricInputs (derived metrics)." .

urpx:hasMetricSpecification a owl:ObjectProperty ;
    rdfs:label "Has Metric Specification"@en ;
    rdfs:comment "Defines measurement specifications for prices or pricing model components" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:Price urpx:PriceDefinition urpx:PriceSet urpx:MetricInput ) ] ;
    rdfs:range urpx:MetricSpecification ;
    skos:note "Defines what is being measured. Supports two complementary usage patterns: Multiple prices reference same MetricSpec IRI via hasMetricSpecification or embed in Price or PriceSet." .

urpx:hasModifierOptions a owl:ObjectProperty ;
    rdfs:label "Has Modifier Options"@en ;
    rdfs:comment "Links rate plan version to its available modifier options" ;
    rdfs:domain urpx:RatePlanVersion ;
    rdfs:range urpx:RatePlanModifier ;
    skos:note "A RatePlanVersion may have zero or more associated RatePlanModifiers representing optional modifiers that can be applied to the base rate plan." .

urpx:hasModifierVersionOptions a owl:ObjectProperty ;
    rdfs:label "Has Modifier Version Options"@en ;
    rdfs:comment "Modifier versions available as options for this rate plan version" ;
    rdfs:domain urpx:RatePlanVersion ;
    rdfs:range urpx:RatePlanModifierVersion ;
    skos:note "Links a rate plan version to one or more applicable rate plan modifier versions for version level option modeling." .

urpx:hasMunicipality a owl:ObjectProperty ;
    rdfs:label "Has Municipality"@en ;
    rdfs:comment "Links service point profile to municipality-level geographic scope" ;
    rdfs:domain urpx:ServicePointProfile ;
    rdfs:range urpx:Municipality ;
    skos:note "Defines municipality-level eligibility and applicability through use in service point profile and within ConditionExpression. Most specific geographic level." .

urpx:hasName a owl:ObjectProperty ;
    rdfs:label "Has Name"@en ;
    rdfs:comment "Links identity to organization names" ;
    rdfs:domain urpx:OrganizationIdentity ;
    rdfs:range urpx:OrganizationName ;
    skos:note "Organization names with type, language, and canonical/preferred status." .

urpx:hasPlanElements a owl:ObjectProperty ;
    rdfs:label "Has Plan Elements"@en ;
    rdfs:comment "Centralized temporal and pricing elements for rate plan or modifier versions" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:RatePlanVersion urpx:RatePlanModifierVersion ) ] ;
    rdfs:range urpx:PlanElements ;
    skos:note "Links version to centralized container for seasons, holiday calendars, and metric-specific pricing rule sets. Shared architecture between RatePlanVersion and RatePlanModifierVersion for unified pricing structure." .
    
urpx:hasPossibleValues a owl:ObjectProperty ;
    rdfs:label "Has Possible Values"@en ;
    rdfs:comment "List of possible values" ;
    rdfs:domain urpx:AlternativeDimension ;
    rdfs:range rdf:List ;
    skos:note """List of objects for possible values.""" .

urpx:hasPrice a owl:ObjectProperty ;
    rdfs:label "Has Price"@en ;
    rdfs:comment "Links price set to individual prices" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:PriceSet urpx:Prices ) ] ;
    rdfs:range urpx:Price ;
    skos:note "Each price must have unique combination of type and conditions within set." .

urpx:hasPriceDefinition a owl:ObjectProperty ;
    rdfs:label "Has Price Definition"@en ;
    rdfs:comment "Links a billing model to its price definitions." ;
    rdfs:domain urpx:BillingModel ;
    rdfs:range urpx:PriceDefinition ;
    skos:note "Owned at the BillingModel level. Each PriceDefinition declares its associated Ledger via urpx:referencesLedger." .

urpx:hasPrices a owl:ObjectProperty ;
    rdfs:label "Has Prices"@en ;
    rdfs:comment "Links rate plan version to actual price instances with rate values" ;
    rdfs:domain [ a owl:Class ;
        owl:unionOf ( urpx:RatePlanVersion urpx:RatePlanModifierVersion urpx:TariffStatementDocument urpx:TariffSupplementDocument urpx:TariffAddendumDocument ) ] ;
    rdfs:range urpx:Prices ;
    skos:note "Two-tier Price architecture: Tier 2 instances contain actual unitPrice/amount values and temporal validity. Reference price definitions for calculation structure." .

urpx:hasPriceSet a owl:ObjectProperty ;
    rdfs:label "Has Price Set"@en ;
    rdfs:comment "Links Prices container to base/default price sets" ;
    rdfs:domain urpx:Prices ;
    rdfs:range urpx:PriceSet ;
    skos:note "A Prices container may have zero or more base price sets. Property now lives on Prices container instead of directly on RatePlanVersion for better organization. Alternative price sets use hasPriceSetAlternatives instead." .

urpx:hasPriceSetAlternative a owl:ObjectProperty ;
    rdfs:label "Has Price Set Alternative Member"@en ;
    rdfs:domain urpx:PriceSetAlternatives ;
    rdfs:range urpx:PriceSetAlternative ;
    rdfs:comment "Links PriceSetAlternatives container to individual PriceSetAlternative instances." ;
    skos:note "The inverse of hasPriceSetAlternatives." .

urpx:hasPriceSetAlternatives a owl:ObjectProperty ;
    rdfs:label "Has Price Set Alternatives Container"@en ;
    rdfs:domain urpx:Prices ;
    rdfs:range urpx:PriceSetAlternatives ;
    rdfs:comment "Links Prices container directly to PriceSetAlternatives instances for mutually exclusive price set options." ;
    skos:note "A Prices container may have zero or more PriceSetAlternatives instances. Each PriceSetAlternatives container references its ProfileAlternatives definition via forProfileAlternatives property and each alternative references its ProfileAlternative via forProfileAlternative property." .

urpx:hasPriceSummary a owl:ObjectProperty ;
    rdfs:label "Has Price Summary"@en ;
    rdfs:comment "Links price set to summary totals" ;
    rdfs:domain urpx:PriceSet ;
    rdfs:range urpx:PriceSummary ;
    skos:note "Summary prices that aggregate line items." .

urpx:hasPriceUpdateRule a owl:ObjectProperty ;
    rdfs:label "Has Price Update Rule"@en ;
    rdfs:comment "Rules governing price updates" ;
    rdfs:domain urpx:DynamicPricing ;
    rdfs:range urpx:PriceUpdateRule ;
    skos:note "Multiple rules can exist with priority ordering for evaluation." .

urpx:hasPriorRatePlan a owl:ObjectProperty ;
    rdfs:label "Has Prior Rate Plan"@en ;
    rdfs:comment "Links customer profile to previous rate plan enrollment" ;
    rdfs:domain urpx:CustomerProfile ;
    rdfs:range urpx:PriorRatePlan ;
    skos:note "Used for eligibility rules based on rate plan history." .

urpx:hasProfileAlternative a owl:ObjectProperty ;
    rdfs:label "Has Profile Alternative"@en ;
    rdfs:comment "Links ProfileAlternatives container to individual ProfileAlternative instances, each representing one mutually exclusive alternative choice configuration" ;
    rdfs:domain urpx:ProfileAlternatives ;
    rdfs:range urpx:ProfileAlternative ;
    skos:note "At least two alternatives required for meaningful choice. Each ProfileAlternative defines dimension-value pairs characterizing one alternative option." .

urpx:hasProfileAlternatives a owl:ObjectProperty ;
    rdfs:label "Has Profile Alternatives"@en ;
    rdfs:comment "Links plan elements to profile alternatives requiring user selection of mutually exclusive options" ;
    rdfs:domain urpx:PlanElements ;
    rdfs:range urpx:ProfileAlternatives ;
    skos:note "At most one ProfileAlternatives per PlanElements. Optional for rate plans without user-selectable alternatives." .

urpx:hasProgramEnrollment a owl:ObjectProperty ;
    rdfs:label "Has Program Enrollment"@en ;
    rdfs:comment "Links customer profile to program enrollments" ;
    rdfs:domain urpx:CustomerProfile ;
    rdfs:range urpx:ProgramEnrollment ;
    skos:note "Used for eligibility rules based on program participation." .

urpx:hasRateCase a owl:ObjectProperty ;
    rdfs:label "Has Rate Case"@en ;
    rdfs:comment "Links a rate plan version or pricing artifact to one or more associated rate case proceedings" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:RatePlanVersion urpx:RatePlanModifierVersion urpx:PriceDefinition urpx:Price urpx:PriceSet urpx:PriceSetAlternative ) ] ;
    rdfs:range urpx:RateCase ;
    skos:note "Used to associate versions and pricing artifacts with the formal rate case proceedings that establish or revise them." .

urpx:hasRateGroup a owl:ObjectProperty ;
    rdfs:label "Has Rate Group"@en ;
    rdfs:comment "Links rate plan to specific rate group",
        "Links service class to specific rate groups" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:RatePlan  urpx:ServiceClass ) ] ;
    rdfs:range urpx:RateGroup ;
    skos:note "Enables service class to contain multiple rate groups (e.g., Rate I, Rate II).",
        "Rate plans can reference rate groups directly for precise classification" .

urpx:hasRatePlan a owl:ObjectProperty ;
    rdfs:label "Has Rate Plan"@en ;
    rdfs:comment "Links document to rate plans" ;
    rdfs:domain urpx:URPXDocument ;
    rdfs:range urpx:RatePlan ;
    skos:note "Can contain multiple rate plans in a single document." .

urpx:hasRatePlanModifier a owl:ObjectProperty ;
    rdfs:label "Has Rate Plan Modifier"@en ;
    rdfs:comment "Rate plan modifiers available in this document" ;
    rdfs:domain urpx:URPXDocument ;
    rdfs:range urpx:RatePlanModifier ;
    skos:note "Optional add-ons or adjustments that can be applied across rate plans." .

urpx:hasRatePlanModifierVersion a owl:ObjectProperty ;
    rdfs:label "Has Rate Plan Modifier Version"@en ;
    rdfs:comment "Links modifier to its temporal versions" ;
    rdfs:domain urpx:RatePlanModifier ;
    rdfs:range urpx:RatePlanModifierVersion ;
    skos:note "Versions must not overlap (except drafts) and should provide continuous coverage." .

urpx:hasRatePlanVersion a owl:ObjectProperty ;
    rdfs:label "Has Rate Plan Version"@en ;
    rdfs:comment "Links rate plan to its temporal versions" ;
    rdfs:domain urpx:RatePlan ;
    rdfs:range urpx:RatePlanVersion ;
    skos:note "Versions must not overlap (except drafts) and should provide continuous coverage." .

urpx:hasSeasons a owl:ObjectProperty ;
    rdfs:label "Has Seasons"@en ;
    rdfs:comment "Seasonal definitions for rate plan or modifier version" ;
    rdfs:domain urpx:PlanElements ;
    rdfs:range urpx:Season ;
    skos:note "Defines seasons once in PlanElements, eliminating redundancy. Seasons are referenced by TimeBrackets via appliesInSeason property. Shared by both rate plan and modifier versions." .

urpx:hasServiceBracket a owl:ObjectProperty ;
    rdfs:label "Has Service Bracket"@en ;
    rdfs:comment "Contextual boundary variants attached to a service tier" ;
    rdfs:domain urpx:ServiceTier ;
    rdfs:range urpx:ServiceBracket ;
    skos:note "Attach one or more ServiceBracket instances to a ServiceTier. Each ServiceBracket carries the actual lower and upper bounds and any optional season or profile-alternative qualifiers." .

urpx:hasServiceClass a owl:ObjectProperty ;
    rdfs:label "Has Service Class"@en ;
    rdfs:comment "Service classes applicable to this rate plan" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:RatePlan urpx:RatePlanModifier ) ] ;
    rdfs:range urpx:ServiceClass ;
    skos:note "Links rate plan to region-specific service class identifiers." .

urpx:hasServicePointProfile a owl:ObjectProperty ;
    rdfs:label "Has Service Point Profile"@en ;
    rdfs:comment "Links scenario to service point profile for physical service delivery characteristics" ;
    rdfs:domain urpx:Scenario ;
    rdfs:range urpx:ServicePointProfile ;
    skos:note "Parallel property with hasCustomerProfile. Evaluates eligibility rules based on physical service point characteristics. Used for rate plan qualification and price selection based on service delivery point attributes." .

urpx:hasServiceTerritory a owl:ObjectProperty ;
    rdfs:label "Applies In Service Territory"@en ;
    rdfs:comment "Links service point profile to service territory geographic scope" ;
    rdfs:domain urpx:ServicePointProfile ;
    rdfs:range urpx:ServiceTerritory ;
    skos:note "Defines utility service territory eligibility and applicability through use in service point profile and within ConditionExpression." .

urpx:hasServiceTier a owl:ObjectProperty ;
    rdfs:label "Has Service Tier"@en ;
    rdfs:comment "Logical service tier definitions for tiered pricing structures" ;
    rdfs:domain urpx:ServiceTiers ;
    rdfs:range urpx:ServiceTier ;
    skos:note "Defines the logical service tiers available within a ServiceTiers container. Actual lower and upper bounds live on ServiceBracket instances attached to each ServiceTier." .

urpx:hasServiceTiers a owl:ObjectProperty ;
    rdfs:label "Has Service Tiers"@en ;
    rdfs:comment "Container for multiple service tier definitions" ;
    rdfs:domain urpx:BillingModel ;
    rdfs:range urpx:ServiceTiers ;
    skos:note "Enables definition of multiple service tiers within a billing model for complex tiered pricing structures." .

urpx:hasState a owl:ObjectProperty ;
    rdfs:label "Applies In State"@en ;
    rdfs:comment "Links service point profile to state-level geographic scope" ;
    rdfs:domain urpx:ServicePointProfile ;
    rdfs:range urpx:State ;
    skos:note "Defines state-level eligibility and applicability through use in service point profile and within ConditionExpression." .

urpx:hasTariffBookReference a owl:ObjectProperty ;
    rdfs:label "Has Tariff Book Reference"@en ;
    rdfs:comment "Links a DataSourceReference to tariff book sections" ;
    rdfs:domain urpx:DataSourceReference ;
    rdfs:range urpx:TariffBookReference ;
    skos:note "Links DataSourceReference to tariff book leaf identifiers." .

urpx:hasTariffPublication a owl:ObjectProperty ;
    rdfs:label "Has Tariff Publication"@en ;
    rdfs:comment "References to formal tariff publications" ;
    rdfs:domain urpx:URPXDocument ;
    rdfs:range urpx:TariffPublication ;
    skos:note "Links to official tariff documents, PDFs, or regulatory filings." .

urpx:hasTariffStatementReference a owl:ObjectProperty ;
    rdfs:label "Has Tariff Statement Reference"@en ;
    rdfs:comment "Links a DataSourceReference to a structured tariff statement filing reference" ;
    rdfs:domain urpx:DataSourceReference ;
    rdfs:range urpx:TariffStatementReference ;
    skos:note "Allows structured provenance and statement type metadata on regulatory filing citations." .

urpx:hasTimeBracket a owl:ObjectProperty ;
    rdfs:label "Has Time Bracket"@en ;
    rdfs:comment "Defines when TOU period applies" ;
    rdfs:domain urpx:TOUPeriod ;
    rdfs:range urpx:TimeBracket ;
    skos:note "Multiple brackets allow complex schedules (e.g., different weekday/weekend times)." .

urpx:hasTOUPeriod a owl:ObjectProperty ;
    rdfs:label "Has TOU Period"@en ;
    rdfs:comment "Links TOU tier to specific time periods" ;
    rdfs:domain urpx:TOUTier ;
    rdfs:range urpx:TOUPeriod ;
    skos:note "Periods within a tier share similar pricing characteristics." .

urpx:hasTOUSchedule a owl:ObjectProperty ;
    rdfs:label "Has TOU Schedule"@en ;
    rdfs:comment "Defines time-of-use pricing schedules" ;
    rdfs:domain urpx:BillingModel ;
    rdfs:range urpx:TOUSchedule ;
    skos:note "Enables multiple TOU schedules per MetricSpecification for clean price referencing." .

urpx:hasTOUTier a owl:ObjectProperty ;
    rdfs:label "Has TOU Tier"@en ;
    rdfs:comment "Links TOU schedule to pricing tiers (peak, mid-peak, off-peak)" ;
    rdfs:domain urpx:TOUSchedule ;
    rdfs:range urpx:TOUTier ;
    skos:note "Tiers organize time-of-use periods by price level for clearer structure." .

urpx:holidayDate a owl:DatatypeProperty ;
    rdfs:label "Holiday Date"@en ;
    rdfs:comment "Specific date for fixed holidays" ;
    rdfs:domain urpx:Holiday ;
    rdfs:range xsd:date ;
    skos:note "Use for holidays with fixed dates (e.g., 2025-01-01)." .

urpx:holidayName a owl:DatatypeProperty ;
    rdfs:label "Holiday Name"@en ;
    rdfs:comment "Name of the holiday" ;
    rdfs:domain urpx:Holiday ;
    rdfs:range xsd:string ;
    skos:note "Human-readable holiday name (e.g., 'New Year's Day')." .

urpx:holidayRule a owl:DatatypeProperty ;
    rdfs:label "Holiday Rule"@en ;
    rdfs:comment "Rule for calculating holiday date" ;
    rdfs:domain urpx:Holiday ;
    rdfs:range xsd:string ;
    skos:note "Use for calculated holidays (e.g., 'third Monday in February')." .

urpx:householdCount a owl:DatatypeProperty ;
    rdfs:label "Household Count"@en ;
    rdfs:comment "Number of households served by this customer account" ;
    rdfs:domain urpx:CustomerProfile ;
    rdfs:range xsd:integer ;
    skos:note "Used for per-household rate calculations and credits like California Climate Credit. Typically 1 for single-family residential, but can be >1 for multi-unit buildings with master-metered service or community solar arrangements. Distinct from householdSize (number of people in household) and occupancyCount (people at premises)." .

urpx:householdSize a owl:DatatypeProperty ;
    rdfs:label "Household Size"@en ;
    rdfs:comment "Number of people in household (HEAP eligibility)" ;
    rdfs:domain urpx:CustomerProfile ;
    rdfs:range xsd:integer ;
    skos:note "Household size for HEAP and other assistance program eligibility. Range typically 1-10+ persons. Privacy-preserving." .

urpx:identifierJurisdiction a owl:DatatypeProperty ;
    rdfs:label "Identifier Jurisdiction"@en ;
    rdfs:comment "Jurisdiction where identifier is valid" ;
    rdfs:domain urpx:OrganizationIdentifier ;
    rdfs:range xsd:string ;
    skos:note "Jurisdiction where identifier is valid. Country or region code." .

urpx:identifierScheme a owl:ObjectProperty ;
    rdfs:label "Identifier Scheme"@en ;
    rdfs:comment "Identification scheme or system (Standard ID systems)" ;
    rdfs:domain urpx:OrganizationIdentifier ;
    rdfs:range urpx:IdentifierSchemeValue ;
    skos:note "Standard ID systems enumeration. Standardized identifier scheme definitions for international systems." .

urpx:identityValidFrom a owl:DatatypeProperty ;
    rdfs:label "Identity Valid From"@en ;
    rdfs:comment "Start date for this identity record" ;
    rdfs:domain urpx:OrganizationIdentity ;
    rdfs:range xsd:dateTime ;
    skos:note "Identity record effective date." .

urpx:identityValidTo a owl:DatatypeProperty ;
    rdfs:label "Identity Valid To"@en ;
    rdfs:comment "End date for this identity record" ;
    rdfs:domain urpx:OrganizationIdentity ;
    rdfs:range xsd:dateTime ;
    skos:note "Identity record expiration date. Null if current identity." .

urpx:includeHolidays a owl:DatatypeProperty ;
    rdfs:label "Includes Holidays"@en ;
    rdfs:comment "Whether this bracket applies on holidays" ;
    rdfs:domain urpx:TimeBracket ;
    rdfs:range xsd:boolean ;
    skos:note "True if bracket applies on holidays, false otherwise." .

urpx:includeNonHolidays a owl:DatatypeProperty ;
    rdfs:label "Includes Non Holidays"@en ;
    rdfs:comment "Whether this bracket applies on non-holidays" ;
    rdfs:domain urpx:TimeBracket ;
    rdfs:range xsd:boolean ;
    skos:note "True if bracket applies on non-holidays, false otherwise." .

urpx:includesPrice a owl:ObjectProperty ;
    rdfs:label "Includes Price"@en ;
    rdfs:comment "Prices included in this summary for aggregation" ;
    rdfs:domain urpx:PriceSummary ;
    rdfs:range urpx:Price ;
    skos:note "AGGREGATION semantics: References prices being summed into this summary total/subtotal. Use for creating totals like 'Total Delivery Prices' from multiple delivery line items. Distinct from basedOnPrice which has CALCULATION INPUT semantics (prices used in formulas). Explicit reference avoids double counting in billing calculations." .

urpx:initialEffectiveDate a owl:DatatypeProperty ;
    rdfs:label "Initial Effective Date"@en ;
    rdfs:comment "Date when this rate plan was first introduced" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:RatePlan urpx:RatePlanModifier ) ] ;
    rdfs:range xsd:date ;
    skos:note "Tracks the original introduction date of the rate plan, independent of version changes." .

urpx:integerValue a owl:DatatypeProperty ;
    rdfs:label "Integer Value"@en ;
    rdfs:comment "Integer literal value used in a condition operand node"@en ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:DatatypeOperandNode urpx:CustomOperandNode ) ] ;
    rdfs:range xsd:integer ;
    skos:note "Integer literal value for condition modeling." .

urpx:interconnectionStatus a owl:ObjectProperty ;
    rdfs:label "Interconnection Status"@en ;
    rdfs:comment "Grid interconnection status" ;
    rdfs:domain urpx:DistributedEnergyResource ;
    rdfs:range urpx:InterconnectionStatusValue ;
    skos:note "DER interconnection status enumeration. with standardized interconnection status definitions for consistent DER rate eligibility across utilities." .

urpx:intervalAlignment a owl:ObjectProperty ;
    rdfs:label "Interval Alignment"@en ;
    rdfs:comment "Defines how the interval time window is anchored (e.g., rolling-to-date, billing-cycle-aligned, calendar-aligned)." ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:BillingCycle urpx:CalculationMethod urpx:MetricSpecification ) ] ;
    rdfs:range urpx:IntervalAlignmentValue ;
    skos:note "Anchors the temporal boundary of the MetricSpecification's measurement period. For instance, billing-period-aligned vs. rolling-aligned." .

urpx:intervalDuration a owl:DatatypeProperty ;
    rdfs:label "Interval Duration"@en ;
    rdfs:comment "ISO 8601 duration for the interval. Primary specification for the time window length." ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:BillingCycle urpx:CalculationMethod urpx:MetricSpecification ) ] ;
    rdfs:range xsd:duration ;
    skos:note "ISO 8601 duration (e.g., P1M, P7D, PT15M). Required property on BillingCycle and MetricSpecification when defining interval for eligibility or calculation. Duration is the primary specification for interval length." .

urpx:intervalSelection a owl:ObjectProperty ;
    rdfs:label "Interval Selection"@en ;
    rdfs:comment "Defines how the time window data is selected or aggregated for the interval (e.g., rolling, consecutive periods, fixed period)." ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:BillingCycle urpx:CalculationMethod urpx:MetricSpecification ) ] ;
    rdfs:range urpx:IntervalSelectionValue ;
    skos:note "Used to define complex lookback periods for MetricSpecification, such as a 'rolling 12-month average' (in combination with intervalDuration P12M) or '3 consecutive months' for eligibility constraints." .

urpx:intervalType a owl:ObjectProperty ;
    rdfs:label "Interval Type"@en ;
    rdfs:comment "Semantic type label for the interval (optional)" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:BillingCycle urpx:CalculationMethod urpx:MetricSpecification ) ] ;
    rdfs:range urpx:IntervalTypeValue ;
    skos:note "Optional semantic label (e.g., monthlyInterval) for human readability. Required only when interval is customInterval." .

urpx:inverterType a owl:ObjectProperty ;
    rdfs:label "Inverter Type"@en ;
    rdfs:comment "Solar inverter type" ;
    rdfs:domain urpx:DistributedEnergyResource ;
    rdfs:range urpx:InverterTypeValue ;
    skos:note "Inverter types: string, micro, power optimizer, central, hybrid. Affects grid interaction and requirements." .

urpx:isCanonical a owl:DatatypeProperty ;
    rdfs:label "Is Canonical"@en ;
    rdfs:comment "Whether this is the official/canonical name" ;
    rdfs:domain urpx:OrganizationName ;
    rdfs:range xsd:boolean ;
    skos:note "Official canonical name designation. Typically the legal registered name." .    

urpx:isCCACustomer a owl:DatatypeProperty ;
    rdfs:label "Is CCA Customer"@en ;
    rdfs:comment "Whether the customer is served by a Community Choice Aggregator" ;
    rdfs:domain urpx:CustomerProfile ;
    rdfs:range xsd:boolean ;
    skos:note "Specifically for California IOU rate plans where CCA customers have different billing components." .

urpx:isCommunitySolarCustomer a owl:DatatypeProperty ;
    rdfs:label "Is Community Solar Customer"@en ;
    rdfs:comment "Whether the customer participates in a community solar program" ;
    rdfs:domain urpx:CustomerProfile ;
    rdfs:range xsd:boolean ;
    skos:note "Enables eligibility and billing calculations for community solar participants." .

urpx:isDefault a owl:DatatypeProperty ;
    rdfs:label "Is Default"@en ;
    rdfs:comment "Indicates this rate plan version is the default selection" ;
    rdfs:domain urpx:RatePlanVersion ;
    rdfs:range xsd:boolean ;
    skos:note "True if this version is the default rate plan version for new or unspecified enrollments." .

urpx:isPreferred a owl:DatatypeProperty ;
    rdfs:label "Is Preferred"@en ;
    rdfs:comment "Whether this name is preferred for display" ;
    rdfs:domain urpx:OrganizationName ;
    rdfs:range xsd:boolean ;
    skos:note "Preferred display name indicator." .

urpx:issuingAuthority a owl:DatatypeProperty ;
    rdfs:label "Issuing Authority"@en ;
    rdfs:comment "Organization that issued or approved the publication" ;
    rdfs:domain urpx:TariffPublication ;
    rdfs:range xsd:string ;
    skos:note "E.g., utility name, public service commission, regulatory agency." .

urpx:leafEnd a owl:DatatypeProperty ;
    rdfs:label "Leaf End"@en ;
    rdfs:comment "Last leaf number in the tariff book for the referenced content" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:TariffBookReference urpx:TariffStatementReference ) ] ;
    rdfs:range xsd:string ;
    skos:note "Leaf numbers may be alphanumeric." .

urpx:leafStart a owl:DatatypeProperty ;
    rdfs:label "Leaf Start"@en ;
    rdfs:comment "First leaf number in the tariff book for the referenced content" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:TariffBookReference urpx:TariffStatementReference ) ] ;
    rdfs:range xsd:string ;
    skos:note "Leaf numbers may be alphanumeric (e.g. '2a', 'L-1'). Distinct from PDF page numbers captured in pageStart on DataSourceReference." .

urpx:ledgerType a owl:ObjectProperty ;
    rdfs:label "Ledger Type"@en ;
    rdfs:comment "Type of ledger for billing segregation" ;
    rdfs:domain urpx:Ledger ;
    rdfs:range urpx:LedgerTypeValue ;
    skos:note "Identifies ledger purpose: supply, delivery, transmission, distribution, or bundled." .

urpx:leftOperand a owl:ObjectProperty ;
    rdfs:label "Left Operand"@en ;
    rdfs:comment "Left operand for ordered comparison or nested operation evaluation"@en ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:ComparisonNode urpx:OperationNode ) ] ;
    rdfs:range [ a owl:Class ;
            owl:unionOf ( urpx:DatatypeOperandNode urpx:ObjectOperandNode urpx:CustomOperandNode urpx:OperationNode ) ] ;
    skos:note "Used on ComparisonNode and OperationNode only." .

urpx:legalName a owl:DatatypeProperty ;
    rdfs:label "Legal Name"@en ;
    rdfs:comment "Official legal name of the organization" ;
    rdfs:domain urpx:Organization ;
    rdfs:range xsd:string ;
    skos:note "Official legal utility name including corporate designations (Inc., LLC)." .

urpx:loadProfile a owl:ObjectProperty ;
    rdfs:label "Load Profile"@en ;
    rdfs:comment "Load profile classification" ;
    rdfs:domain urpx:ServicePointProfile ;
    rdfs:range urpx:LoadProfileValue ;
    skos:note "Load characteristics: baseload, peaking, variable, seasonal, intermittent, other. Used for rate plan matching." .

urpx:logicExpression a owl:DatatypeProperty ;
    rdfs:label "Logic Expression"@en ;
    rdfs:comment "Optional textual expression attached to a comparison or boolean operation node"@en ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:ComparisonNode urpx:BooleanOperationNode ) ] ;
    rdfs:range xsd:string ;
    skos:note "Optional node-level expression text. It supplements the structured condition graph and does not replace hasConditionExpression rootNode or operandNodes." .
    
urpx:lowerBound a owl:DatatypeProperty ;
    rdfs:label "Lower Bound"@en ;
    rdfs:comment "Lower threshold value for bracket applicability" ;
    rdfs:domain urpx:ServiceBracket ;
    rdfs:range xsd:decimal ;
    skos:note "Minimum value for this service bracket. Used with lowerBoundOperator to determine boundary comparison logic." .

urpx:lowerBoundOperator a owl:ObjectProperty ;
    rdfs:label "Lower Bound Operator"@en ;
    rdfs:comment "Comparison operator for lower bound evaluation" ;
    rdfs:domain urpx:ServiceBracket ;
    rdfs:range urpx:OperatorValue ;
    skos:note "Use greaterThanOrEqualOperator for inclusive lower bounds or greaterThanOperator for exclusive lower bounds." .

urpx:measurementKind a owl:ObjectProperty ;
    rdfs:label "Measurement Kind"@en ;
    rdfs:comment "Kind of measurement being performed" ;
    rdfs:domain urpx:MetricSpecification ;
    rdfs:range urpx:MeasurementTypeValue ;
    skos:note "Specifies what is being measured: energy, demand, power, current, voltage, powerFactor, frequency, pressure, temperature, volume, or volumetricFlow. Used in MetricSpecification for price measurement specifications." .

urpx:mediaType a owl:ObjectProperty ;
    rdfs:label "Media Type"@en ;
    rdfs:comment "Document media type as published by IANA." ;
    rdfs:domain urpx:DataSourceReference ;
    rdfs:range urpx:MediaTypeValue ;
    skos:note "See https://www.iana.org/assignments/media-types for more information." .

urpx:meterCount a owl:DatatypeProperty ;
    rdfs:label "Meter Count"@en ;
    rdfs:comment "Count of meters at service point" ;
    rdfs:domain urpx:ServicePointProfile ;
    rdfs:range xsd:integer ;
    skos:note "Number of meters installed at service delivery point. Profile characteristic (not meter measurement). Used for per-meter charges and multi-meter service configurations. Can change when meters added/removed." .

urpx:metricInputType a owl:ObjectProperty ;
    rdfs:label "Metric Input Type"@en ;
    rdfs:comment "Type of MetricInput for measurement organization" ;
    rdfs:domain urpx:MetricInput ;
    rdfs:range urpx:MetricInputTypeValue ;
    skos:note "Specifies metricInput type: measured (raw meter data), calculated (derived metrics), profile (profile properties), aggregated (sum of MetricInputs), or virtual (synthetic for billing)." .

urpx:minimumTenure a owl:DatatypeProperty ;
    rdfs:label "Minimum Tenure"@en ;
    rdfs:comment "The minimum duration a customer must remain enrolled in a rate plan, program, or service offering."@en ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:RatePlanVersion urpx:RatePlanModifierVersion urpx:PriorRatePlan urpx:ProgramEnrollment ) ] ;
    rdfs:range xsd:duration ;
    skos:definition "Specifies the minimum contract period or commitment duration required for a rate plan, rate plan modifier, or program, expressed as an ISO 8601 duration (e.g., 'P12M' for 12 months)."@en ;
    skos:example "P12M (12 months), P1Y (1 year), P6M (6 months)"@en .

urpx:modifierCategory a owl:ObjectProperty ;
    rdfs:label "Modifier Category"@en ;
    rdfs:comment "Category of modifier for organization (Business categorization)" ;
    rdfs:domain urpx:RatePlanModifierVersion ;
    rdfs:range urpx:ModifierCategoryValue ;
    skos:note "Business categorization enumeration for rate plan modifier organization. with standardized category definitions." .

urpx:modifierUniqueIdentifier a owl:DatatypeProperty ;
    rdfs:label "Modifier Unique Identifier"@en ;
    rdfs:comment "Unique modifier identifier using alphanumeric and hyphen only" ;
    rdfs:domain urpx:RatePlanModifier ;
    rdfs:range xsd:string ;
    skos:note "Must match pattern ^[A-Z0-9-]+$ for system compatibility." .

urpx:modifierType a owl:ObjectProperty ;
    rdfs:label "Modifier Type"@en ;
    rdfs:comment "Type of rate plan modifier (Utility rate modifiers)" ;
    rdfs:domain urpx:RatePlanModifierVersion ;
    rdfs:range urpx:ModifierTypeValue ;
    skos:note "Utility rate modifiers enumeration for rate plan modifier categorization. with standardized modifier type definitions for consistent rate plan enhancement across utilities." .

urpx:modifierVersionNumber a owl:DatatypeProperty ;
    rdfs:label "Modifier Version Number"@en ;
    rdfs:comment "Modifier version number" ;
    rdfs:domain urpx:RatePlanModifierVersion ;
    rdfs:range xsd:string ;
    skos:note "Semantic versioning for modifier changes." .

urpx:month a owl:DatatypeProperty ;
    rdfs:label "Month"@en ;
    rdfs:comment "Month when this season applies (ISO 8601 gMonth format)" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:Season urpx:ApplicabilityRule ) ] ;
    rdfs:range xsd:gMonth ;
    skos:note "ISO 8601 gMonth format (--01 through --12). Use multiple property values for seasons spanning multiple months. Aligned with iCalendar RFC 5545 BYMONTH pattern. Example: Summer season with three values: --06, --07, --08." .

urpx:multiplier a owl:DatatypeProperty ;
    rdfs:label "Multiplier"@en ;
    rdfs:comment "Multiplication factor for price calculations" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:Price urpx:PriceSet) ] ;
    rdfs:range xsd:decimal ;
    skos:note "Applied to base price or price amount." .

urpx:name a owl:DatatypeProperty ;
    rdfs:label "Name"@en ;
    rdfs:comment "The name of the item" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:GeneralRule urpx:RatePlan urpx:RatePlanVersion urpx:RatePlanModifier urpx:RatePlanModifierVersion urpx:Price urpx:PriceSet urpx:PriceSetAlternatives urpx:PriceDefinition urpx:PriceSummary urpx:TariffPublication urpx:TOUPeriod urpx:URPXDocument urpx:CalculationMethod urpx:MetricInput urpx:Ledger urpx:OrganizationName urpx:ProfileAlternatives urpx:ProfileAlternative urpx:DataSourceReference urpx:EligibilityRule urpx:TOUSchedule urpx:ServiceTier urpx:ServiceTiers urpx:ApplicabilityRule urpx:ApplicabilityGroup urpx:PriceUpdateRule urpx:ConditionExpression urpx:ComparisonNode urpx:RateCase ) ] ;
    rdfs:range xsd:string ;
    skos:note "Human-readable name for entities. Keep concise for display purposes (max 255 chars recommended). Universal naming property used across all entity types." .

urpx:nameType a owl:ObjectProperty ;
    rdfs:label "Name Type"@en ;
    rdfs:comment "Classification of name usage (entity naming)" ;
    rdfs:domain urpx:OrganizationName ;
    rdfs:range urpx:NameTypeValue ;
    skos:note "Entity naming enumeration. Standardized name categorization." .

urpx:nominalVoltage a owl:DatatypeProperty ;
    rdfs:label "Nominal Voltage"@en ;
    rdfs:comment "Nominal service voltage in volts" ;
    rdfs:domain urpx:ServicePointProfile ;
    rdfs:range xsd:decimal ;
    skos:note "Service voltage level in volts. E.g., 120, 240, 480, 13800, 69000. Used for voltage-based rate classification." .

urpx:observanceRule a owl:ObjectProperty ;
    rdfs:label "Observance Rule"@en ;
    rdfs:comment "How the holiday is observed when it falls on weekends (government holiday standards)" ;
    rdfs:domain urpx:Holiday ;
    rdfs:range urpx:ObservanceRuleValue ;
    skos:note "Government holiday standards enumeration for weekend observance rules. with standardized holiday observance handling." .

urpx:observesHoliday a owl:ObjectProperty ;
    rdfs:label "Observes Holiday"@en ;
    rdfs:comment "Specific holidays observed by this rate plan version" ;
    rdfs:domain urpx:RatePlanVersion ;
    rdfs:range urpx:Holiday ;
    skos:note "Enables rate plans to reference specific holidays by name for GUI/API access (option B). Allows selection of subset from calendar. Dates retrieved from holiday calendar for given time series." .

urpx:occupancyCount a owl:DatatypeProperty ;
    rdfs:label "Occupancy Count"@en ;
    rdfs:comment "Number of occupants at premises" ;
    rdfs:domain urpx:CustomerProfile ;
    rdfs:range xsd:integer ;
    skos:note "Count of people residing or working at premises. Profile characteristic (not meter measurement). Used for per-capita rate calculations and assistance program eligibility. Can change as occupancy changes. Privacy-preserving alternative to detailed household composition." .

urpx:operandNodes a owl:ObjectProperty ;
    rdfs:label "Operand Nodes"@en ;
    rdfs:comment "Child condition nodes used by a BooleanOperationNode"@en ;
    rdfs:domain urpx:BooleanOperationNode ;
    rdfs:range [ a owl:Class ;
            owl:unionOf (
                urpx:ConditionNode
                urpx:ComparisonNode
                urpx:BooleanOperationNode
            ) ] ;
    skos:note "AND and OR use two or more operandNodes. NOT uses exactly one operandNode." .

urpx:operatesIn a owl:ObjectProperty ;
    rdfs:label "Operates In"@en ;
    rdfs:comment "Links organization to ISO/RTO markets" ;
    rdfs:domain urpx:Organization ;
    rdfs:range urpx:SystemOperator ;
    skos:note "ISO/RTO wholesale markets where organization operates." .

urpx:operator a owl:ObjectProperty ;
    rdfs:label "Operator"@en ;
    rdfs:comment "References the operator used by a comparison boolean-operation or nested operation node"@en ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf (
                urpx:ComparisonNode
                urpx:BooleanOperationNode
                urpx:OperationNode
            ) ] ;
    rdfs:range [ a owl:Class ;
            owl:unionOf (
                urpx:BooleanOperatorValue
                urpx:OperatorValue
            ) ] ;
    skos:note "Allowed operator subsets are constrained by SHACL for each node type." .

urpx:organizationType a owl:ObjectProperty ;
    rdfs:label "Organization Type"@en ;
    rdfs:comment "Classification of organization type (organization types)" ;
    rdfs:domain urpx:Organization ;
    rdfs:range urpx:OrganizationTypeValue ;
    skos:note "Organization types enumeration. Standardized entity categorization for energy sector systems." .

urpx:ownershipType a owl:ObjectProperty ;
    rdfs:label "Ownership Type"@en ;
    rdfs:comment "Ownership structure of utility (EIA ownership categories)" ;
    rdfs:domain urpx:UtilityOperator ;
    rdfs:range urpx:OwnershipTypeValue ;
    skos:note "EIA ownership categories enumeration. Standardized utility business structure categorization aligned with EIA Form 861 reporting standards." .

urpx:pageReference a owl:DatatypeProperty ;
    rdfs:label "Page Reference"@en ;
    rdfs:comment "Page numbers or sections where rate plan information appears" ;
    rdfs:domain urpx:TariffPublication ;
    rdfs:range xsd:string ;
    skos:note "E.g., 'Pages 15-18', 'Section 3.2', 'Schedule A-1'. Supports PDF extraction." .

urpx:pageEnd a owl:DatatypeProperty ;
    rdfs:label "Page End"@en ;
    rdfs:comment "Ending page number in the source document" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:DataSourceReference urpx:TariffBookReference urpx:TariffStatementReference ) ];
    rdfs:range xsd:integer ;
    skos:note "PDF or document page number. Use leafStart/leafEnd on TariffBookReference for tariff book leaf numbers." .

urpx:pageStart a owl:DatatypeProperty ;
    rdfs:label "Page Start"@en ;
    rdfs:comment "Starting page number in the source document" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:DataSourceReference urpx:TariffBookReference urpx:TariffStatementReference ) ];
    rdfs:range xsd:integer ;
    skos:note "PDF or document page number. Use leafStart/leafEnd on TariffBookReference for tariff book leaf numbers." .

urpx:panelOrientation a owl:ObjectProperty ;
    rdfs:label "Panel Orientation"@en ;
    rdfs:comment "Solar panel orientation" ;
    rdfs:domain urpx:DistributedEnergyResource ;
    rdfs:range urpx:PanelOrientationValue ;
    skos:note "Panel orientations: south, southeast, southwest, east, west, north, tracking, multiple. Affects generation profiles." .

urpx:parentServiceClass a owl:ObjectProperty ;
    rdfs:label "Parent Service Class"@en ;
    rdfs:comment "Parent service class for this rate group" ;
    rdfs:domain urpx:RateGroup ;
    rdfs:range urpx:ServiceClass ;
    skos:note "Links rate group to its containing service class." .

urpx:phaseCodeKind a owl:ObjectProperty ;
    rdfs:label "Phase Code Kind"@en ;
    rdfs:comment "Phase code classification" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:ServicePointProfile urpx:MetricSpecification ) ] ;
    rdfs:range urpx:PhaseCodeKindValue ;
    skos:note "Phase code enumeration with standardized phase code definitions for consistent electrical service classification and measurement specification across utilities." .

urpx:powerRating a owl:DatatypeProperty ;
    rdfs:label "Power Rating"@en ;
    rdfs:comment "Power rating for charging/discharging in kW" ;
    rdfs:domain urpx:DistributedEnergyResource ;
    rdfs:range xsd:decimal ;
    skos:note "Maximum power rating for charging and discharging. Affects grid interaction capabilities." .

urpx:premiseType a owl:ObjectProperty ;
    rdfs:label "Premise Type"@en ;
    rdfs:comment "Type of premise served" ;
    rdfs:domain urpx:ServicePointProfile ;
    rdfs:range urpx:PremiseTypeValue ;
    skos:note "Premise classifications: single family, multi family, office, retail, manufacturing, warehouse, school, hospital, other." .

urpx:priceCurrency a owl:DatatypeProperty ;
    rdfs:label "Price Currency"@en ;
    rdfs:comment "ISO 4217 three-letter currency code" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:Price urpx:PriceDefinition urpx:PriceSet urpx:RatePlan urpx:RatePlanVersion urpx:URPXDocument urpx:RatePlanModifier urpx:RatePlanModifierVersion ) ] ;
    rdfs:range xsd:string ;
    skos:note "URPX Usage: Three-letter ISO 4217 code (e.g., USD, EUR, GBP). Dual-level currency architecture: Document level (RatePlan, RatePlanVersion, URPXDocument)  all prices inherit. Price/PriceSet level for international analysis - explicit currency for cross-currency comparison. Override pattern: Price-level currency takes precedence when both present." .

urpx:priceMatchingKey a owl:DatatypeProperty ;
    rdfs:label "Price Matching Key"@en ;
    rdfs:comment "Key for identifying equivalent prices across alternatives" ;
    rdfs:domain [ a owl:Class ;
        owl:unionOf ( urpx:Price urpx:PriceDefinition urpx:PriceSet urpx:PriceSetAlternatives ) ] ;
    rdfs:range xsd:string ;
    skos:note "Format: {billPortion}:{chargeCategory}:{chargeType}:{measurementType} Example: 'supply:usage:market:energy' Used to group PriceSets into alternatives." .

urpx:priceCeiling a owl:DatatypeProperty ;
    rdfs:label "Price Ceiling"@en ;
    rdfs:comment "Maximum allowed price" ;
    rdfs:domain urpx:DynamicPricing ;
    rdfs:range xsd:decimal ;
    skos:note "Prevents prices from exceeding this threshold." .

urpx:priceFloor a owl:DatatypeProperty ;
    rdfs:label "Price Floor"@en ;
    rdfs:comment "Minimum allowed price" ;
    rdfs:domain urpx:DynamicPricing ;
    rdfs:range xsd:decimal ;
    skos:note "Prevents prices from going below this threshold." .

urpx:priceSource a owl:ObjectProperty ;
    rdfs:label "Price Source"@en ;
    rdfs:comment "Source of dynamic price information (FERC market sources)" ;
    rdfs:domain urpx:DynamicPricing ;
    rdfs:range urpx:PriceSourceValue ;
    skos:note "FERC market sources enumeration for dynamic pricing data sources. with standardized market price source definitions." .

urpx:primaryChargeType a owl:ObjectProperty ;
    rdfs:label "Primary Charge Type"@en ;
    dcterms:description "Required when a charge has multiple chargeType values. Indicates the most important or representative type."@en ;
    rdfs:comment "The primary charge type when multiple types apply"@en ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:Price urpx:PriceDefinition urpx:PriceSet ) ];
    rdfs:range urpx:ChargeTypeValue .

urpx:priority a owl:DatatypeProperty ;
    rdfs:label "Priority"@en ;
    rdfs:comment "Priority for overlapping entities" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:TOUPeriod urpx:PriceUpdateRule urpx:RateCase ) ] ;
    rdfs:range xsd:integer ;
    skos:note "1 = highest priority, higher numbers = lower priority." .

urpx:prorationMethod a owl:DatatypeProperty ;
    rdfs:label "Proration Method"@en ;
    rdfs:comment "Method for prorating prices during partial billing periods" ;
    rdfs:domain urpx:BillingModel ;
    rdfs:range xsd:string ;
    skos:note "Defines how prices are prorated when service starts/ends mid-period. Aligned with schema.org billingDuration pattern for temporal billing allocation." .

urpx:profileMetricProperty a owl:ObjectProperty ;
    rdfs:label "Profile Metric Property"@en ;
    rdfs:domain urpx:MetricInput ;
    rdfs:range rdf:Property ;
    rdfs:comment "IRI reference to the profile property this metric uses" ;
    skos:note "Used when metricInputType is profileMetricInput. Points to properties like urpx:meterCount, urpx:buildingSquareFootage, urpx:voltageLevel. Enables MetricInput to reference profile characteristics for calculations. Required when metricInputType=profileMetricInput)." .

urpx:programName a owl:DatatypeProperty ;
    rdfs:label "Program Name"@en ;
    rdfs:comment "Name of the utility program" ;
    rdfs:domain urpx:ProgramEnrollment ;
    rdfs:range xsd:string ;
    skos:note "E.g., 'Demand Response', 'Green Energy', 'Low Income Assistance'." .

urpx:programType a owl:ObjectProperty ;
    rdfs:label "Program Type"@en ;
    rdfs:comment "Category of utility program" ;
    rdfs:domain urpx:ProgramEnrollment ;
    rdfs:range urpx:ProgramTypeValue ;
    skos:note "Program types enumeration for utility program categorization. with standardized program type definitions." .

urpx:publicationType a owl:ObjectProperty ;
    rdfs:label "Publication Type"@en ;
    rdfs:comment "Type of tariff publication document (Regulatory document types)" ;
    rdfs:domain urpx:TariffPublication ;
    rdfs:range urpx:PublicationTypeValue ;
    skos:note "Regulatory document types enumeration for tariff publication categorization. with standardized publication type definitions." .

urpx:publishedBy a owl:ObjectProperty ;
    rdfs:label "Published By"@en ;
    rdfs:comment "Organization that publishes this rate plan version or rate plan modifier version" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:RatePlanVersion urpx:RatePlanModifierVersion ) ] ;
    rdfs:range urpx:Organization ;
    skos:note "Links rate plan version and rate plan modifier version to publishing organization. Enables organization-level properties (utilityId, officialName, displayName) to be referenced rather than duplicated. Organizations published as separate URPXDocument instances for modularity." .

urpx:publishes a owl:ObjectProperty ;
    rdfs:label "Publishes"@en ;
    rdfs:comment "Links organization to rate plans it publishes" ;
    rdfs:domain urpx:Organization ;
    rdfs:range urpx:RatePlan ;
    skos:note "Rate plans published by organization." .

urpx:ratedPowerCapacity a owl:DatatypeProperty ;
    rdfs:label "Rated Power Capacity"@en ;
    rdfs:comment "Rated power capacity in kW" ;
    rdfs:domain urpx:ServicePointProfile ;
    rdfs:range xsd:decimal ;
    skos:note "Maximum rated power capacity of the service connection. Used for capacity-based rate eligibility." .

urpx:rateGroupIdentifier a owl:DatatypeProperty ;
    rdfs:label "Rate Group Identifier"@en ;
    rdfs:comment "Unique identifier for the rate group" ;
    rdfs:domain urpx:RateGroup ;
    rdfs:range xsd:string ;
    skos:note "E.g., 'SC2-RATE-I', 'SC2-RATE-II' for system processing." .

urpx:rateGroupName a owl:DatatypeProperty ;
    rdfs:label "Rate Group Name"@en ;
    rdfs:comment "Human-readable name for the rate group" ;
    rdfs:domain urpx:RateGroup ;
    rdfs:range xsd:string ;
    skos:note "E.g., 'Rate I', 'Rate II' as used in regulatory filings." .

urpx:ratePlanUniqueIdentifier a owl:DatatypeProperty ;
    rdfs:label "Rate Plan Unique Identifier"@en ;
    rdfs:comment "Unique rate plan identifier using alphanumeric and hyphen only" ;
    rdfs:domain urpx:RatePlan ;
    rdfs:range xsd:string ;
    skos:note "Must match pattern ^[A-Z0-9-]+$ for system compatibility." .

urpx:referencesGeneralRule a owl:ObjectProperty ;
    rdfs:label "References General Rule"@en ;
    rdfs:comment "References a general rule applicable to this rate plan version or modifier version" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:RatePlanVersion urpx:RatePlanModifierVersion ) ] ;
    rdfs:range urpx:GeneralRule ;
    skos:note "Links a versioned rate plan or modifier to one or more tariff book-level general rules that apply to it." .

urpx:referencesLedger a owl:ObjectProperty ;
    rdfs:label "References Ledger"@en ;
    rdfs:comment "Links a PriceDefinition to its associated Ledger." ;
    rdfs:domain urpx:PriceDefinition ;
    rdfs:range urpx:Ledger ;
    skos:note "Required on every PriceDefinition. Cardinality enforced to exactly one via SHACL." .

urpx:referencesMetricInput a owl:ObjectProperty ;
    rdfs:label "References Metric Input"@en ;
    rdfs:comment "Links to metric inputs for measurement and profile metric input definitions" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:AlternativeDimension urpx:Ledger urpx:TOUSchedule urpx:ServiceTiers urpx:Price urpx:PriceDefinition urpx:PriceSet urpx:ObjectOperandNode urpx:DatatypeOperandNode urpx:CustomOperandNode ) ] ;
    rdfs:range urpx:MetricInput ;
    skos:note "Many-to-many relationship between ledgers/TOU schedules/service tiers and MetricInputs. Ledgers reference MetricInputs rather than containing them. TOU schedules link to the metric input they apply to. In the condition model, ObjectOperandNode may use referencesMetricInput directly. DatatypeOperandNode and CustomOperandNode may use referencesMetricInput only on branches that also carry exactly one datatype-specific literal value property." .

urpx:referencesPriceDefinition a owl:ObjectProperty ;
    rdfs:label "References Price Definition"@en ;
    rdfs:comment "IRI reference linking a Price, PriceSet, or PriceSetAlternative instance to its PriceDefinition" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:Price urpx:PriceSet urpx:PriceSetAlternative ) ] ;
    rdfs:range urpx:PriceDefinition ;
    skos:note "IRI-based reference from Price, PriceSet, or PriceSetAlternative to PriceDefinition. PriceDefinitions are owned at the BillingModel level via hasPriceDefinition; use referencesLedger on PriceDefinition to determine ledger association. Supports n:1 relationship between Price instances and their price definition." .

urpx:referencesProfileAlternative a owl:ObjectProperty ;
    rdfs:label "References Profile Alternative"@en ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:PriceSetAlternative urpx:PriceDefinition urpx:TOUSchedule urpx:ServiceTiers urpx:ServiceBracket ) ] ;
    rdfs:range urpx:ProfileAlternative ;
    rdfs:comment "IRI reference linking pricing, schedule, or tier resources to their applicable ProfileAlternative." ;
    skos:note "Use on PriceSetAlternative, PriceDefinition, TOUSchedule, ServiceTiers, or ServiceBracket to scope applicability to a specific ProfileAlternative. ServiceBracket uses this property for profile-specific boundary variants." .

urpx:referencesProfileAlternatives a owl:ObjectProperty ;
    rdfs:label "References Profile Alternatives"@en ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:PriceSetAlternatives urpx:PriceDefinition ) ] ;
    rdfs:range urpx:ProfileAlternatives ;
    rdfs:comment "Links price set alternatives or price definition container to the profile alternatives definition." ;
    skos:note "Each PriceSetAlternatives must reference exactly one ProfileAlternatives. Each contained PriceSetAlternative must reference a ProfileAlternative from this ProfileAlternatives." .

urpx:referencesRatePlan a owl:ObjectProperty ;
    rdfs:label "References Rate Plan"@en ;
    rdfs:comment "Links prior rate plan to the actual rate plan" ;
    rdfs:domain urpx:PriorRatePlan ;
    rdfs:range urpx:RatePlan ;
    skos:note "References the rate plan customer was previously enrolled in." .

urpx:referencesServiceBracket a owl:ObjectProperty ;
    rdfs:label "References Service Bracket"@en ;
    rdfs:comment "IRI reference to an exact service bracket for price application" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:Price urpx:PriceDefinition urpx:PriceSet urpx:PriceSetAlternative ) ] ;
    rdfs:range urpx:ServiceBracket ;
    skos:note "Optional direct reference to the exact ServiceBracket that a Price, PriceDefinition, or PriceSet uses. May be carried alongside serviceTierNumber or referencesServiceTier as a consistency check, but is not required." .

urpx:referencesServiceTier a owl:ObjectProperty ;
    rdfs:label "References Service Tier"@en ;
    rdfs:comment "IRI reference to a logical service tier for price application" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:Price urpx:PriceDefinition urpx:PriceSet urpx:PriceSetAlternative ) ] ;
    rdfs:range urpx:ServiceTier ;
    skos:note "IRI-based reference to the logical ServiceTier instance. Use when direct tier dereferencing is helpful. Actual lower and upper bounds are carried by attached ServiceBracket instances." .

urpx:referencesTouPeriod a owl:ObjectProperty ;
    rdfs:label "References TOU Period"@en ;
    rdfs:comment "IRI reference to TOU period for price application" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:Price urpx:PriceDefinition urpx:PriceSet ) ] ;
    rdfs:range urpx:TOUPeriod ;
    skos:note "IRI-based reference to TOUPeriod instance defined in MetricInput. Enables direct dereferencing for period metadata including time brackets and multipliers." .

urpx:referencesValue a owl:ObjectProperty ;
    rdfs:label "References Value"@en ;
    rdfs:comment "IRI reference to an object or enumeration value used by an object operand node"@en ;
    rdfs:domain urpx:ObjectOperandNode ;
    rdfs:range owl:Thing ;
    skos:note "IRI-based value slot for object-property and enumeration comparisons in condition modeling." .

urpx:regulatoryApproval a owl:DatatypeProperty ;
    rdfs:label "Regulatory Approval"@en ;
    rdfs:comment "Reference to regulatory approval document" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:OrganizationEvent urpx:OrganizationTransition ) ] ;
    rdfs:range xsd:string ;
    skos:note "Regulatory approval document reference. E.g., FERC order number, PUC docket." .

urpx:regulatoryScope a owl:ObjectProperty ;
    rdfs:label "Regulatory Scope"@en ;
    rdfs:comment "Scope of regulatory oversight (regulatory functions)" ;
    rdfs:domain urpx:RegulatoryAuthority ;
    rdfs:range urpx:RegulatoryScopeValue ;
    skos:note "Regulatory functions enumeration. Standardized regulatory authority categorization for energy systems." .

urpx:rightOperand a owl:ObjectProperty ;
    rdfs:label "Right Operand"@en ;
    rdfs:comment "Right operand for ordered comparison or nested operation evaluation"@en ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:ComparisonNode urpx:OperationNode ) ] ;
    rdfs:range [ a owl:Class ;
            owl:unionOf ( urpx:DatatypeOperandNode urpx:ObjectOperandNode urpx:CustomOperandNode urpx:OperationNode ) ] ;
    skos:note "Used on ComparisonNode and OperationNode only." .

urpx:rootNode a owl:ObjectProperty ;
    rdfs:label "Root Node"@en ;
    rdfs:comment "Points from a ConditionExpression to its single root ConditionNode"@en ;
    rdfs:domain urpx:ConditionExpression ;
    rdfs:range [ a owl:Class ;
            owl:unionOf (
                urpx:ConditionNode
                urpx:ComparisonNode
                urpx:BooleanOperationNode
            ) ] ;
    skos:note "Exactly one rootNode is present on each ConditionExpression." .

urpx:roundTripEfficiency a owl:DatatypeProperty ;
    rdfs:label "Round Trip Efficiency"@en ;
    rdfs:comment "Round trip efficiency as percentage" ;
    rdfs:domain urpx:DistributedEnergyResource ;
    rdfs:range xsd:decimal ;
    skos:note "Battery round trip efficiency (0-100%). Affects economic calculations for storage rates." .

urpx:seasonalPattern a owl:ObjectProperty ;
    rdfs:label "Seasonal Pattern"@en ;
    rdfs:comment "Seasonal usage pattern classification" ;
    rdfs:domain urpx:ServicePointProfile ;
    rdfs:range urpx:SeasonalPatternValue ;
    skos:note "Usage patterns enumeration for seasonal usage classification. with standardized seasonal pattern definitions." .

urpx:seasonName a owl:DatatypeProperty ;
    rdfs:label "Season Name"@en ;
    rdfs:comment "Name for this season" ;
    rdfs:domain urpx:Season ;
    rdfs:range xsd:string ;
    skos:note "E.g., 'Summer', 'Winter', 'Peak Season'. Human-readable identifier for season." .

urpx:serviceClassCleaned a owl:DatatypeProperty ;
    rdfs:label "Service Class Cleaned"@en ;
    rdfs:comment "Cleaned alphanumeric service class identifier" ;
    rdfs:domain urpx:ServiceClass ;
    rdfs:range xsd:string ;
    skos:note "Normalized format for system processing." .

urpx:serviceClassName a owl:DatatypeProperty ;
    rdfs:label "Service Class Name"@en ;
    rdfs:comment "Human-readable service class name" ;
    rdfs:domain urpx:ServiceClass ;
    rdfs:range xsd:string ;
    skos:note "Descriptive name for the service class." .

urpx:serviceClassPattern a owl:DatatypeProperty ;
    rdfs:label "Service Class Pattern"@en ;
    rdfs:comment "Service class pattern for applicability and eligibility matching" ;
    rdfs:domain urpx:ServicePointProfile ;
    rdfs:range xsd:string ;
    skos:note "Supports regex patterns like 'SC 1 Rate II' or 'SC [1-3] Rate.*'." .

urpx:serviceClassRaw a owl:DatatypeProperty ;
    rdfs:label "Service Class Raw"@en ;
    rdfs:comment "Raw service class identifier as published in tariff" ;
    rdfs:domain urpx:ServiceClass ;
    rdfs:range xsd:string ;
    skos:note "Original format from utility tariff book." .

urpx:serviceRole a owl:ObjectProperty ;
    rdfs:label "Service Role"@en ;
    rdfs:comment "Service role for rate plan (distribution/retail/bundled)" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:RatePlanVersion urpx:RatePlanModifierVersion urpx:EnergyServiceProvider urpx:PriorRatePlan ) ] ;
    rdfs:range urpx:ServiceRoleValue ;
    skos:note "Service roles: distribution, retail, bundled. Indicates the utility's role in service delivery." .

urpx:serviceTierNumber a owl:DatatypeProperty ;
    rdfs:label "Service Tier Number"@en ;
    rdfs:comment "Integer reference to the logical service tier" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:Price urpx:PriceDefinition urpx:PriceSet urpx:PriceSetAlternative urpx:ServiceTier ) ] ;
    rdfs:range xsd:integer ;
    skos:note "Integer-based logical tier identifier. A price may use serviceTierNumber alone when the matching ServiceTiers container and ServiceBracket are derived through metric-input and contextual matching." .

urpx:settlementInterval a owl:DatatypeProperty ;
    rdfs:label "Settlement Interval"@en ;
    rdfs:comment "Period over which ledger balances are settled" ;
    rdfs:domain urpx:Ledger ;
    rdfs:range xsd:duration ;
    skos:note "Enables multi-period accumulation. Example: P12M for NBT 12-month true-up. ISO 8601 duration format." .

urpx:smartChargingEnabled a owl:DatatypeProperty ;
    rdfs:label "Smart Charging Enabled"@en ;
    rdfs:comment "Smart charging capability enabled" ;
    rdfs:domain urpx:DistributedEnergyResource ;
    rdfs:range xsd:boolean ;
    skos:note "Whether managed charging, vehicle-to-grid, or time-of-use charging is supported. Enables smart charging rates." .

urpx:solarCapacity a owl:DatatypeProperty ;
    rdfs:label "Solar Capacity"@en ;
    rdfs:comment "Solar generation capacity in kW" ;
    rdfs:domain urpx:DistributedEnergyResource ;
    rdfs:range xsd:decimal ;
    skos:note "Installed solar photovoltaic capacity. Used for net metering and solar-specific rates." .

urpx:specialNeedsStatus a owl:ObjectProperty ;
    rdfs:label "Special Needs Status"@en ;
    rdfs:comment "Special needs classification" ;
    rdfs:domain urpx:CustomerProfile ;
    rdfs:range urpx:SpecialNeedsStatusValue ;
    skos:note "Special needs: medical equipment, disability accommodation, life support, vulnerable customer, none. Affects rate eligibility and service priority." .

urpx:startTime a owl:DatatypeProperty ;
    rdfs:label "Start Time"@en ;
    rdfs:comment "Start time for this bracket" ;
    rdfs:domain urpx:TimeBracket ;
    rdfs:range xsd:time ;
    skos:note "24-hour format (e.g., 09:00:00). Timezone context inherited from parent TOUSchedule's timeZone property for proper temporal alignment." .

urpx:startDate a owl:DatatypeProperty ;
    rdfs:label "Start Date"@en ;
    rdfs:comment "The start date and time of the item (in ISO 8601 date format)" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:Price urpx:PriceSet urpx:TOUPeriod urpx:BillingCycle urpx:Season ) ] ;
    rdfs:range xsd:date ;
    skos:note "Represents when prices and pricing structures begin applying to customers." .

urpx:startDateTime a owl:DatatypeProperty ;
    rdfs:label "Start Date"@en ;
    rdfs:comment "The start date and time of the item (in ISO 8601 date format)" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:Price urpx:PriceSet urpx:TOUPeriod urpx:BillingCycle urpx:Season ) ] ;
    rdfs:range xsd:dateTime ;
    skos:note "Represents when prices and pricing structures begin applying to customers." .

urpx:storageCapacity a owl:DatatypeProperty ;
    rdfs:label "Storage Capacity"@en ;
    rdfs:comment "Energy storage capacity in kWh" ;
    rdfs:domain urpx:DistributedEnergyResource ;
    rdfs:range xsd:decimal ;
    skos:note "Battery storage capacity. Used for storage-specific rates and grid services." .

urpx:stringValue a owl:DatatypeProperty ;
    rdfs:label "String Value"@en ;
    rdfs:comment "String literal value used in a condition operand node"@en ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:DatatypeOperandNode urpx:CustomOperandNode ) ] ;
    rdfs:range xsd:string ;
    skos:note "String literal value for condition modeling." .

urpx:summaryAmount a owl:DatatypeProperty ;
    rdfs:label "Summary Amount"@en ;
    rdfs:comment "Calculated total value for this summary" ;
    rdfs:domain urpx:PriceSummary ;
    rdfs:range xsd:decimal ;
    skos:note "Total amount calculated by summing all prices referenced via includesPrice. For aggregation summaries, this equals sum of included price amounts. For calculation-based summaries using basedOnPrice, this equals formula result. Currency inherited from parent PriceSet or document level." .

urpx:supersedes a owl:ObjectProperty ;
    rdfs:label "Supersedes"@en ;
    rdfs:comment "References the previous version this one replaces" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:RatePlanVersion urpx:RatePlanModifierVersion ) ] ;
    rdfs:range [ a owl:Class ;
            owl:unionOf ( urpx:RatePlanVersion urpx:RatePlanModifierVersion ) ] ;
    skos:note "Creates version chain for audit trail. Superseded version should end when this begins. Rate plan versions can supersede other rate plan versions, and modifier versions can supersede other modifier versions." .

urpx:targetURPXVersion a owl:DatatypeProperty ;
    rdfs:label "Target URPX Version"@en ;
    rdfs:domain urpx:URPXDocument ;
    rdfs:range xsd:anyURI ;
    rdfs:comment "The URPX ontology version this document was authored against." ;
    skos:note "Required on all URPXDocument instances. Enables version-aware parsing and validation. Value should be the ontology version IRI, e.g. 'https://github.com/urpx-org/urpx/raw/v0.2.0/ontology/urpx-ontology.ttl'." .

urpx:tariffStatementType a owl:ObjectProperty ;
    rdfs:label "Tariff Statement Type"@en ;
    rdfs:comment "Type of regulatory statement filing (PSC statement types)" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:TariffStatementDocument urpx:TariffStatementReference ) ] ;
    rdfs:range urpx:TariffStatementTypeValue ;
    skos:note "PSC statement types enumeration for regulatory statement categorization. with standardized statement type definitions." .

urpx:taxExemptStatus a owl:ObjectProperty ;
    rdfs:label "Tax Exempt Status"@en ;
    rdfs:comment "Tax exemption status" ;
    rdfs:domain urpx:CustomerProfile ;
    rdfs:range urpx:TaxExemptStatusValue ;
    skos:note "Tax exemption classifications: exempt, non-exempt, partial exempt, pending verification. Used for tax-based rate eligibility." .

urpx:tierSourceName a owl:DatatypeProperty ;
    rdfs:label "Tier Source Name"@en ;
    rdfs:comment "Utility's original name for this tier" ;
    rdfs:domain urpx:TOUTier ;
    rdfs:range xsd:string ;
    skos:note "Preserves utility's terminology for reference and mapping." .

urpx:timeValue a owl:DatatypeProperty ;
    rdfs:label "Time Value"@en ;
    rdfs:comment "Time literal value used in a condition operand node"@en ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:DatatypeOperandNode urpx:CustomOperandNode ) ] ;
    rdfs:range xsd:time ;
    skos:note "Time literal value for condition modeling." .

urpx:timezoneIdentifier a owl:DatatypeProperty ;
    rdfs:label "Timezone Identifier"@en ;
    rdfs:comment "IANA timezone identifier for this location dataset" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:LocationDataSet urpx:URPXDocument urpx:RatePlan urpx:RatePlanModifier ) ] ;
    rdfs:range xsd:string ;
    skos:note "Standard IANA timezone identifier (e.g., 'America/New_York'). Used for temporal calculations and DST handling." .

urpx:touPeriodNumber a owl:DatatypeProperty ;
    rdfs:label "TOU Period Number"@en ;
    rdfs:comment "Integer reference to TOU period ID for price application" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:Price urpx:PriceDefinition urpx:PriceSet urpx:TOUPeriod ) ] ;
    rdfs:range xsd:integer ;
    skos:note "Integer-based reference to TOUPeriod via its unique touPeriodNumber. Must be unique across entire schedule for unambiguous period identification." .

urpx:touTierNumber a owl:DatatypeProperty ;
    rdfs:label "TOU Tier Number"@en ;
    rdfs:comment "Tier number in descending price order (1=highest price)" ;
    rdfs:domain urpx:TOUTier ;
    rdfs:range xsd:integer ;
    skos:note "1 = highest price tier (peak), higher numbers = lower prices." .

urpx:touTierStandardName a owl:ObjectProperty ;
    rdfs:label "TOU Tier Standard Name"@en ;
    rdfs:comment "Standard TOU tier type name for time-of-use pricing tiers" ;
    rdfs:domain urpx:TOUTier ;
    rdfs:range urpx:TOUTierStandardNameValue ;
    skos:note "Industry standard TOU tier terminology enumeration. with standardized tier naming for consistent time-of-use operations across utilities." .

urpx:unitOfMeasure a owl:ObjectProperty ;
    rdfs:label "Unit of Measure"@en ;
    rdfs:comment "Industry-standard unit of measure specification" ;
    rdfs:domain urpx:MetricSpecification ;
    rdfs:range urpx:UnitOfMeasureValue ;
    skos:note "Unit of measure enumeration covering energy, demand, volume, weight, area, time, and other measurement units. Property used in MetricSpecification for price measurement specifications, with comprehensive utility industry coverage." .

urpx:unitPrice a owl:DatatypeProperty ;
    rdfs:label "Unit Price"@en ;
    rdfs:comment "Price per unit of consumption" ;
    rdfs:domain urpx:Price ;
    rdfs:range xsd:decimal ;
    skos:note "Per-unit pricing for usage-based prices. Use with unit property to specify pricing basis." .

urpx:updateFrequency a owl:ObjectProperty ;
    rdfs:label "Update Frequency"@en ;
    rdfs:comment "How frequently dynamic prices are updated (ISO 8601 intervals)" ;
    rdfs:domain urpx:DynamicPricing ;
    rdfs:range urpx:UpdateFrequencyValue ;
    skos:note "ISO 8601 interval enumeration for dynamic pricing update frequency. with standardized temporal interval definitions." .

urpx:upperBound a owl:DatatypeProperty ;
    rdfs:label "Upper Bound"@en ;
    rdfs:comment "Upper threshold value for bracket applicability" ;
    rdfs:domain urpx:ServiceBracket ;
    rdfs:range xsd:decimal ;
    skos:note "Maximum value for this service bracket. Used with upperBoundOperator to determine boundary comparison logic." .

urpx:upperBoundOperator a owl:ObjectProperty ;
    rdfs:label "Upper Bound Operator"@en ;
    rdfs:comment "Comparison operator for upper bound evaluation" ;
    rdfs:domain urpx:ServiceBracket ;
    rdfs:range urpx:OperatorValue ;
    skos:note "Use lessThanOrEqualOperator for inclusive upper bounds or lessThanOperator for exclusive upper bounds." .

urpx:url a owl:DatatypeProperty ;
    rdfs:label "URL"@en ;
    rdfs:comment "URL of the item" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:TariffPublication urpx:URPXDocument urpx:RatePlan urpx:RatePlanVersion urpx:RatePlanModifier urpx:RatePlanModifierVersion urpx:DataSourceReference urpx:ProgramEnrollment urpx:RateCase ) ] ;
    rdfs:range xsd:anyURI ;
    skos:note "Direct link to PDF, HTML, or other document format." .

urpx:usageThreshold a owl:DatatypeProperty ;
    rdfs:label "Usage Threshold"@en ;
    rdfs:comment "Annual usage threshold in kWh" ;
    rdfs:domain urpx:CustomerProfile ;
    rdfs:range xsd:decimal ;
    skos:note "Used for usage-based rate eligibility." .

urpx:usageVariability a owl:DatatypeProperty ;
    rdfs:label "Usage Variability"@en ;
    rdfs:comment "Usage variability coefficient" ;
    rdfs:domain urpx:ServicePointProfile ;
    rdfs:range xsd:decimal ;
    skos:note "Statistical measure of usage pattern consistency for service point profile." .

urpx:utilityId a owl:DatatypeProperty ;
    rdfs:label "Utility ID"@en ;
    rdfs:comment "Utility identifier as defined by the implementing jurisdiction" ;
    rdfs:domain urpx:OrganizationIdentifier ;
    rdfs:range xsd:string ;
    rdfs:subPropertyOf urpx:identifierValue ;
    skos:note "Generic utility identifier property. Each URPX implementation specifies the identifier system used (e.g., US EIA ID, UK MPAN, EU EIC code). For standard identifier types, use identifierScheme to specify the system." ;
    skos:example "US: EIA-12345, UK: S12345678901, EU: 12X-UTILITY-A" .

urpx:version a owl:DatatypeProperty ;
    rdfs:label "Version"@en ;
    rdfs:comment "The version of the CreativeWork embodied by a specified resource" ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( urpx:RatePlanVersion urpx:RatePlan urpx:RatePlanModifier urpx:RatePlanModifierVersion urpx:TariffPublication urpx:URPXDocument ) ] ;
    rdfs:range xsd:string ;
    skos:note "Semantic versioning format recommended for rate plan changes." .

urpx:voltageLevel a owl:ObjectProperty ;
    rdfs:label "Voltage Level"@en ;
    rdfs:comment "Service voltage level classification for service point profiles" ;
    rdfs:domain urpx:ServicePointProfile ;
    rdfs:range urpx:VoltageLevelValue ;
    skos:note "Voltage level enumeration used for service point voltage specification (ServicePointProfile) and price applicability rules (through ConditionExpression on ApplicabilityRule or ApplicabilityGroup). Standardized voltage class definitions enable consistent voltage-based rate application across utilities." .

urpx:windCapacity a owl:DatatypeProperty ;
    rdfs:label "Wind Capacity"@en ;
    rdfs:comment "Wind generation capacity in kW" ;
    rdfs:domain urpx:DistributedEnergyResource ;
    rdfs:range xsd:decimal ;
    skos:note "Small wind turbine capacity. Used for wind-specific rates and interconnection requirements." .


urpx:yearlyRecurrence a owl:DatatypeProperty ;
    rdfs:label "Yearly Recurrence"@en ;
    rdfs:comment "Whether this season recurs yearly" ;
    rdfs:domain urpx:Season ;
    rdfs:range xsd:boolean ;
    skos:note "True for annual patterns, false for one-time seasons. Enables seasonal rate structures that repeat annually." .





# ==================================================================================
#  ****************    ENUMERATION INSTANCES GROUPED BY PROPERTY    ****************
# ==================================================================================


# --- Accumulation Method Property (AccumulationValue) ---

urpx:bulk rdf:type urpx:AccumulationValue ;
    rdfs:label "Bulk"@en ;
    skos:definition "Bulk accumulation - cumulative total quantity" ;
    skos:prefLabel "Bulk" .

urpx:delta rdf:type urpx:AccumulationValue ;
    rdfs:label "Delta"@en ;
    skos:definition "Delta accumulation - difference since last reading" ;
    skos:prefLabel "Delta" .

urpx:instantaneous rdf:type urpx:AccumulationValue ;
    rdfs:label "Instantaneous"@en ;
    skos:definition "Instantaneous value - snapshot at specific moment" ;
    skos:prefLabel "Instantaneous" .

urpx:summation rdf:type urpx:AccumulationValue ;
    rdfs:label "Summation"@en ;
    skos:definition "Summation accumulation - sum over period" ;
    skos:prefLabel "Summation" .


# --- Aggregation Method Property (AggregationMethodValue) ---

urpx:average rdf:type urpx:AggregationMethodValue ;
    rdfs:label "Average"@en ;
    skos:definition "Average (mean) value over measurement interval" ;
    skos:prefLabel "Average" .

urpx:maximum rdf:type urpx:AggregationMethodValue ;
    rdfs:label "Maximum"@en ;
    skos:definition "Maximum (peak) value over measurement interval" ;
    skos:prefLabel "Maximum" .

urpx:median rdf:type urpx:AggregationMethodValue ;
    rdfs:label "Median"@en ;
    skos:definition "Median (middle) value over measurement interval" ;
    skos:prefLabel "Median" .

urpx:minimum rdf:type urpx:AggregationMethodValue ;
    rdfs:label "Minimum"@en ;
    skos:definition "Minimum (lowest) value over measurement interval" ;
    skos:prefLabel "Minimum" .

urpx:sum rdf:type urpx:AggregationMethodValue ;
    rdfs:label "Sum"@en ;
    skos:definition "Sum (total) value over measurement interval" ;
    skos:prefLabel "Sum" .


# --- Annual Income Range Property (AnnualIncomeRangeValue) ---

urpx:highIncome rdf:type urpx:AnnualIncomeRangeValue ;
    rdfs:label "High Income"@en ;
    skos:definition "High income range - typically above 200% of area median income" ;
    skos:prefLabel "High Income" .
urpx:lowIncome rdf:type urpx:AnnualIncomeRangeValue ;
    rdfs:label "Low Income"@en ;
    skos:definition "Low income range - typically 50-80% of area median income" ;
    skos:prefLabel "Low Income" .
urpx:middleIncome rdf:type urpx:AnnualIncomeRangeValue ;
    rdfs:label "Middle Income"@en ;
    skos:definition "Middle income range - typically 120-200% of area median income" ;
    skos:prefLabel "Middle Income" .
urpx:moderateIncome rdf:type urpx:AnnualIncomeRangeValue ;
    rdfs:label "Moderate Income"@en ;
    skos:definition "Moderate income range - typically 80-120% of area median income" ;
    skos:prefLabel "Moderate Income" .
urpx:veryLowIncome rdf:type urpx:AnnualIncomeRangeValue ;
    rdfs:label "Very Low Income"@en ;
    skos:definition "Very low income range - typically below 50% of area median income" ;
    skos:prefLabel "Very Low Income" .


# --- Assistance Eligibility Level Property (AssistanceEligibilityLevelValue) ---

urpx:notQualifiedAssistance rdf:type urpx:AssistanceEligibilityLevelValue ;
    rdfs:label "Not Qualified Assistance"@en ;
    skos:definition "Customer does not qualify for assistance program benefits" ;
    skos:prefLabel "Not Qualified" .
urpx:provisionallyQualifiedAssistance rdf:type urpx:AssistanceEligibilityLevelValue ;
    rdfs:label "Provisionally Qualified Assistance"@en ;
    skos:definition "Customer provisionally qualifies pending verification" ;
    skos:prefLabel "Provisionally Qualified" .
urpx:qualifiedAssistance rdf:type urpx:AssistanceEligibilityLevelValue ;
    rdfs:label "Qualified Assistance"@en ;
    skos:definition "Customer qualifies for assistance program benefits" ;
    skos:prefLabel "Qualified" .
urpx:underReviewAssistance rdf:type urpx:AssistanceEligibilityLevelValue ;
    rdfs:label "Under Review Assistance"@en ;
    skos:definition "Customer assistance eligibility application under review" ;
    skos:prefLabel "Under Review" .


# --- Bill Portion Property (BillPortionValue) ---

urpx:bundledPortion rdf:type urpx:BillPortionValue ;
    rdfs:label "Bundled Portion"@en ;
    skos:definition "Combined delivery and supply charges not separately stated"@en ;
    skos:example "All-in rates, bundled service charges"@en .

urpx:deliveryPortion rdf:type urpx:BillPortionValue ;
    rdfs:label "Delivery Portion"@en ;
    skos:definition "Charges for delivering energy to the customer"@en ;
    skos:example "Distribution charges, transmission charges, delivery fees"@en .

urpx:supplyPortion rdf:type urpx:BillPortionValue ;
    rdfs:label "Supply Portion"@en ;
    skos:definition "Charges for energy commodity and generation"@en ;
    skos:example "Generation charges, energy charges, capacity charges"@en .


# --- Change Reason Property (ChangeReasonValue) ---

urpx:changeReasonOther rdf:type urpx:ChangeReasonValue ;
    rdfs:label "Other Change Reason"@en ;
    skos:definition "Other change reason not specifically categorized" ;
    skos:prefLabel "Other" .

urpx:correction rdf:type urpx:ChangeReasonValue ;
    rdfs:label "Correction"@en ;
    skos:definition "Correction of error in previous filing" ;
    skos:prefLabel "Correction" .

urpx:fuelAdjustment rdf:type urpx:ChangeReasonValue ;
    rdfs:label "Fuel Adjustment"@en ;
    skos:definition "Change due to fuel cost adjustment mechanism" ;
    skos:prefLabel "Fuel Adjustment" .

urpx:initial rdf:type urpx:ChangeReasonValue ;
    rdfs:label "Initial"@en ;
    skos:definition "Initial rate plan filing - first version of a new rate" ;
    skos:prefLabel "Initial" .

urpx:rateCase rdf:type urpx:ChangeReasonValue ;
    rdfs:label "Rate Case"@en ;
    skos:definition "Change resulting from formal rate case proceeding" ;
    skos:prefLabel "Rate Case" .

urpx:regulatoryOrder rdf:type urpx:ChangeReasonValue ;
    rdfs:label "Regulatory Order"@en ;
    skos:definition "Change mandated by regulatory authority order or directive" ;
    skos:prefLabel "Regulatory Order" .

urpx:riderUpdate rdf:type urpx:ChangeReasonValue ;
    rdfs:label "Rider Update"@en ;
    skos:definition "Change to rate rider or surcharge component" ;
    skos:prefLabel "Rider Update" .

urpx:seasonalChange rdf:type urpx:ChangeReasonValue ;
    rdfs:label "Seasonal Change"@en ;
    skos:definition "Scheduled seasonal rate adjustment" ;
    skos:prefLabel "Seasonal Change" .


# --- Charge Category Property (ChargeCategoryValue) ---

urpx:adjustment rdf:type urpx:ChargeCategoryValue ;
    rdfs:label "Adjustment"@en ;
    skos:definition "Rate adjustments, true-ups, and reconciliation charges"@en ;
    skos:example "Power cost adjustment, tariff rider, recovery surcharge"@en .

urpx:auxiliaryCharge rdf:type urpx:ChargeCategoryValue ;
    rdfs:label "Auxiliary Charge"@en ;
    skos:definition "Ancillary services and miscellaneous fees"@en ;
    skos:example "Energy charges, demand charges, capacity charges"@en .

urpx:discount rdf:type urpx:ChargeCategoryValue ;
    rdfs:label "Discount"@en ;
    skos:definition "Discounts, rebates, and bill reductions"@en ;
    skos:example "Senior discount, low-income assistance, promotional discount"@en .

urpx:environmental rdf:type urpx:ChargeCategoryValue ;
    rdfs:label "Environmental"@en ;
    skos:definition "Environmental and renewable energy program charges"@en ;
    skos:example "Renewable funding, conservation programs, efficiency funding"@en .

urpx:infrastructure rdf:type urpx:ChargeCategoryValue ;
    rdfs:label "Infrastructure"@en ;
    skos:definition "General infrastructure investment charge"@en ;
    skos:example "Distribution charges, transmission charges, stranded costs"@en .

urpx:regulatory rdf:type urpx:ChargeCategoryValue ;
    rdfs:label "Regulatory"@en ;
    skos:definition "Regulatory compliance and mandated program charges"@en ;
    skos:example "Public benefits programs, compliance charges, DSM programs"@en .

urpx:serviceCharge rdf:type urpx:ChargeCategoryValue ;
    rdfs:label "Service Charge"@en ;
    skos:definition "Base service fees, customer charges, and monthly recurring charges"@en ;
    skos:example "Monthly minimum charge, basic service fee, meter rental"@en .

urpx:taxes rdf:type urpx:ChargeCategoryValue ;
    rdfs:label "Taxes"@en ;
    skos:definition "All tax-related charges including state, local, and utility taxes"@en ;
    skos:example "State sales tax, municipal tax, utility tax"@en .


# --- ChargeTypeValue (used by: Charge Type, Primary Charge Type) ---

urpx:adjustmentPowerCost rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Adjustment Power Cost"@en ;
    skos:definition "Adjustment for changes in power costs"@en ;
    urpx:chargeCategory urpx:adjustment ;
    urpx:billPortion urpx:supplyPortion .

urpx:adjustmentRenewable rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Adjustment Renewable"@en ;
    skos:definition "Adjustment for renewable energy costs"@en ;
    urpx:chargeCategory urpx:adjustment ;
    urpx:billPortion urpx:supplyPortion .

urpx:adjustmentTariff rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Adjustment Tariff"@en ;
    skos:definition "General tariff rate adjustment"@en ;
    urpx:chargeCategory urpx:adjustment ;
    urpx:billPortion urpx:bundledPortion .

urpx:ancillaryServices rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Ancillary Services"@en ;
    skos:definition "Grid ancillary services charge"@en ;
    urpx:chargeCategory urpx:auxiliaryCharge ;
    urpx:billPortion urpx:supplyPortion .

urpx:capacity rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Capacity"@en ;
    skos:definition "General capacity-related charge"@en ;
    urpx:chargeCategory urpx:auxiliaryCharge ;
    urpx:billPortion urpx:supplyPortion .

urpx:capacityCharge rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Capacity Charge"@en ;
    skos:definition "Charge for reserved capacity"@en ;
    urpx:chargeCategory urpx:auxiliaryCharge ;
    urpx:billPortion urpx:supplyPortion .

urpx:capitalCredit rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Capital Credit"@en ;
    skos:definition "Cooperative capital credit allocation"@en ;
    urpx:chargeCategory urpx:discount ;
    urpx:billPortion urpx:bundledPortion .

urpx:complianceCharge rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Compliance Charge"@en ;
    skos:definition "Regulatory compliance cost charge"@en ;
    urpx:chargeCategory urpx:regulatory ;
    urpx:billPortion urpx:bundledPortion .

urpx:congestionCharge rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Congestion Charge"@en ;
    skos:definition "Locational marginal pricing congestion component"@en ;
    skos:note "Applies in nodal pricing markets"@en ;
    urpx:chargeCategory urpx:auxiliaryCharge ;
    urpx:billPortion urpx:supplyPortion .

urpx:conservationCharge rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Conservation Charge"@en ;
    skos:definition "Energy conservation program charge"@en ;
    urpx:chargeCategory urpx:environmental ;
    urpx:billPortion urpx:bundledPortion .

urpx:contractMisc rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Contract Misc"@en ;
    skos:definition "Miscellaneous contract-related charge"@en ;
    urpx:chargeCategory urpx:serviceCharge ;
    urpx:billPortion urpx:bundledPortion .

urpx:creditAdministrative rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Credit Administrative"@en ;
    skos:definition "Administrative or billing credit"@en ;
    urpx:chargeCategory urpx:discount ;
    urpx:billPortion urpx:bundledPortion .

urpx:creditEnergy rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Credit Energy"@en ;
    skos:definition "Credit for energy charges"@en ;
    urpx:chargeCategory urpx:discount ;
    urpx:billPortion urpx:supplyPortion .

urpx:creditGeneration rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Credit Generation"@en ;
    skos:definition "Credit for customer generation"@en ;
    urpx:chargeCategory urpx:discount ;
    urpx:billPortion urpx:supplyPortion .

urpx:creditInfrastructure rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Credit Infrastructure"@en ;
    skos:definition "Credit against infrastructure charges"@en ;
    urpx:chargeCategory urpx:discount ;
    urpx:billPortion urpx:deliveryPortion .

urpx:creditMisc rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Credit Misc"@en ;
    skos:definition "Other credits"@en ;
    urpx:chargeCategory urpx:discount ;
    urpx:billPortion urpx:bundledPortion .

urpx:creditPriceProtection rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Credit Price Protection"@en ;
    skos:definition "Credit from price protection program"@en ;
    urpx:chargeCategory urpx:discount ;
    urpx:billPortion urpx:supply .

urpx:creditRenewable rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Credit Renewable"@en ;
    skos:definition "Credit for renewable energy"@en ;
    urpx:chargeCategory urpx:discount ;
    urpx:billPortion urpx:supply .

urpx:creditTariffRider rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Credit Tariff Rider"@en ;
    skos:definition "Credit from tariff rider"@en ;
    urpx:chargeCategory urpx:discount ;
    urpx:billPortion urpx:bundledPortion .

urpx:deliveryCharge rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Delivery Charge"@en ;
    skos:definition "Combined charge for energy delivery"@en ;
    urpx:chargeCategory urpx:infrastructure ;
    urpx:billPortion urpx:deliveryPortion .

urpx:demandDirect rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Demand Direct"@en ;
    skos:definition "Charge based on peak demand measurement"@en ;
    urpx:chargeCategory urpx:infrastructure ;
    urpx:billPortion urpx:deliveryPortion .

urpx:demandIndirect rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Demand Indirect"@en ;
    skos:definition "Allocated or estimated demand charge"@en ;
    urpx:chargeCategory urpx:infrastructure ;
    urpx:billPortion urpx:deliveryPortion .

urpx:demandSideManagement rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Demand Side Management"@en ;
    skos:definition "DSM program charge"@en ;
    urpx:chargeCategory urpx:regulatory ;
    urpx:billPortion urpx:bundledPortion .

urpx:depositCredit rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Deposit Credit"@en ;
    skos:definition "Return of security deposit"@en ;
    urpx:chargeCategory urpx:discount ;
    urpx:billPortion urpx:bundledPortion .

urpx:depositInterest rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Deposit Interest"@en ;
    skos:definition "Interest on security deposit"@en ;
    urpx:chargeCategory urpx:discount ;
    urpx:billPortion urpx:bundledPortion .

urpx:depositRequest rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Deposit Request"@en ;
    skos:definition "Security deposit requirement"@en ;
    urpx:chargeCategory urpx:serviceCharge ;
    urpx:billPortion urpx:bundledPortion .

urpx:distributedGeneration rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Distributed Generation"@en ;
    skos:definition "Charge related to distributed generation"@en ;
    urpx:chargeCategory urpx:auxiliaryCharge ;
    urpx:billPortion urpx:deliveryPortion .

urpx:distributionCharge rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Distribution Charge"@en ;
    skos:definition "Local distribution system charge"@en ;
    skos:prefLabel "Distribution"@en ;
    urpx:chargeCategory urpx:infrastructure ;
    urpx:billPortion urpx:deliveryPortion .

urpx:donation rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Donation"@en ;
    skos:definition "Voluntary donation or contribution"@en ;
    urpx:chargeCategory urpx:auxiliaryCharge ;
    urpx:billPortion urpx:bundledPortion .

urpx:efficiencyFunding rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Efficiency Funding"@en ;
    skos:definition "Energy efficiency program funding"@en ;
    urpx:chargeCategory urpx:environmental ;
    urpx:billPortion urpx:bundledPortion .

urpx:energyStorage rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Energy Storage"@en ;
    skos:definition "Energy storage-related charge"@en ;
    urpx:chargeCategory urpx:auxiliaryCharge ;
    urpx:billPortion urpx:bundledPortion .

urpx:environmentalFunding rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Environmental Funding"@en ;
    skos:definition "Environmental program funding charge"@en ;
    urpx:chargeCategory urpx:environmental ;
    urpx:billPortion urpx:bundledPortion .

urpx:facilities rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Facilities"@en ;
    skos:definition "Charge for specific facilities or equipment"@en ;
    urpx:chargeCategory urpx:serviceCharge ;
    urpx:billPortion urpx:deliveryPortion .

urpx:generation rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Generation"@en ;
    skos:definition "Charge for electricity generation"@en ;
    urpx:chargeCategory urpx:auxiliaryCharge ;
    urpx:billPortion urpx:supply .

urpx:handling rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Handling"@en ;
    skos:definition "Administrative handling fee"@en ;
    urpx:chargeCategory urpx:serviceCharge ;
    urpx:billPortion urpx:bundledPortion .

urpx:heapDiscount rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Heap Discount"@en ;
    skos:definition "Home Energy Assistance Program discount"@en ;
    urpx:chargeCategory urpx:discount ;
    urpx:billPortion urpx:bundledPortion .

urpx:initiationCharge rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Initiation Charge"@en ;
    skos:definition "One-time charge for service initiation or reconnection"@en ;
    urpx:chargeCategory urpx:serviceCharge ;
    urpx:billPortion urpx:bundledPortion .

urpx:minimumBill rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Minimum Bill"@en ;
    skos:definition "Ensures total bill meets a minimum amount; different from minimum charge"@en ;
    skos:note "Common in CA, NY - guarantees minimum revenue per customer"@en ;
    urpx:chargeCategory urpx:serviceCharge ;
    urpx:billPortion urpx:bundledPortion .

urpx:minimumCharge rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Minimum Charge"@en ;
    skos:definition "Fixed monthly minimum charge for being a customer"@en ;
    urpx:chargeCategory urpx:serviceCharge ;
    urpx:billPortion urpx:deliveryPortion .

urpx:nonBypassableCharge rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Non-Bypassable Charge"@en ;
    skos:definition "Charges that apply regardless of energy supplier choice"@en ;
    skos:note "Critical in competitive retail markets"@en ;
    urpx:chargeCategory urpx:regulatory ;
    urpx:billPortion urpx:bundledPortion .

urpx:powerFactor rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Power Factor"@en ;
    skos:definition "Power factor correction charge or penalty"@en ;
    urpx:chargeCategory urpx:auxiliaryCharge ;
    urpx:billPortion urpx:deliveryPortion .

urpx:publicBenefits rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Public Benefits"@en ;
    skos:definition "Public purpose program charge"@en ;
    urpx:chargeCategory urpx:regulatory ;
    urpx:billPortion urpx:bundledPortion .

urpx:recoverySurcharge rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Recovery Surcharge"@en ;
    skos:definition "Surcharge for cost recovery"@en ;
    urpx:chargeCategory urpx:adjustment ;
    urpx:billPortion urpx:bundledPortion .

urpx:reliabilityCharge rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Reliability Charge"@en ;
    skos:definition "Reliability-must-run contracts and capacity performance charges"@en ;
    skos:note "Common in ISO/RTO markets"@en ;
    urpx:chargeCategory urpx:infrastructure ;
    urpx:billPortion urpx:supply .

urpx:renewableFunding rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Renewable Funding"@en ;
    skos:definition "Charge supporting renewable energy programs"@en ;
    urpx:chargeCategory urpx:environmental ;
    urpx:billPortion urpx:bundledPortion .

urpx:rentalFee rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Rental Fee"@en ;
    skos:definition "Equipment rental charges"@en ;
    urpx:chargeCategory urpx:serviceCharge ;
    urpx:billPortion urpx:deliveryPortion .

urpx:serviceMetered rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Service Metered"@en ;
    skos:definition "Service charge based on metered usage"@en ;
    urpx:chargeCategory urpx:serviceCharge ;
    urpx:billPortion urpx:deliveryPortion .

urpx:serviceNonMetered rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Service Non Metered"@en ;
    skos:definition "Fixed service charge for unmetered services"@en ;
    urpx:chargeCategory urpx:serviceCharge ;
    urpx:billPortion urpx:deliveryPortion .

urpx:strandedCosts rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Stranded Costs"@en ;
    skos:definition "Recovery of stranded utility investments"@en ;
    urpx:chargeCategory urpx:infrastructure ;
    urpx:billPortion urpx:bundledPortion .

urpx:systemBenefitCharge rdf:type urpx:ChargeTypeValue ;
    rdfs:label "System Benefit Charge"@en ;
    skos:definition "Universal service fund and public purpose program charges"@en ;
    urpx:chargeCategory urpx:regulatory ;
    urpx:billPortion urpx:bundledPortion .

urpx:tariffRider rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Tariff Rider"@en ;
    skos:definition "Additional tariff provision or adjustment"@en ;
    urpx:chargeCategory urpx:adjustment ;
    urpx:billPortion urpx:bundledPortion .

urpx:taxAdjustment rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Tax Adjustment"@en ;
    skos:definition "Adjustment to tax calculations"@en ;
    urpx:chargeCategory urpx:taxes ;
    urpx:billPortion urpx:bundledPortion .

urpx:taxCredit rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Tax Credit"@en ;
    skos:definition "Credit against taxes"@en ;
    urpx:chargeCategory urpx:taxes ;
    urpx:billPortion urpx:bundledPortion .

urpx:taxMisc rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Tax Misc"@en ;
    skos:definition "Other tax-related charges"@en ;
    urpx:chargeCategory urpx:taxes ;
    urpx:billPortion urpx:bundledPortion .

urpx:taxMunicipal rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Tax Municipal"@en ;
    skos:definition "City or local government tax"@en ;
    urpx:chargeCategory urpx:taxes ;
    urpx:billPortion urpx:bundledPortion .

urpx:taxSales rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Tax Sales"@en ;
    skos:definition "General sales tax"@en ;
    urpx:chargeCategory urpx:taxes ;
    urpx:billPortion urpx:bundledPortion .

urpx:taxState rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Tax State"@en ;
    skos:definition "State-level tax"@en ;
    urpx:chargeCategory urpx:taxes ;
    urpx:billPortion urpx:bundledPortion .

urpx:taxUtility rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Tax Utility"@en ;
    skos:definition "Tax on utility services"@en ;
    urpx:chargeCategory urpx:taxes ;
    urpx:billPortion urpx:bundledPortion .

urpx:transitionCharge rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Transition Charge"@en ;
    skos:definition "Market restructuring and stranded cost recovery charges"@en ;
    skos:note "Common in deregulated markets (TX, OH, PA)"@en ;
    urpx:chargeCategory urpx:regulatory ;
    urpx:billPortion urpx:bundledPortion .

urpx:transmission rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Transmission"@en ;
    skos:definition "High-voltage transmission system charge"@en ;
    urpx:chargeCategory urpx:infrastructure ;
    urpx:billPortion urpx:deliveryPortion .

urpx:usageCharge rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Usage Charge"@en ;
    skos:definition "Volumetric energy consumption charge"@en ;
    urpx:chargeCategory urpx:auxiliaryCharge ;
    urpx:billPortion urpx:supply .

urpx:volumetricCharge rdf:type urpx:ChargeTypeValue ;
    rdfs:label "Volumetric Charge"@en ;
    skos:definition "Generic volumetric charge based on usage quantity"@en ;
    skos:note "Use when more specific types don't apply"@en ;
    urpx:chargeCategory urpx:auxiliaryCharge ;
    urpx:billPortion urpx:bundledPortion .


# --- Commodity Property (CommodityValue) ---

urpx:biomass rdf:type urpx:CommodityValue ;
    rdfs:label "Biomass"@en ;
    skos:definition "Biomass renewable energy source" ;
    skos:prefLabel "Biomass" .

urpx:cableTv rdf:type urpx:CommodityValue ;
    rdfs:label "Cable TV"@en ;
    skos:definition "Cable television service" ;
    skos:prefLabel "Cable TV" .

urpx:chilledWater rdf:type urpx:CommodityValue ;
    rdfs:label "Chilled Water"@en ;
    skos:definition "Chilled water cooling service" ;
    skos:prefLabel "Chilled Water" .

urpx:coal rdf:type urpx:CommodityValue ;
    rdfs:label "Coal"@en ;
    skos:definition "Coal fuel commodity" ;
    skos:prefLabel "Coal" .

urpx:commodityOther rdf:type urpx:CommodityValue ;
    rdfs:label "Other Commodity"@en ;
    skos:definition "Other commodity not specifically categorized" ;
    skos:prefLabel "Other" .

urpx:compressedAir rdf:type urpx:CommodityValue ;
    rdfs:label "Compressed Air"@en ;
    skos:definition "Compressed air utility service" ;
    skos:prefLabel "Compressed Air" .

urpx:diesel rdf:type urpx:CommodityValue ;
    rdfs:label "Diesel"@en ;
    skos:definition "Diesel fuel commodity" ;
    skos:prefLabel "Diesel" .

urpx:districtCooling rdf:type urpx:CommodityValue ;
    rdfs:label "District Cooling"@en ;
    skos:definition "District cooling utility service" ;
    skos:prefLabel "District Cooling" .

urpx:districtHeating rdf:type urpx:CommodityValue ;
    rdfs:label "District Heating"@en ;
    skos:definition "District heating utility service" ;
    skos:prefLabel "District Heating" .

urpx:electricity rdf:type urpx:CommodityValue ;
    rdfs:label "Electricity"@en ;
    skos:definition "Electric energy commodity" ;
    skos:prefLabel "Electricity" .

urpx:fuelOil rdf:type urpx:CommodityValue ;
    rdfs:label "Fuel Oil"@en ;
    skos:definition "Fuel oil heating commodity" ;
    skos:prefLabel "Fuel Oil" .

urpx:gasoline rdf:type urpx:CommodityValue ;
    rdfs:label "Gasoline"@en ;
    skos:definition "Gasoline fuel commodity" ;
    skos:prefLabel "Gasoline" .

urpx:geothermal rdf:type urpx:CommodityValue ;
    rdfs:label "Geothermal"@en ;
    skos:definition "Geothermal energy source" ;
    skos:prefLabel "Geothermal" .

urpx:hotWater rdf:type urpx:CommodityValue ;
    rdfs:label "Hot Water"@en ;
    skos:definition "Hot water heating service" ;
    skos:prefLabel "Hot Water" .

urpx:hydroelectric rdf:type urpx:CommodityValue ;
    rdfs:label "Hydroelectric"@en ;
    skos:definition "Hydroelectric energy generation" ;
    skos:prefLabel "Hydroelectric" .

urpx:internet rdf:type urpx:CommodityValue ;
    rdfs:label "Internet"@en ;
    skos:definition "Internet connectivity service" ;
    skos:prefLabel "Internet" .

urpx:irrigation rdf:type urpx:CommodityValue ;
    rdfs:label "Irrigation"@en ;
    skos:definition "Irrigation water service" ;
    skos:prefLabel "Irrigation" .

urpx:naturalGas rdf:type urpx:CommodityValue ;
    rdfs:label "Natural Gas"@en ;
    skos:definition "Natural gas commodity" ;
    skos:prefLabel "Natural Gas" .

urpx:nonPotableWater rdf:type urpx:CommodityValue ;
    rdfs:label "Non-Potable Water"@en ;
    skos:definition "Non-drinking water service" ;
    skos:prefLabel "Non-Potable Water" .

urpx:nuclear rdf:type urpx:CommodityValue ;
    rdfs:label "Nuclear"@en ;
    skos:definition "Nuclear energy generation" ;
    skos:prefLabel "Nuclear" .

urpx:potableWater rdf:type urpx:CommodityValue ;
    rdfs:label "Potable Water"@en ;
    skos:definition "Drinking water service" ;
    skos:prefLabel "Potable Water" .

urpx:propane rdf:type urpx:CommodityValue ;
    rdfs:label "Propane"@en ;
    skos:definition "Propane gas fuel" ;
    skos:prefLabel "Propane" .

urpx:recycling rdf:type urpx:CommodityValue ;
    rdfs:label "Recycling"@en ;
    skos:definition "Recycling utility service" ;
    skos:prefLabel "Recycling" .

urpx:security rdf:type urpx:CommodityValue ;
    rdfs:label "Security"@en ;
    skos:definition "Security monitoring service" ;
    skos:prefLabel "Security" .

urpx:sewage rdf:type urpx:CommodityValue ;
    rdfs:label "Sewage"@en ;
    skos:definition "Sewage treatment service" ;
    skos:prefLabel "Sewage" .

urpx:solar rdf:type urpx:CommodityValue ;
    rdfs:label "Solar"@en ;
    skos:definition "Solar energy generation" ;
    skos:prefLabel "Solar" .

urpx:steam rdf:type urpx:CommodityValue ;
    rdfs:label "Steam"@en ;
    skos:definition "Steam heating service" ;
    skos:prefLabel "Steam" .

urpx:stormwater rdf:type urpx:CommodityValue ;
    rdfs:label "Stormwater"@en ;
    skos:definition "Stormwater management service" ;
    skos:prefLabel "Stormwater" .

urpx:telecommunications rdf:type urpx:CommodityValue ;
    rdfs:label "Telecommunications"@en ;
    skos:definition "Telecommunications service" ;
    skos:prefLabel "Telecommunications" .

urpx:wasteHeat rdf:type urpx:CommodityValue ;
    rdfs:label "Waste Heat"@en ;
    skos:definition "Waste heat recovery energy" ;
    skos:prefLabel "Waste Heat" .

urpx:wasteManagement rdf:type urpx:CommodityValue ;
    rdfs:label "Waste Management"@en ;
    skos:definition "Waste management utility service" ;
    skos:prefLabel "Waste Management" .

urpx:water rdf:type urpx:CommodityValue ;
    rdfs:label "Water"@en ;
    skos:definition "Water utility service" ;
    skos:prefLabel "Water" .

urpx:wind rdf:type urpx:CommodityValue ;
    rdfs:label "Wind"@en ;
    skos:definition "Wind energy generation" ;
    skos:prefLabel "Wind" .


# --- Connection Kind Property (ConnectionKindValue) ---

urpx:directConnection rdf:type urpx:ConnectionKindValue ;
    rdfs:label "Direct Connection"@en ;
    skos:definition "Direct service connection without transformation" ;
    skos:prefLabel "Direct" .

urpx:overheadConnection rdf:type urpx:ConnectionKindValue ;
    rdfs:label "Overhead Connection"@en ;
    skos:definition "Overhead power line service connection" ;
    skos:prefLabel "Overhead" .

urpx:padMountedConnection rdf:type urpx:ConnectionKindValue ;
    rdfs:label "Pad Mounted Connection"@en ;
    skos:definition "Pad-mounted transformer service connection" ;
    skos:prefLabel "Pad Mounted" .

urpx:permanentConnection rdf:type urpx:ConnectionKindValue ;
    rdfs:label "Permanent Connection"@en ;
    skos:definition "Permanent service connection to the electrical grid" ;
    skos:prefLabel "Permanent" .

urpx:temporaryConnection rdf:type urpx:ConnectionKindValue ;
    rdfs:label "Temporary Connection"@en ;
    skos:definition "Temporary service connection for construction or events" ;
    skos:prefLabel "Temporary" .

urpx:undergroundConnection rdf:type urpx:ConnectionKindValue ;
    rdfs:label "Underground Connection"@en ;
    skos:definition "Underground cable service connection" ;
    skos:prefLabel "Underground" .


# --- Connector Type Property (ConnectorTypeValue) ---

urpx:ccs rdf:type urpx:ConnectorTypeValue ;
    rdfs:label "CCS"@en ;
    skos:definition "CCS (Combined Charging System) connector - European/North American DC fast charging standard" ;
    skos:prefLabel "CCS" .

urpx:chademo rdf:type urpx:ConnectorTypeValue ;
    rdfs:label "CHAdeMO"@en ;
    skos:definition "CHAdeMO connector - Japanese DC fast charging standard" ;
    skos:prefLabel "CHAdeMO" .

urpx:dcFast rdf:type urpx:ConnectorTypeValue ;
    rdfs:label "DC Fast"@en ;
    skos:definition "DC Fast charging connector - high-power direct current charging" ;
    skos:prefLabel "DC Fast" .

urpx:level1 rdf:type urpx:ConnectorTypeValue ;
    rdfs:label "Level 1"@en ;
    skos:definition "Level 1 EV charging connector - standard 120V household outlet" ;
    skos:prefLabel "Level 1" .

urpx:level2 rdf:type urpx:ConnectorTypeValue ;
    rdfs:label "Level 2"@en ;
    skos:definition "Level 2 EV charging connector - 240V dedicated charging station" ;
    skos:prefLabel "Level 2" .

urpx:teslaSupercharger rdf:type urpx:ConnectorTypeValue ;
    rdfs:label "Tesla Supercharger"@en ;
    skos:definition "Tesla Supercharger connector - proprietary Tesla fast charging" ;
    skos:prefLabel "Tesla Supercharger" .


# --- Customer Choice Property (CustomerChoiceValue) ---

urpx:voluntaryChoice rdf:type urpx:CustomerChoiceValue ;
    rdfs:label "Voluntary"@en ;
    skos:definition "Customer may opt in or out of this rate plan version" ;
    skos:prefLabel "Voluntary" .

urpx:mandatoryChoice rdf:type urpx:CustomerChoiceValue ;
    rdfs:label "Mandatory"@en ;
    skos:definition "Enrollment in this rate plan version is mandatory for qualifying customers" ;
    skos:prefLabel "Mandatory" .


# --- CustomerKindValue (used by: Applies For Customer Kind, Has Customer Kind) ---

urpx:commercialKind rdf:type urpx:CustomerKindValue ;
    rdfs:label "Commercial"@en ;
    skos:definition "Commercial customer - business and office service" ;
    skos:prefLabel "Commercial" .
urpx:enterpriseKind rdf:type urpx:CustomerKindValue ;
    rdfs:label "Enterprise"@en ;
    skos:definition "Enterprise customer - large-scale corporate operations including subsidiaries and regional operators" ;
    skos:prefLabel "Enterprise" .
urpx:industrialKind rdf:type urpx:CustomerKindValue ;
    rdfs:label "Industrial"@en ;
    skos:definition "Industrial customer - manufacturing and heavy industry service" ;
    skos:prefLabel "Industrial" .
urpx:internalUseKind rdf:type urpx:CustomerKindValue ;
    rdfs:label "Internal Use"@en ;
    skos:definition "Internal use customer - utility's own facilities and operations" ;
    skos:prefLabel "Internal Use" .
urpx:nonResidentialKind rdf:type urpx:CustomerKindValue ;
    rdfs:label "Non Residential"@en ;
    skos:definition "Non residential customer - does not qualify as other CustomerKind" ;
    skos:prefLabel "Non Residential" .
urpx:residentialKind rdf:type urpx:CustomerKindValue ;
    rdfs:label "Residential"@en ;
    skos:definition "Residential customer - domestic household service" ;
    skos:prefLabel "Residential" .
urpx:serviceProviderKind rdf:type urpx:CustomerKindValue ;
    rdfs:label "Service Provider"@en ;
    skos:definition "Service provider customer - energy suppliers, schedulers, and wholesale market participants" ;
    skos:prefLabel "Service Provider" .


# --- CustomerSubKindValue (used by: Applies For Customer Sub Kind, Has Customer Sub Kind) ---

urpx:commercialPumping rdf:type urpx:CustomerSubKindValue ;
    rdfs:label "Commercial Pumping"@en ;
    skos:definition "Commercial pumping service - water pumping and irrigation operations" ;
    skos:prefLabel "Commercial Pumping" ;
    skos:broader urpx:commercialKind .

urpx:commercialStandard rdf:type urpx:CustomerSubKindValue ;
    rdfs:label "Commercial Standard"@en ;
    skos:definition "Standard commercial service - general business, retail, and office operations" ;
    skos:prefLabel "Commercial Standard" ;
    skos:broader urpx:commercialKind .

urpx:commercialStreetlight rdf:type urpx:CustomerSubKindValue ;
    rdfs:label "Commercial Streetlight"@en ;
    skos:definition "Commercial streetlight service - municipal and private street lighting" ;
    skos:prefLabel "Commercial Streetlight" ;
    skos:broader urpx:commercialKind .

urpx:energyScheduler rdf:type urpx:CustomerSubKindValue ;
    rdfs:label "Energy Scheduler"@en ;
    skos:definition "Energy scheduler service - wholesale market schedulers and aggregators" ;
    skos:prefLabel "Energy Scheduler" ;
    skos:broader urpx:serviceProviderKind .

urpx:energySupplier rdf:type urpx:CustomerSubKindValue ;
    rdfs:label "Energy Supplier"@en ;
    skos:definition "Energy supplier service - retail energy providers and competitive suppliers" ;
    skos:prefLabel "Energy Supplier" ;
    skos:broader urpx:serviceProviderKind .

urpx:industrialLargeLoad rdf:type urpx:CustomerSubKindValue ;
    rdfs:label "Industrial Large Load"@en ;
    skos:definition "Industrial large load service - high-demand manufacturing and processing facilities" ;
    skos:prefLabel "Industrial Large Load" ;
    skos:broader urpx:industrialKind .

urpx:industrialStandard rdf:type urpx:CustomerSubKindValue ;
    rdfs:label "Industrial Standard"@en ;
    skos:definition "Standard industrial service - manufacturing and production facilities" ;
    skos:prefLabel "Industrial Standard" ;
    skos:broader urpx:industrialKind .

urpx:regionalOperator rdf:type urpx:CustomerSubKindValue ;
    rdfs:label "Regional Operator"@en ;
    skos:definition "Regional operator service - large-scale regional facility operations" ;
    skos:prefLabel "Regional Operator" ;
    skos:broader urpx:enterpriseKind .

urpx:religiousInstitution rdf:type urpx:CustomerSubKindValue ;
    rdfs:label "Religious Institution"@en ;
    skos:definition "Service for religious institutions" ;
    skos:prefLabel "Religious Institutions" ;
    skos:broader urpx:nonResidentialKind .

urpx:residentialFarm rdf:type urpx:CustomerSubKindValue ;
    rdfs:label "Residential Farm"@en ;
    skos:definition "Residential farm service - agricultural operations with residential characteristics" ;
    skos:prefLabel "Residential Farm" ;
    skos:broader urpx:residentialKind .

urpx:residentialMultiUnit rdf:type urpx:CustomerSubKindValue ;
    rdfs:label "Residential Multi-Unit"@en ;
    skos:definition "Residential multi-unit service - apartments, condominiums, and multi-family dwellings" ;
    skos:prefLabel "Residential Multi-Unit" ;
    skos:broader urpx:residentialKind .

urpx:residentialStandard rdf:type urpx:CustomerSubKindValue ;
    rdfs:label "Residential Standard"@en ;
    skos:definition "Standard residential service - single-family homes and standard household service" ;
    skos:prefLabel "Residential Standard" ;
    skos:broader urpx:residentialKind .

urpx:subsidiary rdf:type urpx:CustomerSubKindValue ;
    rdfs:label "Subsidiary"@en ;
    skos:definition "Subsidiary service - corporate subsidiary operations" ;
    skos:prefLabel "Subsidiary" ;
    skos:broader urpx:enterpriseKind .

urpx:windMachine rdf:type urpx:CustomerSubKindValue ;
    rdfs:label "Wind Machine"@en ;
    skos:definition "Wind machine service - renewable energy generation facilities" ;
    skos:prefLabel "Wind Machine" ;
    skos:broader urpx:serviceProviderKind .


# --- Data Source Type Property (DataSourceTypeValue) ---

urpx:apiSource rdf:type urpx:DataSourceTypeValue ;
    rdfs:label "API Source"@en ;
    skos:definition "Data sourced from a web API or REST/GraphQL endpoint" ;
    skos:prefLabel "API" .

urpx:databaseSource rdf:type urpx:DataSourceTypeValue ;
    rdfs:label "Database Source"@en ;
    skos:definition "Data sourced directly from a relational or non-relational database" ;
    skos:prefLabel "Database" .

urpx:manualSource rdf:type urpx:DataSourceTypeValue ;
    rdfs:label "Manual Source"@en ;
    skos:definition "Data entered manually by a human operator" ;
    skos:prefLabel "Manual" .

urpx:utilityWebsiteSource rdf:type urpx:DataSourceTypeValue ;
    rdfs:label "Utility Website Source"@en ;
    skos:definition "Data sourced from a utility's official website or customer portal" ;
    skos:prefLabel "Utility Website" .

urpx:regulatoryWebsiteSource rdf:type urpx:DataSourceTypeValue ;
    rdfs:label "Regulatory Website Source"@en ;
    skos:definition "Data sourced from a regulatory agency's official website or database" ;
    skos:prefLabel "Regulatory Website" .    


# --- Day Type Property (DayTypeValue) ---

urpx:allDays rdf:type urpx:DayTypeValue ;
    rdfs:label "All Days"@en ;
    skos:definition "All days of the week" ;
    skos:prefLabel "All" .

urpx:customDays rdf:type urpx:DayTypeValue ;
    rdfs:label "Custom Days"@en ;
    skos:definition "Custom day selection pattern" ;
    skos:prefLabel "Custom" .

urpx:weekdayDays rdf:type urpx:DayTypeValue ;
    rdfs:label "Weekday Days"@en ;
    skos:definition "Monday through Friday (ISO 8601 weekdays)" ;
    skos:prefLabel "Weekday" .

urpx:weekendDays rdf:type urpx:DayTypeValue ;
    rdfs:label "Weekend Days"@en ;
    skos:definition "Saturday and Sunday (ISO 8601 weekend)" ;
    skos:prefLabel "Weekend" .


# --- DER Type Property (DERTypeValue) ---

urpx:evChargingDER rdf:type urpx:DERTypeValue ;
    rdfs:label "EV Charging DER"@en ;
    skos:definition "Electric vehicle charging station" ;
    skos:prefLabel "EV Charging" .

urpx:generatorDER rdf:type urpx:DERTypeValue ;
    rdfs:label "Generator DER"@en ;
    skos:definition "Backup generator or combined heat and power system" ;
    skos:prefLabel "Generator" .

urpx:geothermalDER rdf:type urpx:DERTypeValue ;
    rdfs:label "Geothermal DER"@en ;
    skos:definition "Geothermal heat pump or generation system" ;
    skos:prefLabel "Geothermal" .

urpx:hydroDER rdf:type urpx:DERTypeValue ;
    rdfs:label "Hydro DER"@en ;
    skos:definition "Hydroelectric power generation system" ;
    skos:prefLabel "Water Generation" .

urpx:nuclearDER rdf:type urpx:DERTypeValue ;
    rdfs:label "Nuclear DER"@en ;
    skos:definition "Nuclear power generation system" ;
    skos:prefLabel "Nuclear Generation" .

urpx:solarDER rdf:type urpx:DERTypeValue ;
    rdfs:label "Solar DER"@en ;
    skos:definition "Solar photovoltaic generation system" ;
    skos:prefLabel "Solar" .

urpx:storageDER rdf:type urpx:DERTypeValue ;
    rdfs:label "Storage DER"@en ;
    skos:definition "Battery energy storage system" ;
    skos:prefLabel "Storage" .

urpx:wasteDigestionDER rdf:type urpx:DERTypeValue ;
    rdfs:label "Waste Digestion DER"@en ;
    skos:definition "Waste digestion or biogas generation system" ;
    skos:prefLabel "Waste Digestion" .

urpx:windDER rdf:type urpx:DERTypeValue ;
    rdfs:label "Wind DER"@en ;
    skos:definition "Small-scale wind turbine generation" ;
    skos:prefLabel "Wind" .


# --- Dynamic Pricing Type Property (DynamicPricingTypeValue) ---

urpx:criticalPeakPricing rdf:type urpx:DynamicPricingTypeValue ;
    rdfs:label "Critical Peak Pricing"@en ;
    skos:definition "Special pricing during critical peak demand periods" ;
    skos:prefLabel "Critical Peak" .

urpx:demandResponsePricing rdf:type urpx:DynamicPricingTypeValue ;
    rdfs:label "Demand Response Pricing"@en ;
    skos:definition "Pricing for demand response programs and events" ;
    skos:prefLabel "Demand Response" .

urpx:eventDrivenPricing rdf:type urpx:DynamicPricingTypeValue ;
    rdfs:label "Event-Driven Pricing"@en ;
    skos:definition "Pricing triggered by specific events or conditions" ;
    skos:prefLabel "Event-Driven" .

urpx:indexBasedPricing rdf:type urpx:DynamicPricingTypeValue ;
    rdfs:label "Index-Based Pricing"@en ;
    skos:definition "Pricing based on external market indices" ;
    skos:prefLabel "Index-Based" .

urpx:realTimePricing rdf:type urpx:DynamicPricingTypeValue ;
    rdfs:label "Real-Time Pricing"@en ;
    skos:definition "Real-time pricing based on current market conditions" ;
    skos:prefLabel "Real-Time" .

urpx:timeVaryingPricing rdf:type urpx:DynamicPricingTypeValue ;
    rdfs:label "Time-Varying Pricing"@en ;
    skos:definition "Pricing that varies over time based on predetermined schedules" ;
    skos:prefLabel "Time-Varying" .


# --- End Use Property (EndUseValue) ---

urpx:heatingEndUse rdf:type urpx:EndUseValue ;
    rdfs:label "Heating End Use"@en ;
    skos:notation "HEAT" ;
    skos:definition "Electric heating service - space heating, water heating, and other thermal applications" ;
    skos:prefLabel "Heating" .

urpx:nonheatingEndUse rdf:type urpx:EndUseValue ;
    rdfs:label "Non-Heating End Use"@en ;
    skos:notation "NONHEAT" ;
    skos:definition "General electric service excluding heating - lighting, appliances, motors, and other non-thermal applications" ;
    skos:prefLabel "Non-Heating" .

urpx:dataCenterEndUse rdf:type urpx:EndUseValue ;
    rdfs:label "Data Center End Use"@en ;
    skos:notation "DATACENTER" ;
    skos:definition "Data center electric service - high-density computing and server operations" ;
    skos:prefLabel "Data Center" .

urpx:spaceHeatingEndUse rdf:type urpx:EndUseValue ;
    rdfs:label "Space Heating End Use"@en ;
    skos:notation "SPACEHEAT" ;
    skos:definition "Space heating electric service - building interior heating" ;
    skos:prefLabel "Space Heating" .

urpx:spaceCoolingEndUse rdf:type urpx:EndUseValue ;
    rdfs:label "Space Cooling End Use"@en ;
    skos:notation "SPACECOOL" ;
    skos:definition "Space cooling electric service - air conditioning and building cooling" ;
    skos:prefLabel "Space Cooling" .

urpx:waterHeatingEndUse rdf:type urpx:EndUseValue ;
    rdfs:label "Water Heating End Use"@en ;
    skos:notation "WATERHEAT" ;
    skos:definition "Water heating electric service - domestic hot water" ;
    skos:prefLabel "Water Heating" .

urpx:cookingEndUse rdf:type urpx:EndUseValue ;
    rdfs:label "Cooking End Use"@en ;
    skos:notation "COOKING" ;
    skos:definition "Cooking electric service - ranges, ovens, and cooking appliances" ;
    skos:prefLabel "Cooking" .

urpx:dryingEndUse rdf:type urpx:EndUseValue ;
    rdfs:label "Drying End Use"@en ;
    skos:notation "DRYING" ;
    skos:definition "Drying electric service - clothes dryers" ;
    skos:prefLabel "Drying" .

urpx:lightingEndUse rdf:type urpx:EndUseValue ;
    rdfs:label "Lighting End Use"@en ;
    skos:notation "LIGHTING" ;
    skos:definition "Lighting electric service - interior and exterior lighting" ;
    skos:prefLabel "Lighting" .

urpx:refrigerationEndUse rdf:type urpx:EndUseValue ;
    rdfs:label "Refrigeration End Use"@en ;
    skos:notation "REFRIG" ;
    skos:definition "Refrigeration electric service - refrigerators, freezers, and cold storage" ;
    skos:prefLabel "Refrigeration" .

urpx:agriculturalEndUse rdf:type urpx:EndUseValue ;
    rdfs:label "Agricultural End Use"@en ;
    skos:definition "Agricultural service for farming operations" ;
    skos:prefLabel "Agricultural" .

urpx:streetLightingEndUse rdf:type urpx:EndUseValue ;
    rdfs:label "Street Lighting End Use"@en ;
    skos:definition "Street lighting service for public lighting" ;
    skos:prefLabel "Street Lighting" .

urpx:municipalEndUse rdf:type urpx:EndUseValue ;
    rdfs:label "Municipal End Use"@en ;
    skos:definition "Municipal service for government facilities" ;
    skos:prefLabel "Municipal" .

urpx:otherEndUse rdf:type urpx:EndUseValue ;
    rdfs:label "Other End Use"@en ;
    skos:definition "Other end use not specifically categorized" ;
    skos:prefLabel "Other" .


# --- Enrollment Status Property (EnrollmentStatusValue) ---

urpx:activeStatus rdf:type urpx:EnrollmentStatusValue ;
    rdfs:label "Active Status"@en ;
    skos:definition "Active enrollment status - currently participating in rate plan or program" ;
    skos:prefLabel "Active" .

urpx:expiredStatus rdf:type urpx:EnrollmentStatusValue ;
    rdfs:label "Expired Status"@en ;
    skos:definition "Expired enrollment status - enrollment period has ended" ;
    skos:prefLabel "Expired" .

urpx:inactiveStatus rdf:type urpx:EnrollmentStatusValue ;
    rdfs:label "Inactive Status"@en ;
    skos:definition "Inactive enrollment status - not currently participating" ;
    skos:prefLabel "Inactive" .

urpx:pendingStatus rdf:type urpx:EnrollmentStatusValue ;
    rdfs:label "Pending Status"@en ;
    skos:definition "Pending enrollment status - enrollment request awaiting approval or processing" ;
    skos:prefLabel "Pending" .

urpx:suspendedStatus rdf:type urpx:EnrollmentStatusValue ;
    rdfs:label "Suspended Status"@en ;
    skos:definition "Suspended enrollment status - temporarily paused participation" ;
    skos:prefLabel "Suspended" .

urpx:terminatedStatus rdf:type urpx:EnrollmentStatusValue ;
    rdfs:label "Terminated Status"@en ;
    skos:definition "Terminated enrollment status - participation ended before normal completion" ;
    skos:prefLabel "Terminated" .


# --- Entity Type Property (EntityTypeValue) ---

urpx:corporationEntity rdf:type urpx:EntityTypeValue ;
    rdfs:label "Corporation Entity"@en ;
    skos:definition "Corporate legal entity (C-Corp, S-Corp)" ;
    skos:prefLabel "Corporation" .

urpx:entityOther rdf:type urpx:EntityTypeValue ;
    rdfs:label "Other Entity Type"@en ;
    skos:definition "Other legal entity type not specifically categorized" ;
    skos:prefLabel "Other" .

urpx:governmentEntity rdf:type urpx:EntityTypeValue ;
    rdfs:label "Government Entity"@en ;
    skos:definition "Government agency or department legal entity" ;
    skos:prefLabel "Government" .

urpx:individualEntity rdf:type urpx:EntityTypeValue ;
    rdfs:label "Individual Entity"@en ;
    skos:definition "Individual person legal entity" ;
    skos:prefLabel "Individual" .

urpx:llcEntity rdf:type urpx:EntityTypeValue ;
    rdfs:label "LLC Entity"@en ;
    skos:definition "Limited Liability Company legal entity" ;
    skos:prefLabel "LLC" .

urpx:nonprofitEntity rdf:type urpx:EntityTypeValue ;
    rdfs:label "Nonprofit Entity"@en ;
    skos:definition "Nonprofit organization legal entity" ;
    skos:prefLabel "Nonprofit" .

urpx:partnershipEntity rdf:type urpx:EntityTypeValue ;
    rdfs:label "Partnership Entity"@en ;
    skos:definition "Partnership legal entity (general or limited partnership)" ;
    skos:prefLabel "Partnership" .

urpx:trustEntity rdf:type urpx:EntityTypeValue ;
    rdfs:label "Trust Entity"@en ;
    skos:definition "Trust legal entity" ;
    skos:prefLabel "Trust" .


# --- Flow Direction Property (FlowDirectionValue) ---

urpx:bidirectional rdf:type urpx:FlowDirectionValue ;
    rdfs:label "Bidirectional"@en ;
    skos:definition "Bidirectional energy flow - both import and export" ;
    skos:prefLabel "Bidirectional" .

urpx:forward rdf:type urpx:FlowDirectionValue ;
    rdfs:label "Forward"@en ;
    skos:definition "Forward energy flow - consumption/import from grid" ;
    skos:prefLabel "Forward" .

urpx:net rdf:type urpx:FlowDirectionValue ;
    rdfs:label "Net"@en ;
    skos:definition "Net energy flow - net of consumption and generation" ;
    skos:prefLabel "Net" .

urpx:reverse rdf:type urpx:FlowDirectionValue ;
    rdfs:label "Reverse"@en ;
    skos:definition "Reverse energy flow - generation/export to grid" ;
    skos:prefLabel "Reverse" .


# --- Geographic Scope Property (GeographicScopeValue) ---

urpx:countyScope rdf:type urpx:GeographicScopeValue ;
    rdfs:label "County Scope"@en ;
    skos:definition "County-level geographic scope for applicability rules" ;
    skos:prefLabel "County" .

urpx:customScope rdf:type urpx:GeographicScopeValue ;
    rdfs:label "Custom Scope"@en ;
    skos:definition "Custom geographic scope with non-standard boundaries" ;
    skos:prefLabel "Custom" .

urpx:municipalityScope rdf:type urpx:GeographicScopeValue ;
    rdfs:label "Municipality Scope"@en ;
    skos:definition "Municipality-level geographic scope for local applicability rules" ;
    skos:prefLabel "Municipality" .

urpx:serviceTerritoryScope rdf:type urpx:GeographicScopeValue ;
    rdfs:label "Service Territory Scope"@en ;
    skos:definition "Service territory geographic scope for utility-specific applicability" ;
    skos:prefLabel "Service Territory" .

urpx:statewideScope rdf:type urpx:GeographicScopeValue ;
    rdfs:label "Statewide Scope"@en ;
    skos:definition "State-level geographic scope for broad applicability rules" ;
    skos:prefLabel "Statewide" .


# --- Geographic Zone Property (GeographicZoneValue) ---

urpx:coastalZone rdf:type urpx:GeographicZoneValue ;
    rdfs:label "Coastal Zone"@en ;
    skos:definition "Coastal geographic zone - areas near oceans, lakes, or major waterways" ;
    skos:prefLabel "Coastal" .

urpx:desertZone rdf:type urpx:GeographicZoneValue ;
    rdfs:label "Desert Zone"@en ;
    skos:definition "Desert geographic zone - arid and semi-arid regions" ;
    skos:prefLabel "Desert" .

urpx:geographicZoneOther rdf:type urpx:GeographicZoneValue ;
    rdfs:label "Other Geographic Zone"@en ;
    skos:definition "Other geographic zone not specifically categorized" ;
    skos:prefLabel "Other" .

urpx:industrialZone rdf:type urpx:GeographicZoneValue ;
    rdfs:label "Industrial Zone"@en ;
    skos:definition "Industrial geographic zone - manufacturing and heavy industry areas" ;
    skos:prefLabel "Industrial" .

urpx:mountainZone rdf:type urpx:GeographicZoneValue ;
    rdfs:label "Mountain Zone"@en ;
    skos:definition "Mountain geographic zone - elevated terrain and mountainous regions" ;
    skos:prefLabel "Mountain" .

urpx:ruralZone rdf:type urpx:GeographicZoneValue ;
    rdfs:label "Rural Zone"@en ;
    skos:definition "Rural geographic zone - countryside and agricultural areas" ;
    skos:prefLabel "Rural" .

urpx:suburbanZone rdf:type urpx:GeographicZoneValue ;
    rdfs:label "Suburban Zone"@en ;
    skos:definition "Suburban geographic zone - residential areas outside city centers" ;
    skos:prefLabel "Suburban" .

urpx:urbanZone rdf:type urpx:GeographicZoneValue ;
    rdfs:label "Urban Zone"@en ;
    skos:definition "Urban geographic zone - densely populated city areas" ;
    skos:prefLabel "Urban" .


# --- HVAC Kind Property (HVACKindValue) ---

urpx:airConditioner rdf:type urpx:HVACKindValue ;
    rdfs:label "Air Conditioner"@en ;
    skos:definition "Standard air conditioning system" ;
    skos:prefLabel "Air Conditioner" .

urpx:airSourceHeatPump rdf:type urpx:HVACKindValue ;
    rdfs:label "Air Source Heat Pump"@en ;
    skos:definition "Air source heat pump system for heating and cooling" ;
    skos:prefLabel "Air Source Heat Pump" .

urpx:districtHeatingConnection rdf:type urpx:HVACKindValue ;
    rdfs:label "District Heating Connection"@en ;
    skos:definition "Connection to a district heating network" ;
    skos:prefLabel "District Heating" .

urpx:groundSourceHeatPump rdf:type urpx:HVACKindValue ;
    rdfs:label "Ground Source Heat Pump"@en ;
    skos:definition "Ground source (geothermal) heat pump system" ;
    skos:prefLabel "Ground Source Heat Pump" .

urpx:spaceHeater rdf:type urpx:HVACKindValue ;
    rdfs:label "Space Heater"@en ;
    skos:definition "Individual space heating unit" ;
    skos:prefLabel "Space Heater" .


# --- Identifier Scheme Property (IdentifierSchemeValue) ---

urpx:companyNumberScheme rdf:type urpx:IdentifierSchemeValue ;
    rdfs:label "Company Number Scheme"@en ;
    skos:definition "Company number identifier scheme - government-issued company registration number" ;
    skos:prefLabel "Company Number" .

urpx:dunsScheme rdf:type urpx:IdentifierSchemeValue ;
    rdfs:label "DUNS Scheme"@en ;
    skos:definition "DUNS identifier scheme - Dun & Bradstreet Universal Numbering System" ;
    skos:prefLabel "DUNS" .

urpx:eiaScheme rdf:type urpx:IdentifierSchemeValue ;
    rdfs:label "EIA Scheme"@en ;
    skos:definition "EIA identifier scheme - US Energy Information Administration utility identifier" ;
    skos:prefLabel "EIA" .

urpx:gleifScheme rdf:type urpx:IdentifierSchemeValue ;
    rdfs:label "GLEIF Scheme"@en ;
    skos:definition "GLEIF identifier scheme - Global Legal Entity Identifier Foundation system" ;
    skos:prefLabel "GLEIF" .

urpx:gridScheme rdf:type urpx:IdentifierSchemeValue ;
    rdfs:label "GRID Scheme"@en ;
    skos:definition "GRID identifier scheme - Global Research Identifier Database for organizations" ;
    skos:prefLabel "GRID" .

urpx:isinScheme rdf:type urpx:IdentifierSchemeValue ;
    rdfs:label "ISIN Scheme"@en ;
    skos:definition "ISIN identifier scheme - International Securities Identification Number" ;
    skos:prefLabel "ISIN" .

urpx:leiScheme rdf:type urpx:IdentifierSchemeValue ;
    rdfs:label "LEI Scheme"@en ;
    skos:definition "LEI identifier scheme - Legal Entity Identifier for financial market participants" ;
    skos:prefLabel "LEI" .

urpx:localRegulatorScheme rdf:type urpx:IdentifierSchemeValue ;
    rdfs:label "Local Regulator Scheme"@en ;
    skos:definition "Local regulator identifier scheme - jurisdiction-specific regulatory identifier" ;
    skos:prefLabel "Local Regulator" .

urpx:vatScheme rdf:type urpx:IdentifierSchemeValue ;
    rdfs:label "VAT Scheme"@en ;
    skos:definition "VAT identifier scheme - Value Added Tax registration number" ;
    skos:prefLabel "VAT" .


# --- Interconnection Status Property (InterconnectionStatusValue) ---

urpx:disconnectedStatus rdf:type urpx:InterconnectionStatusValue ;
    rdfs:label "Disconnected Status"@en ;
    skos:definition "DER is physically installed but not connected to grid" ;
    skos:prefLabel "Disconnected" .

urpx:interconnectedStatus rdf:type urpx:InterconnectionStatusValue ;
    rdfs:label "Interconnected Status"@en ;
    skos:definition "DER is connected and operational on the grid" ;
    skos:prefLabel "Interconnected" .

urpx:notApplicableInterconnection rdf:type urpx:InterconnectionStatusValue ;
    rdfs:label "Not Applicable Interconnection"@en ;
    skos:definition "Interconnection status not applicable to this resource type" ;
    skos:prefLabel "Not Applicable" .

urpx:pendingInterconnection rdf:type urpx:InterconnectionStatusValue ;
    rdfs:label "Pending Interconnection"@en ;
    skos:definition "DER interconnection application is pending utility approval" ;
    skos:prefLabel "Pending" .


# --- Interval Selection Property (IntervalSelectionValue) ---

urpx:rollingWindowSelection rdf:type urpx:IntervalSelectionValue ;
    rdfs:label "Rolling Window Selection"@en ;
    skos:definition "Selection using a continuous time window of fixed duration that moves forward in time relative to a defined alignment (e.g., rolling 12 months)." ;
    skos:prefLabel "Rolling Window" .

urpx:consecutivePeriodsSelection rdf:type urpx:IntervalSelectionValue ;
    rdfs:label "Consecutive Periods Selection"@en ;
    skos:definition "Selection based on a contiguous sequence of discrete periods meeting a criteria (e.g., 3 consecutive months of peak demand > X)." ;
    skos:prefLabel "Consecutive Periods" .

urpx:fixedWindowSelection rdf:type urpx:IntervalSelectionValue ;
    rdfs:label "Fixed Window Selection"@en ;
    skos:definition "Selection based on a fixed time window defined by specific start/end dates (e.g., calendar year 2024)." ;
    skos:prefLabel "Fixed Window" .


# --- Interval Alignment Property (IntervalAlignmentValue) ---

urpx:calendarAligned rdf:type urpx:IntervalAlignmentValue ;
    rdfs:label "Calendar Aligned"@en ;
    skos:definition "Interval is aligned to calendar boundaries (e.g., calendar month, calendar year)." ;
    skos:prefLabel "Calendar Aligned" .

urpx:billingPeriodAligned rdf:type urpx:IntervalAlignmentValue ;
    rdfs:label "Billing Period Aligned"@en ;
    skos:definition "Interval is aligned to the utility's billing cycle period (e.g., Bill Cycle 1, Trip 2)." ;
    skos:prefLabel "Billing Period Aligned" .

urpx:rollingAligned rdf:type urpx:IntervalAlignmentValue ;
    rdfs:label "Rolling Aligned"@en ;
    skos:definition "Interval is aligned to the current evaluation date (e.g., past 365 days from today)." ;
    skos:prefLabel "Rolling Aligned" .

urpx:fixedAligned rdf:type urpx:IntervalAlignmentValue ;
    rdfs:label "Fixed Aligned"@en ;
    skos:definition "Interval is defined by fixed start/end dates independent of billing cycle or current date." ;
    skos:prefLabel "Fixed Aligned" .


# --- Interval Type Property (IntervalTypeValue) ---

urpx:annualInterval rdf:type urpx:IntervalTypeValue ;
    rdfs:label "Annual Interval"@en ;
    skos:definition "Annual time interval (P1Y or P12M equivalent)" ;
    skos:prefLabel "Annual" .

urpx:quarterlyInterval rdf:type urpx:IntervalTypeValue ;
    rdfs:label "Quarterly Interval"@en ;
    skos:definition "Quarterly time interval (P3M equivalent)" ;
    skos:prefLabel "Quarterly" .

urpx:monthlyInterval rdf:type urpx:IntervalTypeValue ;
    rdfs:label "Monthly Interval"@en ;
    skos:definition "Monthly time interval (P1M equivalent)" ;
    skos:prefLabel "Monthly" .

urpx:weeklyInterval rdf:type urpx:IntervalTypeValue ;
    rdfs:label "Weekly Interval"@en ;
    skos:definition "Weekly time interval (P7D equivalent)" ;
    skos:prefLabel "Weekly" .

urpx:dailyInterval rdf:type urpx:IntervalTypeValue ;
    rdfs:label "Daily Interval"@en ;
    skos:definition "Daily time interval (P1D equivalent)" ;
    skos:prefLabel "Daily" .

urpx:hourlyInterval rdf:type urpx:IntervalTypeValue ;
    rdfs:label "Hourly Interval"@en ;
    skos:definition "Hourly time interval (PT1H equivalent)" ;
    skos:prefLabel "Hourly" .

urpx:thirtyMinuteInterval rdf:type urpx:IntervalTypeValue ;
    rdfs:label "Thirty Minute Interval"@en ;
    skos:definition "Thirty-minute time interval (PT30M equivalent)" ;
    skos:prefLabel "30-Minute" .

urpx:fifteenMinuteInterval rdf:type urpx:IntervalTypeValue ;
    rdfs:label "Fifteen Minute Interval"@en ;
    skos:definition "Fifteen-minute time interval (PT15M equivalent)" ;
    skos:prefLabel "15-Minute" .

urpx:fiveMinuteInterval rdf:type urpx:IntervalTypeValue ;
    rdfs:label "Five Minute Interval"@en ;
    skos:definition "Five-minute time interval (PT5M equivalent)" ;
    skos:prefLabel "5-Minute" .

urpx:realTimeInterval rdf:type urpx:IntervalTypeValue ;
    rdfs:label "Real Time Interval"@en ;
    skos:definition "Real-time or continuous interval" ;
    skos:prefLabel "Real-Time" .

urpx:customInterval rdf:type urpx:IntervalTypeValue ;
    rdfs:label "Custom Interval"@en ;
    skos:definition "Custom or non-standard time interval, must use intervalDuration property" ;
    skos:prefLabel "Custom" .


# --- Inverter Type Property (InverterTypeValue) ---

urpx:centralInverter rdf:type urpx:InverterTypeValue ;
    rdfs:label "Central Inverter"@en ;
    skos:definition "Central inverter - large-scale inverter for commercial installations" ;
    skos:prefLabel "Central" .

urpx:hybridInverter rdf:type urpx:InverterTypeValue ;
    rdfs:label "Hybrid Inverter"@en ;
    skos:definition "Hybrid inverter - combined solar and battery storage inverter" ;
    skos:prefLabel "Hybrid" .

urpx:microInverter rdf:type urpx:InverterTypeValue ;
    rdfs:label "Micro Inverter"@en ;
    skos:definition "Micro inverter - individual inverter for each solar panel" ;
    skos:prefLabel "Micro" .

urpx:powerOptimizer rdf:type urpx:InverterTypeValue ;
    rdfs:label "Power Optimizer"@en ;
    skos:definition "Power optimizer - panel-level optimization with centralized inverter" ;
    skos:prefLabel "Power Optimizer" .

urpx:stringInverter rdf:type urpx:InverterTypeValue ;
    rdfs:label "String Inverter"@en ;
    skos:definition "String inverter - centralized inverter for multiple solar panels" ;
    skos:prefLabel "String" .


# --- Ledger Type Property (LedgerTypeValue) ---

urpx:bundledLedger rdf:type urpx:LedgerTypeValue ;
    rdfs:label "Bundled Ledger"@en ;
    skos:definition "Ledger for bundled supply and delivery charges" ;
    skos:prefLabel "Bundled" .

urpx:deliveryLedger rdf:type urpx:LedgerTypeValue ;
    rdfs:label "Delivery Ledger"@en ;
    skos:definition "Ledger for transmission and distribution charges" ;
    skos:prefLabel "Delivery" .

urpx:calculatedLedger rdf:type urpx:LedgerTypeValue ;
    rdfs:label "Calculated Ledger"@en ;
    skos:definition "Ledger for charges calculated based on charges in other ledgers under this BillingModel" ;
    skos:prefLabel "Calculated" .

urpx:distributionLedger rdf:type urpx:LedgerTypeValue ;
    rdfs:label "Distribution Ledger"@en ;
    skos:definition "Ledger specifically for distribution charges" ;
    skos:prefLabel "Distribution" .

urpx:measuredLedger rdf:type urpx:LedgerTypeValue ;
    rdfs:label "Measured Ledger"@en ;
    skos:definition "Ledger containing charges dependent on measured usage data" ;
    skos:prefLabel "Measured" .

urpx:profileMetricLedger rdf:type urpx:LedgerTypeValue ;
    rdfs:label "Profile Ledger"@en ;
    skos:definition "Ledger containing charges dependent on static profile characteristics" ;
    skos:prefLabel "Profile" .

urpx:supplyLedger rdf:type urpx:LedgerTypeValue ;
    rdfs:label "Supply Ledger"@en ;
    skos:definition "Ledger for energy supply and generation charges" ;
    skos:prefLabel "Supply" .

urpx:transmissionLedger rdf:type urpx:LedgerTypeValue ;
    rdfs:label "Transmission Ledger"@en ;
    skos:definition "Ledger specifically for transmission charges" ;
    skos:prefLabel "Transmission" .


# --- Load Profile Property (LoadProfileValue) ---

urpx:baseload rdf:type urpx:LoadProfileValue ;
    rdfs:label "Baseload"@en ;
    skos:definition "Baseload profile - consistent usage with minimal variation" ;
    skos:prefLabel "Baseload" .

urpx:intermittent rdf:type urpx:LoadProfileValue ;
    rdfs:label "Intermittent"@en ;
    skos:definition "Intermittent profile - sporadic or occasional usage" ;
    skos:prefLabel "Intermittent" .

urpx:loadProfileOther rdf:type urpx:LoadProfileValue ;
    rdfs:label "Other Load Profile"@en ;
    skos:definition "Other load profile not specifically categorized" ;
    skos:prefLabel "Other" .

urpx:peaking rdf:type urpx:LoadProfileValue ;
    rdfs:label "Peaking"@en ;
    skos:definition "Peaking profile - high demand during specific periods" ;
    skos:prefLabel "Peaking" .

urpx:seasonal rdf:type urpx:LoadProfileValue ;
    rdfs:label "Seasonal"@en ;
    skos:definition "Seasonal profile - usage varies by season" ;
    skos:prefLabel "Seasonal" .

urpx:variable rdf:type urpx:LoadProfileValue ;
    rdfs:label "Variable"@en ;
    skos:definition "Variable profile - irregular usage patterns" ;
    skos:prefLabel "Variable" .


# --- Measurement Kind Property (MeasurementTypeValue) ---

urpx:current rdf:type urpx:MeasurementTypeValue ;
    rdfs:label "Current"@en ;
    skos:definition "Electric current measurement (A, mA, etc.)" ;
    skos:prefLabel "Current" .

urpx:demand rdf:type urpx:MeasurementTypeValue ;
    rdfs:label "Demand"@en ;
    skos:definition "Power demand measurement (kW, MW, etc.)" ;
    skos:prefLabel "Demand" .

urpx:energy rdf:type urpx:MeasurementTypeValue ;
    rdfs:label "Energy"@en ;
    skos:definition "Energy consumption measurement (kWh, MWh, etc.)" ;
    skos:prefLabel "Energy" .

urpx:frequency rdf:type urpx:MeasurementTypeValue ;
    rdfs:label "Frequency"@en ;
    skos:definition "Frequency measurement (Hz)" ;
    skos:prefLabel "Frequency" .

urpx:power rdf:type urpx:MeasurementTypeValue ;
    rdfs:label "Power"@en ;
    skos:definition "Instantaneous power measurement (kW, MW, etc.)" ;
    skos:prefLabel "Power" .

urpx:powerFactor rdf:type urpx:MeasurementTypeValue ;
    rdfs:label "Power Factor"@en ;
    skos:definition "Power factor measurement (ratio, percentage)" ;
    skos:prefLabel "Power Factor" .

urpx:pressure rdf:type urpx:MeasurementTypeValue ;
    rdfs:label "Pressure"@en ;
    skos:definition "Pressure measurement (psi, bar, etc.)" ;
    skos:prefLabel "Pressure" .

urpx:temperature rdf:type urpx:MeasurementTypeValue ;
    rdfs:label "Temperature"@en ;
    skos:definition "Temperature measurement (°F, °C, K)" ;
    skos:prefLabel "Temperature" .

urpx:voltage rdf:type urpx:MeasurementTypeValue ;
    rdfs:label "Voltage"@en ;
    skos:definition "Voltage level measurement (V, kV, etc.)" ;
    skos:prefLabel "Voltage" .

urpx:volume rdf:type urpx:MeasurementTypeValue ;
    rdfs:label "Volume"@en ;
    skos:definition "Volume measurement (gallons, cubic feet, liters, etc.)" ;
    skos:prefLabel "Volume" .

urpx:volumetricFlow rdf:type urpx:MeasurementTypeValue ;
    rdfs:label "Volumetric Flow"@en ;
    skos:definition "Volumetric flow rate measurement (gallons/min, cubic feet/hour, etc.)" ;
    skos:prefLabel "Volumetric Flow" .


# --- Media Type Property (MediaTypeValue) ---

urpx:applicationJson rdf:type urpx:MediaTypeValue ;
    rdfs:label "json"@en ;
    skos:definition "application/json media type" ;
    skos:prefLabel "json" .

urpx:applicationPdf rdf:type urpx:MediaTypeValue ;
    rdfs:label "pdf"@en ;
    skos:definition "application/pdf media type" ;
    skos:prefLabel "pdf" .

urpx:applicationVndMsExcel rdf:type urpx:MediaTypeValue ;
    rdfs:label "vnd.ms-excel"@en ;
    skos:definition "application/vnd.ms-excel media type" ;
    skos:prefLabel "vnd.ms-excel" .

urpx:applicationVndOasisOpendocumentSpreadsheet rdf:type urpx:MediaTypeValue ;
    rdfs:label "vnd.oasis.opendocument.spreadsheet"@en ;
    skos:definition "application/vnd.oasis.opendocument.spreadsheet media type" ;
    skos:prefLabel "vnd.oasis.opendocument.spreadsheet" .

urpx:applicationVndOasisOpendocumentText rdf:type urpx:MediaTypeValue ;
    rdfs:label "vnd.oasis.opendocument.text"@en ;
    skos:definition "application/vnd.oasis.opendocument.text media type" ;
    skos:prefLabel "vnd.oasis.opendocument.text" .

urpx:applicationVndOpenxmlformatsOfficedocumentSpreadsheetmlSheet rdf:type urpx:MediaTypeValue ;
    rdfs:label "vnd.openxmlformats-officedocument.spreadsheetml.sheet"@en ;
    skos:definition "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet media type" ;
    skos:prefLabel "vnd.openxmlformats-officedocument.spreadsheetml.sheet" .

urpx:imageGif rdf:type urpx:MediaTypeValue ;
    rdfs:label "gif"@en ;
    skos:definition "image/gif media type" ;
    skos:prefLabel "gif" .

urpx:imageJpeg rdf:type urpx:MediaTypeValue ;
    rdfs:label "jpeg"@en ;
    skos:definition "image/jpeg media type" ;
    skos:prefLabel "jpeg" .

urpx:imagePng rdf:type urpx:MediaTypeValue ;
    rdfs:label "png"@en ;
    skos:definition "image/png media type" ;
    skos:prefLabel "png" .

urpx:textCsv rdf:type urpx:MediaTypeValue ;
    rdfs:label "csv"@en ;
    skos:definition "text/csv media type" ;
    skos:prefLabel "csv" .

urpx:textHtml rdf:type urpx:MediaTypeValue ;
    rdfs:label "html"@en ;
    skos:definition "text/html media type" ;
    skos:prefLabel "html" .

urpx:textPlain rdf:type urpx:MediaTypeValue ;
    rdfs:label "plain"@en ;
    skos:definition "text/plain media type" ;
    skos:prefLabel "plain" .

urpx:textRtf rdf:type urpx:MediaTypeValue ;
    rdfs:label "rtf"@en ;
    skos:definition "text/rtf media type" ;
    skos:prefLabel "rtf" .

urpx:textXml rdf:type urpx:MediaTypeValue ;
    rdfs:label "xml"@en ;
    skos:definition "text/xml media type" ;
    skos:prefLabel "xml" .


# --- Metering Configuration Property (MeteringConfigurationValue) ---

urpx:interval rdf:type urpx:MeteringConfigurationValue ;
    rdfs:label "Interval metering"@en ;
    skos:definition "Interval metering configuration - interval meter reading" ;
    skos:prefLabel "Interval" .

urpx:ami rdf:type urpx:MeteringConfigurationValue ;
    rdfs:label "AMI Metering"@en ;
    skos:definition "Advanced Metering Infrastructure (AMI) configuration - smart meter with remote communication" ;
    skos:prefLabel "AMI" .

urpx:demandConfiguration rdf:type urpx:MeteringConfigurationValue ;
    rdfs:label "Demand Metering"@en ;
    skos:definition "Demand metering configuration - peak demand tracking" ;
    skos:prefLabel "Demand" .

urpx:manual rdf:type urpx:MeteringConfigurationValue ;
    rdfs:label "Manual Metering"@en ;
    skos:definition "Manual metering configuration - manual meter reading" ;
    skos:prefLabel "Manual" .

urpx:netMetering rdf:type urpx:MeteringConfigurationValue ;
    rdfs:label "Net Metering"@en ;
    skos:definition "Net metering configuration - bidirectional meter for DER net metering" ;
    skos:prefLabel "Net" .

urpx:prepaid rdf:type urpx:MeteringConfigurationValue ;
    rdfs:label "Prepaid Metering"@en ;
    skos:definition "Prepaid metering configuration - prepayment billing system" ;
    skos:prefLabel "Prepaid" .


# --- Metric Input Type Property (MetricInputTypeValue) ---

urpx:measuredMetricInput a urpx:MetricInputTypeValue ;
    rdfs:label "Measured Metric Input"@en ;
    skos:definition "Metric input with measured metrics" .

urpx:calculatedMetricInput a urpx:MetricInputTypeValue ;
    rdfs:label "Calculated Metric Input" ;
    skos:definition "Metric input with a calculated metric" .

urpx:aggregatedMetricInput a urpx:MetricInputTypeValue ;
    rdfs:label "Aggregated Metric Input"@en ;
    skos:definition "Metric input with an aggregated metric" .

urpx:virtualMetricInput a urpx:MetricInputTypeValue ;
    rdfs:label "Virtual Metric Input"@en ;
    skos:definition "Metric input for virtual net metering" .

urpx:profileMetricInput a urpx:MetricInputTypeValue ;
    rdfs:label "Profile Metric Input"@en ;
    skos:definition "Metric input from customer/service point profile characteristics" ;
    skos:note "Used for profile characteristics (not meter measurements). Examples: meterCount, occupancyCount, buildingSquareFootage, billedDemand (utility estimate). NOT for values calculated from meter data like averageMonthlyUsage or loadFactor (use calculatedMetricInput). Profile characteristics can change over time. References profile properties via profileMetricProperty." .


# --- Modifier Category Property (ModifierCategoryValue) ---

urpx:billingCategory rdf:type urpx:ModifierCategoryValue ;
    rdfs:label "Billing Category"@en ;
    skos:definition "Billing category modifier for payment and billing process changes" ;
    skos:prefLabel "Billing" .

urpx:customerServiceCategory rdf:type urpx:ModifierCategoryValue ;
    rdfs:label "Customer Service Category"@en ;
    skos:definition "Customer service category modifier for service enhancement programs" ;
    skos:prefLabel "Customer Service" .

urpx:demandManagementCategory rdf:type urpx:ModifierCategoryValue ;
    rdfs:label "Demand Management Category"@en ;
    skos:definition "Demand management category modifier for load control and peak shaving" ;
    skos:prefLabel "Demand Management" .

urpx:environmentalCategory rdf:type urpx:ModifierCategoryValue ;
    rdfs:label "Environmental Category"@en ;
    skos:definition "Environmental category modifier for sustainability and green energy programs" ;
    skos:prefLabel "Environmental" .

urpx:modifierCategoryOther rdf:type urpx:ModifierCategoryValue ;
    rdfs:label "Other Modifier Category"@en ;
    skos:definition "Other modifier category not specifically categorized" ;
    skos:prefLabel "Other" .

urpx:promotionalCategory rdf:type urpx:ModifierCategoryValue ;
    rdfs:label "Promotional Category"@en ;
    skos:definition "Promotional category modifier for marketing and incentive programs" ;
    skos:prefLabel "Promotional" .

urpx:regulatoryCategory rdf:type urpx:ModifierCategoryValue ;
    rdfs:label "Regulatory Category"@en ;
    skos:definition "Regulatory category modifier for compliance and mandate-driven changes" ;
    skos:prefLabel "Regulatory" .


# --- Modifier Type Property (ModifierTypeValue) ---

urpx:addOn rdf:type urpx:ModifierTypeValue ;
    rdfs:label "Add-On"@en ;
    skos:definition "Add-on modifier that extends base rate plan with additional services" ;
    skos:prefLabel "Add-On" .

urpx:adjustment rdf:type urpx:ModifierTypeValue ;
    rdfs:label "Adjustment"@en ;
    skos:definition "Rate adjustment modifier for price corrections or updates" ;
    skos:prefLabel "Adjustment" .

urpx:credit rdf:type urpx:ModifierTypeValue ;
    rdfs:label "Credit"@en ;
    skos:definition "Credit modifier providing bill reductions or rebates" ;
    skos:prefLabel "Credit" .

urpx:demandResponse rdf:type urpx:ModifierTypeValue ;
    rdfs:label "Demand Response"@en ;
    skos:definition "Demand response modifier for load management programs" ;
    skos:prefLabel "Demand Response" .

urpx:evCharging rdf:type urpx:ModifierTypeValue ;
    rdfs:label "EV Charging"@en ;
    skos:definition "Electric vehicle charging modifier for EV-specific rates" ;
    skos:prefLabel "EV Charging" .

urpx:greenEnergy rdf:type urpx:ModifierTypeValue ;
    rdfs:label "Green Energy"@en ;
    skos:definition "Green energy modifier for renewable energy programs" ;
    skos:prefLabel "Green Energy" .

urpx:modifierTypeOther rdf:type urpx:ModifierTypeValue ;
    rdfs:label "Other Modifier Type"@en ;
    skos:definition "Other rate plan modifier type not specifically categorized" ;
    skos:prefLabel "Other" .

urpx:optIn rdf:type urpx:ModifierTypeValue ;
    rdfs:label "Opt-In"@en ;
    skos:definition "Opt-in modifier for voluntary customer-selected services" ;
    skos:prefLabel "Opt-In" .

urpx:optOut rdf:type urpx:ModifierTypeValue ;
    rdfs:label "Opt-Out"@en ;
    skos:definition "Opt-out modifier for services customers can decline" ;
    skos:prefLabel "Opt-Out" .

urpx:rider rdf:type urpx:ModifierTypeValue ;
    rdfs:label "Rider"@en ;
    skos:definition "Rider modifier for regulatory surcharges or adjustments" ;
    skos:prefLabel "Rider" .


# --- Name Type Property (NameTypeValue) ---

urpx:abbreviationName rdf:type urpx:NameTypeValue ;
    rdfs:label "Abbreviation Name"@en ;
    skos:definition "Abbreviation name - shortened form of organization name" ;
    skos:prefLabel "Abbreviation" .

urpx:acronymName rdf:type urpx:NameTypeValue ;
    rdfs:label "Acronym Name"@en ;
    skos:definition "Acronym name - initials forming pronounceable word from organization name" ;
    skos:prefLabel "Acronym" .

urpx:brandName rdf:type urpx:NameTypeValue ;
    rdfs:label "Brand Name"@en ;
    skos:definition "Brand name - marketing or customer-facing brand identity" ;
    skos:prefLabel "Brand" .

urpx:commonName rdf:type urpx:NameTypeValue ;
    rdfs:label "Common Name"@en ;
    skos:definition "Common name - widely recognized informal name used in practice" ;
    skos:prefLabel "Common" .

urpx:dbaName rdf:type urpx:NameTypeValue ;
    rdfs:label "DBA Name"@en ;
    skos:definition "DBA name - 'Doing Business As' name for business operations" ;
    skos:prefLabel "DBA" .

urpx:formerName rdf:type urpx:NameTypeValue ;
    rdfs:label "Former Name"@en ;
    skos:definition "Former name - previous legal or operational name before change" ;
    skos:prefLabel "Former" .

urpx:legalName rdf:type urpx:NameTypeValue ;
    rdfs:label "Legal Name"@en ;
    skos:definition "Legal name - official registered corporate legal entity name" ;
    skos:prefLabel "Legal" .

urpx:tradeName rdf:type urpx:NameTypeValue ;
    rdfs:label "Trade Name"@en ;
    skos:definition "Trade name - commercial trading name used in business transactions" ;
    skos:prefLabel "Trade" .


# --- Observance Rule Property (ObservanceRuleValue) ---

urpx:actualDateObservance rdf:type urpx:ObservanceRuleValue ;
    rdfs:label "Actual Date Observance"@en ;
    skos:definition "Holiday observed on the actual calendar date regardless of day of week" ;
    skos:prefLabel "Actual Date" .

urpx:fridayIfWeekendObservance rdf:type urpx:ObservanceRuleValue ;
    rdfs:label "Friday If Weekend Observance"@en ;
    skos:definition "Holiday observed on preceding Friday if it falls on weekend" ;
    skos:prefLabel "If Weekend Then Friday" .

urpx:mondayIfWeekendObservance rdf:type urpx:ObservanceRuleValue ;
    rdfs:label "Monday If Weekend Observance"@en ;
    skos:definition "Holiday observed on following Monday if it falls on weekend" ;
    skos:prefLabel "If Weekend Then Monday" .

urpx:nearestWeekdayObservance rdf:type urpx:ObservanceRuleValue ;
    rdfs:label "Nearest Weekday Observance"@en ;
    skos:definition "Holiday observed on nearest weekday (Friday if Saturday, Monday if Sunday)" ;
    skos:prefLabel "If Weekend Then Nearest Weekday" .


# --- Operator Property (OperatorValue) ---

urpx:addOperator rdf:type urpx:OperatorValue ;
    rdfs:label "Add Operator"@en ;
    rdfs:comment "Represents addition in condition expressions"@en ;
    skos:note "Used in OperationNode for arithmetic addition" .

urpx:andOperator rdf:type urpx:BooleanOperatorValue, urpx:OperatorValue ;
    rdfs:label "And Operator"@en ;
    rdfs:comment "Represents logical conjunction in condition-expression boolean composition"@en ;
    skos:note "Used in BooleanOperationNode for boolean AND composition." .

urpx:betweenOperator rdf:type urpx:OperatorValue ;
    rdfs:label "Between Operator"@en ;
    skos:definition "Range comparison operator (BETWEEN)" ;
    skos:prefLabel "Between" .

urpx:containsOperator rdf:type urpx:OperatorValue ;
    rdfs:label "Contains Operator"@en ;
    skos:definition "String contains comparison operator (LIKE, CONTAINS)" ;
    skos:prefLabel "Contains" .

urpx:divideOperator rdf:type urpx:OperatorValue ;
    rdfs:label "Divide Operator"@en ;
    rdfs:comment "Represents division in condition expressions"@en ;
    skos:note "Used in OperationNode for arithmetic division" .

urpx:equalsOperator rdf:type urpx:OperatorValue ;
    rdfs:label "Equals Operator"@en ;
    skos:definition "Equality comparison operator (==, =)" ;
    skos:prefLabel "Equals" .

urpx:greaterThanOperator rdf:type urpx:OperatorValue ;
    rdfs:label "Greater Than Operator"@en ;
    skos:definition "Greater than comparison operator (>)" ;
    skos:prefLabel "Greater Than" .

urpx:greaterThanOrEqualOperator rdf:type urpx:OperatorValue ;
    rdfs:label "Greater Than Or Equal Operator"@en ;
    skos:definition "Greater than or equal comparison operator (>=)" ;
    skos:prefLabel "Greater Than Or Equal" .

urpx:inOperator rdf:type urpx:OperatorValue ;
    rdfs:label "In Operator"@en ;
    skos:definition "Set membership operator (IN)" ;
    skos:prefLabel "In" .

urpx:lessThanOperator rdf:type urpx:OperatorValue ;
    rdfs:label "Less Than Operator"@en ;
    skos:definition "Less than comparison operator (<)" ;
    skos:prefLabel "Less Than" .

urpx:lessThanOrEqualOperator rdf:type urpx:OperatorValue ;
    rdfs:label "Less Than Or Equal Operator"@en ;
    skos:definition "Less than or equal comparison operator (<=)" ;
    skos:prefLabel "Less Than Or Equal" .

urpx:multiplyOperator rdf:type urpx:OperatorValue ;
    rdfs:label "Multiply Operator"@en ;
    rdfs:comment "Represents multiplication in condition expressions"@en ;
    skos:note "Used in OperationNode for arithmetic multiplication" .

urpx:notEqualsOperator rdf:type urpx:OperatorValue ;
    rdfs:label "Not Equals Operator"@en ;
    skos:definition "Inequality comparison operator (!=, <>)" ;
    skos:prefLabel "Not Equals" .

urpx:notInOperator rdf:type urpx:OperatorValue ;
    rdfs:label "Not In Operator"@en ;
    skos:definition "Set exclusion operator (NOT IN)" ;
    skos:prefLabel "Not In" .

urpx:notOperator rdf:type urpx:BooleanOperatorValue, urpx:OperatorValue ;
    rdfs:label "Not Operator"@en ;
    rdfs:comment "Represents logical negation in condition-expression boolean composition"@en ;
    skos:note "Used in BooleanOperationNode for boolean NOT composition." .

urpx:orOperator rdf:type urpx:BooleanOperatorValue, urpx:OperatorValue ;
    rdfs:label "Or Operator"@en ;
    rdfs:comment "Represents logical disjunction in condition-expression boolean composition"@en ;
    skos:note "Used in BooleanOperationNode for boolean OR composition." .

urpx:subtractOperator rdf:type urpx:OperatorValue ;
    rdfs:label "Subtract Operator"@en ;
    rdfs:comment "Represents subtraction in condition expressions"@en ;
    skos:note "Used in OperationNode for arithmetic subtraction" .


# --- Operator Property (BooleanOperatorValue) ---

urpx:andOperator rdf:type urpx:BooleanOperatorValue, urpx:OperatorValue ;
    rdfs:label "And Operator"@en ;
    rdfs:comment "Represents logical conjunction in condition-expression boolean composition"@en ;
    skos:note "Used in BooleanOperationNode for boolean AND composition." .

urpx:notOperator rdf:type urpx:BooleanOperatorValue, urpx:OperatorValue ;
    rdfs:label "Not Operator"@en ;
    rdfs:comment "Represents logical negation in condition-expression boolean composition"@en ;
    skos:note "Used in BooleanOperationNode for boolean NOT composition." .

urpx:orOperator rdf:type urpx:BooleanOperatorValue, urpx:OperatorValue ;
    rdfs:label "Or Operator"@en ;
    rdfs:comment "Represents logical disjunction in condition-expression boolean composition"@en ;
    skos:note "Used in BooleanOperationNode for boolean OR composition." .


# --- Ownership Type Property (OwnershipTypeValue) ---

urpx:cooperativeOwnership rdf:type urpx:OwnershipTypeValue ;
    rdfs:label "Cooperative Ownership"@en ;
    skos:definition "Cooperative ownership - member-owned utility operated for members' benefit" ;
    skos:prefLabel "Cooperative" .

urpx:federalOwnership rdf:type urpx:OwnershipTypeValue ;
    rdfs:label "Federal Ownership"@en ;
    skos:definition "Federal government ownership - federally-owned utility or power authority" ;
    skos:prefLabel "Federal" .

urpx:investorOwned rdf:type urpx:OwnershipTypeValue ;
    rdfs:label "Investor-Owned"@en ;
    skos:definition "Investor-owned utility - private company owned by shareholders for profit" ;
    skos:prefLabel "Investor-Owned" .

urpx:municipalOwnership rdf:type urpx:OwnershipTypeValue ;
    rdfs:label "Municipal Ownership"@en ;
    skos:definition "Municipal ownership - city or local government-owned utility" ;
    skos:prefLabel "Municipal" .

urpx:privateOwnership rdf:type urpx:OwnershipTypeValue ;
    rdfs:label "Private Ownership"@en ;
    skos:definition "Private ownership - privately-owned utility not publicly traded" ;
    skos:prefLabel "Private" .

urpx:stateOwnership rdf:type urpx:OwnershipTypeValue ;
    rdfs:label "State Ownership"@en ;
    skos:definition "State government ownership - state-owned utility or power authority" ;
    skos:prefLabel "State" .

urpx:tribalOwnership rdf:type urpx:OwnershipTypeValue ;
    rdfs:label "Tribal Ownership"@en ;
    skos:definition "Tribal ownership - Native American tribal nation-owned utility" ;
    skos:prefLabel "Tribal" .


# --- Organization Type Property (OrganizationTypeValue) ---

urpx:aggregatorOrganization rdf:type urpx:OrganizationTypeValue ;
    rdfs:label "Aggregator Organization"@en ;
    skos:definition "Energy aggregator organization - combines customer loads for wholesale market participation" ;
    skos:prefLabel "Aggregator" .

urpx:cooperativeOrganization rdf:type urpx:OrganizationTypeValue ;
    rdfs:label "Cooperative Organization"@en ;
    skos:definition "Cooperative organization - member-owned utility or energy service entity" ;
    skos:prefLabel "Cooperative" .

urpx:espOrganization rdf:type urpx:OrganizationTypeValue ;
    rdfs:label "ESP Organization"@en ;
    skos:definition "Energy Service Provider organization - competitive retail energy supplier" ;
    skos:prefLabel "ESP" .

urpx:ippOrganization rdf:type urpx:OrganizationTypeValue ;
    rdfs:label "IPP Organization"@en ;
    skos:definition "Independent Power Producer organization - wholesale electricity generation entity" ;
    skos:prefLabel "IPP" .

urpx:isoRtoOrganization rdf:type urpx:OrganizationTypeValue ;
    rdfs:label "ISO-RTO Organization"@en ;
    skos:definition "Independent System Operator or Regional Transmission Organization - grid management entity" ;
    skos:prefLabel "ISO-RTO" .

urpx:municipalOrganization rdf:type urpx:OrganizationTypeValue ;
    rdfs:label "Municipal Organization"@en ;
    skos:definition "Municipal organization - government-owned utility or energy entity" ;
    skos:prefLabel "Municipal" .

urpx:parentOrganization rdf:type urpx:OrganizationTypeValue ;
    rdfs:label "Parent Organization"@en ;
    skos:definition "Parent organization - holding company or corporate parent entity" ;
    skos:prefLabel "Parent" .

urpx:regulatorOrganization rdf:type urpx:OrganizationTypeValue ;
    rdfs:label "Regulator Organization"@en ;
    skos:definition "Regulatory organization - government entity with rate-setting or oversight authority" ;
    skos:prefLabel "Regulator" .

urpx:utilityOrganization rdf:type urpx:OrganizationTypeValue ;
    rdfs:label "Utility Organization"@en ;
    skos:definition "Utility organization - traditional regulated utility providing electric, gas, or water service" ;
    skos:prefLabel "Utility" .


# --- Panel Orientation Property (PanelOrientationValue) ---

urpx:east rdf:type urpx:PanelOrientationValue ;
    rdfs:label "East"@en ;
    skos:definition "East-facing panel orientation - morning generation peak" ;
    skos:prefLabel "East" .

urpx:multipleOrientations rdf:type urpx:PanelOrientationValue ;
    rdfs:label "Multiple Orientations"@en ;
    skos:definition "Solar installations with panels in multiple orientations"@en ;
    skos:prefLabel "Multiple Orientations"@en .

urpx:north rdf:type urpx:PanelOrientationValue ;
    rdfs:label "North"@en ;
    skos:definition "North-facing panel orientation - suboptimal for Northern Hemisphere" ;
    skos:prefLabel "North" .

urpx:northeast rdf:type urpx:PanelOrientationValue ;
    rdfs:label "Northeast"@en ;
    skos:definition "Northeast-facing panel orientation"@en ;
    skos:prefLabel "Northeast"@en .

urpx:northwest rdf:type urpx:PanelOrientationValue ;
    rdfs:label "Northwest"@en ;
    skos:definition "Northwest-facing panel orientation"@en ;
    skos:prefLabel "Northwest"@en .

urpx:south rdf:type urpx:PanelOrientationValue ;
    rdfs:label "South"@en ;
    skos:definition "South-facing panel orientation - optimal for Northern Hemisphere" ;
    skos:prefLabel "South" .

urpx:southeast rdf:type urpx:PanelOrientationValue ;
    rdfs:label "Southeast"@en ;
    skos:definition "Southeast-facing panel orientation" ;
    skos:prefLabel "Southeast" .

urpx:southwest rdf:type urpx:PanelOrientationValue ;
    rdfs:label "Southwest"@en ;
    skos:definition "Southwest-facing panel orientation" ;
    skos:prefLabel "Southwest" .

urpx:tracking rdf:type urpx:PanelOrientationValue ;
    rdfs:label "Tracking"@en ;
    skos:definition "Solar tracking system - follows sun movement for optimal generation" ;
    skos:prefLabel "Tracking" .

urpx:west rdf:type urpx:PanelOrientationValue ;
    rdfs:label "West"@en ;
    skos:definition "West-facing panel orientation - afternoon generation peak" ;
    skos:prefLabel "West" .


# --- Phase Code Kind Property (PhaseCodeKindValue) ---

urpx:A rdf:type urpx:PhaseCodeKindValue ;
    rdfs:label "Phase A"@en ;
    skos:notation "A" ;
    skos:definition "Phase A" ;
    skos:broader urpx:singlePhaseCategory .

urpx:AB rdf:type urpx:PhaseCodeKindValue ;
    rdfs:label "Phases A to B"@en ;
    skos:notation "AB" ;
    skos:definition "Phases A to B" ;
    skos:broader urpx:threePhaseCategory .

urpx:ABC rdf:type urpx:PhaseCodeKindValue ;
    rdfs:label "Involving All Phases"@en ;
    skos:notation "ABC" ;
    skos:definition "Involving All Phases" ;
    skos:broader urpx:threePhaseCategory .

urpx:ABCN rdf:type urpx:PhaseCodeKindValue ;
    rdfs:label "ABC to Neutral"@en ;
    skos:notation "ABCN" ;
    skos:definition "Three-phase ABC to Neutral configuration" ;
    skos:broader urpx:threePhaseCategory .

urpx:ABN rdf:type urpx:PhaseCodeKindValue ;
    rdfs:label "AB to Neutral"@en ;
    skos:notation "ABN" ;
    skos:definition "AB to Neutral" ;
    skos:broader urpx:threePhaseCategory .

urpx:AC rdf:type urpx:PhaseCodeKindValue ;
    rdfs:label "Phases A to C"@en ;
    skos:notation "AC" ;
    skos:definition "Phases A to C" ;
    skos:broader urpx:threePhaseCategory .

urpx:ACN rdf:type urpx:PhaseCodeKindValue ;
    rdfs:label "AC to Neutral"@en ;
    skos:notation "ACN" ;
    skos:definition "AC to Neutral" ;
    skos:broader urpx:threePhaseCategory .

urpx:AN rdf:type urpx:PhaseCodeKindValue ;
    rdfs:label "Phase A to Neutral"@en ;
    skos:notation "AN" ;
    skos:definition "Phase A to Neutral" ;
    skos:broader urpx:singlePhaseCategory .

urpx:AtoAv rdf:type urpx:PhaseCodeKindValue ;
    rdfs:label "Phase A Current Relative to Phase A Voltage"@en ;
    skos:notation "AtoAv" ;
    skos:definition "Phase A Current Relative to Phase A Voltage" ;
    skos:broader urpx:measurementCategory .

urpx:B rdf:type urpx:PhaseCodeKindValue ;
    rdfs:label "Phase B"@en ;
    skos:notation "B" ;
    skos:definition "Phase B" ;
    skos:broader urpx:singlePhaseCategory .

urpx:BAv rdf:type urpx:PhaseCodeKindValue ;
    rdfs:label "Phase B Current or Voltage Relative to Phase A Voltage"@en ;
    skos:notation "BAv" ;
    skos:definition "Phase B Current or Voltage Relative to Phase A Voltage" ;
    skos:broader urpx:measurementCategory .

urpx:BC rdf:type urpx:PhaseCodeKindValue ;
    rdfs:label "Phases B to C"@en ;
    skos:notation "BC" ;
    skos:definition "Phases B to C" ;
    skos:broader urpx:threePhaseCategory .

urpx:BCN rdf:type urpx:PhaseCodeKindValue ;
    rdfs:label "BC to Neutral"@en ;
    skos:notation "BCN" ;
    skos:definition "BC to Neutral" ;
    skos:broader urpx:threePhaseCategory .

urpx:BN rdf:type urpx:PhaseCodeKindValue ;
    rdfs:label "Phase B to Neutral"@en ;
    skos:notation "BN" ;
    skos:definition "Phase B to Neutral" ;
    skos:broader urpx:singlePhaseCategory .

urpx:C rdf:type urpx:PhaseCodeKindValue ;
    rdfs:label "Phase C"@en ;
    skos:notation "C" ;
    skos:definition "Phase C" ;
    skos:broader urpx:singlePhaseCategory .

urpx:CAv rdf:type urpx:PhaseCodeKindValue ;
    rdfs:label "Phase C Current or Voltage Relative to Phase A Voltage"@en ;
    skos:notation "CAv" ;
    skos:definition "Phase C Current or Voltage Relative to Phase A Voltage" ;
    skos:broader urpx:measurementCategory .

urpx:CN rdf:type urpx:PhaseCodeKindValue ;
    rdfs:label "Phase C to Neutral"@en ;
    skos:notation "CN" ;
    skos:definition "Phase C to Neutral" ;
    skos:broader urpx:singlePhaseCategory .

urpx:N rdf:type urpx:PhaseCodeKindValue ;
    rdfs:label "Neutral"@en ;
    skos:notation "N" ;
    skos:definition "Neutral" ;
    skos:broader urpx:singlePhaseCategory .

urpx:NG rdf:type urpx:PhaseCodeKindValue ;
    rdfs:label "Neutral to Ground"@en ;
    skos:notation "NG" ;
    skos:definition "Neutral to Ground" ;
    skos:broader urpx:measurementCategory .

urpx:S1 rdf:type urpx:PhaseCodeKindValue ;
    rdfs:label "Phase S1"@en ;
    skos:notation "S1" ;
    skos:definition "Phase S1" ;
    skos:broader urpx:splitPhaseCategory .

urpx:S12 rdf:type urpx:PhaseCodeKindValue ;
    rdfs:label "Phase S1 to S2"@en ;
    skos:notation "S12" ;
    skos:definition "Phase S1 to S2" ;
    skos:broader urpx:splitPhaseCategory .

urpx:S12N rdf:type urpx:PhaseCodeKindValue ;
    rdfs:label "Phase S1, S2 to Neutral"@en ;
    skos:notation "S12N" ;
    skos:definition "Phase S1, S2 to Neutral" ;
    skos:broader urpx:splitPhaseCategory .

urpx:S1N rdf:type urpx:PhaseCodeKindValue ;
    rdfs:label "Phase S1 to Neutral"@en ;
    skos:notation "S1N" ;
    skos:definition "Phase S1 to Neutral" ;
    skos:broader urpx:splitPhaseCategory .

urpx:S2 rdf:type urpx:PhaseCodeKindValue ;
    rdfs:label "Phase S2"@en ;
    skos:notation "S2" ;
    skos:definition "Phase S2" ;
    skos:broader urpx:splitPhaseCategory .

urpx:S2N rdf:type urpx:PhaseCodeKindValue ;
    rdfs:label "Phase S2 to Neutral"@en ;
    skos:notation "S2N" ;
    skos:definition "Phase S2 to Neutral" ;
    skos:broader urpx:splitPhaseCategory .


# --- Premise Type Property (PremiseTypeValue) ---

urpx:hospital rdf:type urpx:PremiseTypeValue ;
    rdfs:label "Hospital"@en ;
    skos:definition "Hospital or medical facility" ;
    skos:prefLabel "Hospital" .

urpx:manufacturing rdf:type urpx:PremiseTypeValue ;
    rdfs:label "Manufacturing"@en ;
    skos:definition "Manufacturing or industrial production facility" ;
    skos:prefLabel "Manufacturing" .

urpx:multiFamily rdf:type urpx:PremiseTypeValue ;
    rdfs:label "Multi Family"@en ;
    skos:definition "Multi-family residential building (apartments, condominiums)" ;
    skos:prefLabel "Multi Family" .

urpx:office rdf:type urpx:PremiseTypeValue ;
    rdfs:label "Office"@en ;
    skos:definition "Office or commercial business premises" ;
    skos:prefLabel "Office" .

urpx:premiseTypeOther rdf:type urpx:PremiseTypeValue ;
    rdfs:label "Other Premise Type"@en ;
    skos:definition "Other premise type not specifically categorized" ;
    skos:prefLabel "Other" .

urpx:retailStore rdf:type urpx:PremiseTypeValue ;
    rdfs:label "Retail Store"@en ;
    skos:definition "Retail store or commercial shopping premises" ;
    skos:prefLabel "Retail Store" .

urpx:school rdf:type urpx:PremiseTypeValue ;
    rdfs:label "School"@en ;
    skos:definition "Educational facility or school" ;
    skos:prefLabel "School" .

urpx:singleFamily rdf:type urpx:PremiseTypeValue ;
    rdfs:label "Single Family"@en ;
    skos:definition "Single-family residential dwelling" ;
    skos:prefLabel "Single Family" .

urpx:warehouse rdf:type urpx:PremiseTypeValue ;
    rdfs:label "Warehouse"@en ;
    skos:definition "Warehouse or storage facility" ;
    skos:prefLabel "Warehouse" .


# --- Price Source Property (PriceSourceValue) ---

urpx:algorithmicSource rdf:type urpx:PriceSourceValue ;
    rdfs:label "Algorithmic Source"@en ;
    skos:definition "Pricing calculated by proprietary algorithms" ;
    skos:prefLabel "Algorithmic" .

urpx:capacityAuctionSource rdf:type urpx:PriceSourceValue ;
    rdfs:label "Capacity Auction Source"@en ;
    skos:definition "Pricing from capacity auction markets" ;
    skos:prefLabel "Capacity Auction" .

urpx:demandForecastSource rdf:type urpx:PriceSourceValue ;
    rdfs:label "Demand Forecast Source"@en ;
    skos:definition "Pricing based on demand forecasting models" ;
    skos:prefLabel "Demand Forecast" .

urpx:gasIndexSource rdf:type urpx:PriceSourceValue ;
    rdfs:label "Gas Index Source"@en ;
    skos:definition "Pricing based on natural gas index prices" ;
    skos:prefLabel "Gas Index" .

urpx:manualOverrideSource rdf:type urpx:PriceSourceValue ;
    rdfs:label "Manual Override Source"@en ;
    skos:definition "Manually set pricing overriding automated sources" ;
    skos:prefLabel "Manual Override" .

urpx:renewableForecastSource rdf:type urpx:PriceSourceValue ;
    rdfs:label "Renewable Forecast Source"@en ;
    skos:definition "Pricing based on renewable energy generation forecasts" ;
    skos:prefLabel "Renewable Forecast" .

urpx:wholesaleMarketSource rdf:type urpx:PriceSourceValue ;
    rdfs:label "Wholesale Market Source"@en ;
    skos:definition "Pricing from wholesale electricity markets (ISO/RTO markets)" ;
    skos:prefLabel "Wholesale Market" .


# --- Program Type Property (ProgramTypeValue) ---

urpx:communitySolar rdf:type urpx:ProgramTypeValue ;
    rdfs:label "Community Solar"@en ;
    skos:definition "Participation in a community solar project or program" ;
    skos:prefLabel "Community Solar" .

urpx:communityChoiceAggregation rdf:type urpx:ProgramTypeValue ;
    rdfs:label "Community Choice Aggregation"@en ;
    skos:definition "Enrollment in a Community Choice Aggregation program" ;
    skos:prefLabel "CCA" .

urpx:demandResponseProgram rdf:type urpx:ProgramTypeValue ;
    rdfs:label "Demand Response Program"@en ;
    skos:definition "Demand response program for load management and peak reduction" ;
    skos:prefLabel "Demand Response" .

urpx:energyEfficiencyProgram rdf:type urpx:ProgramTypeValue ;
    rdfs:label "Energy Efficiency Program"@en ;
    skos:definition "Energy efficiency program for conservation and efficiency improvement" ;
    skos:prefLabel "Energy Efficiency" .

urpx:greenEnergyProgram rdf:type urpx:ProgramTypeValue ;
    rdfs:label "Green Energy Program"@en ;
    skos:definition "Green energy program for renewable energy participation" ;
    skos:prefLabel "Green Energy" .

urpx:lowIncomeProgram rdf:type urpx:ProgramTypeValue ;
    rdfs:label "Low Income Program"@en ;
    skos:definition "Low income assistance program for customer financial support" ;
    skos:prefLabel "Low Income" .

urpx:moderateIncomeProgram rdf:type urpx:ProgramTypeValue ;
    rdfs:label "Moderate Income Program"@en ;
    skos:definition "Moderate income assistance program for customer financial support" ;
    skos:prefLabel "Moderate Income" .

urpx:timeOfUseProgram rdf:type urpx:ProgramTypeValue ;
    rdfs:label "Time of Use Program"@en ;
    skos:definition "Time-of-use program for time-based pricing participation" ;
    skos:prefLabel "Time of Use" .


# --- Publication Type Property (PublicationTypeValue) ---

urpx:amendment rdf:type urpx:PublicationTypeValue ;
    rdfs:label "Amendment"@en ;
    skos:definition "Amendment to existing tariff or rate schedule" ;
    skos:prefLabel "Amendment" .

urpx:notice rdf:type urpx:PublicationTypeValue ;
    rdfs:label "Notice"@en ;
    skos:definition "Public notice regarding rate or tariff changes" ;
    skos:prefLabel "Notice" .

urpx:order rdf:type urpx:PublicationTypeValue ;
    rdfs:label "Order"@en ;
    skos:definition "Regulatory order or decision regarding rates or tariffs" ;
    skos:prefLabel "Order" .

urpx:ratePlanPublication rdf:type urpx:PublicationTypeValue ;
    rdfs:label "Regulatory Filing"@en ;
    skos:definition "Rate Plan publication" ;
    skos:prefLabel "Publication of Rate Plan" .

urpx:ratePlanModifierPublication rdf:type urpx:PublicationTypeValue ;
    rdfs:label "Regulatory Filing"@en ;
    skos:definition "Rate Plan publication" ;
    skos:prefLabel "Publication of Rate Plan" .

urpx:regulatoryFiling rdf:type urpx:PublicationTypeValue ;
    rdfs:label "Regulatory Filing"@en ;
    skos:definition "Official regulatory filing or submission to regulatory authority" ;
    skos:prefLabel "Regulatory Filing" .

urpx:supplement rdf:type urpx:PublicationTypeValue ;
    rdfs:label "Supplement"@en ;
    skos:definition "Supplement providing additional information to existing publication" ;
    skos:prefLabel "Supplement" .

urpx:tariffBook rdf:type urpx:PublicationTypeValue ;
    rdfs:label "Tariff Book"@en ;
    skos:definition "Complete tariff book document containing all rate schedules and terms" ;
    skos:prefLabel "Tariff Book" .

urpx:tariffBookLeaves rdf:type urpx:PublicationTypeValue ;
    rdfs:label "Tariff Book Leaves"@en ;
    skos:definition "Individual sets of leaves or pages from tariff book publications" ;
    skos:prefLabel "Tariff Book Leaves" .

urpx:tariffStatement rdf:type urpx:PublicationTypeValue ;
    rdfs:label "Tariff Statement"@en ;
    skos:definition "PSC tariff statement filing containing rate adjustments and prices" ;
    skos:prefLabel "Tariff Statement" .


# --- Regulatory Scope Property (RegulatoryScopeValue) ---

urpx:distributionRegulation rdf:type urpx:RegulatoryScopeValue ;
    rdfs:label "Distribution Regulation"@en ;
    skos:definition "Distribution regulation - oversight of local power distribution systems and customer service" ;
    skos:prefLabel "Distribution" .

urpx:environmentalRegulation rdf:type urpx:RegulatoryScopeValue ;
    rdfs:label "Environmental Regulation"@en ;
    skos:definition "Environmental regulation - oversight of environmental compliance and renewable energy standards" ;
    skos:prefLabel "Environmental" .

urpx:marketRegulation rdf:type urpx:RegulatoryScopeValue ;
    rdfs:label "Market Regulation"@en ;
    skos:definition "Market regulation - oversight of wholesale and retail energy market competition and pricing" ;
    skos:prefLabel "Market" .

urpx:ratesRegulation rdf:type urpx:RegulatoryScopeValue ;
    rdfs:label "Rates Regulation"@en ;
    skos:definition "Rates regulation - oversight of utility rate setting and tariff approval processes" ;
    skos:prefLabel "Rates" .

urpx:safetyRegulation rdf:type urpx:RegulatoryScopeValue ;
    rdfs:label "Safety Regulation"@en ;
    skos:definition "Safety regulation - oversight of utility safety standards and operational reliability" ;
    skos:prefLabel "Safety" .

urpx:transmissionRegulation rdf:type urpx:RegulatoryScopeValue ;
    rdfs:label "Transmission Regulation"@en ;
    skos:definition "Transmission regulation - oversight of high-voltage transmission systems and grid reliability" ;
    skos:prefLabel "Transmission" .


# --- Seasonal Pattern Property (SeasonalPatternValue) ---

urpx:flatPattern rdf:type urpx:SeasonalPatternValue ;
    rdfs:label "Flat Pattern"@en ;
    skos:definition "Flat seasonal usage pattern - consistent usage throughout the year" ;
    skos:prefLabel "Flat" .
urpx:summerPeakPattern rdf:type urpx:SeasonalPatternValue ;
    rdfs:label "Summer Peak Pattern"@en ;
    skos:definition "Summer peak usage pattern - highest usage during summer months" ;
    skos:prefLabel "Summer Peak" .
urpx:variablePattern rdf:type urpx:SeasonalPatternValue ;
    rdfs:label "Variable Pattern"@en ;
    skos:definition "Variable seasonal usage pattern - irregular usage variations throughout the year" ;
    skos:prefLabel "Variable" .
urpx:winterPeakPattern rdf:type urpx:SeasonalPatternValue ;
    rdfs:label "Winter Peak Pattern"@en ;
    skos:definition "Winter peak usage pattern - highest usage during winter months" ;
    skos:prefLabel "Winter Peak" .


# --- Service Role Property (ServiceRoleValue) ---

urpx:aggregationRole rdf:type urpx:ServiceRoleValue ;
    rdfs:label "Aggregation Role"@en ;
    skos:definition "Aggregation service role - combining customer loads for wholesale market participation and demand response" ;
    skos:prefLabel "Aggregation" .

urpx:bundledServiceRole rdf:type urpx:ServiceRoleValue ;
    rdfs:label "Bundled Service Role"@en ;
    skos:definition "Bundled service role - utility provides both delivery and supply services" ;
    skos:prefLabel "Bundled Service" .

urpx:demandResponseRole rdf:type urpx:ServiceRoleValue ;
    rdfs:label "Demand Response Role"@en ;
    skos:definition "Demand response service role - managing customer load reduction programs and grid flexibility services" ;
    skos:prefLabel "Demand Response" .

urpx:communitySolarServiceRole rdf:type urpx:ServiceRoleValue ;
    rdfs:label "Community Solar Service Role"@en ;
    skos:definition "Community solar service role "@en ;
    skos:prefLabel "Community Solar"@en .

urpx:distributionServiceRole rdf:type urpx:ServiceRoleValue ;
    rdfs:label "Distribution Service Role"@en ;
    skos:definition "Distribution service role - utility provides delivery infrastructure only" ;
    skos:prefLabel "Distribution Service" .

urpx:energyEfficiencyRole rdf:type urpx:ServiceRoleValue ;
    rdfs:label "Energy Efficiency Role"@en ;
    skos:definition "Energy efficiency service role - providing energy conservation programs and efficiency solutions" ;
    skos:prefLabel "Energy Efficiency" .

urpx:retailSupplyRole rdf:type urpx:ServiceRoleValue ;
    rdfs:label "Retail Supply Role"@en ;
    skos:definition "Retail supply service role - competitive retail energy supplier serving end-use customers" ;
    skos:prefLabel "Retail Supply" .

urpx:solarInstallationRole rdf:type urpx:ServiceRoleValue ;
    rdfs:label "Solar Installation Role"@en ;
    skos:definition "Solar installation service role - distributed solar energy system installation and maintenance services" ;
    skos:prefLabel "Solar Installation" .


# --- Special Needs Status Property (SpecialNeedsStatusValue) ---

urpx:disabilityAccommodation rdf:type urpx:SpecialNeedsStatusValue ;
    rdfs:label "Disability Accommodation"@en ;
    skos:definition "Customer requires disability accommodation - accessible services and communications" ;
    skos:prefLabel "Disability Accommodation" .

urpx:lifeSupport rdf:type urpx:SpecialNeedsStatusValue ;
    rdfs:label "Life Support"@en ;
    skos:definition "Customer depends on life support equipment - critical uninterrupted power requirement" ;
    skos:prefLabel "Life Support" .

urpx:medicalEquipment rdf:type urpx:SpecialNeedsStatusValue ;
    rdfs:label "Medical Equipment"@en ;
    skos:definition "Customer requires medical equipment - special consideration for uninterrupted service" ;
    skos:prefLabel "Medical Equipment" .
    
urpx:noSpecialNeeds rdf:type urpx:SpecialNeedsStatusValue ;
    rdfs:label "No Special Needs"@en ;
    skos:definition "No special needs designation" ;
    skos:prefLabel "None" .

urpx:vulnerableCustomer rdf:type urpx:SpecialNeedsStatusValue ;
    rdfs:label "Vulnerable Customer"@en ;
    skos:definition "Vulnerable customer status - elderly, health concerns, or other vulnerability factors" ;
    skos:prefLabel "Vulnerable Customer" .


# --- Tariff Statement Type Property (TariffStatementTypeValue) ---

urpx:distributionStatement rdf:type urpx:TariffStatementTypeValue ;
    rdfs:label "Distribution Statement"@en ;
    skos:definition "Distribution-related statement filing type for PSC tariff documentation" ;
    skos:prefLabel "Distribution Statement" .

urpx:fuelAdjustmentStatement rdf:type urpx:TariffStatementTypeValue ;
    rdfs:label "Fuel Adjustment Statement"@en ;
    skos:definition "Fuel adjustment-related statement filing type for PSC tariff documentation" ;
    skos:prefLabel "Fuel Adjustment Statement" .

urpx:purchasedPowerStatement rdf:type urpx:TariffStatementTypeValue ;
    rdfs:label "Purchased Power Statement"@en ;
    skos:definition "Purchased power-related statement filing type for PSC tariff documentation" ;
    skos:prefLabel "Purchased Power Statement" .

urpx:statementTypeOther rdf:type urpx:TariffStatementTypeValue ;
    rdfs:label "Other Statement Type"@en ;
    skos:definition "Other or unclassified statement filing type for PSC tariff documentation" ;
    skos:prefLabel "Other" .

urpx:transmissionStatement rdf:type urpx:TariffStatementTypeValue ;
    rdfs:label "Transmission Statement"@en ;
    skos:definition "Transmission-related statement filing type for PSC tariff documentation" ;
    skos:prefLabel "Transmission Statement" .


# --- Tax Exempt Status Property (TaxExemptStatusValue) ---

urpx:exempt rdf:type urpx:TaxExemptStatusValue ;
    rdfs:label "Tax Exempt"@en ;
    skos:definition "Fully tax-exempt status - qualified for full tax exemption" ;
    skos:prefLabel "Exempt" .

urpx:nonExempt rdf:type urpx:TaxExemptStatusValue ;
    rdfs:label "Non-Exempt"@en ;
    skos:definition "Non-exempt tax status - standard taxation applies" ;
    skos:prefLabel "Non-Exempt" .

urpx:partialExempt rdf:type urpx:TaxExemptStatusValue ;
    rdfs:label "Partial Exempt"@en ;
    skos:definition "Partially tax-exempt status - qualified for partial tax exemption" ;
    skos:prefLabel "Partial Exempt" .

urpx:pendingVerification rdf:type urpx:TaxExemptStatusValue ;
    rdfs:label "Pending Verification"@en ;
    skos:definition "Tax exemption status pending verification - application under review" ;
    skos:prefLabel "Pending Verification" .


# --- TOU Tier Standard Name Property (TOUTierStandardNameValue) ---

urpx:criticalPeakTier rdf:type urpx:TOUTierStandardNameValue ;
    rdfs:label "Critical Peak Tier"@en ;
    skos:definition "Critical peak pricing tier - emergency demand response period" ;
    skos:prefLabel "Critical Peak" .

urpx:midPeakTier rdf:type urpx:TOUTierStandardNameValue ;
    rdfs:label "Mid Peak Tier"@en ;
    skos:definition "Mid peak pricing tier - moderate demand period" ;
    skos:prefLabel "Mid Peak" .

urpx:offPeakTier rdf:type urpx:TOUTierStandardNameValue ;
    rdfs:label "Off Peak Tier"@en ;
    skos:definition "Off peak pricing tier - low demand period" ;
    skos:prefLabel "Off Peak" .

urpx:peakTier rdf:type urpx:TOUTierStandardNameValue ;
    rdfs:label "Peak Tier"@en ;
    skos:definition "Peak pricing tier - high demand period" ;
    skos:prefLabel "Peak" .

urpx:shoulderTier rdf:type urpx:TOUTierStandardNameValue ;
    rdfs:label "Shoulder Tier"@en ;
    skos:definition "Shoulder pricing tier - transition period between peak and off-peak" ;
    skos:prefLabel "Shoulder" .

urpx:superOffPeakTier rdf:type urpx:TOUTierStandardNameValue ;
    rdfs:label "Super Off Peak Tier"@en ;
    skos:definition "Super off peak pricing tier - lowest cost period" ;
    skos:prefLabel "Super Off Peak" .

urpx:superPeakTier rdf:type urpx:TOUTierStandardNameValue ;
    rdfs:label "Super Peak Tier"@en ;
    skos:definition "Super peak pricing tier - highest cost period" ;
    skos:prefLabel "Super Peak" .


# --- Unit of Measure Property (UnitOfMeasureValue) ---

urpx:acre rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Acre"@en ;
    skos:definition "Acre - unit of area"@en ;
    skos:prefLabel "acre"@en .

urpx:barrel rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Barrel"@en ;
    skos:definition "Barrel - unit of oil volume"@en ;
    skos:prefLabel "barrel"@en .

urpx:bcf rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Billion Cubic Feet"@en ;
    skos:definition "Billion cubic feet - unit of gas volume"@en ;
    skos:prefLabel "bcf"@en ;
    skos:altLabel "Bcf"@en, "BCF"@en .

urpx:bit rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Bit"@en ;
    skos:definition "Bit - unit of digital information"@en ;
    skos:prefLabel "bit"@en ;
    skos:altLabel "b"@en .

urpx:btu rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "British Thermal Unit"@en ;
    skos:definition "British thermal unit - unit of energy"@en ;
    skos:prefLabel "btu"@en ;
    skos:altLabel "Btu"@en, "BTU"@en .

urpx:byte rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Byte"@en ;
    skos:definition "Byte - unit of digital information (8 bits)"@en ;
    skos:prefLabel "byte"@en ;
    skos:altLabel "B"@en .

urpx:ccf rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Hundred Cubic Feet"@en ;
    skos:definition "Hundred cubic feet - unit of gas volume"@en ;
    skos:prefLabel "ccf"@en ;
    skos:altLabel "Ccf"@en, "CCF"@en .

urpx:cord rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Cord"@en ;
    skos:definition "Cord - unit of wood volume"@en ;
    skos:prefLabel "cord"@en .

urpx:count rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Count"@en ;
    skos:definition "Generic count unit (dimensionless)"@en ;
    skos:prefLabel "count"@en .

urpx:cubicFoot rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Cubic Foot"@en ;
    skos:definition "Cubic foot - unit of volume"@en ;
    skos:prefLabel "cubic foot"@en ;
    skos:altLabel "cf"@en, "ft3"@en .

urpx:cubicMeter rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Cubic Meter"@en ;
    skos:definition "Cubic meter - unit of volume"@en ;
    skos:prefLabel "cubic meter"@en ;
    skos:altLabel "m3"@en .

urpx:decatherm rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Decatherm"@en ;
    skos:definition "Decatherm - unit of heat energy (10 therms)"@en ;
    skos:prefLabel "decatherm"@en ;
    skos:altLabel "dth"@en, "Dth"@en, "DTH"@en .

urpx:gallon rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Gallon"@en ;
    skos:definition "Gallon - unit of liquid volume"@en ;
    skos:prefLabel "gallon"@en ;
    skos:altLabel "gal"@en .

urpx:Gbps rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Gigabits Per Second"@en ;
    skos:definition "Gigabits per second - unit of data transfer rate"@en ;
    skos:prefLabel "Gbps"@en .

urpx:GW rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Gigawatt"@en ;
    skos:definition "Gigawatt - unit of power demand"@en ;
    skos:prefLabel "GW"@en ;
    skos:altLabel "Gw"@en, "gw"@en .

urpx:GWh rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Gigawatt Hour"@en ;
    skos:definition "Gigawatt hour - unit of energy"@en ;
    skos:prefLabel "GWh"@en ;
    skos:altLabel "gwh"@en .

urpx:hectare rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Hectare"@en ;
    skos:definition "Hectare - unit of area"@en ;
    skos:prefLabel "hectare"@en ;
    skos:altLabel "ha"@en .

urpx:hertz rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Hertz"@en ;
    skos:definition "Hertz - unit of frequency"@en ;
    skos:prefLabel "hertz"@en ;
    skos:altLabel "Hz"@en .

urpx:item rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Item"@en ;
    skos:definition "Discrete item count (e.g., trash bin, bag, device)"@en ;
    skos:prefLabel "item"@en ;
    skos:altLabel "each"@en .

urpx:kilogallon rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Kilogallon"@en ;
    skos:definition "Kilogallon - unit of liquid volume"@en ;
    skos:prefLabel "kilogallon"@en ;
    skos:altLabel "kgal"@en .

urpx:kilogram rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Kilogram"@en ;
    skos:definition "Kilogram - unit of weight"@en ;
    skos:prefLabel "kilogram"@en ;
    skos:altLabel "kg"@en .

urpx:kilometer rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Kilometer"@en ;
    skos:definition "Kilometer - unit of distance"@en ;
    skos:prefLabel "kilometer"@en ;
    skos:altLabel "km"@en .

urpx:kVA rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Kilovolt-Ampere"@en ;
    skos:definition "Kilovolt-ampere - unit of apparent power"@en ;
    skos:prefLabel "kVA"@en ;
    skos:altLabel "kva"@en, "KVA"@en .

urpx:kVAh rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Kilovolt-Ampere Hour"@en ;
    skos:definition "Kilovolt-ampere hour - unit of reactive energy"@en ;
    skos:prefLabel "kVAh"@en ;
    skos:altLabel "kvah"@en, "KVAh"@en .

urpx:kVAr rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Kilovolt-Ampere Reactive"@en ;
    skos:definition "Kilovolt-ampere reactive - unit of reactive energy"@en ;
    skos:prefLabel "kVAr"@en ;
    skos:altLabel "kvar"@en, "KVAr"@en .

urpx:kVArh rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Kilovolt-Ampere Reactive Hour"@en ;
    skos:definition "Kilovolt-ampere reactive hour - unit of reactive energy"@en ;
    skos:prefLabel "kVArh"@en ;
    skos:altLabel "kvarh"@en, "KVArh"@en .

urpx:kW rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Kilowatt"@en ;
    skos:definition "Kilowatt - unit of power demand"@en ;
    skos:prefLabel "kW"@en ;
    skos:altLabel "kw"@en, "KW"@en .

urpx:kWh rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Kilowatt Hour"@en ;
    skos:definition "Kilowatt hour - unit of energy"@en ;
    skos:prefLabel "kWh"@en ;
    skos:altLabel "kwh"@en, "KWH"@en .

urpx:liter rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Liter"@en ;
    skos:definition "Liter - unit of liquid volume"@en ;
    skos:prefLabel "liter"@en ;
    skos:altLabel "l"@en, "L"@en .

urpx:Mbps rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Megabits Per Second"@en ;
    skos:definition "Megabits per second - unit of data transfer rate"@en ;
    skos:prefLabel "Mbps"@en .

urpx:mcf rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Thousand Cubic Feet"@en ;
    skos:definition "Thousand cubic feet - unit of gas volume"@en ;
    skos:prefLabel "mcf"@en ;
    skos:altLabel "Mcf"@en, "MCF"@en .

urpx:metricTon rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Metric Ton"@en ;
    skos:definition "Metric ton - unit of weight"@en ;
    skos:prefLabel "metric ton"@en ;
    skos:altLabel "t"@en, "T"@en .

urpx:mile rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Mile"@en ;
    skos:definition "Mile - unit of distance"@en ;
    skos:prefLabel "mile"@en ;
    skos:altLabel "mi"@en .

urpx:mmbtu rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Million British Thermal Units"@en ;
    skos:definition "Million British thermal units - unit of energy"@en ;
    skos:prefLabel "mmbtu"@en ;
    skos:altLabel "MMBtu"@en, "MMBTU"@en .

urpx:mmcf rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Million Cubic Feet"@en ;
    skos:definition "Million cubic feet - unit of gas volume"@en ;
    skos:prefLabel "mmcf"@en ;
    skos:altLabel "MMcf"@en, "MMCF"@en .

urpx:MVA rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Megavolt-Ampere"@en ;
    skos:definition "Megavolt-ampere - unit of apparent power"@en ;
    skos:prefLabel "MVA"@en ;
    skos:altLabel "mva"@en, "MVA"@en .

urpx:MVAh rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Megavolt-Ampere Hour"@en ;
    skos:definition "Megavolt-ampere hour - unit of reactive energy"@en ;
    skos:prefLabel "MVAh"@en ;
    skos:altLabel "mvah"@en, "MVAH"@en .

urpx:MW rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Megawatt"@en ;
    skos:definition "Megawatt - unit of power demand"@en ;
    skos:prefLabel "MW"@en ;
    skos:altLabel "mw"@en, "MW"@en .

urpx:MWh rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Megawatt Hour"@en ;
    skos:definition "Megawatt hour - unit of energy"@en ;
    skos:prefLabel "MWh"@en ;
    skos:altLabel "mwh"@en, "MWH"@en .

urpx:percent rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Percent"@en ;
    skos:definition "Percent - percentage unit"@en ;
    skos:prefLabel "percent"@en ;
    skos:altLabel "%"@en .

urpx:pound rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Pound"@en ;
    skos:definition "Pound - unit of weight"@en ;
    skos:prefLabel "pound"@en ;
    skos:altLabel "lb"@en .

urpx:ratio rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Ratio"@en ;
    skos:definition "Ratio - proportional unit"@en ;
    skos:prefLabel "ratio"@en .

urpx:squareFoot rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Square Foot"@en ;
    skos:definition "Square foot - unit of area"@en ;
    skos:prefLabel "square foot"@en ;
    skos:altLabel "sq ft"@en, "ft2"@en .

urpx:squareMeter rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Square Meter"@en ;
    skos:definition "Square meter - unit of area"@en ;
    skos:prefLabel "square meter"@en ;
    skos:altLabel "m2"@en .

urpx:tcf rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Trillion Cubic Feet"@en ;
    skos:definition "Trillion cubic feet - unit of gas volume"@en ;
    skos:prefLabel "tcf"@en ;
    skos:altLabel "Tcf"@en, "TCF"@en .

urpx:therm rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Therm"@en ;
    skos:definition "Therm - unit of natural gas energy content"@en ;
    skos:prefLabel "therm"@en ;
    skos:altLabel "thm"@en, "THM"@en .

urpx:ton rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Ton"@en ;
    skos:definition "Ton - unit of weight (US)"@en ;
    skos:prefLabel "ton"@en .

urpx:unitOther rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Other Unit"@en ;
    skos:definition "Other unit of measure not specifically categorized"@en ;
    skos:prefLabel "other"@en .

urpx:VA rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Volt-Ampere"@en ;
    skos:definition "Volt-ampere - unit of apparent power"@en ;
    skos:prefLabel "VA"@en ;
    skos:altLabel "va"@en, "VA"@en .

urpx:VAh rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Volt-Ampere Hour"@en ;
    skos:definition "Volt-ampere hour - unit of reactive energy"@en ;
    skos:prefLabel "VAh"@en ;
    skos:altLabel "vah"@en, "VAh"@en .

urpx:VAr rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Volt-Ampere Reactive"@en ;
    skos:definition "Volt-ampere reactive - unit of reactive energy"@en ;
    skos:prefLabel "VAr"@en ;
    skos:altLabel "var"@en, "VAr"@en .

urpx:VArh rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Volt-Ampere Reactive Hour"@en ;
    skos:definition "Volt-ampere reactive hour - unit of reactive energy"@en ;
    skos:prefLabel "VArh"@en ;
    skos:altLabel "varh"@en, "VArh"@en .

urpx:W rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Watt"@en ;
    skos:definition "Watt - unit of power demand"@en ;
    skos:prefLabel "W"@en ;
    skos:altLabel "w"@en .

urpx:Wh rdf:type urpx:UnitOfMeasureValue ;
    rdfs:label "Watt Hour"@en ;
    skos:definition "Watt hour - unit of energy"@en ;
    skos:prefLabel "Wh"@en ;
    skos:altLabel "wh"@en, "WH"@en .


# --- Update Frequency Property (UpdateFrequencyValue) ---

urpx:continuousUpdates rdf:type urpx:UpdateFrequencyValue ;
    rdfs:label "Continuous Updates"@en ;
    skos:definition "Continuous real-time price updates" ;
    skos:prefLabel "Continuous" .

urpx:dailyUpdates rdf:type urpx:UpdateFrequencyValue ;
    rdfs:label "Daily Updates"@en ;
    skos:definition "Price updates daily (P1D)" ;
    skos:prefLabel "Daily" .

urpx:eventTriggeredUpdates rdf:type urpx:UpdateFrequencyValue ;
    rdfs:label "Event Triggered Updates"@en ;
    skos:definition "Price updates triggered by specific market or grid events" ;
    skos:prefLabel "Event Triggered" .

urpx:every15Minutes rdf:type urpx:UpdateFrequencyValue ;
    rdfs:label "Every 15 Minutes"@en ;
    skos:definition "Price updates every 15 minutes (PT15M)" ;
    skos:prefLabel "Every 15 Minutes" .

urpx:every5Minutes rdf:type urpx:UpdateFrequencyValue ;
    rdfs:label "Every 5 Minutes"@en ;
    skos:definition "Price updates every 5 minutes (PT5M)" ;
    skos:prefLabel "Every 5 Minutes" .

urpx:hourlyUpdates rdf:type urpx:UpdateFrequencyValue ;
    rdfs:label "Hourly Updates"@en ;
    skos:definition "Price updates every hour (PT1H)" ;
    skos:prefLabel "Hourly" .

urpx:monthlyUpdates rdf:type urpx:UpdateFrequencyValue ;
    rdfs:label "Monthly Updates"@en ;
    skos:definition "Price updates monthly (P1M)" ;
    skos:prefLabel "Monthly" .

urpx:onDemandUpdates rdf:type urpx:UpdateFrequencyValue ;
    rdfs:label "On Demand Updates"@en ;
    skos:definition "Price updates triggered on demand by external events" ;
    skos:prefLabel "On Demand" .

urpx:weeklyUpdates rdf:type urpx:UpdateFrequencyValue ;
    rdfs:label "Weekly Updates"@en ;
    skos:definition "Price updates weekly (P1W)" ;
    skos:prefLabel "Weekly" .


# --- Voltage Level Property (VoltageLevel) ---

urpx:distributionVoltage rdf:type urpx:VoltageLevelValue ;
    rdfs:label "Distribution Voltage"@en ;
    skos:definition "Distribution voltage level - general distribution system voltage" ;
    skos:prefLabel "Distribution" .

urpx:primaryVoltage rdf:type urpx:VoltageLevelValue ;
    rdfs:label "Primary Voltage"@en ;
    skos:definition "Primary voltage level - typically 2.4kV-34.5kV distribution voltage" ;
    skos:prefLabel "Primary" .

urpx:secondaryVoltage rdf:type urpx:VoltageLevelValue ;
    rdfs:label "Secondary Voltage"@en ;
    skos:definition "Secondary voltage level - typically 120-600V residential and small commercial service" ;
    skos:prefLabel "Secondary" .

urpx:subTransmissionVoltage rdf:type urpx:VoltageLevelValue ;
    rdfs:label "Sub-Transmission Voltage"@en ;
    skos:definition "Sub-transmission voltage level - typically 34.5kV-115kV for regional distribution" ;
    skos:prefLabel "Sub-Transmission" .

urpx:transmissionVoltage rdf:type urpx:VoltageLevelValue ;
    rdfs:label "Transmission Voltage"@en ;
    skos:definition "Transmission voltage level - typically 115kV and above for bulk power transmission" ;
    skos:prefLabel "Transmission" .
History
ontology/releases sflo:ArtifactHistory
v0.2.0 sflo:HistoricalState
ttl sflo:ArtifactManifestation