16 lines
441 B
Python
16 lines
441 B
Python
|
|
from typing import Literal, Optional
|
||
|
|
|
||
|
|
from pydantic import BaseModel, Field
|
||
|
|
|
||
|
|
|
||
|
|
class DocumentInput(BaseModel):
|
||
|
|
client_name: str = Field(..., min_length=1)
|
||
|
|
provider_name: str = Field(..., min_length=1)
|
||
|
|
|
||
|
|
payment_type: Literal["hourly", "fixed", "other"]
|
||
|
|
|
||
|
|
hourly_rate_gbp: Optional[float] = Field(None, gt=0)
|
||
|
|
fixed_fee_gbp: Optional[float] = Field(None, gt=0)
|
||
|
|
|
||
|
|
include_confidentiality: bool = False
|
||
|
|
governing_law: str
|