"""Settings request schemas."""
from decimal import Decimal
from typing import Optional, Any, Dict
from pydantic import BaseModel


class FeeItemCreateRequest(BaseModel):
    name: str
    category: str
    description: Optional[str] = None
    unit_price: Decimal
    is_taxable: bool = False
    is_active: bool = True
    sort_order: int = 0


class FeeItemUpdateRequest(BaseModel):
    name: Optional[str] = None
    category: Optional[str] = None
    description: Optional[str] = None
    unit_price: Optional[Decimal] = None
    is_taxable: Optional[bool] = None
    is_active: Optional[bool] = None
    sort_order: Optional[int] = None


class CemeteryProfileUpdateRequest(BaseModel):
    cemetery_type: Optional[str] = None
    contact_email: Optional[str] = None
    contact_phone: Optional[str] = None
    address: Optional[str] = None
    config_json: Optional[Dict[str, Any]] = None
