from __future__ import annotations
from typing import Optional
from decimal import Decimal
from datetime import datetime
from pydantic import BaseModel, EmailStr


class CustomerOut(BaseModel):
    id: int
    name: Optional[str] = None
    email: Optional[str] = None
    phone: Optional[str] = None
    orders_count: int = 0
    total_spent: Decimal = Decimal("0")
    membership_tier: str = "regular"
    created_at: Optional[datetime] = None

    model_config = {"from_attributes": True}
