feat(prospecting): add complete prospecting module for lead discovery and scoring
Some checks failed
Some checks failed
Migrates scanning pipeline from marketing-.lu-domains app into Orion module. Supports digital (domain scan) and offline (manual capture) lead channels with enrichment, scoring, campaign management, and interaction tracking. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
34
app/modules/prospecting/schemas/contact.py
Normal file
34
app/modules/prospecting/schemas/contact.py
Normal file
@@ -0,0 +1,34 @@
|
||||
# app/modules/prospecting/schemas/contact.py
|
||||
"""Pydantic schemas for prospect contacts."""
|
||||
|
||||
from datetime import datetime
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
class ProspectContactCreate(BaseModel):
|
||||
"""Schema for creating a contact."""
|
||||
|
||||
contact_type: str = Field(..., pattern="^(email|phone|address|social|form)$")
|
||||
value: str = Field(..., max_length=500)
|
||||
label: str | None = Field(None, max_length=100)
|
||||
is_primary: bool = False
|
||||
|
||||
|
||||
class ProspectContactResponse(BaseModel):
|
||||
"""Schema for contact response."""
|
||||
|
||||
id: int
|
||||
prospect_id: int
|
||||
contact_type: str
|
||||
value: str
|
||||
label: str | None = None
|
||||
source_url: str | None = None
|
||||
source_element: str | None = None
|
||||
is_validated: bool = False
|
||||
is_primary: bool = False
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
Reference in New Issue
Block a user