USE bulo;

CREATE TABLE IF NOT EXISTS carteira_retiradas (
  id INT AUTO_INCREMENT PRIMARY KEY,
  id_motorista INT NOT NULL,
  valor DECIMAL(10,2) NOT NULL,
  saldo_no_pedido DECIMAL(10,2) NOT NULL DEFAULT 0.00,
  status ENUM('pendente', 'em_processamento', 'paga', 'reprovada', 'cancelada') NOT NULL DEFAULT 'pendente',
  pix_tipo ENUM('cpf', 'cnpj', 'email', 'celular', 'aleatoria') NULL,
  pix_chave VARCHAR(120) NULL,
  banco_nome VARCHAR(80) NULL,
  banco_agencia VARCHAR(20) NULL,
  banco_conta VARCHAR(30) NULL,
  banco_tipo_conta ENUM('corrente', 'poupanca', 'pagamento') NULL,
  banco_titular_nome VARCHAR(120) NULL,
  banco_titular_documento VARCHAR(20) NULL,
  prazo_limite DATE NULL,
  observacao VARCHAR(255) NULL,
  solicitado_em DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  processado_por VARCHAR(80) NULL,
  processado_em DATETIME NULL,
  atualizado_em TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  CONSTRAINT fk_carteira_retiradas_motorista FOREIGN KEY (id_motorista) REFERENCES usuarios(id),
  INDEX idx_carteira_retiradas_motorista (id_motorista),
  INDEX idx_carteira_retiradas_status (status),
  INDEX idx_carteira_retiradas_solicitado (solicitado_em)
);
