One Hat Cyber Team
Your IP :
216.73.216.36
Server IP :
162.240.179.46
Server :
Linux vps-14493116.nutrivittasaude.com.br 5.14.0-611.49.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Apr 21 16:39:08 EDT 2026 x86_64
Server Software :
Apache
PHP Version :
8.2.31
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
lifeprimeti
/
meta.lifeprimeti.com.br
/
sql
/
Edit File:
install.sql
CREATE DATABASE IF NOT EXISTS barbearia_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; USE barbearia_db; -- EMPRESAS (SaaS multi-tenant) CREATE TABLE empresas ( id INT AUTO_INCREMENT PRIMARY KEY, nome VARCHAR(200) NOT NULL, slug VARCHAR(100) NOT NULL UNIQUE, documento VARCHAR(20), telefone VARCHAR(20), email VARCHAR(100), endereco TEXT, logo VARCHAR(255), cor_primaria VARCHAR(7) DEFAULT '#667eea', cor_secundaria VARCHAR(7) DEFAULT '#764ba2', ativo TINYINT(1) NOT NULL DEFAULT 1, plano ENUM('gratis', 'basico', 'profissional', 'enterprise') NOT NULL DEFAULT 'gratis', data_expiracao DATE NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ); -- GRUPOS DE ACESSO (ACL) CREATE TABLE grupos ( id INT AUTO_INCREMENT PRIMARY KEY, empresa_id INT NOT NULL, nome VARCHAR(100) NOT NULL, descricao TEXT, permissoes JSON NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (empresa_id) REFERENCES empresas(id) ON DELETE CASCADE ); -- USUARIOS CREATE TABLE usuarios ( id INT AUTO_INCREMENT PRIMARY KEY, empresa_id INT NOT NULL, grupo_id INT NULL, nome VARCHAR(100) NOT NULL, email VARCHAR(100) NOT NULL, telefone VARCHAR(20), senha VARCHAR(255) NOT NULL, tipo ENUM('admin', 'profissional', 'cliente') NOT NULL DEFAULT 'cliente', foto VARCHAR(255), ativo TINYINT(1) NOT NULL DEFAULT 1, hash_link VARCHAR(100) UNIQUE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, FOREIGN KEY (empresa_id) REFERENCES empresas(id) ON DELETE CASCADE, FOREIGN KEY (grupo_id) REFERENCES grupos(id) ON DELETE SET NULL ); -- PROFISSIONAIS CREATE TABLE profissionais ( id INT AUTO_INCREMENT PRIMARY KEY, empresa_id INT NOT NULL, usuario_id INT NOT NULL UNIQUE, foto VARCHAR(255), especialidade VARCHAR(255), descricao TEXT, cor_calendario VARCHAR(7) DEFAULT '#667eea', ativo TINYINT(1) NOT NULL DEFAULT 1, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (empresa_id) REFERENCES empresas(id) ON DELETE CASCADE, FOREIGN KEY (usuario_id) REFERENCES usuarios(id) ON DELETE CASCADE ); -- SERVICOS CREATE TABLE servicos ( id INT AUTO_INCREMENT PRIMARY KEY, empresa_id INT NOT NULL, nome VARCHAR(150) NOT NULL, descricao TEXT, preco DECIMAL(10,2) NOT NULL, duracao INT NOT NULL COMMENT 'duracao em minutos', foto VARCHAR(255), ativo TINYINT(1) NOT NULL DEFAULT 1, mostrar_site TINYINT(1) NOT NULL DEFAULT 1, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, FOREIGN KEY (empresa_id) REFERENCES empresas(id) ON DELETE CASCADE ); -- SERVICOS PROFISSIONAIS (relacao N:N) CREATE TABLE servicos_profissionais ( id INT AUTO_INCREMENT PRIMARY KEY, profissional_id INT NOT NULL, servico_id INT NOT NULL, preco DECIMAL(10,2) NULL, duracao INT NULL, FOREIGN KEY (profissional_id) REFERENCES profissionais(id) ON DELETE CASCADE, FOREIGN KEY (servico_id) REFERENCES servicos(id) ON DELETE CASCADE, UNIQUE KEY unique_prof_serv (profissional_id, servico_id) ); -- HORARIOS SISTEMA (grade geral) CREATE TABLE horarios_sistema ( id INT AUTO_INCREMENT PRIMARY KEY, empresa_id INT NOT NULL, dia_semana TINYINT NOT NULL COMMENT '0=domingo, 1=segunda...', hora_inicio TIME NOT NULL, hora_fim TIME NOT NULL, intervalo INT NOT NULL DEFAULT 60 COMMENT 'intervalo em minutos', FOREIGN KEY (empresa_id) REFERENCES empresas(id) ON DELETE CASCADE ); -- HORARIOS PROFISSIONAIS CREATE TABLE horarios_profissionais ( id INT AUTO_INCREMENT PRIMARY KEY, profissional_id INT NOT NULL, dia_semana TINYINT NOT NULL, hora_inicio TIME NOT NULL, hora_fim TIME NOT NULL, FOREIGN KEY (profissional_id) REFERENCES profissionais(id) ON DELETE CASCADE ); -- BLOQUEIO DE DIAS CREATE TABLE bloqueio_dias ( id INT AUTO_INCREMENT PRIMARY KEY, empresa_id INT NOT NULL, profissional_id INT NULL, data DATE NOT NULL, hora_inicio TIME NULL, hora_fim TIME NULL, motivo VARCHAR(255), tipo ENUM('empresa', 'profissional') NOT NULL DEFAULT 'empresa', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (empresa_id) REFERENCES empresas(id) ON DELETE CASCADE, FOREIGN KEY (profissional_id) REFERENCES profissionais(id) ON DELETE CASCADE ); -- AGENDAMENTOS CREATE TABLE agendamentos ( id INT AUTO_INCREMENT PRIMARY KEY, empresa_id INT NOT NULL, cliente_id INT NOT NULL, profissional_id INT NOT NULL, servico_id INT NOT NULL, data DATE NOT NULL, hora TIME NOT NULL, hora_fim TIME NOT NULL, status ENUM('pendente','confirmado','em_andamento','concluido','cancelado') NOT NULL DEFAULT 'pendente', observacao TEXT, hash_link VARCHAR(100), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, FOREIGN KEY (empresa_id) REFERENCES empresas(id) ON DELETE CASCADE, FOREIGN KEY (cliente_id) REFERENCES usuarios(id) ON DELETE CASCADE, FOREIGN KEY (profissional_id) REFERENCES profissionais(id) ON DELETE CASCADE, FOREIGN KEY (servico_id) REFERENCES servicos(id) ON DELETE CASCADE, INDEX idx_agendamento_data (data), INDEX idx_agendamento_status (status) ); -- PAGAMENTOS CREATE TABLE pagamentos ( id INT AUTO_INCREMENT PRIMARY KEY, empresa_id INT NOT NULL, agendamento_id INT NOT NULL, cliente_id INT NOT NULL, valor DECIMAL(10,2) NOT NULL, taxa DECIMAL(10,2) DEFAULT 0, metodo ENUM('dinheiro','pix','cartao','boleto','asaas','mercadopago') NOT NULL DEFAULT 'pix', status ENUM('pendente','aprovado','recusado','cancelado') NOT NULL DEFAULT 'pendente', transacao_id VARCHAR(255), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, FOREIGN KEY (empresa_id) REFERENCES empresas(id) ON DELETE CASCADE, FOREIGN KEY (agendamento_id) REFERENCES agendamentos(id) ON DELETE CASCADE, FOREIGN KEY (cliente_id) REFERENCES usuarios(id) ON DELETE CASCADE ); -- CONTAS A RECEBER CREATE TABLE contas_receber ( id INT AUTO_INCREMENT PRIMARY KEY, empresa_id INT NOT NULL, agendamento_id INT NOT NULL, cliente_id INT NOT NULL, profissional_id INT NOT NULL, servico_id INT NOT NULL, valor_total DECIMAL(10,2) NOT NULL, valor_recebido DECIMAL(10,2) DEFAULT 0, status ENUM('pendente','parcial','pago','cancelado') NOT NULL DEFAULT 'pendente', data_vencimento DATE, data_pagamento DATE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (empresa_id) REFERENCES empresas(id) ON DELETE CASCADE, FOREIGN KEY (agendamento_id) REFERENCES agendamentos(id) ON DELETE CASCADE ); -- CONFIGURACOES CREATE TABLE configuracoes ( id INT AUTO_INCREMENT PRIMARY KEY, empresa_id INT NOT NULL UNIQUE, opcao_pagar ENUM('sim','nao') NOT NULL DEFAULT 'nao', gateway_padrao ENUM('mercadopago','asaas','nenhum') NOT NULL DEFAULT 'nenhum', mp_public_key VARCHAR(255), mp_access_token VARCHAR(255), asaas_api_key VARCHAR(255), asaas_token VARCHAR(255), whatsapp_api VARCHAR(255), whatsapp_token VARCHAR(255), whatsapp_instance VARCHAR(100), horario_inicio TIME DEFAULT '08:00', horario_fim TIME DEFAULT '18:00', intervalo_padrao INT DEFAULT 0, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, FOREIGN KEY (empresa_id) REFERENCES empresas(id) ON DELETE CASCADE ); -- CAMPANHAS MARKETING CREATE TABLE campanhas ( id INT AUTO_INCREMENT PRIMARY KEY, empresa_id INT NOT NULL, nome VARCHAR(200) NOT NULL, mensagem TEXT NOT NULL, status ENUM('rascunho','agendada','enviando','concluida','cancelada') NOT NULL DEFAULT 'rascunho', data_agendamento DATETIME NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (empresa_id) REFERENCES empresas(id) ON DELETE CASCADE ); -- GRUPOS DISPARO CREATE TABLE grupos_disparo ( id INT AUTO_INCREMENT PRIMARY KEY, empresa_id INT NOT NULL, campanha_id INT NOT NULL, nome VARCHAR(100) NOT NULL, FOREIGN KEY (empresa_id) REFERENCES empresas(id) ON DELETE CASCADE, FOREIGN KEY (campanha_id) REFERENCES campanhas(id) ON DELETE CASCADE ); -- DISPAROS CREATE TABLE disparos ( id INT AUTO_INCREMENT PRIMARY KEY, campanha_id INT NOT NULL, contato_id INT NOT NULL, status ENUM('pendente','enviado','falhou') NOT NULL DEFAULT 'pendente', enviado_em DATETIME NULL, FOREIGN KEY (campanha_id) REFERENCES campanhas(id) ON DELETE CASCADE, FOREIGN KEY (contato_id) REFERENCES usuarios(id) ON DELETE CASCADE ); -- CONFIGURACOES WHATSAPP CREATE TABLE whatsapp_config ( id INT AUTO_INCREMENT PRIMARY KEY, empresa_id INT NOT NULL, dispositivo_nome VARCHAR(100), dispositivo_id VARCHAR(255), qr_code TEXT, status ENUM('desconectado','conectando','conectado') NOT NULL DEFAULT 'desconectado', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (empresa_id) REFERENCES empresas(id) ON DELETE CASCADE ); USE barbearia_db; -- Empresa padrao INSERT INTO empresas (nome, slug, documento, telefone, email) VALUES ('Barbearia Prime', 'barbearia-prime', '00.000.000/0001-00', '(11) 99999-9999', 'contato@barbeariaprime.com'); -- Configuracoes INSERT INTO configuracoes (empresa_id) VALUES (1); -- Grupo Admin INSERT INTO grupos (empresa_id, nome, descricao, permissoes) VALUES (1, 'Administrador', 'Acesso total ao sistema', '["admin","dashboard","usuarios","grupos","profissionais","servicos","clientes","agendamentos","calendario","relatorios","configuracoes","campanhas","bloqueio_dias"]'); -- Grupo Profissional INSERT INTO grupos (empresa_id, nome, descricao, permissoes) VALUES (1, 'Profissional', 'Acesso ao proprio perfil e agenda', '["dashboard","agendamentos","calendario","meus_agendamentos"]'); -- Usuario admin padrao (senha: admin123) INSERT INTO usuarios (empresa_id, grupo_id, nome, email, telefone, senha, tipo) VALUES (1, 1, 'Administrador', 'admin@agendamento.com', '(11) 99999-9999', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'admin'); -- Horarios do sistema INSERT INTO horarios_sistema (empresa_id, dia_semana, hora_inicio, hora_fim, intervalo) VALUES (1, 1, '08:00', '18:00', 60), (1, 2, '08:00', '18:00', 60), (1, 3, '08:00', '18:00', 60), (1, 4, '08:00', '18:00', 60), (1, 5, '08:00', '18:00', 60), (1, 6, '08:00', '13:00', 60); -- Servicos INSERT INTO servicos (empresa_id, nome, descricao, preco, duracao) VALUES (1, 'Corte Masculino', 'Corte tradicional com tesoura e máquina', 45.00, 40), (1, 'Barba', 'Aparação e modelagem de barba', 30.00, 20), (1, 'Corte + Barba', 'Combo corte masculino + barba', 65.00, 60), (1, 'Hidratação', 'Hidratação capilar profunda', 50.00, 30), (1, 'Sobrancelha', 'Design de sobrancelha', 20.00, 15);
Simpan