Functional deal model