CREATE TABLE tipos_mensaje_pendiente (
  id INT AUTO_INCREMENT PRIMARY KEY,
  nombre VARCHAR(50) NOT NULL UNIQUE,
  intervalo INT NOT NULL COMMENT 'Tiempo en minutos después del último mensaje del bot',
  habilitado TINYINT DEFAULT 1,
  mensaje TEXT DEFAULT NULL,
  contador INT NOT NULL DEFAULT 0
) ENGINE=InnoDB;

CREATE TABLE usuarios_whatsapp (
  numero_telefono VARCHAR(50) PRIMARY KEY,
  nombre_whatsapp VARCHAR(255) NOT NULL,
  fecha_registro DATETIME NOT NULL,
  ultimo_mensaje DATETIME NOT NULL,
  session_id VARCHAR(64) NOT NULL,
  estado_bot TINYINT DEFAULT 1
) ENGINE=InnoDB;

CREATE TABLE mensajes (
  id_wa VARCHAR(255) PRIMARY KEY,
  numero_telefono VARCHAR(50),
  mensaje_recibido TEXT,
  mensaje_enviado TEXT,
  hora_mensaje DATETIME NOT NULL,
  hora_respuesta DATETIME DEFAULT NULL,
  FOREIGN KEY (numero_telefono) REFERENCES usuarios_whatsapp(numero_telefono) ON DELETE CASCADE
) ENGINE=InnoDB;

CREATE TABLE encuesta (
  id_encuesta INT AUTO_INCREMENT PRIMARY KEY,
  fecha YEAR NOT NULL,
  mes TINYINT CHECK (mes BETWEEN 1 AND 12),
  resolvimos TINYINT NOT NULL,
  calificacion TINYINT DEFAULT NULL
) ENGINE=InnoDB;

CREATE TABLE mensajes_pendientes (
  id INT AUTO_INCREMENT PRIMARY KEY,
  telefono VARCHAR(20) NOT NULL,
  fecha_creacion TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB;

CREATE TABLE encuestas_enviadas (
  id INT AUTO_INCREMENT PRIMARY KEY,
  anio INT NOT NULL,
  mes INT NOT NULL,
  total INT DEFAULT 0,
  UNIQUE KEY (anio, mes)
) ENGINE=InnoDB;
