-- --------------------------------------------------------
-- Anfitrião:                    127.0.0.1
-- Versão do servidor:           8.0.45 - MySQL Community Server - GPL
-- SO do servidor:               Win64
-- HeidiSQL Versão:              12.8.0.6908
-- --------------------------------------------------------

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET NAMES utf8 */;
/*!50503 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;


-- A despejar estrutura da base de dados para qr_menu
CREATE DATABASE IF NOT EXISTS `qr_menu` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */;
USE `qr_menu`;

-- A despejar estrutura para tabela qr_menu.cache
CREATE TABLE IF NOT EXISTS `cache` (
  `key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `value` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `expiration` int NOT NULL,
  PRIMARY KEY (`key`),
  KEY `cache_expiration_index` (`expiration`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.cache: ~0 rows (aproximadamente)

-- A despejar estrutura para tabela qr_menu.cache_locks
CREATE TABLE IF NOT EXISTS `cache_locks` (
  `key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `owner` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `expiration` int NOT NULL,
  PRIMARY KEY (`key`),
  KEY `cache_locks_expiration_index` (`expiration`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.cache_locks: ~0 rows (aproximadamente)

-- A despejar estrutura para tabela qr_menu.categorias
CREATE TABLE IF NOT EXISTS `categorias` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `categoria` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `slug` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `empresa_id` bigint unsigned NOT NULL,
  `imagem_categoria` text COLLATE utf8mb4_unicode_ci,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `categorias_empresa_id_foreign` (`empresa_id`),
  CONSTRAINT `categorias_empresa_id_foreign` FOREIGN KEY (`empresa_id`) REFERENCES `empresas` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.categorias: ~4 rows (aproximadamente)
INSERT INTO `categorias` (`id`, `categoria`, `slug`, `empresa_id`, `imagem_categoria`, `created_at`, `updated_at`) VALUES
	(1, 'Comidas', 'comidas', 2, NULL, '2026-03-25 19:44:18', '2026-03-25 19:44:18'),
	(2, 'Bebidas', 'bebidas', 2, NULL, '2026-04-23 07:35:20', '2026-04-23 07:35:20'),
	(3, 'Coktails', 'coktails', 1, NULL, NULL, NULL),
	(4, 'Matabicho', 'matabicho', 2, NULL, '2026-06-25 21:25:06', '2026-06-25 21:25:06');

-- A despejar estrutura para tabela qr_menu.chamadas_garcom
CREATE TABLE IF NOT EXISTS `chamadas_garcom` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `mesa_session_id` bigint unsigned NOT NULL,
  `tipo` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Atendimento',
  `dados_faturacao` json DEFAULT NULL,
  `estado` enum('Pendente','Atendida','Cancelada') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Pendente',
  `solicitada_at` timestamp NOT NULL,
  `atendida_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `chamadas_garcom_mesa_session_id_foreign` (`mesa_session_id`),
  KEY `chamadas_garcom_estado_solicitada_at_index` (`estado`,`solicitada_at`),
  CONSTRAINT `chamadas_garcom_mesa_session_id_foreign` FOREIGN KEY (`mesa_session_id`) REFERENCES `mesa_sessions` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.chamadas_garcom: ~2 rows (aproximadamente)

-- A despejar estrutura para tabela qr_menu.clientes
CREATE TABLE IF NOT EXISTS `clientes` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `arquivo` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `nome` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `tipo_cliente` enum('Empresa','Particular') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Particular',
  `nif` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `endereco` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `telefone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `saldo` decimal(20,0) DEFAULT '0',
  `empresa_id` bigint unsigned NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `clientes_empresa_id_foreign` (`empresa_id`),
  CONSTRAINT `clientes_empresa_id_foreign` FOREIGN KEY (`empresa_id`) REFERENCES `empresas` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.clientes: ~0 rows (aproximadamente)
INSERT INTO `clientes` (`id`, `arquivo`, `nome`, `tipo_cliente`, `nif`, `endereco`, `telefone`, `email`, `saldo`, `empresa_id`, `created_at`, `updated_at`) VALUES
	(1, NULL, 'Cucas', 'Empresa', '0129012898', 'Cuca Hoje ya hendas', '912435467', 'geral@cuca.com', 100000, 2, '2026-03-25 20:03:33', '2026-03-25 20:04:01');

-- A despejar estrutura para tabela qr_menu.contas
CREATE TABLE IF NOT EXISTS `contas` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `banco` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `iban` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `numero` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `titular` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `dependencia` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `gestor` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `endereco` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `telefone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `empresa_id` bigint unsigned NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `contas_empresa_id_foreign` (`empresa_id`),
  CONSTRAINT `contas_empresa_id_foreign` FOREIGN KEY (`empresa_id`) REFERENCES `empresas` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.contas: ~2 rows (aproximadamente)
INSERT INTO `contas` (`id`, `banco`, `iban`, `numero`, `titular`, `dependencia`, `gestor`, `endereco`, `telefone`, `email`, `empresa_id`, `created_at`, `updated_at`) VALUES
	(1, 'Banco Angolano de Investimento', '0040 0000 4729 7647 8356 8', '123456789', 'Empresa', 'Camama', 'Empresa', 'Kilamba', '929032393', 'geral@empresa.com', 2, '2026-03-26 11:04:00', '2026-03-26 11:04:00'),
	(2, 'Banco BIC', '0051 8498 7593 4786 8465 8', '12132432423', 'Empresa', 'Camama', 'Empresa', 'Kilamba', '929032393', 'geral@empresa.com', 2, '2026-03-26 11:04:23', '2026-03-26 11:04:23');

-- A despejar estrutura para tabela qr_menu.conta_correntes
CREATE TABLE IF NOT EXISTS `conta_correntes` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `cliente_id` bigint unsigned NOT NULL,
  `factura_id` bigint unsigned DEFAULT NULL,
  `tipo` enum('Débito','Crédito') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `valor` decimal(15,0) NOT NULL,
  `data` timestamp NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `conta_correntes_cliente_id_foreign` (`cliente_id`),
  KEY `conta_correntes_factura_id_foreign` (`factura_id`),
  CONSTRAINT `conta_correntes_cliente_id_foreign` FOREIGN KEY (`cliente_id`) REFERENCES `clientes` (`id`) ON DELETE CASCADE,
  CONSTRAINT `conta_correntes_factura_id_foreign` FOREIGN KEY (`factura_id`) REFERENCES `facturas` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.conta_correntes: ~0 rows (aproximadamente)

-- A despejar estrutura para tabela qr_menu.despesas
CREATE TABLE IF NOT EXISTS `despesas` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `arquivo` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `nome` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `valor` decimal(15,2) NOT NULL,
  `retencao_fonte` enum('Sim','Não') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Sim',
  `motivo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `conta_id` bigint unsigned NOT NULL,
  `fornecedor_id` bigint unsigned NOT NULL,
  `empresa_id` bigint unsigned NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `despesas_conta_id_foreign` (`conta_id`),
  KEY `despesas_fornecedor_id_foreign` (`fornecedor_id`),
  KEY `despesas_empresa_id_foreign` (`empresa_id`),
  CONSTRAINT `despesas_conta_id_foreign` FOREIGN KEY (`conta_id`) REFERENCES `contas` (`id`) ON DELETE CASCADE,
  CONSTRAINT `despesas_empresa_id_foreign` FOREIGN KEY (`empresa_id`) REFERENCES `empresas` (`id`) ON DELETE CASCADE,
  CONSTRAINT `despesas_fornecedor_id_foreign` FOREIGN KEY (`fornecedor_id`) REFERENCES `fornecedors` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.despesas: ~0 rows (aproximadamente)

-- A despejar estrutura para tabela qr_menu.empresas
CREATE TABLE IF NOT EXISTS `empresas` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `arquivo` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `banner_empresa` text COLLATE utf8mb4_unicode_ci,
  `nome` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `nif` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `endereco` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `telefone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `sujeito_iva` tinyint(1) DEFAULT '0',
  `taxa_iva` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '14',
  `regime_id` bigint unsigned NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `empresas_regime_id_foreign` (`regime_id`),
  CONSTRAINT `empresas_regime_id_foreign` FOREIGN KEY (`regime_id`) REFERENCES `regimes` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.empresas: ~2 rows (aproximadamente)
INSERT INTO `empresas` (`id`, `arquivo`, `banner_empresa`, `nome`, `nif`, `endereco`, `telefone`, `email`, `sujeito_iva`, `taxa_iva`, `regime_id`, `created_at`, `updated_at`) VALUES
	(1, 'Produtos/hJ51HTabfLbfkFVDvRTMMlszbjahcR898G68oOcA.webp', NULL, 'System', NULL, NULL, NULL, NULL, 0, '14', 1, NULL, NULL),
	(2, 'Produtos/hJ51HTabfLbfkFVDvRTMMlszbjahcR898G68oOcA.webp', NULL, 'Dadro Prestação de Serviços', NULL, NULL, NULL, NULL, 0, '14', 2, NULL, NULL);

-- A despejar estrutura para tabela qr_menu.estoques
CREATE TABLE IF NOT EXISTS `estoques` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `produto_id` bigint unsigned NOT NULL,
  `factura_id` bigint unsigned DEFAULT NULL,
  `tipo` enum('entrada','saida') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `quantidade` decimal(10,0) NOT NULL,
  `data` timestamp NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.estoques: ~0 rows (aproximadamente)

-- A despejar estrutura para tabela qr_menu.facturas
CREATE TABLE IF NOT EXISTS `facturas` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `numero` int NOT NULL,
  `numero_factura` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `data_factura` date NOT NULL,
  `total` decimal(15,0) NOT NULL DEFAULT '0',
  `total_imposto` decimal(15,0) NOT NULL DEFAULT '0',
  `total_liquido` decimal(15,0) NOT NULL DEFAULT '0',
  `hash` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `hash_anterior` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `status` enum('Rascunho','Finalizado','Cancelado','Pago') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Rascunho',
  `issued_at` timestamp NOT NULL,
  `due_date` timestamp NULL DEFAULT NULL,
  `tipo` enum('FT','FR','PP','NC','RC','NCB') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `cliente_id` bigint unsigned DEFAULT NULL,
  `nome_faturacao` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `nif_faturacao` varchar(40) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `email_faturacao` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `operador_id` bigint unsigned DEFAULT NULL,
  `empresa_id` bigint unsigned NOT NULL,
  `pedido_id` bigint unsigned NOT NULL,
  `mesa_session_id` bigint unsigned DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `facturas_cliente_id_foreign` (`cliente_id`),
  KEY `facturas_operador_id_foreign` (`operador_id`),
  KEY `facturas_empresa_id_foreign` (`empresa_id`),
  KEY `facturas_pedido_id_foreign` (`pedido_id`),
  KEY `facturas_mesa_session_id_foreign` (`mesa_session_id`),
  CONSTRAINT `facturas_cliente_id_foreign` FOREIGN KEY (`cliente_id`) REFERENCES `clientes` (`id`) ON DELETE CASCADE,
  CONSTRAINT `facturas_empresa_id_foreign` FOREIGN KEY (`empresa_id`) REFERENCES `empresas` (`id`) ON DELETE CASCADE,
  CONSTRAINT `facturas_mesa_session_id_foreign` FOREIGN KEY (`mesa_session_id`) REFERENCES `mesa_sessions` (`id`) ON DELETE SET NULL,
  CONSTRAINT `facturas_operador_id_foreign` FOREIGN KEY (`operador_id`) REFERENCES `users` (`id`) ON DELETE CASCADE,
  CONSTRAINT `facturas_pedido_id_foreign` FOREIGN KEY (`pedido_id`) REFERENCES `pedidos` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.facturas: ~0 rows (aproximadamente)

-- A despejar estrutura para tabela qr_menu.factura_produto
CREATE TABLE IF NOT EXISTS `factura_produto` (
  `factura_id` bigint unsigned NOT NULL,
  `produto_id` bigint unsigned NOT NULL,
  `descricao` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `quantidade` decimal(10,0) NOT NULL,
  `preco` decimal(15,0) NOT NULL,
  `valor_imposto` decimal(5,0) NOT NULL,
  `total` decimal(15,0) NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  KEY `factura_produto_factura_id_foreign` (`factura_id`),
  KEY `factura_produto_produto_id_foreign` (`produto_id`),
  CONSTRAINT `factura_produto_factura_id_foreign` FOREIGN KEY (`factura_id`) REFERENCES `facturas` (`id`) ON DELETE CASCADE,
  CONSTRAINT `factura_produto_produto_id_foreign` FOREIGN KEY (`produto_id`) REFERENCES `produtos` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.factura_produto: ~0 rows (aproximadamente)

-- A despejar estrutura para tabela qr_menu.factura_referencia
CREATE TABLE IF NOT EXISTS `factura_referencia` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `factura_referenciada_id` bigint unsigned NOT NULL,
  `factura_id` bigint unsigned NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.factura_referencia: ~0 rows (aproximadamente)

-- A despejar estrutura para tabela qr_menu.failed_jobs
CREATE TABLE IF NOT EXISTS `failed_jobs` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `uuid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `connection` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `queue` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `payload` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `exception` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `failed_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `failed_jobs_uuid_unique` (`uuid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.failed_jobs: ~0 rows (aproximadamente)

-- A despejar estrutura para tabela qr_menu.fornecedors
CREATE TABLE IF NOT EXISTS `fornecedors` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `arquivo` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `nome` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `tipo_fornecedor` enum('Empresa','Particular') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Empresa',
  `nif` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `endereco` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `telefone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `empresa_id` bigint unsigned NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `fornecedors_empresa_id_foreign` (`empresa_id`),
  CONSTRAINT `fornecedors_empresa_id_foreign` FOREIGN KEY (`empresa_id`) REFERENCES `empresas` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.fornecedors: ~0 rows (aproximadamente)

-- A despejar estrutura para tabela qr_menu.grupo_de_modificadors
CREATE TABLE IF NOT EXISTS `grupo_de_modificadors` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `nome` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `required` tinyint(1) NOT NULL DEFAULT '0',
  `multiplo` tinyint(1) NOT NULL DEFAULT '1',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.grupo_de_modificadors: ~0 rows (aproximadamente)

-- A despejar estrutura para tabela qr_menu.grupo_de_modificador_de_produtos
CREATE TABLE IF NOT EXISTS `grupo_de_modificador_de_produtos` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `produto_id` bigint unsigned NOT NULL,
  `grupo_de_modificadors_id` bigint unsigned NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `grupo_de_modificador_de_produtos_produto_id_foreign` (`produto_id`),
  KEY `grupo_mod_prod_grupo_fk` (`grupo_de_modificadors_id`),
  CONSTRAINT `grupo_de_modificador_de_produtos_produto_id_foreign` FOREIGN KEY (`produto_id`) REFERENCES `produtos` (`id`) ON DELETE CASCADE,
  CONSTRAINT `grupo_mod_prod_grupo_fk` FOREIGN KEY (`grupo_de_modificadors_id`) REFERENCES `grupo_de_modificadors` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.grupo_de_modificador_de_produtos: ~0 rows (aproximadamente)

-- A despejar estrutura para tabela qr_menu.impostos
CREATE TABLE IF NOT EXISTS `impostos` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `nome` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `valor` decimal(8,2) NOT NULL,
  `tipo` enum('Percentual','Fixo') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.impostos: ~3 rows (aproximadamente)
INSERT INTO `impostos` (`id`, `nome`, `valor`, `tipo`, `status`, `created_at`, `updated_at`) VALUES
	(1, 'Imposto sobre o Valor Acrescentado (IVA)', 14.00, 'Fixo', NULL, '2026-03-25 19:46:19', '2026-03-25 19:47:31'),
	(2, 'Imposto de Selo (IS)', 5.00, 'Fixo', NULL, '2026-03-25 19:47:04', '2026-03-25 19:47:04'),
	(3, 'Não Sujeição (NS)', 0.00, 'Fixo', NULL, '2026-03-25 19:48:05', '2026-03-25 19:48:05');

-- A despejar estrutura para tabela qr_menu.item_pedidos
CREATE TABLE IF NOT EXISTS `item_pedidos` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `pedido_id` bigint unsigned NOT NULL,
  `produto_id` bigint unsigned NOT NULL,
  `descricao` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `quantidade` decimal(10,0) NOT NULL,
  `preco` decimal(15,0) NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `item_pedidos_pedido_id_foreign` (`pedido_id`),
  KEY `item_pedidos_produto_id_foreign` (`produto_id`),
  CONSTRAINT `item_pedidos_pedido_id_foreign` FOREIGN KEY (`pedido_id`) REFERENCES `pedidos` (`id`) ON DELETE CASCADE,
  CONSTRAINT `item_pedidos_produto_id_foreign` FOREIGN KEY (`produto_id`) REFERENCES `produtos` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=92 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.item_pedidos: ~2 rows (aproximadamente)

-- A despejar estrutura para tabela qr_menu.jobs
CREATE TABLE IF NOT EXISTS `jobs` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `queue` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `payload` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `attempts` tinyint unsigned NOT NULL,
  `reserved_at` int unsigned DEFAULT NULL,
  `available_at` int unsigned NOT NULL,
  `created_at` int unsigned NOT NULL,
  PRIMARY KEY (`id`),
  KEY `jobs_queue_index` (`queue`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.jobs: ~0 rows (aproximadamente)

-- A despejar estrutura para tabela qr_menu.job_batches
CREATE TABLE IF NOT EXISTS `job_batches` (
  `id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `total_jobs` int NOT NULL,
  `pending_jobs` int NOT NULL,
  `failed_jobs` int NOT NULL,
  `failed_job_ids` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `options` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `cancelled_at` int DEFAULT NULL,
  `created_at` int NOT NULL,
  `finished_at` int DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.job_batches: ~0 rows (aproximadamente)

-- A despejar estrutura para tabela qr_menu.mesas
CREATE TABLE IF NOT EXISTS `mesas` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `mesa` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `slug` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `area` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Público',
  `qr_token` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `capacidade` int NOT NULL DEFAULT '4',
  `estado` enum('Disponível','Indisponível','Ocupado','Reservado') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Disponível',
  `empresa_id` bigint unsigned NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `mesas_qr_token_unique` (`qr_token`),
  KEY `mesas_empresa_id_foreign` (`empresa_id`),
  CONSTRAINT `mesas_empresa_id_foreign` FOREIGN KEY (`empresa_id`) REFERENCES `empresas` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.mesas: ~4 rows (aproximadamente)
INSERT INTO `mesas` (`id`, `mesa`, `slug`, `area`, `qr_token`, `capacidade`, `estado`, `empresa_id`, `created_at`, `updated_at`) VALUES
	(1, 'Mesa 01', 'mesa-01', 'Normal', '1a4be14c-76cb-4b27-8310-68a0258b157b', 4, 'Disponível', 2, '2026-04-25 19:23:45', '2026-09-14 07:38:06'),
	(2, 'Mesa 02', 'mesa-02', 'Normal', 'b03fac6b-c8fb-4cff-92eb-86b96e35fb16', 4, 'Ocupado', 2, '2026-04-25 19:23:58', '2026-09-15 13:24:38'),
	(3, 'Mesa 02', 'mesa-02', 'VIP', 'b978df05-9f57-4a4d-bdb0-3efb8873404a', 3, 'Disponível', 2, '2026-04-25 19:24:16', '2026-09-15 12:37:20'),
	(4, 'Mesa 01', 'mesa-01', 'VIP', 'd1379cfe-94ea-4584-9169-18701388bb78', 3, 'Disponível', 2, '2026-04-25 19:24:32', '2026-04-25 19:24:32');

-- A despejar estrutura para tabela qr_menu.mesa_sessions
CREATE TABLE IF NOT EXISTS `mesa_sessions` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `mesa_id` bigint unsigned NOT NULL,
  `token` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `estado` enum('Aberto','Fechado') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Aberto',
  `aberto_at` timestamp NOT NULL,
  `fechado_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `mesa_sessions_token_unique` (`token`),
  KEY `mesa_sessions_mesa_id_foreign` (`mesa_id`),
  CONSTRAINT `mesa_sessions_mesa_id_foreign` FOREIGN KEY (`mesa_id`) REFERENCES `mesas` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=62 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.mesa_sessions: ~2 rows (aproximadamente)
INSERT INTO `mesa_sessions` (`id`, `mesa_id`, `token`, `estado`, `aberto_at`, `fechado_at`, `created_at`, `updated_at`) VALUES
	(60, 1, '4b6883f6-4afb-4260-8eda-647a841fcbf4', 'Aberto', '2026-11-01 14:19:17', NULL, '2026-11-01 14:19:17', '2026-11-01 14:19:17'),
	(61, 3, '411dfd13-bcc4-47d2-bea2-d031e0524f84', 'Aberto', '2026-11-01 14:35:21', NULL, '2026-11-01 14:35:21', '2026-11-01 14:35:21');

-- A despejar estrutura para tabela qr_menu.migrations
CREATE TABLE IF NOT EXISTS `migrations` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
  `migration` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `batch` int NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=48 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.migrations: ~34 rows (aproximadamente)
INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES
	(1, '0000_03_18_202113_create_regimes_table', 1),
	(2, '0000_03_18_202253_create_empresas_table', 1),
	(3, '0000_03_18_202352_create_contas_table', 1),
	(4, '0001_01_01_000000_create_perfils_table', 1),
	(5, '0001_01_01_000001_create_users_table', 1),
	(6, '0001_01_01_000002_create_cache_table', 1),
	(7, '0001_01_01_000003_create_jobs_table', 1),
	(8, '2026_02_16_223633_create_personal_access_tokens_table', 1),
	(9, '2026_02_18_052633_create_clientes_table', 1),
	(10, '2026_02_20_234132_create_categorias_table', 1),
	(11, '2026_02_20_234856_create_permissaos_table', 1),
	(12, '2026_02_21_002900_create_perfils_permissaos_table', 1),
	(13, '2026_03_18_202010_create_tipos_table', 1),
	(14, '2026_03_18_202137_create_facturas_table', 1),
	(15, '2026_03_18_202540_create_impostos_table', 1),
	(16, '2026_03_18_202542_create_produtos_table', 1),
	(17, '2026_03_18_202555_create_series_table', 1),
	(18, '2026_03_18_202611_create_pagamentos_table', 1),
	(19, '2026_03_18_202920_factura_produto', 1),
	(20, '2026_03_18_205030_create_planos_table', 1),
	(21, '2026_03_18_205038_create_subscricaos_table', 1),
	(22, '2026_03_19_082520_create_fornecedors_table', 1),
	(23, '2026_03_19_082722_create_despesas_table', 1),
	(24, '2026_03_22_075214_create_conta_correntes_table', 1),
	(25, '2026_03_22_075239_create_estoques_table', 1),
	(33, '2026_04_25_065753_create_item_pedidos_table', 5),
	(37, '2026_04_21_073745_create_mesas_table', 6),
	(38, '2026_04_22_195307_create_mesa_sessions_table', 6),
	(39, '2026_04_23_074156_create_pedidos_table', 6),
	(40, '2026_04_26_123017_create_grupo_de_modificadors_table', 7),
	(41, '2026_04_26_123119_create_modificadors_table', 8),
	(42, '2026_09_13_180000_create_reservas_mesa_table', 8),
	(43, '2026_09_13_190000_add_pedido_to_facturas_table', 9),
	(44, '2026_09_13_200000_add_estado_at_to_pedidos_table', 10),
	(45, '2026_09_13_200100_create_chamadas_garcom_table', 10),
	(46, '2026_09_14_080000_add_mesa_session_and_billing_data_to_facturas_table', 11),
	(47, '2026_09_14_080100_add_type_and_billing_data_to_chamadas_garcom_table', 11);

-- A despejar estrutura para tabela qr_menu.modificadors
CREATE TABLE IF NOT EXISTS `modificadors` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `nome` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `preco` decimal(8,2) NOT NULL DEFAULT '0.00',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `grupo_de_modificadors_id` bigint unsigned NOT NULL,
  PRIMARY KEY (`id`),
  KEY `modificadors_grupo_de_modificadors_id_foreign` (`grupo_de_modificadors_id`),
  CONSTRAINT `modificadors_grupo_de_modificadors_id_foreign` FOREIGN KEY (`grupo_de_modificadors_id`) REFERENCES `grupo_de_modificadors` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.modificadors: ~0 rows (aproximadamente)

-- A despejar estrutura para tabela qr_menu.pagamentos
CREATE TABLE IF NOT EXISTS `pagamentos` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `valor` decimal(15,0) NOT NULL,
  `data_pagamento` date NOT NULL,
  `reference` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `conta_id` bigint NOT NULL DEFAULT (0),
  `factura_id` bigint unsigned NOT NULL,
  `empresa_id` bigint unsigned NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `pagamentos_factura_id_foreign` (`factura_id`),
  KEY `pagamentos_empresa_id_foreign` (`empresa_id`),
  KEY `pagamentos_conta_id_foreign` (`conta_id`),
  CONSTRAINT `pagamentos_empresa_id_foreign` FOREIGN KEY (`empresa_id`) REFERENCES `empresas` (`id`) ON DELETE CASCADE,
  CONSTRAINT `pagamentos_factura_id_foreign` FOREIGN KEY (`factura_id`) REFERENCES `facturas` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.pagamentos: ~0 rows (aproximadamente)

-- A despejar estrutura para tabela qr_menu.password_reset_tokens
CREATE TABLE IF NOT EXISTS `password_reset_tokens` (
  `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `token` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.password_reset_tokens: ~0 rows (aproximadamente)

-- A despejar estrutura para tabela qr_menu.pedidos
CREATE TABLE IF NOT EXISTS `pedidos` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `estado` enum('Aberto','Entregue','Cancelado','Pronto','Preparando','Fechado') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Aberto',
  `estado_at` timestamp NULL DEFAULT NULL,
  `numero_pedido` char(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `mesa_session_id` bigint unsigned NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `pedidos_numero_pedido_unique` (`numero_pedido`),
  KEY `pedidos_mesa_session_id_foreign` (`mesa_session_id`),
  CONSTRAINT `pedidos_mesa_session_id_foreign` FOREIGN KEY (`mesa_session_id`) REFERENCES `mesa_sessions` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=43 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.pedidos: ~0 rows (aproximadamente)

-- A despejar estrutura para tabela qr_menu.perfils
CREATE TABLE IF NOT EXISTS `perfils` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `perfil` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `descricao` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.perfils: ~3 rows (aproximadamente)
INSERT INTO `perfils` (`id`, `perfil`, `descricao`, `created_at`, `updated_at`) VALUES
	(1, 'System', NULL, NULL, NULL),
	(2, 'Admin', NULL, NULL, NULL),
	(3, 'Vendedor', NULL, NULL, NULL),
	(4, 'Cozinha', NULL, NULL, NULL);

-- A despejar estrutura para tabela qr_menu.perfil_permissao
CREATE TABLE IF NOT EXISTS `perfil_permissao` (
  `perfil_id` bigint unsigned NOT NULL,
  `permissao_id` bigint unsigned NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  KEY `perfil_permissao_perfil_id_foreign` (`perfil_id`),
  KEY `perfil_permissao_permissao_id_foreign` (`permissao_id`),
  CONSTRAINT `perfil_permissao_perfil_id_foreign` FOREIGN KEY (`perfil_id`) REFERENCES `perfils` (`id`) ON DELETE CASCADE,
  CONSTRAINT `perfil_permissao_permissao_id_foreign` FOREIGN KEY (`permissao_id`) REFERENCES `permissaos` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.perfil_permissao: ~3 rows (aproximadamente)
INSERT INTO `perfil_permissao` (`perfil_id`, `permissao_id`, `created_at`, `updated_at`) VALUES
	(4, 1, NULL, NULL),
	(4, 2, NULL, NULL),
	(2, 3, NULL, NULL);

-- A despejar estrutura para tabela qr_menu.permissaos
CREATE TABLE IF NOT EXISTS `permissaos` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `permissao` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `descricao` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.permissaos: ~2 rows (aproximadamente)
INSERT INTO `permissaos` (`id`, `permissao`, `descricao`, `created_at`, `updated_at`) VALUES
	(1, 'atualizarPedido', 'Atualizar Estado do Pedido', NULL, NULL),
	(2, 'emitirFactura', NULL, NULL, NULL),
	(3, 'index_categoria', NULL, NULL, NULL);

-- A despejar estrutura para tabela qr_menu.personal_access_tokens
CREATE TABLE IF NOT EXISTS `personal_access_tokens` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `tokenable_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `tokenable_id` bigint unsigned NOT NULL,
  `name` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `token` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `abilities` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `last_used_at` timestamp NULL DEFAULT NULL,
  `expires_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `personal_access_tokens_token_unique` (`token`),
  KEY `personal_access_tokens_tokenable_type_tokenable_id_index` (`tokenable_type`,`tokenable_id`),
  KEY `personal_access_tokens_expires_at_index` (`expires_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.personal_access_tokens: ~0 rows (aproximadamente)

-- A despejar estrutura para tabela qr_menu.planos
CREATE TABLE IF NOT EXISTS `planos` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `nome` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `preco` decimal(15,2) NOT NULL,
  `max_users` int NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.planos: ~0 rows (aproximadamente)
INSERT INTO `planos` (`id`, `nome`, `preco`, `max_users`, `created_at`, `updated_at`) VALUES
	(1, 'Base', 8500.00, 5, '2026-03-25 19:40:37', '2026-03-25 19:40:37');

-- A despejar estrutura para tabela qr_menu.produtos
CREATE TABLE IF NOT EXISTS `produtos` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `nome` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `classificacao` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `codigo` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `preco` decimal(8,2) NOT NULL,
  `preco_imposto` decimal(8,2) NOT NULL,
  `imagem_produto` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `categoria_id` bigint unsigned NOT NULL,
  `imposto_id` bigint unsigned NOT NULL,
  `empresa_id` bigint unsigned NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `produtos_categoria_id_foreign` (`categoria_id`),
  KEY `produtos_imposto_id_foreign` (`imposto_id`),
  KEY `produtos_empresa_id_foreign` (`empresa_id`),
  CONSTRAINT `produtos_categoria_id_foreign` FOREIGN KEY (`categoria_id`) REFERENCES `categorias` (`id`) ON DELETE CASCADE,
  CONSTRAINT `produtos_empresa_id_foreign` FOREIGN KEY (`empresa_id`) REFERENCES `empresas` (`id`) ON DELETE CASCADE,
  CONSTRAINT `produtos_imposto_id_foreign` FOREIGN KEY (`imposto_id`) REFERENCES `impostos` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.produtos: ~5 rows (aproximadamente)
INSERT INTO `produtos` (`id`, `nome`, `classificacao`, `codigo`, `preco`, `preco_imposto`, `imagem_produto`, `categoria_id`, `imposto_id`, `empresa_id`, `created_at`, `updated_at`) VALUES
	(7, 'Cuca em Lata', 'Produto', 'CucXLtA', 1000.00, 1000.00, 'Produtos/hJ51HTabfLbfkFVDvRTMMlszbjahcR898G68oOcA.webp', 2, 3, 2, '2026-05-18 19:33:11', '2026-05-18 19:33:11'),
	(8, 'Cuca', 'Produto', 'CucxGr', 300.00, 300.00, 'Produtos/iN9a4Yf9iOcyUhTa1sr47MDHwpYIOgeKpsmdgOv8.png', 2, 3, 2, '2026-05-18 19:39:10', '2026-05-18 19:39:10'),
	(9, 'Hamburguer', 'Produto', 'HambX', 1400.00, 1400.00, 'Produtos/uvLkMlSvHHnH2G13YH1k16t0EoerzEz5jSn3qgCb.webp', 1, 3, 2, '2026-05-18 19:39:38', '2026-05-18 19:39:38'),
	(10, 'Calulu de Carne Seca', 'Produto', 'CalXSeca', 2500.00, 2500.00, 'Produtos/Fv34ic7zdyoXXPoBvXe2UzJk72ijXKkfJKffo9t6.jpg', 1, 3, 2, '2026-05-18 19:58:53', '2026-05-18 19:58:53'),
	(11, 'Mfumbua', 'Produto', 'MfumX', 1500.00, 1500.00, 'Produtos/TgndHILfvgbibbUEKdF4oL1jTjo6mQ7YAa1z4QG6.jpg', 1, 3, 2, '2026-05-18 20:00:15', '2026-05-18 20:00:15');

-- A despejar estrutura para tabela qr_menu.regimes
CREATE TABLE IF NOT EXISTS `regimes` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `regime` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.regimes: ~3 rows (aproximadamente)
INSERT INTO `regimes` (`id`, `regime`, `created_at`, `updated_at`) VALUES
	(1, 'Geral', NULL, NULL),
	(2, 'Simplificado', NULL, NULL),
	(3, 'IVA', NULL, NULL);

-- A despejar estrutura para tabela qr_menu.reservas_mesa
CREATE TABLE IF NOT EXISTS `reservas_mesa` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `mesa_id` bigint unsigned NOT NULL,
  `empresa_id` bigint unsigned NOT NULL,
  `nome_cliente` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `telefone` varchar(40) COLLATE utf8mb4_unicode_ci NOT NULL,
  `email` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `pessoas` smallint unsigned NOT NULL,
  `inicio_at` datetime NOT NULL,
  `fim_at` datetime NOT NULL,
  `estado` enum('Pendente','Confirmada','Cancelada','Concluída','Não compareceu') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Pendente',
  `observacoes` text COLLATE utf8mb4_unicode_ci,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `reservas_mesa_mesa_id_inicio_at_fim_at_index` (`mesa_id`,`inicio_at`,`fim_at`),
  KEY `reservas_mesa_empresa_id_estado_index` (`empresa_id`,`estado`),
  CONSTRAINT `reservas_mesa_empresa_id_foreign` FOREIGN KEY (`empresa_id`) REFERENCES `empresas` (`id`) ON DELETE CASCADE,
  CONSTRAINT `reservas_mesa_mesa_id_foreign` FOREIGN KEY (`mesa_id`) REFERENCES `mesas` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.reservas_mesa: ~1 rows (aproximadamente)

-- A despejar estrutura para tabela qr_menu.series
CREATE TABLE IF NOT EXISTS `series` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `tipo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `empresa_id` bigint unsigned NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `series_empresa_id_foreign` (`empresa_id`),
  CONSTRAINT `series_empresa_id_foreign` FOREIGN KEY (`empresa_id`) REFERENCES `empresas` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.series: ~0 rows (aproximadamente)

-- A despejar estrutura para tabela qr_menu.sessions
CREATE TABLE IF NOT EXISTS `sessions` (
  `id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `user_id` bigint unsigned DEFAULT NULL,
  `ip_address` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `user_agent` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `payload` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `last_activity` int NOT NULL,
  PRIMARY KEY (`id`),
  KEY `sessions_user_id_index` (`user_id`),
  KEY `sessions_last_activity_index` (`last_activity`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.sessions: ~1 rows (aproximadamente)

-- A despejar estrutura para tabela qr_menu.subscricaos
CREATE TABLE IF NOT EXISTS `subscricaos` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `inicio` date NOT NULL,
  `fim` date NOT NULL,
  `plano_id` bigint unsigned NOT NULL,
  `empresa_id` bigint unsigned NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `subscricaos_plano_id_foreign` (`plano_id`),
  KEY `subscricaos_empresa_id_foreign` (`empresa_id`),
  CONSTRAINT `subscricaos_empresa_id_foreign` FOREIGN KEY (`empresa_id`) REFERENCES `empresas` (`id`) ON DELETE CASCADE,
  CONSTRAINT `subscricaos_plano_id_foreign` FOREIGN KEY (`plano_id`) REFERENCES `planos` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.subscricaos: ~1 rows (aproximadamente)
INSERT INTO `subscricaos` (`id`, `status`, `inicio`, `fim`, `plano_id`, `empresa_id`, `created_at`, `updated_at`) VALUES
	(1, 'Ativo', '2026-06-01', '2027-06-30', 1, 2, '2026-03-25 19:41:03', '2026-03-25 19:41:03');

-- A despejar estrutura para tabela qr_menu.tipos
CREATE TABLE IF NOT EXISTS `tipos` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `tipo` enum('FT','FR','PP','NC','RC') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.tipos: ~0 rows (aproximadamente)

-- A despejar estrutura para tabela qr_menu.users
CREATE TABLE IF NOT EXISTS `users` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `email_verified_at` timestamp NULL DEFAULT NULL,
  `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `telefone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `perfil_id` bigint unsigned NOT NULL,
  `empresa_id` bigint unsigned NOT NULL,
  `remember_token` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `users_email_unique` (`email`),
  KEY `users_perfil_id_foreign` (`perfil_id`),
  KEY `users_empresa_id_foreign` (`empresa_id`),
  CONSTRAINT `users_empresa_id_foreign` FOREIGN KEY (`empresa_id`) REFERENCES `empresas` (`id`) ON DELETE CASCADE,
  CONSTRAINT `users_perfil_id_foreign` FOREIGN KEY (`perfil_id`) REFERENCES `perfils` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- A despejar dados para tabela qr_menu.users: ~3 rows (aproximadamente)
INSERT INTO `users` (`id`, `name`, `email`, `email_verified_at`, `password`, `telefone`, `avatar`, `perfil_id`, `empresa_id`, `remember_token`, `created_at`, `updated_at`) VALUES
	(1, 'Systema Administrador', 'system@system.com', NULL, '$2y$12$r3uv.mqoK3FI5A6yGZaGyuzgOlxGcE24ctkcTrlCCCX83vSMWukn.', NULL, NULL, 1, 1, NULL, NULL, NULL),
	(2, 'Administrador QR Menu 01', 'admin@qrmenu.com', NULL, '$2y$12$r3uv.mqoK3FI5A6yGZaGyuzgOlxGcE24ctkcTrlCCCX83vSMWukn.', NULL, NULL, 2, 2, NULL, NULL, NULL),
	(3, 'Moises Tchipilika', 'cozinha@qrmenu.com', NULL, '$2y$12$At6AOPsOPEo0B11tjO2He.aRbN0fCMNnKdUyly2i5R8zCOHSHQjui', '931015168', NULL, 4, 2, NULL, '2026-04-23 16:18:01', '2026-04-23 16:18:01');

/*!40103 SET TIME_ZONE=IFNULL(@OLD_TIME_ZONE, 'system') */;
/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
/*!40014 SET FOREIGN_KEY_CHECKS=IFNULL(@OLD_FOREIGN_KEY_CHECKS, 1) */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40111 SET SQL_NOTES=IFNULL(@OLD_SQL_NOTES, 1) */;
