Overview
The Party module implements the Party pattern for managing individuals, organizations, and their relationships. It supports:- Persons and companies (organizations)
- Party roles and relationships
- Addresses (postal, geographic, email)
- Capabilities and requirements
- Temporal validity of relationships
Core Concepts
Party Hierarchy
Party Types
Party Roles
Parties play different roles in various contexts:PartyRole
Party Relationships
Relationships connect parties in specific roles:PartyRelationship
Creating Relationships
Relationship Examples
Managing Relationships
PartyRelationshipFacade
Addresses
Multiple address types for different purposes:Address Types
Address Use Types
Address Lifecycle
Address Management
AddressesFacade
Capabilities
Describe what parties can do:Capability
Capability Requirements
CapabilityRequirement
Managing Capabilities
CapabilitiesFacade
Address Defining Policy
Business rules for address management:AddressDefiningPolicy
Real-World Example: Customer Onboarding
Complete Customer Setup
Party Events
Domain events for party operations:Events
Best Practices
Use Roles
Model party behavior through roles, not types
Temporal Relationships
Always define validity for time-bound relationships
Multiple Addresses
Support multiple addresses per party
Verify Addresses
Track address verification status
Related Modules
- Uses Common for Result and events
- Used by Ordering for order parties
- Can be integrated with Accounting for accounts payable/receivable
