/*M!999999\- enable the sandbox mode */ -- MariaDB dump 10.19 Distrib 10.11.14-MariaDB, for debian-linux-gnu (x86_64) -- -- Host: 127.0.0.1 Database: app_38471 -- ------------------------------------------------------ -- Server version 10.11.14-MariaDB-0+deb12u2 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SET TIME_ZONE='+00:00' */; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!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 */; -- -- Table structure for table `acc_accounts` -- DROP TABLE IF EXISTS `acc_accounts`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `acc_accounts` ( `id` int(11) NOT NULL AUTO_INCREMENT, `code` varchar(20) NOT NULL, `name_en` varchar(100) NOT NULL, `name_ar` varchar(100) NOT NULL, `type` enum('asset','liability','equity','revenue','expense') NOT NULL, `parent_id` int(11) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `code` (`code`), KEY `parent_id` (`parent_id`), CONSTRAINT `acc_accounts_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `acc_accounts` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=46 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `acc_journal_entries` -- DROP TABLE IF EXISTS `acc_journal_entries`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `acc_journal_entries` ( `id` int(11) NOT NULL AUTO_INCREMENT, `entry_date` date NOT NULL, `description` text DEFAULT NULL, `reference` varchar(100) DEFAULT NULL, `source_type` varchar(50) DEFAULT NULL, `source_id` int(11) DEFAULT NULL, `created_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=102 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `acc_ledger` -- DROP TABLE IF EXISTS `acc_ledger`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `acc_ledger` ( `id` int(11) NOT NULL AUTO_INCREMENT, `journal_entry_id` int(11) NOT NULL, `account_id` int(11) NOT NULL, `debit` decimal(15,3) DEFAULT 0.000, `credit` decimal(15,3) DEFAULT 0.000, PRIMARY KEY (`id`), KEY `journal_entry_id` (`journal_entry_id`), KEY `account_id` (`account_id`), CONSTRAINT `acc_ledger_ibfk_1` FOREIGN KEY (`journal_entry_id`) REFERENCES `acc_journal_entries` (`id`) ON DELETE CASCADE, CONSTRAINT `acc_ledger_ibfk_2` FOREIGN KEY (`account_id`) REFERENCES `acc_accounts` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=309 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `activations` -- DROP TABLE IF EXISTS `activations`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `activations` ( `id` int(11) NOT NULL AUTO_INCREMENT, `license_id` int(11) NOT NULL, `fingerprint` varchar(255) NOT NULL, `domain` varchar(255) DEFAULT NULL, `product` varchar(255) DEFAULT NULL, `activated_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`), UNIQUE KEY `license_id` (`license_id`,`fingerprint`), CONSTRAINT `activations_ibfk_1` FOREIGN KEY (`license_id`) REFERENCES `licenses` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `cash_registers` -- DROP TABLE IF EXISTS `cash_registers`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `cash_registers` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) NOT NULL, `status` enum('active','inactive') DEFAULT 'active', `created_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `customers` -- DROP TABLE IF EXISTS `customers`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `customers` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `email` varchar(255) DEFAULT NULL, `phone` varchar(50) DEFAULT NULL, `tax_id` varchar(50) DEFAULT NULL, `balance` decimal(15,3) DEFAULT 0.000, `credit_limit` decimal(15,3) DEFAULT 0.000, `created_at` timestamp NULL DEFAULT current_timestamp(), `loyalty_points` decimal(15,3) DEFAULT 0.000, `loyalty_tier` enum('bronze','silver','gold') DEFAULT 'bronze', `total_spent` decimal(15,3) DEFAULT 0.000, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `discount_codes` -- DROP TABLE IF EXISTS `discount_codes`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `discount_codes` ( `id` int(11) NOT NULL AUTO_INCREMENT, `code` varchar(50) NOT NULL, `type` enum('percentage','fixed') NOT NULL DEFAULT 'percentage', `value` decimal(15,3) NOT NULL, `min_purchase` decimal(15,3) DEFAULT 0.000, `expiry_date` date DEFAULT NULL, `status` enum('active','inactive') DEFAULT 'active', `created_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`), UNIQUE KEY `code` (`code`) ) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `expense_categories` -- DROP TABLE IF EXISTS `expense_categories`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `expense_categories` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name_en` varchar(255) NOT NULL, `name_ar` varchar(255) NOT NULL, `created_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `expenses` -- DROP TABLE IF EXISTS `expenses`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `expenses` ( `id` int(11) NOT NULL AUTO_INCREMENT, `category_id` int(11) NOT NULL, `amount` decimal(10,3) NOT NULL, `expense_date` date NOT NULL, `description` text DEFAULT NULL, `reference_no` varchar(50) DEFAULT NULL, `created_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`), KEY `category_id` (`category_id`), CONSTRAINT `expenses_ibfk_1` FOREIGN KEY (`category_id`) REFERENCES `expense_categories` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `hr_attendance` -- DROP TABLE IF EXISTS `hr_attendance`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `hr_attendance` ( `id` int(11) NOT NULL AUTO_INCREMENT, `employee_id` int(11) NOT NULL, `attendance_date` date NOT NULL, `clock_in` time DEFAULT NULL, `clock_out` time DEFAULT NULL, `status` enum('present','absent','on_leave') DEFAULT 'present', `created_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`), UNIQUE KEY `employee_id` (`employee_id`,`attendance_date`), CONSTRAINT `hr_attendance_ibfk_1` FOREIGN KEY (`employee_id`) REFERENCES `hr_employees` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `hr_biometric_devices` -- DROP TABLE IF EXISTS `hr_biometric_devices`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `hr_biometric_devices` ( `id` int(11) NOT NULL AUTO_INCREMENT, `device_name` varchar(100) NOT NULL, `ip_address` varchar(50) NOT NULL, `port` int(11) DEFAULT 4370, `io_address` varchar(100) DEFAULT NULL, `serial_number` varchar(100) DEFAULT NULL, `status` enum('active','inactive') DEFAULT 'active', `last_sync` timestamp NULL DEFAULT NULL, `created_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `hr_biometric_logs` -- DROP TABLE IF EXISTS `hr_biometric_logs`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `hr_biometric_logs` ( `id` int(11) NOT NULL AUTO_INCREMENT, `biometric_id` varchar(50) NOT NULL, `device_id` int(11) DEFAULT NULL, `employee_id` int(11) DEFAULT NULL, `timestamp` datetime NOT NULL, `type` enum('check_in','check_out','unknown') DEFAULT 'unknown', `processed` tinyint(1) DEFAULT 0, `created_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`), KEY `employee_id` (`employee_id`), KEY `device_id` (`device_id`), CONSTRAINT `hr_biometric_logs_ibfk_1` FOREIGN KEY (`employee_id`) REFERENCES `hr_employees` (`id`) ON DELETE SET NULL, CONSTRAINT `hr_biometric_logs_ibfk_2` FOREIGN KEY (`device_id`) REFERENCES `hr_biometric_devices` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `hr_departments` -- DROP TABLE IF EXISTS `hr_departments`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `hr_departments` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `created_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `hr_employees` -- DROP TABLE IF EXISTS `hr_employees`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `hr_employees` ( `id` int(11) NOT NULL AUTO_INCREMENT, `department_id` int(11) DEFAULT NULL, `biometric_id` varchar(50) DEFAULT NULL, `name` varchar(255) NOT NULL, `email` varchar(255) DEFAULT NULL, `phone` varchar(20) DEFAULT NULL, `position` varchar(100) DEFAULT NULL, `salary` decimal(15,3) DEFAULT 0.000, `joining_date` date DEFAULT NULL, `status` enum('active','inactive') DEFAULT 'active', `created_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`), UNIQUE KEY `biometric_id` (`biometric_id`), KEY `department_id` (`department_id`), CONSTRAINT `hr_employees_ibfk_1` FOREIGN KEY (`department_id`) REFERENCES `hr_departments` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `hr_payroll` -- DROP TABLE IF EXISTS `hr_payroll`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `hr_payroll` ( `id` int(11) NOT NULL AUTO_INCREMENT, `employee_id` int(11) NOT NULL, `payroll_month` int(11) NOT NULL, `payroll_year` int(11) NOT NULL, `basic_salary` decimal(15,3) DEFAULT 0.000, `bonus` decimal(15,3) DEFAULT 0.000, `deductions` decimal(15,3) DEFAULT 0.000, `net_salary` decimal(15,3) DEFAULT 0.000, `payment_date` date DEFAULT NULL, `status` enum('pending','paid') DEFAULT 'pending', `created_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`), UNIQUE KEY `employee_month_year` (`employee_id`,`payroll_month`,`payroll_year`), CONSTRAINT `hr_payroll_ibfk_1` FOREIGN KEY (`employee_id`) REFERENCES `hr_employees` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `invoice_items` -- DROP TABLE IF EXISTS `invoice_items`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `invoice_items` ( `id` int(11) NOT NULL AUTO_INCREMENT, `invoice_id` int(11) NOT NULL, `item_id` int(11) NOT NULL, `quantity` decimal(15,2) NOT NULL, `unit_price` decimal(15,3) DEFAULT 0.000, `vat_amount` decimal(15,3) DEFAULT 0.000, `total_price` decimal(15,3) DEFAULT 0.000, PRIMARY KEY (`id`), KEY `invoice_id` (`invoice_id`), KEY `item_id` (`item_id`), CONSTRAINT `invoice_items_ibfk_1` FOREIGN KEY (`invoice_id`) REFERENCES `invoices` (`id`) ON DELETE CASCADE, CONSTRAINT `invoice_items_ibfk_2` FOREIGN KEY (`item_id`) REFERENCES `stock_items` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=39 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `invoices` -- DROP TABLE IF EXISTS `invoices`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `invoices` ( `id` int(11) NOT NULL AUTO_INCREMENT, `transaction_no` varchar(50) DEFAULT NULL, `customer_id` int(11) DEFAULT NULL, `invoice_date` date NOT NULL, `payment_type` varchar(100) DEFAULT NULL, `total_amount` decimal(15,3) DEFAULT 0.000, `created_at` timestamp NULL DEFAULT current_timestamp(), `vat_amount` decimal(15,3) DEFAULT 0.000, `total_with_vat` decimal(15,3) DEFAULT 0.000, `terms_conditions` text DEFAULT NULL, `paid_amount` decimal(15,3) DEFAULT 0.000, `status` enum('paid','unpaid','partially_paid','refunded','cancelled') DEFAULT 'unpaid', `register_session_id` int(11) DEFAULT NULL, `due_date` date DEFAULT NULL, `is_pos` tinyint(1) DEFAULT 0, `discount_amount` decimal(15,3) DEFAULT 0.000, `loyalty_points_earned` decimal(15,3) DEFAULT 0.000, `loyalty_points_redeemed` decimal(15,3) DEFAULT 0.000, `created_by` int(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `customer_id` (`customer_id`), CONSTRAINT `invoices_ibfk_1` FOREIGN KEY (`customer_id`) REFERENCES `customers` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=36 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `licenses` -- DROP TABLE IF EXISTS `licenses`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `licenses` ( `id` int(11) NOT NULL AUTO_INCREMENT, `license_key` varchar(255) NOT NULL, `max_activations` int(11) DEFAULT 1, `max_counters` int(11) DEFAULT 1, `status` enum('active','suspended','expired') DEFAULT 'active', `owner` varchar(255) DEFAULT NULL, `address` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`), UNIQUE KEY `license_key` (`license_key`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `loyalty_transactions` -- DROP TABLE IF EXISTS `loyalty_transactions`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `loyalty_transactions` ( `id` int(11) NOT NULL AUTO_INCREMENT, `customer_id` int(11) NOT NULL, `transaction_id` int(11) DEFAULT NULL, `points_change` decimal(15,3) NOT NULL, `transaction_type` enum('earned','redeemed','adjustment') NOT NULL, `description` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`), KEY `customer_id` (`customer_id`), CONSTRAINT `loyalty_transactions_ibfk_1` FOREIGN KEY (`customer_id`) REFERENCES `customers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `lpo_items` -- DROP TABLE IF EXISTS `lpo_items`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `lpo_items` ( `id` int(11) NOT NULL AUTO_INCREMENT, `lpo_id` int(11) NOT NULL, `item_id` int(11) NOT NULL, `quantity` decimal(15,3) NOT NULL, `unit_price` decimal(15,3) NOT NULL, `vat_percentage` decimal(5,2) DEFAULT 0.00, `vat_amount` decimal(15,3) DEFAULT 0.000, `total_amount` decimal(15,3) DEFAULT 0.000, PRIMARY KEY (`id`), KEY `lpo_id` (`lpo_id`), KEY `item_id` (`item_id`), CONSTRAINT `lpo_items_ibfk_1` FOREIGN KEY (`lpo_id`) REFERENCES `lpos` (`id`) ON DELETE CASCADE, CONSTRAINT `lpo_items_ibfk_2` FOREIGN KEY (`item_id`) REFERENCES `stock_items` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `lpos` -- DROP TABLE IF EXISTS `lpos`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `lpos` ( `id` int(11) NOT NULL AUTO_INCREMENT, `supplier_id` int(11) NOT NULL, `lpo_date` date NOT NULL, `delivery_date` date DEFAULT NULL, `status` enum('pending','converted','cancelled') DEFAULT 'pending', `total_amount` decimal(15,3) DEFAULT 0.000, `vat_amount` decimal(15,3) DEFAULT 0.000, `total_with_vat` decimal(15,3) DEFAULT 0.000, `terms_conditions` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`), KEY `lpos_ibfk_1` (`supplier_id`), CONSTRAINT `lpos_ibfk_1` FOREIGN KEY (`supplier_id`) REFERENCES `suppliers` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `migrations` -- DROP TABLE IF EXISTS `migrations`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `migrations` ( `id` int(11) NOT NULL AUTO_INCREMENT, `migration` varchar(255) NOT NULL, `executed_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=35 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `payment_methods` -- DROP TABLE IF EXISTS `payment_methods`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `payment_methods` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name_en` varchar(255) DEFAULT NULL, `name_ar` varchar(255) DEFAULT NULL, `created_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `payments` -- DROP TABLE IF EXISTS `payments`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `payments` ( `id` int(11) NOT NULL AUTO_INCREMENT, `invoice_id` int(11) NOT NULL, `payment_date` date NOT NULL, `amount` decimal(15,3) DEFAULT 0.000, `payment_method` varchar(50) DEFAULT 'Cash', `notes` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT current_timestamp(), `transaction_id` int(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `invoice_id` (`invoice_id`), CONSTRAINT `payments_ibfk_1` FOREIGN KEY (`invoice_id`) REFERENCES `invoices` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `pos_devices` -- DROP TABLE IF EXISTS `pos_devices`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `pos_devices` ( `id` int(11) NOT NULL AUTO_INCREMENT, `device_name` varchar(100) NOT NULL, `device_type` enum('scale','printer','display') DEFAULT 'scale', `connection_type` enum('usb','network','serial') DEFAULT 'usb', `ip_address` varchar(50) DEFAULT NULL, `port` int(11) DEFAULT NULL, `baud_rate` int(11) DEFAULT NULL, `status` enum('active','inactive') DEFAULT 'active', `created_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `pos_held_carts` -- DROP TABLE IF EXISTS `pos_held_carts`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `pos_held_carts` ( `id` int(11) NOT NULL AUTO_INCREMENT, `cart_name` varchar(100) NOT NULL, `items_json` text NOT NULL, `customer_id` int(11) DEFAULT NULL, `created_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`), KEY `customer_id` (`customer_id`), CONSTRAINT `pos_held_carts_ibfk_1` FOREIGN KEY (`customer_id`) REFERENCES `customers` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `pos_items` -- DROP TABLE IF EXISTS `pos_items`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `pos_items` ( `id` int(11) NOT NULL AUTO_INCREMENT, `transaction_id` int(11) NOT NULL, `product_id` int(11) NOT NULL, `quantity` decimal(15,3) NOT NULL, `unit_price` decimal(15,3) NOT NULL, `vat_rate` decimal(5,2) DEFAULT 0.00, `vat_amount` decimal(15,3) DEFAULT 0.000, `subtotal` decimal(15,3) NOT NULL, PRIMARY KEY (`id`), KEY `transaction_id` (`transaction_id`), CONSTRAINT `pos_items_ibfk_1` FOREIGN KEY (`transaction_id`) REFERENCES `pos_transactions` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=73 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `pos_payments` -- DROP TABLE IF EXISTS `pos_payments`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `pos_payments` ( `id` int(11) NOT NULL AUTO_INCREMENT, `transaction_id` int(11) NOT NULL, `payment_method` varchar(50) NOT NULL, `amount` decimal(15,3) NOT NULL, `created_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`), KEY `transaction_id` (`transaction_id`), CONSTRAINT `pos_payments_ibfk_1` FOREIGN KEY (`transaction_id`) REFERENCES `pos_transactions` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=43 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `pos_transactions` -- DROP TABLE IF EXISTS `pos_transactions`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `pos_transactions` ( `id` int(11) NOT NULL AUTO_INCREMENT, `transaction_no` varchar(50) NOT NULL, `customer_id` int(11) DEFAULT NULL, `total_amount` decimal(15,3) NOT NULL, `tax_amount` decimal(15,3) DEFAULT 0.000, `discount_code_id` int(11) DEFAULT NULL, `discount_amount` decimal(15,3) DEFAULT 0.000, `loyalty_points_earned` decimal(15,3) DEFAULT 0.000, `loyalty_points_redeemed` decimal(15,3) DEFAULT 0.000, `net_amount` decimal(15,3) NOT NULL DEFAULT 0.000, `payment_method` varchar(100) DEFAULT NULL, `status` enum('completed','refunded','cancelled') DEFAULT 'completed', `created_at` timestamp NULL DEFAULT current_timestamp(), `created_by` int(11) DEFAULT NULL, `register_session_id` int(11) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `transaction_no` (`transaction_no`) ) ENGINE=InnoDB AUTO_INCREMENT=41 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `purchase_items` -- DROP TABLE IF EXISTS `purchase_items`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `purchase_items` ( `id` int(11) NOT NULL AUTO_INCREMENT, `purchase_id` int(11) NOT NULL, `item_id` int(11) NOT NULL, `quantity` decimal(15,2) NOT NULL, `unit_price` decimal(15,3) DEFAULT NULL, `vat_amount` decimal(15,3) DEFAULT NULL, `total_price` decimal(15,3) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `purchase_payments` -- DROP TABLE IF EXISTS `purchase_payments`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `purchase_payments` ( `id` int(11) NOT NULL AUTO_INCREMENT, `purchase_id` int(11) NOT NULL, `payment_date` date NOT NULL, `amount` decimal(15,3) DEFAULT NULL, `payment_method` varchar(50) DEFAULT NULL, `notes` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `purchase_return_items` -- DROP TABLE IF EXISTS `purchase_return_items`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `purchase_return_items` ( `id` int(11) NOT NULL AUTO_INCREMENT, `return_id` int(11) NOT NULL, `item_id` int(11) NOT NULL, `quantity` decimal(15,2) NOT NULL, `unit_price` decimal(15,3) NOT NULL, `total_price` decimal(15,3) NOT NULL, PRIMARY KEY (`id`), KEY `return_id` (`return_id`), KEY `item_id` (`item_id`), CONSTRAINT `purchase_return_items_ibfk_1` FOREIGN KEY (`return_id`) REFERENCES `purchase_returns` (`id`) ON DELETE CASCADE, CONSTRAINT `purchase_return_items_ibfk_2` FOREIGN KEY (`item_id`) REFERENCES `stock_items` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `purchase_returns` -- DROP TABLE IF EXISTS `purchase_returns`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `purchase_returns` ( `id` int(11) NOT NULL AUTO_INCREMENT, `purchase_id` int(11) NOT NULL, `supplier_id` int(11) DEFAULT NULL, `return_date` date NOT NULL, `total_amount` decimal(15,3) NOT NULL DEFAULT 0.000, `notes` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`), KEY `purchase_returns_ibfk_1` (`purchase_id`), KEY `purchase_returns_ibfk_2` (`supplier_id`), CONSTRAINT `purchase_returns_ibfk_1` FOREIGN KEY (`purchase_id`) REFERENCES `purchases` (`id`) ON DELETE CASCADE, CONSTRAINT `purchase_returns_ibfk_2` FOREIGN KEY (`supplier_id`) REFERENCES `suppliers` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `purchases` -- DROP TABLE IF EXISTS `purchases`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `purchases` ( `id` int(11) NOT NULL AUTO_INCREMENT, `supplier_id` int(11) DEFAULT NULL, `invoice_date` date NOT NULL, `payment_type` varchar(100) DEFAULT NULL, `total_amount` decimal(15,3) DEFAULT NULL, `vat_amount` decimal(15,3) DEFAULT NULL, `total_with_vat` decimal(15,3) DEFAULT NULL, `terms_conditions` text DEFAULT NULL, `paid_amount` decimal(15,3) DEFAULT NULL, `status` enum('paid','unpaid','partially_paid') DEFAULT NULL, `register_session_id` int(11) DEFAULT NULL, `due_date` date DEFAULT NULL, `created_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `quotation_items` -- DROP TABLE IF EXISTS `quotation_items`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `quotation_items` ( `id` int(11) NOT NULL AUTO_INCREMENT, `quotation_id` int(11) NOT NULL, `item_id` int(11) NOT NULL, `quantity` decimal(15,2) NOT NULL, `unit_price` decimal(15,3) DEFAULT 0.000, `vat_amount` decimal(15,3) DEFAULT 0.000, `total_price` decimal(15,3) DEFAULT 0.000, PRIMARY KEY (`id`), KEY `quotation_id` (`quotation_id`), KEY `item_id` (`item_id`), CONSTRAINT `quotation_items_ibfk_1` FOREIGN KEY (`quotation_id`) REFERENCES `quotations` (`id`) ON DELETE CASCADE, CONSTRAINT `quotation_items_ibfk_2` FOREIGN KEY (`item_id`) REFERENCES `stock_items` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `quotations` -- DROP TABLE IF EXISTS `quotations`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `quotations` ( `id` int(11) NOT NULL AUTO_INCREMENT, `customer_id` int(11) DEFAULT NULL, `quotation_date` date NOT NULL, `valid_until` date DEFAULT NULL, `status` enum('pending','converted','expired','cancelled') DEFAULT 'pending', `total_amount` decimal(15,3) DEFAULT 0.000, `vat_amount` decimal(15,3) DEFAULT 0.000, `total_with_vat` decimal(15,3) DEFAULT 0.000, `terms_conditions` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`), KEY `customer_id` (`customer_id`), CONSTRAINT `quotations_ibfk_1` FOREIGN KEY (`customer_id`) REFERENCES `customers` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `register_sessions` -- DROP TABLE IF EXISTS `register_sessions`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `register_sessions` ( `id` int(11) NOT NULL AUTO_INCREMENT, `register_id` int(11) NOT NULL, `user_id` int(11) NOT NULL, `opening_balance` decimal(15,3) NOT NULL, `closing_balance` decimal(15,3) DEFAULT NULL, `cash_in_hand` decimal(15,3) DEFAULT NULL, `opened_at` timestamp NULL DEFAULT current_timestamp(), `closed_at` timestamp NULL DEFAULT NULL, `status` enum('open','closed') DEFAULT 'open', `notes` text DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `role_groups` -- DROP TABLE IF EXISTS `role_groups`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `role_groups` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `created_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `role_permissions` -- DROP TABLE IF EXISTS `role_permissions`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `role_permissions` ( `id` int(11) NOT NULL AUTO_INCREMENT, `role_id` int(11) NOT NULL, `permission` varchar(255) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `role_id` (`role_id`,`permission`), CONSTRAINT `role_permissions_ibfk_1` FOREIGN KEY (`role_id`) REFERENCES `role_groups` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=218 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `sales_return_items` -- DROP TABLE IF EXISTS `sales_return_items`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `sales_return_items` ( `id` int(11) NOT NULL AUTO_INCREMENT, `return_id` int(11) NOT NULL, `item_id` int(11) NOT NULL, `quantity` decimal(15,2) NOT NULL, `unit_price` decimal(15,3) NOT NULL, `total_price` decimal(15,3) NOT NULL, PRIMARY KEY (`id`), KEY `return_id` (`return_id`), KEY `item_id` (`item_id`), CONSTRAINT `sales_return_items_ibfk_1` FOREIGN KEY (`return_id`) REFERENCES `sales_returns` (`id`) ON DELETE CASCADE, CONSTRAINT `sales_return_items_ibfk_2` FOREIGN KEY (`item_id`) REFERENCES `stock_items` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `sales_returns` -- DROP TABLE IF EXISTS `sales_returns`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `sales_returns` ( `id` int(11) NOT NULL AUTO_INCREMENT, `invoice_id` int(11) NOT NULL, `customer_id` int(11) DEFAULT NULL, `return_date` date NOT NULL, `total_amount` decimal(15,3) NOT NULL DEFAULT 0.000, `notes` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`), KEY `invoice_id` (`invoice_id`), KEY `customer_id` (`customer_id`), CONSTRAINT `sales_returns_ibfk_1` FOREIGN KEY (`invoice_id`) REFERENCES `invoices` (`id`) ON DELETE CASCADE, CONSTRAINT `sales_returns_ibfk_2` FOREIGN KEY (`customer_id`) REFERENCES `customers` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `settings` -- DROP TABLE IF EXISTS `settings`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `settings` ( `key` varchar(50) NOT NULL, `value` text DEFAULT NULL, `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), PRIMARY KEY (`key`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `stock_categories` -- DROP TABLE IF EXISTS `stock_categories`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `stock_categories` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name_en` varchar(255) NOT NULL, `name_ar` varchar(255) NOT NULL, `created_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `stock_items` -- DROP TABLE IF EXISTS `stock_items`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `stock_items` ( `id` int(11) NOT NULL AUTO_INCREMENT, `category_id` int(11) DEFAULT NULL, `unit_id` int(11) DEFAULT NULL, `supplier_id` int(11) DEFAULT NULL, `name_en` varchar(255) NOT NULL, `name_ar` varchar(255) NOT NULL, `sku` varchar(100) DEFAULT NULL, `purchase_price` decimal(15,3) DEFAULT 0.000, `sale_price` decimal(15,3) DEFAULT 0.000, `stock_quantity` decimal(15,2) DEFAULT 0.00, `min_stock_level` decimal(15,2) DEFAULT 0.00, `expiry_date` date DEFAULT NULL, `image_path` varchar(255) DEFAULT NULL, `created_at` timestamp NULL DEFAULT current_timestamp(), `vat_rate` decimal(5,2) DEFAULT 0.00, `is_promotion` tinyint(1) DEFAULT 0, `promotion_start` date DEFAULT NULL, `promotion_end` date DEFAULT NULL, `promotion_percent` decimal(5,2) DEFAULT 0.00, PRIMARY KEY (`id`), UNIQUE KEY `sku` (`sku`), KEY `category_id` (`category_id`), KEY `unit_id` (`unit_id`), KEY `fk_stock_items_supplier` (`supplier_id`), CONSTRAINT `fk_stock_items_supplier` FOREIGN KEY (`supplier_id`) REFERENCES `customers` (`id`) ON DELETE SET NULL, CONSTRAINT `stock_items_ibfk_1` FOREIGN KEY (`category_id`) REFERENCES `stock_categories` (`id`) ON DELETE SET NULL, CONSTRAINT `stock_items_ibfk_2` FOREIGN KEY (`unit_id`) REFERENCES `stock_units` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `stock_units` -- DROP TABLE IF EXISTS `stock_units`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `stock_units` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name_en` varchar(255) NOT NULL, `name_ar` varchar(255) NOT NULL, `short_name_en` varchar(50) NOT NULL, `short_name_ar` varchar(50) NOT NULL, `created_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `suppliers` -- DROP TABLE IF EXISTS `suppliers`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `suppliers` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `email` varchar(255) DEFAULT NULL, `phone` varchar(50) DEFAULT NULL, `tax_id` varchar(50) DEFAULT NULL, `balance` decimal(15,3) DEFAULT NULL, `credit_limit` decimal(15,3) DEFAULT NULL, `created_at` timestamp NULL DEFAULT current_timestamp(), `total_spent` decimal(15,3) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `system_license` -- DROP TABLE IF EXISTS `system_license`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `system_license` ( `id` int(11) NOT NULL AUTO_INCREMENT, `license_key` varchar(255) NOT NULL, `activation_token` text DEFAULT NULL, `fingerprint` varchar(255) DEFAULT NULL, `status` enum('pending','active','expired','suspended','trial') DEFAULT 'pending', `activated_at` datetime DEFAULT NULL, `last_checked_at` datetime DEFAULT NULL, `created_at` timestamp NULL DEFAULT current_timestamp(), `trial_started_at` datetime DEFAULT NULL, `allowed_activations` int(11) DEFAULT 1, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `users` -- DROP TABLE IF EXISTS `users`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `group_id` int(11) DEFAULT NULL, `username` varchar(255) NOT NULL, `password` varchar(255) NOT NULL, `email` varchar(255) DEFAULT NULL, `phone` varchar(20) DEFAULT NULL, `profile_pic` varchar(255) DEFAULT NULL, `status` enum('active','inactive') DEFAULT 'active', `created_at` timestamp NULL DEFAULT current_timestamp(), `theme` varchar(50) DEFAULT 'default', PRIMARY KEY (`id`), UNIQUE KEY `username` (`username`), KEY `group_id` (`group_id`), CONSTRAINT `users_ibfk_1` FOREIGN KEY (`group_id`) REFERENCES `role_groups` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; -- Dump completed on 2026-02-21 7:13:34 /*M!999999\- enable the sandbox mode */ -- MariaDB dump 10.19 Distrib 10.11.14-MariaDB, for debian-linux-gnu (x86_64) -- -- Host: 127.0.0.1 Database: app_38471 -- ------------------------------------------------------ -- Server version 10.11.14-MariaDB-0+deb12u2 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 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 */; -- -- Dumping data for table `migrations` -- LOCK TABLES `migrations` WRITE; /*!40000 ALTER TABLE `migrations` DISABLE KEYS */; INSERT INTO `migrations` VALUES (1,'20260216_add_invoices.sql','2026-02-21 06:58:26'), (2,'20260216_add_quotations.sql','2026-02-21 06:58:26'), (3,'20260216_add_stock_tables.sql','2026-02-21 06:58:26'), (4,'20260216_pos_advanced_features.sql','2026-02-21 06:58:26'), (5,'20260216_setup_pos_full.sql','2026-02-21 06:58:27'), (6,'20260216_update_precision_3_decimal.sql','2026-02-21 06:58:28'), (7,'20260217_accounting_module.sql','2026-02-21 06:58:28'), (8,'20260217_biometric_devices.sql','2026-02-21 06:58:28'), (9,'20260217_hr_module.sql','2026-02-21 06:58:28'), (10,'20260217_purchase_returns.sql','2026-02-21 06:58:28'), (11,'20260217_sales_returns.sql','2026-02-21 06:58:28'), (12,'20260217_vat_accounts.sql','2026-02-21 06:58:28'), (13,'20260218_create_license_table.sql','2026-02-21 06:58:28'), (14,'20260218_pos_payments.sql','2026-02-21 06:58:28'), (15,'20260220_license_server_schema.sql','2026-02-21 06:58:28'), (16,'20260220_unify_pos_sales.sql','2026-02-21 06:58:29'), (17,'fix_lpo_foreign_key.sql','2026-02-21 06:58:29'), (18,'20260216_add_credit_limit.sql','2026-02-21 07:12:15'), (19,'20260216_add_invoice_status.sql','2026-02-21 07:12:15'), (20,'20260216_add_payments_table.sql','2026-02-21 07:12:15'), (21,'20260216_update_invoices_payment.sql','2026-02-21 07:12:15'), (22,'20260216_vat_and_profile.sql','2026-02-21 07:12:15'), (23,'20260217_biometric_attendance.sql','2026-02-21 07:12:15'), (24,'20260217_biometric_logs_update.sql','2026-02-21 07:12:15'), (25,'20260217_hr_payroll_unique.sql','2026-02-21 07:12:15'), (26,'20260218_modern_loyalty_system.sql','2026-02-21 07:12:15'), (27,'20260219_add_license_fields.sql','2026-02-21 07:12:15'), (28,'20260219_add_trial_logic.sql','2026-02-21 07:12:15'), (29,'20260219_add_vat_to_pos_items.sql','2026-02-21 07:12:15'), (30,'20260219_fix_vat_columns.sql','2026-02-21 07:12:15'), (31,'20260220_add_due_date_to_invoices.sql','2026-02-21 07:12:15'), (32,'20260220_split_customers_suppliers.sql','2026-02-21 07:12:15'), (33,'20260220_split_invoices_purchases.sql','2026-02-21 07:12:15'), (34,'20260220_unify_pos_sales.php','2026-02-21 07:13:28'); /*!40000 ALTER TABLE `migrations` ENABLE KEYS */; UNLOCK TABLES; -- -- Dumping data for table `payment_methods` -- LOCK TABLES `payment_methods` WRITE; /*!40000 ALTER TABLE `payment_methods` DISABLE KEYS */; INSERT INTO `payment_methods` VALUES (1,'Cash','كاش','2026-02-16 08:33:31'), (2,'Credit Card','بطاقة ائتمان','2026-02-16 08:33:53'), (3,'Bank Transfer','تحويل بنكي','2026-02-16 08:34:17'); /*!40000 ALTER TABLE `payment_methods` ENABLE KEYS */; UNLOCK TABLES; -- -- Dumping data for table `role_groups` -- LOCK TABLES `role_groups` WRITE; /*!40000 ALTER TABLE `role_groups` DISABLE KEYS */; INSERT INTO `role_groups` VALUES (1,'Administrator','2026-02-18 05:30:12'), (4,'Cashier','2026-02-18 09:32:14'), (5,'Admin','2026-02-18 09:33:29'), (6,'Accountant','2026-02-18 09:34:03'); /*!40000 ALTER TABLE `role_groups` ENABLE KEYS */; UNLOCK TABLES; -- -- Dumping data for table `role_permissions` -- LOCK TABLES `role_permissions` WRITE; /*!40000 ALTER TABLE `role_permissions` DISABLE KEYS */; INSERT INTO `role_permissions` VALUES (58,1,'accounting_add'), (60,1,'accounting_delete'), (59,1,'accounting_edit'), (57,1,'accounting_view'), (154,1,'backups_add'), (156,1,'backups_delete'), (155,1,'backups_edit'), (153,1,'backups_view'), (70,1,'balance_sheet_add'), (72,1,'balance_sheet_delete'), (71,1,'balance_sheet_edit'), (69,1,'balance_sheet_view'), (138,1,'cash_registers_add'), (140,1,'cash_registers_delete'), (139,1,'cash_registers_edit'), (137,1,'cash_registers_view'), (102,1,'cashflow_report_add'), (104,1,'cashflow_report_delete'), (103,1,'cashflow_report_edit'), (101,1,'cashflow_report_view'), (10,1,'categories_add'), (12,1,'categories_delete'), (11,1,'categories_edit'), (9,1,'categories_view'), (150,1,'customer_display_settings_add'), (152,1,'customer_display_settings_delete'), (151,1,'customer_display_settings_edit'), (149,1,'customer_display_settings_view'), (94,1,'customer_statement_add'), (96,1,'customer_statement_delete'), (95,1,'customer_statement_edit'), (93,1,'customer_statement_view'), (18,1,'customers_add'), (20,1,'customers_delete'), (19,1,'customers_edit'), (17,1,'customers_view'), (2,1,'dashboard_add'), (4,1,'dashboard_delete'), (3,1,'dashboard_edit'), (1,1,'dashboard_view'), (122,1,'devices_add'), (124,1,'devices_delete'), (123,1,'devices_edit'), (121,1,'devices_view'), (50,1,'expense_categories_add'), (52,1,'expense_categories_delete'), (51,1,'expense_categories_edit'), (49,1,'expense_categories_view'), (54,1,'expenses_add'), (56,1,'expenses_delete'), (55,1,'expenses_edit'), (53,1,'expenses_view'), (106,1,'expiry_report_add'), (108,1,'expiry_report_delete'), (107,1,'expiry_report_edit'), (105,1,'expiry_report_view'), (86,1,'hr_attendance_add'), (88,1,'hr_attendance_delete'), (87,1,'hr_attendance_edit'), (85,1,'hr_attendance_view'), (78,1,'hr_departments_add'), (80,1,'hr_departments_delete'), (79,1,'hr_departments_edit'), (77,1,'hr_departments_view'), (82,1,'hr_employees_add'), (84,1,'hr_employees_delete'), (83,1,'hr_employees_edit'), (81,1,'hr_employees_view'), (90,1,'hr_payroll_add'), (92,1,'hr_payroll_delete'), (91,1,'hr_payroll_edit'), (89,1,'hr_payroll_view'), (6,1,'items_add'), (8,1,'items_delete'), (7,1,'items_edit'), (5,1,'items_view'), (158,1,'logs_add'), (160,1,'logs_delete'), (159,1,'logs_edit'), (157,1,'logs_view'), (110,1,'low_stock_report_add'), (112,1,'low_stock_report_delete'), (111,1,'low_stock_report_edit'), (109,1,'low_stock_report_view'), (114,1,'loyalty_history_add'), (116,1,'loyalty_history_delete'), (115,1,'loyalty_history_edit'), (113,1,'loyalty_history_view'), (211,1,'lpos_add'), (213,1,'lpos_delete'), (212,1,'lpos_edit'), (210,1,'lpos_view'), (118,1,'payment_methods_add'), (120,1,'payment_methods_delete'), (119,1,'payment_methods_edit'), (117,1,'payment_methods_view'), (26,1,'pos_add'), (28,1,'pos_delete'), (27,1,'pos_edit'), (25,1,'pos_view'), (66,1,'profit_loss_add'), (68,1,'profit_loss_delete'), (67,1,'profit_loss_edit'), (65,1,'profit_loss_view'), (46,1,'purchase_returns_add'), (48,1,'purchase_returns_delete'), (47,1,'purchase_returns_edit'), (45,1,'purchase_returns_view'), (42,1,'purchases_add'), (44,1,'purchases_delete'), (43,1,'purchases_edit'), (41,1,'purchases_view'), (38,1,'quotations_add'), (40,1,'quotations_delete'), (39,1,'quotations_edit'), (37,1,'quotations_view'), (142,1,'register_sessions_add'), (144,1,'register_sessions_delete'), (143,1,'register_sessions_edit'), (141,1,'register_sessions_view'), (130,1,'role_groups_add'), (132,1,'role_groups_delete'), (131,1,'role_groups_edit'), (129,1,'role_groups_view'), (30,1,'sales_add'), (32,1,'sales_delete'), (31,1,'sales_edit'), (34,1,'sales_returns_add'), (36,1,'sales_returns_delete'), (35,1,'sales_returns_edit'), (33,1,'sales_returns_view'), (29,1,'sales_view'), (146,1,'scale_devices_add'), (148,1,'scale_devices_delete'), (147,1,'scale_devices_edit'), (145,1,'scale_devices_view'), (126,1,'settings_add'), (128,1,'settings_delete'), (127,1,'settings_edit'), (125,1,'settings_view'), (98,1,'supplier_statement_add'), (100,1,'supplier_statement_delete'), (99,1,'supplier_statement_edit'), (97,1,'supplier_statement_view'), (22,1,'suppliers_add'), (24,1,'suppliers_delete'), (23,1,'suppliers_edit'), (21,1,'suppliers_view'), (62,1,'trial_balance_add'), (64,1,'trial_balance_delete'), (63,1,'trial_balance_edit'), (61,1,'trial_balance_view'), (14,1,'units_add'), (16,1,'units_delete'), (15,1,'units_edit'), (13,1,'units_view'), (134,1,'users_add'), (136,1,'users_delete'), (135,1,'users_edit'), (133,1,'users_view'), (74,1,'vat_report_add'), (76,1,'vat_report_delete'), (75,1,'vat_report_edit'), (73,1,'vat_report_view'), (162,4,'items_add'), (161,4,'items_view'), (164,4,'pos_add'), (163,4,'pos_view'), (166,4,'sales_add'), (165,4,'sales_view'), (174,5,'customers_add'), (175,5,'customers_edit'), (173,5,'customers_view'), (186,5,'hr_add'), (188,5,'hr_delete'), (187,5,'hr_edit'), (185,5,'hr_view'), (215,5,'lpos_add'), (217,5,'lpos_delete'), (216,5,'lpos_edit'), (214,5,'lpos_view'), (168,5,'pos_add'), (169,5,'pos_edit'), (167,5,'pos_view'), (183,5,'purchases_add'), (184,5,'purchases_edit'), (182,5,'purchases_view'), (171,5,'quotations_add'), (172,5,'quotations_edit'), (170,5,'quotations_view'), (180,5,'sales_add'), (181,5,'sales_edit'), (179,5,'sales_view'), (177,5,'suppliers_add'), (178,5,'suppliers_edit'), (176,5,'suppliers_view'), (189,5,'users_view'), (191,6,'accounting_add'), (193,6,'accounting_delete'), (192,6,'accounting_edit'), (190,6,'accounting_view'), (203,6,'balance_sheet_add'), (205,6,'balance_sheet_delete'), (204,6,'balance_sheet_edit'), (202,6,'balance_sheet_view'), (199,6,'profit_loss_add'), (201,6,'profit_loss_delete'), (200,6,'profit_loss_edit'), (198,6,'profit_loss_view'), (195,6,'trial_balance_add'), (197,6,'trial_balance_delete'), (196,6,'trial_balance_edit'), (194,6,'trial_balance_view'), (207,6,'vat_report_add'), (209,6,'vat_report_delete'), (208,6,'vat_report_edit'), (206,6,'vat_report_view'); /*!40000 ALTER TABLE `role_permissions` ENABLE KEYS */; UNLOCK TABLES; -- -- Dumping data for table `settings` -- LOCK TABLES `settings` WRITE; /*!40000 ALTER TABLE `settings` DISABLE KEYS */; INSERT INTO `settings` VALUES ('allow_zero_stock_sell','1','2026-02-18 05:23:57'), ('bank_name','','2026-02-16 09:49:27'), ('company_address','AL Hamra\r\nOman','2026-02-16 10:05:55'), ('company_email','aalabry@gmail.com','2026-02-16 09:49:27'), ('company_iban','','2026-02-16 09:49:27'), ('company_logo','uploads/logo.png','2026-02-16 09:49:48'), ('company_name','Bahjet Al-Safa Trading','2026-02-16 09:49:26'), ('company_phone','99359472','2026-02-16 09:49:26'), ('company_website','','2026-02-16 09:49:27'), ('cr_number','','2026-02-16 09:18:20'), ('customer_display_greeting_text','أهلا وسهلاً بكــم','2026-02-18 17:02:02'), ('customer_display_greeting_title','Welcome','2026-02-18 17:02:02'), ('default_vat_rate','5','2026-02-16 09:49:27'), ('favicon','uploads/favicon.png','2026-02-16 10:09:59'), ('invoice_footer','','2026-02-16 09:49:27'), ('loyalty_enabled','0','2026-02-18 05:06:52'), ('loyalty_points_per_unit','1','2026-02-18 05:06:52'), ('loyalty_redeem_points_per_unit','100','2026-02-18 05:06:52'), ('manager_name','','2026-02-16 09:49:27'), ('registration_no','','2026-02-16 10:05:55'), ('vat_enabled','1','2026-02-16 09:18:20'), ('vat_number','OM25418','2026-02-16 09:49:27'); /*!40000 ALTER TABLE `settings` ENABLE KEYS */; UNLOCK TABLES; -- -- Dumping data for table `stock_units` -- LOCK TABLES `stock_units` WRITE; /*!40000 ALTER TABLE `stock_units` DISABLE KEYS */; INSERT INTO `stock_units` VALUES (1,'piece','حبة','pcs','حبة','2026-02-16 08:01:29'), (2,'Box','صندوق','Box','صندوق','2026-02-16 08:01:55'), (3,'Kilogram','كيلوجرام','Kg','ك.ج','2026-02-16 08:02:53'); /*!40000 ALTER TABLE `stock_units` ENABLE KEYS */; UNLOCK TABLES; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; -- Dump completed on 2026-02-21 7:13:34