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 }