PlaniaPro — Modelo de Base de Datos

Supabase (PostgreSQL) • 18 tablas • Proyecto: jjkbtqxcozfdybkzxnbh

PK (Llave primaria)
FK (Llave foranea)
Requerido
Valor default
18
Tablas
9
Conectadas a Eventos
12+
Foreign Keys
3
Zonas funcionales
🔄
Flujo de datos: De lead a evento
Asi fluye la informacion en PlaniaPro
📥
1. Llega un lead
Cliente potencial nos contacta. Se registra su info basica.
planner_leads
📋
2. Se crea cotizacion
Se arma una propuesta con servicios y precios.
planner_quotes
🎉
3. Se convierte en evento
El lead acepta y se crea el evento con todos sus detalles.
planner_events
⚙️
4. Gestion del evento
Servicios, pagos, invitados, tareas, timeline...
9 tablas hijas
👁️
5. Portal del cliente
El cliente ve su progreso, moodboard y programa.
eventia_*
Diagrama de relaciones
Cada linea conecta una tabla hija con su tabla padre mediante una foreign key (FK)
🎉 planner_events Tabla central — todo gira alrededor del evento
🛎️
event_services
Servicios contratados
event_id → events.id
💰
payments
Pagos recibidos
event_id → events.id
👥
guests
Lista de invitados
event_id → events.id
tasks
Tareas pendientes
event_id → events.id
📜
event_program
Programa del dia
event_id → events.id
🎨
moodboard
Inspiracion visual
event_id → events.id
moodboard_favorites
Favoritos del cliente
event_id + moodboard_id
📅
timeline
Hitos de planeacion
event_id → events.id
📢
updates
Notificaciones al cliente
event_id → events.id
Tablas de soporte (no dependen de un evento)
📥
leads
Prospectos
convertido_en → events.id
📋
quotes
Cotizaciones
lead_id → leads.id
👤
profiles
Perfil del planner
company_id (PK)
🏢
plania_clients
Empresas registradas
slug (PK)
📦
vendors
Directorio de proveedores
independiente
🏷️
price_catalog
Catalogo de precios
company_id
🤝
providers
Proveedores por empresa
company_id
🌐
plania_providers
Catalogo compartido
global
🎉
Zona 1 — Gestion de Eventos
La tabla central y todo lo que se conecta directamente a un evento
🎉 planner_events Tabla central
🔑 id PK UUID
name REQ TEXT
event_type REQ TEXT
client_name REQ TEXT
client_phone TEXT
honoree_name TEXT
event_date REQ DATE
venue TEXT
guest_count 0 INTEGER
status 'activo' TEXT
total_budget 0 NUMERIC
total_paid 0 NUMERIC
company TEXT
client_username TEXT
client_password TEXT
client_settings JSONB
planner_fee_pct NUMERIC
notes TEXT
created_at now() TIMESTAMPTZ
🛎️ planner_event_services Servicios
🔑 id PK UUID
🔗 event_id FK UUID
category REQ TEXT
description REQ TEXT
vendor_name TEXT
quantity 1 INTEGER
unit_price 0 NUMERIC
total_price 0 NUMERIC
internal_cost NUMERIC
is_fee_service BOOLEAN
status 'pendiente' TEXT
Relaciones
event_id planner_events.id ON DELETE CASCADE
💰 planner_payments Pagos
🔑 id PK UUID
🔗 event_id FK UUID
sender_name REQ TEXT
amount REQ NUMERIC
payment_date REQ DATE
payment_method 'transferencia' TEXT
reference TEXT
confirmed true BOOLEAN
Relaciones
event_id planner_events.id ON DELETE CASCADE
👥 planner_guests Invitados
🔑 id PK UUID
🔗 event_id FK UUID
full_name REQ TEXT
phone TEXT
confirmed false BOOLEAN
table_number INTEGER
is_child false BOOLEAN
Relaciones
event_id planner_events.id ON DELETE CASCADE
planner_tasks Tareas
🔑 id PK UUID
🔗 event_id FK UUID
title REQ TEXT
description TEXT
due_date DATE
completed false BOOLEAN
priority 'media' TEXT
Relaciones
event_id planner_events.id ON DELETE CASCADE
📜 planner_event_program Programa
🔑 id PK UUID
🔗 event_id FK UUID
company_id TEXT
sort_order INTEGER
time TEXT
icon TEXT
description TEXT
Relaciones
event_id planner_events.id ON DELETE CASCADE
👁️
Zona 2 — Portal del Cliente (eventia_*)
Lo que el cliente ve: moodboard, timeline, actualizaciones
🎨 eventia_moodboard Inspiracion
🔑 id PK UUID
🔗 event_id FK UUID
url TEXT
title TEXT
category TEXT
sort_order INTEGER
Relaciones
event_id planner_events.id ON DELETE CASCADE
eventia_moodboard_favorites Favoritos
🔑 id PK UUID
🔗 event_id FK UUID
🔗 moodboard_id FK UUID
Relaciones
event_id planner_events.id
moodboard_id eventia_moodboard.id
📅 eventia_timeline Timeline
🔑 id PK UUID
🔗 event_id FK UUID
title TEXT
description TEXT
category TEXT
status TEXT
due_date DATE
responsible TEXT
sort_order INTEGER
Relaciones
event_id planner_events.id ON DELETE CASCADE
📢 eventia_updates Actualizaciones
🔑 id PK UUID
🔗 event_id FK UUID
title TEXT
body TEXT
icon TEXT
Relaciones
event_id planner_events.id ON DELETE CASCADE
📥
Zona 3 — CRM y Ventas
Leads, cotizaciones y el embudo de ventas
📥 planner_leads Prospectos
🔑 id PK UUID
company REQ TEXT
nombre REQ TEXT
apellido TEXT
email TEXT
telefono TEXT
fuente 'otro' TEXT
tipo_evento 'boda' TEXT
fecha_evento DATE
presupuesto_min NUMERIC
presupuesto_max NUMERIC
status 'nuevo' TEXT
🔗 convertido_en FK UUID
Relaciones
convertido_en planner_events.id (cuando el lead se convierte)
📋 planner_quotes Cotizaciones
🔑 id PK UUID
company REQ TEXT
🔗 lead_id FK UUID
🔗 event_id FK UUID
numero REQ TEXT
items '[]' JSONB
subtotal 0 NUMERIC
descuento_pct 0 NUMERIC
total 0 NUMERIC
status 'borrador' TEXT
token_publico UUID
proposal_config JSONB
Relaciones
lead_id planner_leads.id ON DELETE CASCADE
event_id planner_events.id
⚙️
Zona 4 — Configuracion y Plataforma
Perfiles, clientes de plataforma, catalogos y proveedores
👤 planner_profiles Perfil planner
🔑 company_id PK TEXT
nombre TEXT
empresa TEXT
email TEXT
whatsapp TEXT
theme TEXT
🏢 plania_clients Empresas
🔑 slug PK TEXT
company_name TEXT
contact_name TEXT
phone TEXT
icon TEXT
city TEXT
📦 planner_vendors Proveedores
🔑 id PK UUID
name REQ TEXT
category REQ TEXT
contact_name TEXT
phone TEXT
email TEXT
price_range TEXT
🏷️ planner_price_catalog Catalogo precios
🔑 id PK UUID
company_id TEXT
category TEXT
description TEXT
price NUMERIC
internal_cost NUMERIC
active BOOLEAN
🤝 planner_providers Proveedores/empresa
🔑 id PK UUID
company_id TEXT
name TEXT
category TEXT
commission_pct NUMERIC
active BOOLEAN
🌐 plania_providers Catalogo global
🔑 id PK UUID
name TEXT
category TEXT
Catalogo compartido entre todas las empresas de PlaniaPro
PlaniaPro Database Schema • Supabase (PostgreSQL) • Generado 2026-03-24