-- ============================================================
-- v98: Portal do Doador — agendamentos via portal público
-- LGPD: Lei 13.709/2018 | RDC ANVISA 34/2014
-- ============================================================

CREATE TABLE IF NOT EXISTS `bs_portal_agendamentos` (
  `id`                 INT          AUTO_INCREMENT PRIMARY KEY,
  `clinica_id`         INT          NOT NULL DEFAULT 1,
  `doador_id`          INT          DEFAULT NULL COMMENT 'FK bs_doadores; NULL se novo doador ainda não cadastrado',
  `nome`               VARCHAR(150) NOT NULL,
  `cpf`                VARCHAR(14)  NOT NULL,
  `celular`            VARCHAR(20)  DEFAULT NULL,
  `email`              VARCHAR(150) DEFAULT NULL,
  `data_nascimento`    DATE         DEFAULT NULL,
  `sexo`               ENUM('M','F') DEFAULT NULL,
  `tipo_sanguineo`     VARCHAR(3)   DEFAULT NULL,
  `fator_rh`           ENUM('+','-') DEFAULT NULL,
  `peso_kg`            DECIMAL(5,2) DEFAULT NULL,
  `data_preferencia`   DATE         NOT NULL,
  `turno`              ENUM('manha','tarde') NOT NULL DEFAULT 'manha',
  `observacoes`        TEXT         DEFAULT NULL,
  `status`             ENUM('pendente','confirmado','cancelado','realizado') NOT NULL DEFAULT 'pendente',
  `consentimento_lgpd` TINYINT(1)   NOT NULL DEFAULT 0,
  `consentimento_em`   TIMESTAMP    NULL DEFAULT NULL,
  `ip_origem`          VARCHAR(45)  DEFAULT NULL,
  `atendido_por`       INT          DEFAULT NULL COMMENT 'usuario_id que processou o atendimento',
  `criado_em`          TIMESTAMP    NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `atualizado_em`      TIMESTAMP    NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  KEY `idx_cpf`        (`cpf`),
  KEY `idx_clinica`    (`clinica_id`),
  KEY `idx_status`     (`status`),
  KEY `idx_data`       (`data_preferencia`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Verificação
SELECT
    COUNT(*) AS portal_agendamentos_criados,
    'bs_portal_agendamentos OK' AS resultado
FROM information_schema.tables
WHERE table_schema = DATABASE()
  AND table_name = 'bs_portal_agendamentos';
