-- ============================================================
-- VÖLIÁ SYSTEMS - Ampliación de esquema (Fase 13)
-- ============================================================
USE volia_systems;

-- ---------- IT: Activos (hardware/software asignado a empleados) ----------
CREATE TABLE activos (
    id INT AUTO_INCREMENT PRIMARY KEY,
    tipo ENUM('hardware','software','licencia','otro') DEFAULT 'hardware',
    nombre VARCHAR(200) NOT NULL,
    numero_serie VARCHAR(100),
    asignado_a INT DEFAULT NULL,
    fecha_compra DATE,
    fecha_vencimiento DATE DEFAULT NULL,
    estado ENUM('en_uso','disponible','en_reparacion','baja') DEFAULT 'disponible',
    notas TEXT,
    creado_en DATETIME DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (asignado_a) REFERENCES usuarios(id)
);

-- ---------- Marketing: Leads (captación previa al pipeline de ventas) ----------
CREATE TABLE leads (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nombre VARCHAR(200) NOT NULL,
    empresa VARCHAR(200),
    email VARCHAR(150),
    telefono VARCHAR(30),
    fuente ENUM('web','redes_sociales','referido','evento','llamada_fria','otro') DEFAULT 'otro',
    campana_id INT DEFAULT NULL,
    estado ENUM('nuevo','contactado','cualificado','descartado','convertido') DEFAULT 'nuevo',
    notas TEXT,
    creado_en DATETIME DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (campana_id) REFERENCES campanas(id)
);

-- ---------- Logística: Transportistas ----------
CREATE TABLE transportistas (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nombre VARCHAR(200) NOT NULL,
    contacto VARCHAR(150),
    telefono VARCHAR(30),
    email VARCHAR(150),
    zona_cobertura VARCHAR(200),
    tarifa_base DECIMAL(10,2) DEFAULT 0,
    notas TEXT,
    creado_en DATETIME DEFAULT CURRENT_TIMESTAMP
);

ALTER TABLE envios ADD COLUMN transportista_id INT DEFAULT NULL AFTER cliente_id;
ALTER TABLE envios ADD CONSTRAINT fk_envios_transportista FOREIGN KEY (transportista_id) REFERENCES transportistas(id);

-- ---------- Atención al Cliente: Base de conocimiento (FAQ interna) ----------
CREATE TABLE base_conocimiento (
    id INT AUTO_INCREMENT PRIMARY KEY,
    pregunta VARCHAR(300) NOT NULL,
    respuesta TEXT NOT NULL,
    categoria VARCHAR(100) DEFAULT 'General',
    autor_id INT NOT NULL,
    creado_en DATETIME DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (autor_id) REFERENCES usuarios(id)
);

-- ---------- Compras: valoración de proveedores ----------
ALTER TABLE proveedores ADD COLUMN valoracion TINYINT DEFAULT NULL AFTER notas;
