Skip to main content

pricing_kit/model/
mod.rs

1/// Currency-related definitions and helpers, such as currency codes and exchange rates.
2///
3/// This module contains:
4/// - `Currency`: Struct representing a currency (e.g., USD, IDR).
5/// - `CurrencyConverter`: Utility for managing and converting exchange rates between currencies.
6pub mod currency;
7
8/// Core pricing logic, including buying/selling prices, currency conversion, and pricing details.
9///
10/// This module provides:
11/// - `PricingDetail`: Main struct for managing price calculation flows.
12/// - Support for applying markup and calculating final selling price.
13pub mod pricing;
14
15/// Markup strategies used in pricing, including fixed amount, percentage, and commission models.
16///
17/// This module includes:
18/// - `MarkupType`: Enum representing different markup mechanisms.
19/// - Logic to calculate markup relative to the buy price and currencies.
20pub mod markup;
21
22/// Price adjustments such as tax, discount, and fixed fees that affect final selling price.
23///
24/// This module includes:
25/// - `PriceAdjustment`: Enum representing raw, definable adjustments.
26/// - `AppliedAdjustment`: Struct for finalized adjustment values after currency conversion.
27/// - Application logic for transforming `PriceAdjustment` into `AppliedAdjustment`.
28pub mod adjustment;
29
30/// Represents possible errors that can occur during currency conversion.
31pub mod error;
32
33pub use currency::*;
34pub use pricing::*;
35pub use markup::*;
36pub use adjustment::*;
37pub use error::*;