Membership Management Entities
1. Overview
Membership entities support organization-based membership management, including membership types, periods, eligibility criteria, and supporting documentation.
Package: za.co.idealogic.event.domain
Repository: event-database
Total Entities: 5
2. Core Membership Entities
2.1. Membership
Represents an individual’s membership in an organization (e.g., club membership, federation membership, association membership).
Key Relationships:
-
Many-to-one with Organisation
-
Many-to-one with User (WordPress legacy)
-
Many-to-one with MembershipType
-
One-to-many with MembershipPeriod
-
One-to-many with MembershipAttachment
Attributes:
-
Membership number
-
Start date
-
Status (active, expired, suspended, cancelled)
-
Renewal settings
-
Custom field values
Use Cases:
-
Club memberships for athletes
-
Federation memberships for officials
-
Association memberships for organizations
-
Annual membership renewals
2.2. MembershipType
Defines different types of memberships offered by an organization.
Key Relationships:
-
Many-to-one with Organisation
-
One-to-many with Membership
-
One-to-many with MembershipCriteria
Attributes:
-
Type name (e.g., "Junior Athlete", "Senior Athlete", "Coach", "Official")
-
Description
-
Default duration
-
Pricing information
-
Benefits description
-
Active/inactive status
Use Cases:
-
Age-based membership categories
-
Role-based memberships (athlete, coach, official)
-
Tiered membership levels (bronze, silver, gold)
-
Family vs individual memberships
2.3. MembershipPeriod
Tracks individual membership periods, enabling historical tracking and renewals.
Key Relationships:
-
Many-to-one with Membership
-
References Order (payment for period)
Attributes:
-
Start date
-
End date
-
Status (pending, active, expired, cancelled)
-
Payment status
-
Issue date
Use Cases:
-
Annual membership periods
-
Multi-year memberships
-
Mid-season renewals
-
Historical membership tracking
-
Membership expiry management
2.4. MembershipCriteria
Defines eligibility criteria for membership types (e.g., age ranges, qualifications, prerequisites).
Key Relationships:
-
Many-to-one with MembershipType
Attributes:
-
Criteria type (age, gender, qualification, location)
-
Criteria value/range
-
Required vs optional
-
Validation rules
Use Cases:
-
Age restrictions (e.g., "Junior: 6-17 years")
-
Gender requirements
-
Geographic restrictions
-
Prerequisite memberships
-
Qualification requirements (e.g., coaching licenses)
-
Medical clearance requirements
Examples:
MembershipType: "Junior Athlete"
Criteria 1: Age 6-17 years
Criteria 2: Parental consent required
Criteria 3: Medical clearance
MembershipType: "Senior Coach"
Criteria 1: Age 18+
Criteria 2: Coaching qualification
Criteria 3: Background check
2.5. MembershipAttachment
File attachments related to memberships (extends the base Attachment entity).
Inheritance: Extends Attachment
Key Relationships:
-
Many-to-one with Membership
Attributes:
-
All Attachment attributes (file path, MIME type, size)
-
Attachment type (license, certificate, ID, medical)
-
Expiry date (for time-limited documents)
-
Verification status
Use Cases:
-
Membership certificates
-
License documents (coaching, officiating)
-
ID verification documents
-
Medical certificates
-
Insurance documentation
-
Qualification certificates
-
Background check reports
3. Entity Relationships Diagram
Organisation
|
| 1:N
|
MembershipType -------- 1:N --------> MembershipCriteria
|
| 1:N
|
Membership
|
+------ 1:N --------> MembershipPeriod ----> Order
|
+------ 1:N --------> MembershipAttachment
4. Common Workflows
4.1. Create Membership Type Workflow
-
Organization administrator defines MembershipType
-
Add MembershipCriteria for eligibility rules
-
Configure pricing and duration
-
Activate membership type
4.2. Member Registration Workflow
-
User selects MembershipType
-
System validates against MembershipCriteria
-
User completes application form
-
User uploads required MembershipAttachments
-
User submits payment (creates Order)
-
System creates Membership
-
System creates initial MembershipPeriod (linked to Order)
-
System generates membership number
-
System issues membership certificate
4.3. Membership Renewal Workflow
-
System identifies expiring memberships
-
System sends renewal notifications
-
Member initiates renewal
-
Member updates information if needed
-
Member uploads new/updated MembershipAttachments (if required)
-
Member submits payment (creates Order)
-
System creates new MembershipPeriod
-
System extends Membership status
5. Multi-Tenancy Considerations
Each Organisation can: * Define its own MembershipTypes * Set organization-specific MembershipCriteria * Manage its own member base * Issue organization-scoped membership numbers * Configure custom membership fields
A single User can hold: * Multiple Memberships across different Organisations * Multiple concurrent MembershipTypes within the same Organisation * Historical MembershipPeriods for tracking
6. Integration Points
6.1. Event Registration Integration
-
Event registration can require active membership
-
Membership level can determine event pricing
-
Membership benefits can include free event entries
-
Membership discounts applied at checkout
7. Entity Summary
| Entity | Primary Purpose | Key Attributes |
|---|---|---|
Membership |
Individual membership record |
Number, status, dates |
MembershipType |
Membership category definition |
Name, duration, pricing |
MembershipPeriod |
Time-based membership validity |
Start/end dates, status |
MembershipCriteria |
Eligibility requirements |
Criteria type, value, rules |
MembershipAttachment |
Supporting documentation |
File, type, expiry |
8. Configuration Examples
8.1. Example 1: Athletic Club Membership Types
Organisation: "City Athletics Club"
MembershipType: "Junior Athlete (6-12)"
Duration: 1 year
Criteria:
- Age: 6-12 years
- Parental consent required
Required Attachments:
- Birth certificate
- Parental consent form
- Medical certificate
MembershipType: "Junior Athlete (13-17)"
Duration: 1 year
Criteria:
- Age: 13-17 years
- Parental consent required
Required Attachments:
- ID document
- Parental consent form
- Medical certificate
MembershipType: "Senior Athlete"
Duration: 1 year
Criteria:
- Age: 18+ years
Required Attachments:
- ID document
- Medical certificate
MembershipType: "Club Coach"
Duration: 1 year
Criteria:
- Age: 21+ years
- Coaching qualification required
- Background check
Required Attachments:
- ID document
- Coaching license
- Background check certificate
- Insurance certificate
8.2. Example 2: Federation Membership
Organisation: "Provincial Athletics Federation"
MembershipType: "Affiliated Club"
Duration: 1 year
Criteria:
- Registered organization
- Minimum 20 members
Required Attachments:
- Organization registration
- Club constitution
- Member list
MembershipType: "Licensed Official"
Duration: 1 year
Criteria:
- Age: 18+ years
- Official's course completed
- Active for 2+ years
Required Attachments:
- Official's license
- Training certificates
- Background check