"""TLCS Schemas — aligned with SITAR OpenAPI TLCSResponse."""

from typing import Optional
from pydantic import BaseModel, ConfigDict, Field


class TLCSResponse(BaseModel):
    """TLCS (Tratados de Libre Comercio) response model."""

    FRACCION: str = Field(max_length=10)
    PAIS: str = Field(max_length=3)
    ORDEN: Optional[int] = None
    TASATXT: Optional[str] = Field(None, max_length=44)
    TIPOTASA: Optional[int] = None
    TASA1NUM: Optional[str] = None
    FACTOR1: Optional[str] = None
    TASA2NUM: Optional[str] = None
    FACTOR2: Optional[str] = None
    DOF: Optional[str] = Field(None, max_length=8)
    NOTAS: Optional[str] = Field(None, max_length=999)
    NICO: Optional[str] = Field("", max_length=2)
    SYSID: int

    model_config = ConfigDict(from_attributes=True)
