...
This commit is contained in:
47
specs/models_older/crm/lead.v
Normal file
47
specs/models_older/crm/lead.v
Normal file
@@ -0,0 +1,47 @@
|
||||
module crm
|
||||
import base
|
||||
|
||||
import freeflowuniverse.herolib.data.ourtime
|
||||
|
||||
// LeadStatus represents the status of a lead
|
||||
pub enum LeadStatus {
|
||||
new
|
||||
assigned
|
||||
in_process
|
||||
converted
|
||||
recycled
|
||||
dead
|
||||
}
|
||||
|
||||
// LeadSource represents the source of a lead
|
||||
pub enum LeadSource {
|
||||
website
|
||||
call
|
||||
email
|
||||
existing_customer
|
||||
partner
|
||||
public_relations
|
||||
campaign
|
||||
conference
|
||||
trade_show
|
||||
word_of_mouth
|
||||
other
|
||||
}
|
||||
|
||||
// Lead represents a potential customer in the CRM system
|
||||
pub struct Lead {
|
||||
base.Base // Base struct for common fields (id u32, creation_time, mod_time)
|
||||
pub mut:
|
||||
// id u32 // Removed, provided by base.Base
|
||||
contact_id u32 // Reference to a Contact (holds name, email, phone etc.)
|
||||
description string
|
||||
status LeadStatus
|
||||
source LeadSource
|
||||
opportunity_amount f64 // Optional: If lead is converted, this could be initial amount
|
||||
opportunity_name string // Optional: If lead is converted, this could be initial name
|
||||
converted_at ourtime.OurTime // Optional: Timestamp when lead was converted
|
||||
// created_at ourtime.OurTime // Removed, provided by base.Base.creation_time
|
||||
// updated_at ourtime.OurTime // Removed, provided by base.Base.mod_time
|
||||
assigned_user_id u32 // Reference to User
|
||||
created_by_id u32 // Reference to User
|
||||
}
|
Reference in New Issue
Block a user