...
This commit is contained in:
57
specs/models_older/crm/campaign.v
Normal file
57
specs/models_older/crm/campaign.v
Normal 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
|
||||
}
|
Reference in New Issue
Block a user