from datetime import datetime
from decimal import Decimal
from typing import List, Optional

from pydantic import BaseModel, Field

from src.apps.base.schemas.common import BaseSchema


class WineAdditionSchema(BaseSchema):
    literal: str = Field(..., description="Literal representation of the wine addition")
    wine_vin_id: Optional[str] = Field(None, description="Wine VIN ID")
    regionCode: Optional[str] = Field(None, description="Region code")
    vintage: Optional[str] = Field(None, description="Vintage year")
    variety: Optional[str] = Field(None, description="Wine variety")
    label: Optional[str] = Field(None, description="Wine label")
    producerName: Optional[str] = Field(None, description="Producer name")
    producerShow: Optional[str] = Field(None, description="Producer name to show")
    country: Optional[str] = Field(None, description="Country of origin")
    region: Optional[str] = Field(None, description="Region of origin")
    location: Optional[str] = Field(None, description="Location of origin")
    locale: Optional[str] = Field(None, description="Locale of origin")
    site: Optional[str] = Field(None, description="Website or site related to the wine")
    sweetness: Optional[str] = Field(None, description="Sweetness level of the wine")
    color: Optional[str] = Field(None, description="Color of the wine")
    wineType: Optional[str] = Field(None, description="Type of wine")
