Skip to main content

bo4e_core/bo/
mod.rs

1//! Business Objects (BOs) - top-level entities in BO4E.
2//!
3//! # Epic 4.1: Locations & Technical Business Objects
4//!
5//! This module contains location and technical resource business objects:
6//!
7//! - [`Meter`] - A metering device for energy measurement
8//! - [`MarketLocation`] - Market location (MaLo) - point of energy delivery/receipt
9//! - [`MeteringLocation`] - Metering location (MeLo) - where measurement takes place
10//! - [`NetworkLocation`] - Network location in the grid infrastructure
11//! - [`LocationAssignment`] - Assignment between different location types
12//! - [`Device`] - A technical device in the energy infrastructure
13//! - [`TechnicalResource`] - Technical resource (generation, consumption, storage)
14//! - [`ControllableResource`] - Resource controllable for demand response
15//! - [`EnergyAmount`] - Amount of energy with time series data
16//! - [`LoadProfile`] - Load profile (time series of power data)
17//! - [`TimeSeries`] - Generic time series of data values
18//! - [`LocationProperties`] - Properties of a physical location
19//!
20//! # Epic 4.2: Parties & Contracts Business Objects
21//!
22//! This module contains business partner, contract, and offer business objects:
23//!
24//! - [`BusinessPartner`] - A business partner (company or organization)
25//! - [`Person`] - A natural person
26//! - [`MarketParticipant`] - A market participant in the energy market
27//! - [`Contract`] - A contract between parties
28//! - [`BundleContract`] - A bundle contract combining multiple contracts
29//! - [`Offer`] - An offer/quote for energy supply or services
30//! - [`Tender`] - A tender/RFP for energy supply
31//! - [`Balancing`] - Balance group data
32//! - [`Region`] - A geographical region
33//! - [`RegionalTariff`] - A regional tariff definition
34//!
35//! # Epic 4.3: Pricing & Billing Business Objects
36//!
37//! This module contains tariff, invoice, and cost-related business objects:
38//!
39//! - [`Invoice`] - An invoice for energy services
40//! - [`Tariff`] - A tariff definition
41//! - [`TariffInfo`] - Tariff information/overview
42//! - [`TariffPriceSheet`] - Tariff price sheet
43//! - [`PriceSheet`] - Generic price sheet
44//! - [`ServicePriceSheet`] - Service price sheet
45//! - [`HardwarePriceSheet`] - Hardware price sheet
46//! - [`MeteringPriceSheet`] - Metering price sheet
47//! - [`NetworkUsagePriceSheet`] - Network usage price sheet
48//! - [`ConcessionFeePriceSheet`] - Concession fee price sheet
49//! - [`Costs`] - Cost breakdown
50//! - [`TariffCosts`] - Tariff-related costs
51//! - [`ExternalCosts`] - External/third-party costs
52
53// Epic 4.1: Locations & Technical Business Objects
54mod controllable_resource;
55mod device;
56mod energy_amount;
57mod load_profile;
58mod location_assignment;
59mod location_properties;
60mod market_location;
61mod meter;
62mod metering_location;
63mod network_location;
64mod technical_resource;
65mod time_series;
66
67// Epic 4.2: Parties & Contracts Business Objects
68mod balancing;
69mod bundle_contract;
70mod business_partner;
71mod contract;
72mod market_participant;
73mod offer;
74mod person;
75mod region;
76mod regional_tariff;
77mod tender;
78
79// Epic 4.3: Pricing & Billing Business Objects
80mod concession_fee_price_sheet;
81mod costs;
82mod external_costs;
83mod hardware_price_sheet;
84mod invoice;
85mod metering_price_sheet;
86mod network_usage_price_sheet;
87mod price_sheet;
88mod service_price_sheet;
89mod tariff;
90mod tariff_costs;
91mod tariff_info;
92mod tariff_price_sheet;
93
94// Epic 4.1 exports
95pub use controllable_resource::ControllableResource;
96pub use device::Device;
97pub use energy_amount::EnergyAmount;
98pub use load_profile::LoadProfile;
99pub use location_assignment::LocationAssignment;
100pub use location_properties::LocationProperties;
101pub use market_location::MarketLocation;
102pub use meter::Meter;
103pub use metering_location::MeteringLocation;
104pub use network_location::NetworkLocation;
105pub use technical_resource::TechnicalResource;
106pub use time_series::TimeSeries;
107
108// Epic 4.2 exports
109pub use balancing::Balancing;
110pub use bundle_contract::BundleContract;
111pub use business_partner::BusinessPartner;
112pub use contract::Contract;
113pub use market_participant::MarketParticipant;
114pub use offer::Offer;
115pub use person::Person;
116pub use region::Region;
117pub use regional_tariff::RegionalTariff;
118pub use tender::Tender;
119
120// Epic 4.3 exports
121pub use concession_fee_price_sheet::ConcessionFeePriceSheet;
122pub use costs::Costs;
123pub use external_costs::ExternalCosts;
124pub use hardware_price_sheet::HardwarePriceSheet;
125pub use invoice::Invoice;
126pub use metering_price_sheet::MeteringPriceSheet;
127pub use network_usage_price_sheet::NetworkUsagePriceSheet;
128pub use price_sheet::PriceSheet;
129pub use service_price_sheet::ServicePriceSheet;
130pub use tariff::Tariff;
131pub use tariff_costs::TariffCosts;
132pub use tariff_info::TariffInfo;
133pub use tariff_price_sheet::TariffPriceSheet;