-- ============================================================
-- Club Palestino - Tabla de Tarifas (MEMBRESÍA ANUAL)
-- ============================================================

CREATE TABLE IF NOT EXISTS `tarifas` (
    `id`          INT UNSIGNED     NOT NULL AUTO_INCREMENT,
    `tipo`        VARCHAR(50)      NOT NULL COMMENT 'TITULAR, FAMILIA, CARGAS, TITULAR AUTORIZADO, CARGA AUTORIZADA VARON, CARGA AUTORIZADA DAMA',
    `edad_desde`  TINYINT UNSIGNED NOT NULL,
    `edad_hasta`  TINYINT UNSIGNED NOT NULL,
    `valor_uf`    DECIMAL(6,2)     NOT NULL DEFAULT 0.00 COMMENT 'Valor ANUAL en UF',
    `descripcion` VARCHAR(200)     NULL,
    `activo`      TINYINT(1)       NOT NULL DEFAULT 1,
    `updated_at`  TIMESTAMP        NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`),
    KEY `idx_tipo_edad` (`tipo`, `edad_desde`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
  COMMENT='Tarifas ANUALES de membresía por tipo de socio y rango de edad';

-- ── CONFIGURACIÓN DE PAGOS ────────────────────────────────────
-- Tabla para registrar formas de pago habilitadas
CREATE TABLE IF NOT EXISTS `pago_formas` (
    `id`          TINYINT UNSIGNED NOT NULL AUTO_INCREMENT,
    `nombre`      VARCHAR(60)      NOT NULL COMMENT 'Ej: Contado, Cheques, Tarjeta de crédito',
    `cuotas_max`  TINYINT UNSIGNED NOT NULL DEFAULT 1,
    `descripcion` VARCHAR(200)     NULL,
    `activo`      TINYINT(1)       NOT NULL DEFAULT 1,
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT INTO `pago_formas` (`nombre`, `cuotas_max`, `descripcion`) VALUES
('Contado',           1,  'Pago anual completo al contado'),
('Cheques',          12,  'Hasta 12 cheques documentados'),
('Tarjeta crédito',  12,  'Hasta 12 cuotas con tarjeta de crédito'),
('Transferencia',     1,  'Transferencia bancaria anual');

-- ── REGLAS DE INCORPORACIÓN ───────────────────────────────────
-- Tabla de configuración de reglas del sistema
CREATE TABLE IF NOT EXISTS `config_sistema` (
    `clave`  VARCHAR(60)   NOT NULL,
    `valor`  VARCHAR(200)  NOT NULL,
    `descripcion` VARCHAR(300) NULL,
    PRIMARY KEY (`clave`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT INTO `config_sistema` (`clave`, `valor`, `descripcion`) VALUES
('incorporacion_anos_reingreso', '2',   'Años sin pagar para cobrar incorporación nuevamente (>= este valor)'),
('membresia_inicio_dia_limite',  '10',  'Hasta qué día del mes corre desde el 1 del mismo mes. Del 11 en adelante va al mes siguiente'),
('membresia_vigencia_meses',     '12',  'Meses de vigencia de la membresía anual'),
('plan_familia_edad_max',        '50',  'Edad máxima para aplicar plan familia (si alguno supera esta edad, no aplica)'),
('plan_familia_edad_min',        '25',  'Edad mínima para plan familia'),
('gratis_edad_min',              '81',  'Edad desde la cual el socio no paga'),
('gratis_anos_minimo',           '5',   'Años ininterrumpidos mínimos para ser gratis desde edad definida');

-- ── DATOS TARIFAS (valores ANUALES en UF) ────────────────────

-- TITULAR ÁRABE
INSERT INTO `tarifas` (`tipo`, `edad_desde`, `edad_hasta`, `valor_uf`, `descripcion`) VALUES
('TITULAR',  15,  21,  5.00,  'Cuota anual'),
('TITULAR',  22,  26,  7.00,  'Cuota anual'),
('TITULAR',  27,  29,  9.00,  'Cuota anual'),
('TITULAR',  30,  35, 11.00,  'Cuota anual'),
('TITULAR',  36,  40, 15.00,  'Cuota anual'),
('TITULAR',  41,  69, 19.00,  'Cuota anual'),
('TITULAR',  70,  80, 11.00,  'Cuota anual'),
('TITULAR',  81, 150,  0.00,  'Gratis — requiere 5+ años ininterrumpidos como socio');

-- PLAN FAMILIA (cubre titular + cónyuge, hijos incluidos sin costo adicional)
INSERT INTO `tarifas` (`tipo`, `edad_desde`, `edad_hasta`, `valor_uf`, `descripcion`) VALUES
('FAMILIA',  25,  35, 16.00, 'Edad del mayor entre titular y cónyuge — hijos incluidos'),
('FAMILIA',  36,  38, 19.00, 'Hijos incluidos'),
('FAMILIA',  39,  41, 21.00, 'Hijos incluidos'),
('FAMILIA',  42,  45, 24.00, 'Hijos incluidos'),
('FAMILIA',  46,  50, 29.00, 'Hijos incluidos — si alguno supera 50 años no aplica el plan');

-- CARGAS (hijos, socios árabes — solo cuando NO aplica plan familia)
INSERT INTO `tarifas` (`tipo`, `edad_desde`, `edad_hasta`, `valor_uf`, `descripcion`) VALUES
('CARGAS',   0,   6,  0.00, 'Gratis'),
('CARGAS',   7,  14,  3.00, 'Cuota anual individual'),
('CARGAS',  15,  21,  4.00, 'Cuota anual individual'),
('CARGAS',  22,  29,  6.00, 'Cuota anual individual'),
('CARGAS',  30,  40,  8.00, 'Cuota anual individual'),
('CARGAS',  41,  69,  9.00, 'Cuota anual individual'),
('CARGAS',  70,  80,  4.00, 'Cuota anual individual'),
('CARGAS',  81, 150,  0.00, 'Gratis — requiere 5+ años ininterrumpidos');

-- TITULAR AUTORIZADO (no árabe)
INSERT INTO `tarifas` (`tipo`, `edad_desde`, `edad_hasta`, `valor_uf`, `descripcion`) VALUES
('TITULAR AUTORIZADO',   0,  69, 26.00, 'Cuota anual'),
('TITULAR AUTORIZADO',  70,  80, 19.00, 'Cuota anual'),
('TITULAR AUTORIZADO',  81, 150, 13.00, 'Cuota anual');

-- CARGA AUTORIZADA VARÓN
INSERT INTO `tarifas` (`tipo`, `edad_desde`, `edad_hasta`, `valor_uf`, `descripcion`) VALUES
('CARGA AUTORIZADA VARON',   0,   6,  0.00, 'Gratis'),
('CARGA AUTORIZADA VARON',   7,  14,  3.00, 'Cuota anual'),
('CARGA AUTORIZADA VARON',  15,  21,  4.00, 'Cuota anual'),
('CARGA AUTORIZADA VARON',  22,  29,  6.00, 'Cuota anual'),
('CARGA AUTORIZADA VARON',  30,  40,  8.00, 'Cuota anual'),
('CARGA AUTORIZADA VARON',  41,  69,  9.00, 'Cuota anual'),
('CARGA AUTORIZADA VARON',  70,  80,  4.00, 'Cuota anual'),
('CARGA AUTORIZADA VARON',  81, 150,  0.00, 'Gratis');

-- CARGA AUTORIZADA DAMA
INSERT INTO `tarifas` (`tipo`, `edad_desde`, `edad_hasta`, `valor_uf`, `descripcion`) VALUES
('CARGA AUTORIZADA DAMA',   0,   6,  0.00, 'Gratis'),
('CARGA AUTORIZADA DAMA',   7,  14,  3.00, 'Cuota anual'),
('CARGA AUTORIZADA DAMA',  15,  21,  4.00, 'Cuota anual'),
('CARGA AUTORIZADA DAMA',  22,  29,  6.00, 'Cuota anual'),
('CARGA AUTORIZADA DAMA',  30,  40,  8.00, 'Cuota anual'),
('CARGA AUTORIZADA DAMA',  41,  69,  9.00, 'Cuota anual'),
('CARGA AUTORIZADA DAMA',  70,  80,  4.00, 'Cuota anual'),
('CARGA AUTORIZADA DAMA',  81, 150,  0.00, 'Gratis');
