from datetime import date, datetime from typing import Optional from pydantic import BaseModel class CaixaItemSchema(BaseModel): especie_pagamento: Optional[str] = None caixa_item_id: Optional[int] = None caixa_servico_id: Optional[int] = None usuario_servico_id: Optional[int] = None usuario_caixa_id: Optional[int] = None chave_servico: Optional[int] = None descricao: Optional[str] = None data_pagamento: Optional[date] = None situacao: Optional[str] = None tipo_documento: Optional[str] = None tipo_transacao: Optional[str] = None valor_servico: Optional[float] = None valor_pago: Optional[float] = None observacao: Optional[str] = None caixa_cheque_id: Optional[int] = None hora_pagamento: Optional[str] = None caixa_id: Optional[int] = None recibo_id: Optional[int] = None tipo_servico: Optional[str] = None qtd: Optional[int] = None apresentante: Optional[str] = None mensalista_id: Optional[int] = None quitado_caixa_id: Optional[int] = None registrado: Optional[int] = None emolumento: Optional[float] = None taxa_judiciaria: Optional[float] = None fundesp: Optional[float] = None desconto: Optional[float] = None valor_documento: Optional[float] = None outra_taxa1: Optional[float] = None chave_servico_sec: Optional[str] = None emolumento_item_id: Optional[int] = None caixa_registroselo_id: Optional[int] = None fundo_ri: Optional[float] = None valor_recibo: Optional[float] = None boleto_pdf: Optional[str] = None # ou `bytes` se for binĂ¡rio boleto_vencimento: Optional[date] = None iss: Optional[float] = None nlote: Optional[int] = None tabela: Optional[str] = None campo_id: Optional[int] = None boleto_id: Optional[int] = None valor_adicional: Optional[float] = None pix_id: Optional[int] = None class Config: from_attributes = True class IntervaloDatas(BaseModel): date_start: Optional[str] = None date_end: Optional[str] = None class CaixaItemSearchSchema(BaseModel): data_pagamento: Optional[IntervaloDatas] = None