pub trait BillProduct { fn price(&self) -> Money; fn name(&self) -> String; fn tax(&self) -> Tax; }
Describes one particular product. Amount is handled by BillItem
BillItem
Price in Money
A name is a term used for identification.
Tax
A tax (from the Latin taxo) is a financial charge or other levy imposed upon a taxpayer (an individual or legal entity) by a state or the functional equivalent of a state to fund various public expenditures.