This commit is contained in:
2025-08-21 17:26:40 +02:00
parent 58ed59cd12
commit 095a4d0c69
96 changed files with 1070 additions and 10 deletions

View File

@@ -0,0 +1,57 @@
module crm
import base
import freeflowuniverse.herolib.data.ourtime
// CampaignStatus represents the status of a marketing campaign
pub enum CampaignStatus {
planning
active
inactive
complete
canceled
}
// CampaignType represents the type of a marketing campaign
pub enum CampaignType {
email
newsletter
web
television
radio
mail
print
social_media
telemarketing
event
other
}
// Campaign represents a marketing campaign in the CRM system
pub struct Campaign {
base.Base // Base struct for common fields (id u32, creation_time, mod_time)
pub mut:
name string
status CampaignStatus
type CampaignType
start_date ourtime.OurTime
end_date ourtime.OurTime
budget f64
expected_revenue f64
expected_cost f64
actual_cost f64
objective string
description string
target_audience string
sent_count u32
open_count u32
click_count u32
bounce_count u32
opt_out_count u32
lead_count u32
opportunity_count u32
revenue f64
roi f64 // Return on Investment
assigned_user_id u32 // Reference to User
created_by_id u32 // Reference to User
}