- Create sales schema (00-schema.sql) - Add sales enums (01-enums.sql): lead_status, lead_source, opportunity_stage, activity_type, activity_status - Add tables (02-tables.sql): pipeline_stages, leads, opportunities, activities - Add functions (03-functions.sql): convert_lead_to_opportunity, update_opportunity_stage, calculate_lead_score, get_pipeline_summary, initialize_default_stages - Add RLS policies (04-rls.sql) for tenant isolation - Add indexes (05-indexes.sql) for performance Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
52 lines
872 B
SQL
52 lines
872 B
SQL
-- ============================================
|
|
-- TEMPLATE-SAAS: Sales Enums
|
|
-- Version: 1.0.0
|
|
-- Module: SAAS-018
|
|
-- ============================================
|
|
|
|
-- Lead status enum
|
|
CREATE TYPE sales.lead_status AS ENUM (
|
|
'new',
|
|
'contacted',
|
|
'qualified',
|
|
'unqualified',
|
|
'converted'
|
|
);
|
|
|
|
-- Lead source enum
|
|
CREATE TYPE sales.lead_source AS ENUM (
|
|
'website',
|
|
'referral',
|
|
'cold_call',
|
|
'event',
|
|
'advertisement',
|
|
'social_media',
|
|
'other'
|
|
);
|
|
|
|
-- Opportunity stage enum
|
|
CREATE TYPE sales.opportunity_stage AS ENUM (
|
|
'prospecting',
|
|
'qualification',
|
|
'proposal',
|
|
'negotiation',
|
|
'closed_won',
|
|
'closed_lost'
|
|
);
|
|
|
|
-- Activity type enum
|
|
CREATE TYPE sales.activity_type AS ENUM (
|
|
'call',
|
|
'meeting',
|
|
'task',
|
|
'email',
|
|
'note'
|
|
);
|
|
|
|
-- Activity status enum
|
|
CREATE TYPE sales.activity_status AS ENUM (
|
|
'pending',
|
|
'completed',
|
|
'cancelled'
|
|
);
|