| from pydantic import BaseModel, ConfigDict | |
| from typing import List, Optional, Union | |
| from datetime import datetime | |
| class OCItem(BaseModel): | |
| correlative: Optional[int] = None | |
| product_code: Optional[str] = None | |
| name: str | |
| description: Optional[str] = None | |
| quantity: float | |
| unit: str | |
| price: Optional[float] = None | |
| total: Optional[float] = None | |
| class PurchaseOrder(BaseModel): | |
| model_config = ConfigDict(from_attributes=True) | |
| code: str | |
| name: str | |
| status: str | |
| status_code: Optional[str] = None | |
| buyer: str | |
| buyer_rut: Optional[str] = None | |
| provider: str | |
| provider_rut: Optional[str] = None | |
| date_creation: Union[str, datetime, None] = None | |
| total_amount: Optional[float] = None | |
| currency: Optional[str] = None | |
| type: Optional[str] = None | |
| items: List[OCItem] = [] | |
| raw_data: Optional[dict] = None | |