"""Schemas for enquiry list/detail and status update in site admin."""
from datetime import datetime
from typing import Literal, Optional
from uuid import UUID

from pydantic import BaseModel, ConfigDict


class EnquiryListItemResponse(BaseModel):
    model_config = ConfigDict(from_attributes=True)

    id: UUID
    type: str
    name: str
    email: str
    organization: Optional[str] = None
    role: Optional[str] = None
    phone: Optional[str] = None
    cemetery_type: Optional[str] = None
    day: Optional[str] = None
    time: Optional[str] = None
    message: Optional[str] = None
    status: str
    source: str
    created_at: datetime


class UpdateEnquiryStatusRequest(BaseModel):
    status: Literal["new", "contacted", "qualified", "closed"]
