Deal 에서 가장 중요한 것은 status 이다. 이 status 는 won, lost, open 을 갖는다. Deal 이 성공해서 계약 또는 판매 완료 되면 won이고, 계약이 실패하면 lost 이다. lost 일 경우, lost_reson 필드에 해당 원인을 정리한다.
Deal 의 개념을 funnel 분석에 적용하기 위해 stage 라는 field 를 갖는다. 이 값은 계약, 판매 라는 won 을 갖기 위해 적용되는 중간 과정을 stage 로 지정한다. (예를 들어 보험판매의 경우, 제안/고객미팅/최종제안/계약준비/계약 이라는 상태로 분류 할 수 있다. )
하나의 Deal은 여러개의 Product 포함 할 수 있다. 다양한 고객이 존재할 수 있기 때문에 여러 Person 과 여러 Organization 을 가질 수 있다. 여러개의 Activity 를 가질 수 있다.
Activity는 거래를 위해 활동한 모든 사항이다. 제안, 온라인 상담, 오프라인 상담, 방문 상담, 계약 등 시간적인 약속을 하면서 이루어진 모든 행위를 Activity 라고 할 수 있다. Activity 는 타입을 가진다. 이 타입으로 제안, 온라인 상담 같은 것을 구별 할 수 있다.
그리고 행위의 대상인 person 과 행위시간이라는 datetime 을 가진다. 기본적으로 약속이 이루어지는 사람과 약속시간이라고 생각하면 편할 것이다. 그래서 status 는 planned/done/cancel 이 있다.