-- Crear tabla de usuarios
CREATE TABLE IF NOT EXISTS usuarios (
    id INT(11) AUTO_INCREMENT PRIMARY KEY,
    usuario VARCHAR(50) NOT NULL UNIQUE,
    nombre VARCHAR(100) NOT NULL,
    apellido VARCHAR(100) NOT NULL,
    contrasena VARCHAR(255) NOT NULL,
    acceso_caja TINYINT(1) DEFAULT 0,
    fecha_creacion TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    INDEX idx_usuario (usuario)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Insertar usuarios predeterminados
-- IMPORTANTE: Después de ejecutar este script, ejecutar create_users.php para crear los usuarios con la contraseña correcta
-- O manualmente ejecutar los siguientes INSERT después de generar el hash con generar_hash.php

-- Los usuarios se crearán con el script create_users.php que genera el hash correcto de "Promedfa"

-- Crear tabla de servicios
CREATE TABLE IF NOT EXISTS servicios (
    id INT(11) AUTO_INCREMENT PRIMARY KEY,
    nombre VARCHAR(200) NOT NULL,
    codigo VARCHAR(50) NOT NULL UNIQUE,
    precio DECIMAL(10,2) NOT NULL DEFAULT 0.00,
    comision DECIMAL(10,2) NOT NULL DEFAULT 0.00,
    activo TINYINT(1) DEFAULT 1,
    INDEX idx_codigo (codigo)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Crear tabla de cosmetólogas
CREATE TABLE IF NOT EXISTS cosmetologas (
    id INT(11) AUTO_INCREMENT PRIMARY KEY,
    nombre VARCHAR(100) NOT NULL,
    cargo VARCHAR(50),
    activo TINYINT(1) DEFAULT 1,
    INDEX idx_nombre (nombre)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Crear tabla de agendamiento
CREATE TABLE IF NOT EXISTS agendamiento (
    id INT(11) AUTO_INCREMENT PRIMARY KEY,
    edad_campana VARCHAR(50),
    hora_cita TIME,
    ci_ruc VARCHAR(20),
    nombre_paciente VARCHAR(200) NOT NULL,
    correo_electronico VARCHAR(100),
    telefono VARCHAR(20),
    observacion TEXT,
    hora_llegada TIME,
    servicio_agendado VARCHAR(200),
    valor DECIMAL(10,2),
    fecha_registro DATE NOT NULL,
    usuario_registro VARCHAR(50),
    fecha_creacion TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    fecha_modificacion TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    INDEX idx_fecha (fecha_registro),
    INDEX idx_nombre (nombre_paciente),
    INDEX idx_ci_ruc (ci_ruc)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Crear tabla de caja
CREATE TABLE IF NOT EXISTS caja (
    id INT(11) AUTO_INCREMENT PRIMARY KEY,
    agendamiento_id INT(11),
    -- Forma de pago principal
    forma_pago_principal VARCHAR(50),
    -- Servicios adicionales
    adicional_1 VARCHAR(200),
    adicional_2 VARCHAR(200),
    adicional_3 VARCHAR(200),
    -- Forma de pago adicionales
    forma_pago_adic1 VARCHAR(50),
    forma_pago_adic2 VARCHAR(50),
    forma_pago_adic3 VARCHAR(50),
    -- Cosmetóloga
    cosmetologa VARCHAR(100),
    user_app_med VARCHAR(100),
    hora_ingreso TIME,
    hora_salida TIME,
    observacion TEXT,
    -- Valores de comisión
    valor_comision_adic1 DECIMAL(10,2),
    valor_comision_adic2 DECIMAL(10,2),
    valor_comision_adic3 DECIMAL(10,2),
    -- Facturación
    total_factura DECIMAL(10,2),
    nombre_factura VARCHAR(200),
    direccion TEXT,
    no_comprobante_bancario VARCHAR(100),
    no_factura VARCHAR(100),
    fecha_registro DATE NOT NULL,
    usuario_registro VARCHAR(50),
    fecha_creacion TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    fecha_modificacion TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    INDEX idx_fecha (fecha_registro),
    INDEX idx_agendamiento (agendamiento_id),
    FOREIGN KEY (agendamiento_id) REFERENCES agendamiento(id) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
