# CRM System Design Document

# Product or Project Overview

This CRM system aims to help businesses manage customer relationships, track sales opportunities, and improve customer satisfaction. The system will cover core functionalities including customer information management, sales opportunity tracking, interaction records, reporting and analysis, providing a simple, user-friendly, and secure interface.

# Requirements Overview

Before diving into the formal design, it's essential to provide a comprehensive overview of the project requirements. This includes understanding the project background, objectives, expected outcomes, and key stakeholder expectations. The requirements overview stage is the foundation for ensuring project success, helping the team focus on core goals and priorities.

  • Background: Businesses need an efficient tool to manage customer relationships and sales processes.
  • Objectives: Implement functionalities for customer information management, sales opportunity tracking, interaction records, reporting and analysis to improve customer satisfaction and sales performance.
  • Expected Outcomes: Increase sales team efficiency, improve customer service quality, and increase sales opportunity conversion rates.
  • Key Stakeholders: Sales team, customer service team, management.

# Business Model Design

Business model design is the foundation of information system design. It involves defining database tables, setting fields, and establishing relationships between tables. In essence, this step determines the data structure and storage method of the system.

# Database Table Design

Model Name Description
Customers Customer information, including name, contact details, company name, position, etc.
SalesOpportunities Sales opportunity information, including opportunity name, stage, expected amount, etc.
InteractionRecords Interaction record information, including interaction type, date, notes, etc.
Tasks Task information, including task description, due date, status, etc.

# Customers Table

Field Name Type Nullable Default Options Remarks
name STRING No None None Customer business key
contactInfo STRING No None None Contact information
companyName STRING Yes None None Company name
position STRING Yes None None Position
group STRING Yes None None Customer group
birthday LOCAL_DATE Yes None None Customer birthday

# InteractionRecord Table

Field Name Type Nullable Default Options Remarks Related Object Type
name STRING No None None Interaction record business key None
interactionType STRING No None None Interaction type None
interactionDate LOCAL_DATE No None None Interaction date None
notes STRING Yes None None Notes None

# Task Table

Field Name Type Nullable Default Options Remarks Related Object Type
name STRING No None None Task business key None
description STRING No None None Task description None
dueDate LOCAL_DATE No None None Due date None
status STRING No None None Task status None

# SalesOpportunities Table

Field Name Type Nullable Default Options Remarks Related Object Type
name STRING No None None Sales opportunity business key None
customer DOMAIN_OBJECT No None None Related customer Customers
stage STRING No None None Opportunity stage None
expectedAmount BIG_DECIMAL No None None Expected amount None
expectedCloseDate LOCAL_DATE No None None Expected close date None
interactionRecords DOMAIN_OBJECT_LIST Yes None None Customer interaction records InteractionRecord
tasks DOMAIN_OBJECT_LIST Yes None None Customer interaction records Task

# Enumeration Fields and Their Values

Below are the enumeration fields and their optional values from the above model design

# Enumeration Fields, Options, and Explanations

Model Name Enum Field Option Value Explanation
Customers Group VIP Very important customers
Regular Customer General customers
Potential Customer Potential customers who may become actual customers
Important Customer Customers very important to the business
Blacklist Customers no longer cooperating
SalesOpportunities Stage Initial Contact First contact with customer, understanding basic needs
Needs Analysis Analyzing customer needs, determining solutions
Proposal Design Designing specific solutions for customers
Bidding Submitting bid documents, competing with customers
Negotiation Negotiating with customers, striving for agreement
Closed Won Sales opportunity successful, deal reached
Closed Lost Sales opportunity failed, deal not reached
InteractionRecords InteractionType Phone Call Interacting with customers via phone
Meeting Face-to-face meetings with customers
Email Interacting with customers via email
On-site Visit Visiting customers in person
Video Conference Interacting with customers via video conference
Other Other types of interactions
Tasks Status Pending Task not yet started
In Progress Task in progress
Completed Task completed
Cancelled Task cancelled

# Form Design

Form design includes list, create, and edit operations, considering CRUD operations, multi-step form design, field default values, special validations, linkages, dynamic display/hide, field grouping, and form user permission settings.

The form design overview for this system is as follows:

  1. Customers and SalesOpportunities have independent list, create, and edit forms.
  2. Tasks and InteractionRecords are managed in association with SalesOpportunities.

# Dashboard Design

No dashboard design in version 1.

# Dynamic Operation Design

Design corresponding business operations for different types of objects, including operation logic, targeted user groups, and enabling conditions.

# Customer Operations

  • Merge Customers: Merge duplicate customer information
  • Export Customer Data: Export customer information to CSV file
  • Send Email: Batch send emails to selected customers

# Sales Opportunity Operations

  • Change Stage: Update the stage of sales opportunities
  • Generate Report: Generate detailed reports for sales opportunities

# Object Lifecycle Design

Detailed planning of the logic in the create, read, update, delete (CRUD) process for each object, including necessary validations, integrations, and additional business logic processing.

# Core Process Design

Design necessary approval processes and business processes in the object lifecycle to ensure smooth and rational processes.

# Sales Opportunity Approval Process

  1. Create Opportunity: Sales personnel enter new sales opportunity
  2. Manager Approval: Sales manager reviews and approves
  3. Task Assignment: Assign relevant tasks to sales personnel
  4. Follow-up: Sales personnel follow up on sales opportunities, update progress
  5. Close: Sales opportunity successfully closed or failed

# Inter-System Integration Design

No inter-system integration design at present.

# Scheduled Task Design

Design necessary scheduled tasks based on business requirements, including tasks executed at system startup, one-time tasks, or periodic tasks.

# Scheduled Tasks

  • Customer Birthday Reminder: Daily check for customer birthdays and send reminders

# Report and Document Printing Design

No report and document printing design at present.

Last Updated: 12/4/2024, 1:00:56 PM