# Task 012 (Deferred) — Contact Points Module

## Objective

Manage email, phone, and other contact points for companies and people with primary flag and normalization.

## Scope

- Contact points API
- UI embedded in company/person detail and standalone list filter
- Email normalization (lowercase trim)
- Primary contact point rules (one primary email per person)

**Out of scope:** LinkedIn API sync.

## Requirements

1. Types: email, phone, linkedin, other.
2. Unique constraint strategy documented for duplicate emails.
3. Used as campaign recipient source later.

## Files to create or modify

| Path | Action |
|------|--------|
| `src/app/api/contact-points/**` | Create |
| `src/services/contact-point.service.ts` | Create |
| Company/person detail components | Update |
| `docs/02-database-schema.md` | Indexes |
| `docs/16-changelog.md` | Entry |

## Acceptance criteria

- [ ] Add/edit/delete contact points on company and person
- [ ] Primary email enforced per person
- [ ] Invalid email rejected at API

## Documentation updates required

- `docs/02-database-schema.md`
- `docs/16-changelog.md`
