Contract
Documentation for the Contract document model
Overview
The Contract model extracts and structures information from legal contracts, including parties, dates, jurisdictions, and key contract terms. The model is designed to handle various contract formats while maintaining flexibility for different date formats and party structures.
Model Details
- Model ID:
CONTRACT
- Supported Locales:
en-US
- Version: GA
- Release Date: November 30, 2024
Schema Structure
Root Level Fields
Field | Type | Description |
---|---|---|
Title | string | Contract title |
ContractId | string? | Contract identification code |
Parties | Party[] | List of legal parties |
ExecutionDate | string? | Date when agreement was fully signed |
EffectiveDate | string? | Date when contract starts to be in effect |
ExpirationDate | string? | Date when contract ends to be in effect |
ContractDuration | string? | Contract terms |
RenewalDate | string? | Date when contract needs to be renewed |
Jurisdictions | Jurisdiction[] | List of jurisdictions |
Party Fields
Each party in the Parties
array contains:
Field | Type | Description |
---|---|---|
Name | string? | Name of legal party |
Address | Address? | Address of legal party |
ReferenceName | string? | Name used throughout the contract as reference |
Clause | string? | Full description of the party |
Jurisdiction Fields
Each jurisdiction in the Jurisdictions
array contains:
Field | Type | Description |
---|---|---|
Clause | string? | Full description of the jurisdiction |
Region | string? | Court location |
Utility Functions
The model provides several utility functions for contract management:
getPrimaryParties
Returns the first two parties of the contract:
isContractValid
Checks if the contract is currently valid based on dates:
needsRenewalSoon
Checks if contract needs renewal within 30 days:
getPrimaryJurisdiction
Gets the first listed jurisdiction:
formatPartyClause
Formats party information for display:
Example Usage
Date Handling
The model accepts dates in multiple formats:
- ISO 8601 datetime strings
- YYYY-MM-DD format strings
- Written form (e.g., “Twenty Third of February”)
All parseable dates are converted to ISO format during validation. Non-parseable dates are preserved as strings.
Type Definitions
Field Validation Rules
For basic validation:
- All fields are optional by default
- Parties and Jurisdictions default to empty arrays if not specified
For strict validation:
- Title is required
- ContractId is required
- ExecutionDate is required
- EffectiveDate is required
- At least one party is required
- For each party in strict mode, Name and ReferenceName are required
Best Practices
- Always validate contracts before processing:
- Check contract validity regularly:
- Monitor contracts for upcoming renewals:
-
Preserve original legal language in clauses
-
Use referenceName for party aliases in contract processing
-
Store dates in ISO format while maintaining original text if not parseable