62 lines
1.1 KiB
Python
62 lines
1.1 KiB
Python
from pydantic import BaseModel
|
|
|
|
|
|
class MarketCompetitorsInput(BaseModel):
|
|
address: str
|
|
services: str
|
|
|
|
|
|
class MarketKeywordsInput(BaseModel):
|
|
services: str
|
|
|
|
|
|
class MarketTrendInput(BaseModel):
|
|
service: str
|
|
|
|
|
|
class MarketTargetAudienceInput(BaseModel):
|
|
clinic_name: str
|
|
|
|
|
|
# --- Output ---
|
|
|
|
class Competitor(BaseModel):
|
|
name: str
|
|
procedures: list[str]
|
|
reputation: str
|
|
marketing_channels: list[str]
|
|
|
|
|
|
class MarketCompetitorsOutput(BaseModel):
|
|
competitors: list[Competitor]
|
|
|
|
|
|
class Keyword(BaseModel):
|
|
keyword: str
|
|
monthly_volume: str
|
|
competition: str
|
|
|
|
|
|
class MarketKeywordsOutput(BaseModel):
|
|
keywords: list[Keyword]
|
|
long_tail_keywords: list[str]
|
|
|
|
|
|
class MarketTrendOutput(BaseModel):
|
|
market_size: str
|
|
growth_rate: str
|
|
key_trends: list[str]
|
|
channel_effectiveness: list[str]
|
|
|
|
|
|
class AudienceSegment(BaseModel):
|
|
age_group: str
|
|
gender: str
|
|
interested_procedures: list[str]
|
|
info_channels: list[str]
|
|
decision_factors: list[str]
|
|
|
|
|
|
class MarketTargetAudienceOutput(BaseModel):
|
|
segments: list[AudienceSegment]
|