Customer Management Overview
The Customer & Contact Management system provides comprehensive tools for managing companies (customers) and their associated contacts.
Key Features
- Create and manage customer accounts
- Add multiple contacts per customer
- View customer job listings
- Track audit trails (who created/updated records)
- Integrate contacts seamlessly with job listing creation
Architecture
Customers: Companies or organizations that post job listings
- Each customer has a User account with `customer` role
- Stores company information (name, contact details, website)
- Linked to User table via `userId` foreign key
Customer Contacts: Reusable contact persons scoped to each customer
- Multiple contacts per customer
- Contact data can be copied to job listings
- Supports soft delete (preserves audit trail)
Listing Contacts: Per-listing embedded contact information
- Automatically copied from CustomerContact when creating listings
- Isolated per listing (changes don't affect existing listings)