20#ifndef ORES_REFDATA_DOMAIN_CURRENCY_HPP
21#define ORES_REFDATA_DOMAIN_CURRENCY_HPP
26#include <boost/uuid/uuid.hpp>
Domain types for risk management.
Definition country.hpp:28
Represents a currency with its metadata and formatting rules.
Definition currency.hpp:33
std::string iso_code
ISO 4217 alphabetic code (e.g., "USD").
Definition currency.hpp:42
std::string change_commentary
Free-text commentary explaining the change.
Definition currency.hpp:107
std::string fraction_symbol
Symbol for fractional unit (e.g., "cent").
Definition currency.hpp:60
int rounding_precision
Decimal places to round to during formatting.
Definition currency.hpp:75
int fractions_per_unit
Number of fractional units per whole unit (e.g., 100 for cents).
Definition currency.hpp:65
std::string symbol
Currency symbol (e.g., "$").
Definition currency.hpp:56
std::string numeric_code
ISO 4217 numeric code (e.g., "840").
Definition currency.hpp:52
std::optional< boost::uuids::uuid > image_id
Optional reference to a flag image in the images table.
Definition currency.hpp:90
std::chrono::system_clock::time_point recorded_at
Timestamp when this version of the record was recorded in the system.
Definition currency.hpp:112
std::string name
Full name of the currency (e.g., "United States Dollar").
Definition currency.hpp:47
std::string recorded_by
Username of the person who recorded this version in the system.
Definition currency.hpp:95
int version
Version number for optimistic locking and change tracking.
Definition currency.hpp:37
std::string rounding_type
Rounding method for fractional amounts.
Definition currency.hpp:70
std::string format
Format string for display.
Definition currency.hpp:80
std::string currency_type
Type classification (e.g., fiat, crypto, major, minor, etc.).
Definition currency.hpp:85
std::string change_reason_code
Code identifying the reason for the change.
Definition currency.hpp:102