...
This commit is contained in:
55
specs/models_old/legal/contract.v
Normal file
55
specs/models_old/legal/contract.v
Normal file
@@ -0,0 +1,55 @@
|
||||
module legal
|
||||
|
||||
import freeflowuniverse.herolib.hero.models.core
|
||||
|
||||
// ContractStatus represents the current state of a legal contract
|
||||
pub enum ContractStatus {
|
||||
draft
|
||||
pending
|
||||
active
|
||||
expired
|
||||
terminated
|
||||
cancelled
|
||||
}
|
||||
|
||||
// ContractType categorizes the type of legal agreement
|
||||
pub enum ContractType {
|
||||
service
|
||||
sales
|
||||
lease
|
||||
employment
|
||||
partnership
|
||||
nda
|
||||
other
|
||||
}
|
||||
|
||||
// Contract represents a legal agreement between parties
|
||||
// This model stores essential information about contracts including parties, terms, and status
|
||||
pub struct Contract {
|
||||
core.Base
|
||||
pub mut:
|
||||
title string // Human-readable title of the contract @[index]
|
||||
contract_type ContractType // Type/category of the contract
|
||||
status ContractStatus // Current status of the contract
|
||||
party_a string // First party identifier (company, individual, etc.) @[index]
|
||||
party_b string // Second party identifier @[index]
|
||||
effective_date u64 // Unix timestamp when contract becomes effective
|
||||
|
||||
expiration_date u64 // Unix timestamp when contract expires
|
||||
|
||||
total_value f64 // Monetary value of the contract
|
||||
|
||||
currency string // Currency code (USD, EUR, etc.)
|
||||
|
||||
terms string // Full text of the contract terms
|
||||
|
||||
signature_date u64 // Unix timestamp when contract was signed
|
||||
|
||||
version string // Version identifier for contract revisions
|
||||
|
||||
parent_contract_id ?u32 // Optional reference to parent contract for amendments @[index]
|
||||
|
||||
attachment_urls []string // URLs or paths to attached documents
|
||||
|
||||
notes string // Additional notes and comments
|
||||
}
|
Reference in New Issue
Block a user