




-- Phase 1: Enhance existing tables (minimal changes)
-- 1.1 Enhance branch_info table (only essential fields)
ALTER TABLE `branch_info` 
ADD COLUMN `branch_code` varchar(20) UNIQUE AFTER `branch_name`,
ADD COLUMN `is_active` tinyint(1) DEFAULT 1 AFTER `province`,
ADD COLUMN `branch_type` enum('head_office','branch') DEFAULT 'branch' AFTER `is_active`,
ADD COLUMN `is_default` tinyint(1) DEFAULT 0 COMMENT 'Default branch for this installation' AFTER `branch_type`;

-- 1.2 Enhance stores table
ALTER TABLE `stores` 
ADD COLUMN `branch_id` int NOT NULL DEFAULT 1 AFTER `id`;

ALTER TABLE `stores` 
ADD CONSTRAINT `fk_stores_branch` FOREIGN KEY (`branch_id`) REFERENCES `branch_info`(`id`) ON DELETE RESTRICT;

-- 1.3 Add branch_id to key transaction tables
ALTER TABLE `sales` ADD COLUMN `branch_id` int NOT NULL DEFAULT 1 AFTER `store_id`;
ALTER TABLE `purchases` ADD COLUMN `branch_id` int NOT NULL DEFAULT 1 AFTER `store_id`;
ALTER TABLE `inventory_movements` ADD COLUMN `branch_id` int NOT NULL DEFAULT 1 AFTER `store_id`;
ALTER TABLE `account_transactions` ADD COLUMN `branch_id` int NOT NULL DEFAULT 1 AFTER `store_id`;
ALTER TABLE `shifts` ADD COLUMN `branch_id` int NOT NULL DEFAULT 1 AFTER `store_id`;

-- Add foreign keys
ALTER TABLE `sales` ADD CONSTRAINT `fk_sales_branch` FOREIGN KEY (`branch_id`) REFERENCES `branch_info`(`id`) ON DELETE RESTRICT;
ALTER TABLE `purchases` ADD CONSTRAINT `fk_purchases_branch` FOREIGN KEY (`branch_id`) REFERENCES `branch_info`(`id`) ON DELETE RESTRICT;
ALTER TABLE `inventory_movements` ADD CONSTRAINT `fk_inventory_movements_branch` FOREIGN KEY (`branch_id`) REFERENCES `branch_info`(`id`) ON DELETE RESTRICT;
ALTER TABLE `account_transactions` ADD CONSTRAINT `fk_account_transactions_branch` FOREIGN KEY (`branch_id`) REFERENCES `branch_info`(`id`) ON DELETE RESTRICT;
ALTER TABLE `shifts` ADD CONSTRAINT `fk_shifts_branch` FOREIGN KEY (`branch_id`) REFERENCES `branch_info`(`id`) ON DELETE RESTRICT;

-- Phase 2: Create sync settings table (main focus)
CREATE TABLE IF NOT EXISTS `sync_settings` (
  `id` int NOT NULL AUTO_INCREMENT,
  `sync_allow` tinyint(1) DEFAULT 0 COMMENT 'Enable/disable synchronization',
  `db_prefix` varchar(50) DEFAULT NULL COMMENT 'Branch database prefix',
  `sync_mode` enum('HO','RM') DEFAULT 'HO' COMMENT 'HO=Head Office, RM=Remote',
  `server_name` varchar(100) DEFAULT NULL COMMENT 'Head office server IP/hostname',
  `database_name` varchar(100) DEFAULT NULL COMMENT 'Head office database name',
  `username` varchar(100) DEFAULT NULL COMMENT 'Database username',
  `password` varchar(255) DEFAULT NULL COMMENT 'Database password (encrypted)',
  `last_sync_date` datetime DEFAULT NULL COMMENT 'Last successful sync',
  `sync_status` enum('success','failed','pending') DEFAULT 'pending',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Phase 3: Update existing data
-- 3.1 Update existing branch data
UPDATE `branch_info` 
SET 
  `branch_code` = 'HO001',
  `branch_type` = 'head_office',
  `is_default` = 1
WHERE `id` = 1;

-- 3.2 Update existing store data
UPDATE `stores` 
SET `branch_id` = 1 
WHERE `id` = 1;

-- 3.3 Update existing transaction data
UPDATE `sales` SET `branch_id` = 1 WHERE `branch_id` IS NULL OR `branch_id` = 0;
UPDATE `purchases` SET `branch_id` = 1 WHERE `branch_id` IS NULL OR `branch_id` = 0;
UPDATE `inventory_movements` SET `branch_id` = 1 WHERE `branch_id` IS NULL OR `branch_id` = 0;
UPDATE `account_transactions` SET `branch_id` = 1 WHERE `branch_id` IS NULL OR `branch_id` = 0;
UPDATE `shifts` SET `branch_id` = 1 WHERE `branch_id` IS NULL OR `branch_id` = 0;

-- Phase 4: Add performance indexes
ALTER TABLE `branch_info` 
ADD INDEX `idx_branch_info_type` (`branch_type`),
ADD INDEX `idx_branch_info_active` (`is_active`),
ADD INDEX `idx_branch_info_default` (`is_default`);

ALTER TABLE `stores` 
ADD INDEX `idx_stores_branch_id` (`branch_id`),
ADD INDEX `idx_stores_active` (`is_active`);

ALTER TABLE `sales` 
ADD INDEX `idx_sales_branch_id` (`branch_id`),
ADD INDEX `idx_sales_branch_store` (`branch_id`, `store_id`);

ALTER TABLE `purchases` 
ADD INDEX `idx_purchases_branch_id` (`branch_id`),
ADD INDEX `idx_purchases_branch_store` (`branch_id`, `store_id`);

ALTER TABLE `inventory_movements` 
ADD INDEX `idx_inventory_movements_branch_id` (`branch_id`),
ADD INDEX `idx_inventory_movements_branch_store` (`branch_id`, `store_id`);







ALTER TABLE kds_order_items ADD COLUMN item_status_type ENUM('original', 'new', 'quantity_changed') DEFAULT 'original';


ALTER TABLE kds_stations 
ADD COLUMN preparation_time INT DEFAULT 10;



-- Add order sequence tracking
ALTER TABLE `kds_orders` 
ADD COLUMN `order_sequence` INT DEFAULT 1,
ADD COLUMN `parent_order_id` INT NULL;

-- Add item quantity tracking
ALTER TABLE `kds_order_items` 
ADD COLUMN `served_quantity` INT DEFAULT 0,
ADD COLUMN `total_quantity` INT DEFAULT 0;



-- Add performance indexes
ALTER TABLE `kds_orders` ADD INDEX `idx_parent_order` (`parent_order_id`);
ALTER TABLE `kds_orders` ADD INDEX `idx_sequence` (`order_sequence`);



-- Add void_status column to hold_items table
ALTER TABLE `hold_items` ADD COLUMN `void_status` ENUM('active', 'void') NOT NULL DEFAULT 'active' AFTER `remarks`;

-- Add index for better performance on void queries
ALTER TABLE `hold_items` ADD INDEX `idx_void_status` (`void_status`);

-- Add composite index for hold_id and void_status for efficient queries
ALTER TABLE `hold_items` ADD INDEX `idx_hold_void` (`hold_id`, `void_status`);






-- Keep the current item_modifiers table but remove modifier_group_id
ALTER TABLE item_modifiers DROP COLUMN modifier_group_id;

-- Create the new assignment table (your suggestion)
CREATE TABLE modifier_group_assignments (
    id INT NOT NULL AUTO_INCREMENT,
    modifier_id INT NOT NULL,
    modifier_group_id INT NOT NULL,
    is_required TINYINT(1) DEFAULT '0' COMMENT 'Override group default for this modifier',
    sort_order INT DEFAULT '0',
    created_at TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (id),
    UNIQUE KEY modifier_group_unique (modifier_id, modifier_group_id),
    KEY modifier_id (modifier_id),
    KEY modifier_group_id (modifier_group_id),
    FOREIGN KEY (modifier_id) REFERENCES item_modifiers(id) ON DELETE CASCADE,
    FOREIGN KEY (modifier_group_id) REFERENCES item_modifier_groups(id) ON DELETE CASCADE
);









-- Template Groups (e.g., "Spice Level", "Sugar Level", "Portion Size")
CREATE TABLE IF NOT EXISTS modifier_templates (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    icon VARCHAR(50) DEFAULT 'layers',
    is_active TINYINT(1) DEFAULT 1,
    sort_order INT DEFAULT 0,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Template Options (e.g., "Less Spicy", "Extra Spicy")
CREATE TABLE IF NOT EXISTS modifier_template_options (
    id INT AUTO_INCREMENT PRIMARY KEY,
    template_id INT NOT NULL,
    name VARCHAR(100) NOT NULL,
    price_adjustment DECIMAL(10,2) DEFAULT 0.00,
    is_active TINYINT(1) DEFAULT 1,
    sort_order INT DEFAULT 0,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;







ALTER TABLE hold_items ADD COLUMN template_id INT NULL;





-- 1. Add discount columns to customers table
ALTER TABLE `customers` 
ADD COLUMN `discount_applied` ENUM('Y', 'N') DEFAULT 'N' AFTER `active`,
ADD COLUMN `discount_rate` DECIMAL(5,2) DEFAULT 0.00 AFTER `discount_applied`;

-- 2. Update existing customers to have default discount values (optional)
UPDATE `customers` SET `discount_applied` = 'N', `discount_rate` = 0.00 WHERE `discount_applied` IS NULL;







INSERT INTO `setting_categories` (`id`, `name`, `code`) VALUES (NULL, 'Accounts', 'accounts');

-- 1. Add approval columns to expenses table
ALTER TABLE `expenses` 
ADD COLUMN `status` ENUM('pending', 'approved', 'rejected') DEFAULT 'approved' AFTER `journal_entry_id`,
ADD COLUMN `approved_by` INT NULL AFTER `status`,
ADD COLUMN `approved_at` TIMESTAMP NULL AFTER `approved_by`,
ADD COLUMN `rejection_reason` TEXT NULL AFTER `approved_at`;

-- 2. Add foreign key constraint for approved_by
ALTER TABLE `expenses` 
ADD CONSTRAINT `fk_expenses_approved_by` 
FOREIGN KEY (`approved_by`) REFERENCES `users`(`id`) 
ON DELETE SET NULL ON UPDATE CASCADE;

-- 3. Add indexes for better performance
ALTER TABLE `expenses` 
ADD INDEX `idx_expenses_status` (`status`),
ADD INDEX `idx_expenses_approved_by` (`approved_by`),
ADD INDEX `idx_expenses_approved_at` (`approved_at`);

-- 4. Add "Enable Expense Approval" setting to accounts category
-- First, get the accounts category ID (assuming it was just created)
SET @accounts_category_id = (SELECT id FROM setting_categories WHERE code = 'accounts' LIMIT 1);

-- Insert the expense approval setting
INSERT INTO `settings` (`category_id`, `name`, `code`, `type`, `value`, `default_value`, `description`, `is_active`) 
VALUES (@accounts_category_id, 'Enable Expense Approval', 'expense_approval_enabled', 'boolean', '0', '0', 'When enabled, all new expenses will require approval before being processed', 1);

-- 5. Update existing expenses to have 'approved' status (since they were already processed)
UPDATE `expenses` SET 
    `status` = 'approved',
    `approved_at` = `expense_date`,
    `approved_by` = 1  -- Assuming user ID 1 is admin, adjust as needed
WHERE `status` = 'approved' AND `approved_by` IS NULL;





-- 1. Create card_types table
CREATE TABLE IF NOT EXISTS `card_types` (
  `id` int NOT NULL AUTO_INCREMENT,
  `card_code` varchar(50) NOT NULL,
  `card_name` varchar(100) NOT NULL,
  `display_name` varchar(100) DEFAULT NULL,
  `icon_class` varchar(100) DEFAULT 'fas fa-credit-card',
  `color_class` varchar(100) DEFAULT 'btn-outline-primary',
  `default_charge_rate` decimal(5,2) DEFAULT 0.00,
  `sort_order` int DEFAULT 0,
  `is_active` tinyint(1) DEFAULT 1,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `card_code` (`card_code`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- 2. Insert default card types
INSERT INTO `card_types` (`card_code`, `card_name`, `display_name`, `icon_class`, `color_class`, `sort_order`, `is_active`) VALUES
('VISA', 'VISA', 'VISA Card', 'fab fa-cc-visa', 'btn-outline-primary', 1, 1),
('MASTER', 'MasterCard', 'MasterCard', 'fab fa-cc-mastercard', 'btn-outline-warning', 2, 1),
('QR', 'QR Code', 'QR Payment', 'fas fa-qrcode', 'btn-outline-success', 3, 1);

-- 3. Add card columns to account_transactions table
ALTER TABLE `account_transactions` ADD COLUMN `card_type_id` int DEFAULT NULL AFTER `account_id`;
ALTER TABLE `account_transactions` ADD COLUMN `card_last_four` varchar(4) DEFAULT NULL AFTER `card_type_id`;
ALTER TABLE `account_transactions` ADD COLUMN `card_transaction_ref` varchar(100) DEFAULT NULL AFTER `card_last_four`;

-- 4. Add foreign key constraint
ALTER TABLE `account_transactions` ADD CONSTRAINT `fk_account_transactions_card_type` FOREIGN KEY (`card_type_id`) REFERENCES `card_types` (`id`) ON DELETE SET NULL ON UPDATE CASCADE;

-- 5. Add indexes
ALTER TABLE `account_transactions` ADD KEY `idx_card_type_id` (`card_type_id`);
ALTER TABLE `account_transactions` ADD KEY `idx_card_last_four` (`card_last_four`);









-- 1. Create discounts table
CREATE TABLE IF NOT EXISTS discounts (
    id INT AUTO_INCREMENT PRIMARY KEY,
    discount_name VARCHAR(100) NOT NULL,
    discount_code VARCHAR(20) UNIQUE,
    discount_type ENUM('percentage', 'fixed') NOT NULL,
    discount_rate DECIMAL(10,2) NOT NULL,
    discount_cap DECIMAL(10,2) DEFAULT NULL,
    is_active BOOLEAN DEFAULT TRUE,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- 2. Insert some default discount examples
INSERT IGNORE INTO discounts (discount_name, discount_code, discount_type, discount_rate, discount_cap, is_active) VALUES
('10% Off', 'DISCOUNT10', 'percentage', 10.00, NULL, 1),
('15% Off (Max Rs 500)', 'DISCOUNT15', 'percentage', 15.00, 500.00, 1),
('Rs 100 Off', 'FIXED100', 'fixed', 100.00, NULL, 1),
('Rs 200 Off (Max Rs 200)', 'FIXED200', 'fixed', 200.00, 200.00, 1),
('20% Off (Max Rs 1000)', 'DISCOUNT20', 'percentage', 20.00, 1000.00, 1);

-- 3. Add discount_id column to sales table for tracking
ALTER TABLE sales ADD COLUMN discount_id INT DEFAULT NULL AFTER discount_amount;
ALTER TABLE sales ADD INDEX idx_discount_id (discount_id);

-- 4. Add foreign key constraint (optional, can be added later if needed)
-- ALTER TABLE sales ADD CONSTRAINT fk_sales_discount FOREIGN KEY (discount_id) REFERENCES discounts (id) ON DELETE SET NULL;









-- Create immutable audit table for item-level voids
CREATE TABLE IF NOT EXISTS `void_items` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `source_type` ENUM('hold','sale') NOT NULL,      -- origin of the item
  `source_id` INT NOT NULL,                        -- hold_id or sale_id
  `hold_item_id` INT NULL,                         -- original hold_items.id (if source_type='hold')
  `sale_item_id` INT NULL,                         -- original sale_items.id (if source_type='sale')
  `item_id` INT NOT NULL,
  `item_name` VARCHAR(255) NOT NULL,
  `quantity` INT NOT NULL,
  `unit_price` DECIMAL(10,2) NOT NULL,
  `tax_rate` DECIMAL(6,2) NULL,
  `modifiers` JSON NULL,
  `remarks` VARCHAR(500) NULL,
  `void_reason_id` INT NOT NULL,
  `voided_by` INT NOT NULL,
  `voided_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB;

-- Indexes for reporting
ALTER TABLE `void_items`
  ADD INDEX `idx_source` (`source_type`,`source_id`),
  ADD INDEX `idx_item_id` (`item_id`),
  ADD INDEX `idx_voided_at` (`voided_at`),
  ADD INDEX `idx_voided_by` (`voided_by`),
  ADD INDEX `idx_void_reason` (`void_reason_id`);









-- Add Arabic Language Support to ITR POS
-- Run this SQL file to add Arabic language with RTL support

-- Insert Arabic language into languages table
INSERT INTO `languages` (`code`, `name`, `native_name`, `flag`, `rtl`, `active`) VALUES
('ar', 'Arabic', 'العربية', 'sa.png', 1, 1);

-- Insert comprehensive Arabic translations
INSERT INTO `translations` (`language_code`, `key`, `value`, `context`) VALUES
-- Navigation
('ar', 'dashboard', 'لوحة التحكم', 'navigation'),
('ar', 'sales', 'المبيعات', 'navigation'),
('ar', 'purchases', 'المشتريات', 'navigation'),
('ar', 'inventory', 'المخزون', 'navigation'),
('ar', 'reports', 'التقارير', 'navigation'),
('ar', 'settings', 'الإعدادات', 'navigation'),
('ar', 'users', 'المستخدمون', 'navigation'),
('ar', 'customers', 'العملاء', 'navigation'),
('ar', 'suppliers', 'الموردون', 'navigation'),
('ar', 'items', 'الأصناف', 'navigation'),
('ar', 'categories', 'الفئات', 'navigation'),
('ar', 'language_management', 'إدارة اللغات', 'navigation'),
('ar', 'features', 'الميزات', 'navigation'),
('ar', 'license_info', 'معلومات الترخيص', 'navigation'),
('ar', 'new_features', 'الميزات الجديدة', 'navigation'),
('ar', 'check_updates', 'فحص التحديثات', 'navigation'),
('ar', 'apply_update', 'تطبيق التحديث', 'navigation'),
('ar', 'item_modifiers', 'معدلات الأصناف', 'navigation'),
('ar', 'void_reasons', 'أسباب الإلغاء', 'navigation'),
('ar', 'quotations', 'عروض الأسعار', 'navigation'),
('ar', 'tables', 'الطاولات', 'navigation'),
('ar', 'floors', 'الطوابق', 'navigation'),
('ar', 'unit_of_measurement', 'وحدة القياس', 'navigation'),
('ar', 'stock_transfer', 'نقل المخزون', 'navigation'),
('ar', 'new_transfer_request', 'طلب نقل جديد', 'navigation'),
('ar', 'transfer_approval', 'موافقة النقل', 'navigation'),
('ar', 'stock_adjustment', 'تعديل المخزون', 'navigation'),
('ar', 'new_adjustment', 'تعديل جديد', 'navigation'),
('ar', 'production', 'الإنتاج', 'navigation'),
('ar', 'users_permissions', 'المستخدمون والصلاحيات', 'navigation'),
('ar', 'order_takers', 'أخذ الطلبات', 'navigation'),
('ar', 'riders', 'الراكبون', 'navigation'),
('ar', 'delivery_orders', 'طلبات التوصيل', 'navigation'),
('ar', 'expense_list', 'قائمة المصروفات', 'navigation'),
('ar', 'general_settings', 'الإعدادات العامة', 'navigation'),
('ar', 'branch_settings', 'إعدادات الفرع', 'navigation'),
('ar', 'store_management', 'إدارة المتجر', 'navigation'),
('ar', 'tax_rate', 'معدل الضريبة', 'navigation'),

-- Buttons
('ar', 'add_new', 'إضافة جديد', 'buttons'),
('ar', 'edit', 'تعديل', 'buttons'),
('ar', 'delete', 'حذف', 'buttons'),
('ar', 'save', 'حفظ', 'buttons'),
('ar', 'cancel', 'إلغاء', 'buttons'),
('ar', 'search', 'بحث', 'buttons'),
('ar', 'filter', 'تصفية', 'buttons'),
('ar', 'export', 'تصدير', 'buttons'),
('ar', 'import', 'استيراد', 'buttons'),
('ar', 'update_translation', 'تحديث الترجمة', 'buttons'),
('ar', 'add_translation', 'إضافة ترجمة', 'buttons'),
('ar', 'update', 'تحديث', 'buttons'),
('ar', 'skip', 'تخطي', 'buttons'),
('ar', 'void_order', 'إلغاء الطلب', 'buttons'),
('ar', 'confirm', 'تأكيد', 'buttons'),
('ar', 'close', 'إغلاق', 'buttons'),
('ar', 'submit', 'إرسال', 'buttons'),
('ar', 'reset', 'إعادة تعيين', 'buttons'),
('ar', 'back', 'رجوع', 'buttons'),
('ar', 'next', 'التالي', 'buttons'),
('ar', 'previous', 'السابق', 'buttons'),
('ar', 'finish', 'إنهاء', 'buttons'),
('ar', 'clear', 'مسح', 'buttons'),

-- Labels
('ar', 'current_language', 'اللغة الحالية', 'labels'),
('ar', 'available_languages', 'اللغات المتاحة', 'labels'),
('ar', 'translation_key', 'مفتاح الترجمة', 'labels'),
('ar', 'translation_value', 'قيمة الترجمة', 'labels'),
('ar', 'rtl_support', 'دعم الكتابة من اليمين إلى اليسار', 'labels'),
('ar', 'language_switcher', 'مبدل اللغة', 'labels'),
('ar', 'context', 'السياق', 'labels'),
('ar', 'name', 'الاسم', 'labels'),
('ar', 'email', 'البريد الإلكتروني', 'labels'),
('ar', 'phone', 'الهاتف', 'labels'),
('ar', 'address', 'العنوان', 'labels'),
('ar', 'status', 'الحالة', 'labels'),
('ar', 'actions', 'الإجراءات', 'labels'),
('ar', 'price', 'السعر', 'labels'),
('ar', 'quantity', 'الكمية', 'labels'),
('ar', 'total', 'المجموع', 'labels'),
('ar', 'subtotal', 'المجموع الفرعي', 'labels'),
('ar', 'tax', 'الضريبة', 'labels'),
('ar', 'discount', 'الخصم', 'labels'),
('ar', 'grand_total', 'المجموع الكلي', 'labels'),
('ar', 'order_list', 'قائمة الطلبات', 'labels'),
('ar', 'delivery_charges', 'رسوم التوصيل', 'labels'),
('ar', 'notes', 'ملاحظات', 'labels'),
('ar', 'all', 'الكل', 'labels'),
('ar', 'navigation', 'التنقل', 'labels'),
('ar', 'buttons', 'الأزرار', 'labels'),
('ar', 'labels', 'التسميات', 'labels'),
('ar', 'messages', 'الرسائل', 'labels'),
('ar', 'placeholders', 'النصوص التوضيحية', 'labels'),
('ar', 'page_titles', 'عناوين الصفحات', 'labels'),

-- Messages
('ar', 'translation_updated', 'تم تحديث الترجمة بنجاح', 'messages'),
('ar', 'translation_added', 'تم إضافة الترجمة بنجاح', 'messages'),
('ar', 'invalid_language', 'اللغة المحددة غير صحيحة', 'messages'),
('ar', 'success', 'نجح', 'messages'),
('ar', 'error', 'خطأ', 'messages'),
('ar', 'warning', 'تحذير', 'messages'),
('ar', 'info', 'معلومات', 'messages'),
('ar', 'confirm_delete', 'هل أنت متأكد من أنك تريد حذف هذا العنصر؟', 'messages'),
('ar', 'confirm_void', 'هل أنت متأكد من أنك تريد إلغاء هذا الطلب؟', 'messages'),
('ar', 'no_data_found', 'لم يتم العثور على بيانات', 'messages'),
('ar', 'loading', 'جاري التحميل...', 'messages'),
('ar', 'please_wait', 'يرجى الانتظار...', 'messages'),

-- Placeholders
('ar', 'search_product', 'البحث عن المنتج...', 'placeholders'),
('ar', 'enter_notes', 'أدخل أي ملاحظات إضافية...', 'placeholders'),
('ar', 'enter_name', 'أدخل الاسم...', 'placeholders'),
('ar', 'enter_email', 'أدخل البريد الإلكتروني...', 'placeholders'),
('ar', 'enter_phone', 'أدخل رقم الهاتف...', 'placeholders'),
('ar', 'enter_address', 'أدخل العنوان...', 'placeholders'),
('ar', 'enter_price', 'أدخل السعر...', 'placeholders'),
('ar', 'enter_quantity', 'أدخل الكمية...', 'placeholders'),

-- Page Titles
('ar', 'manage_customers', 'إدارة عملائك', 'page_titles'),
('ar', 'manage_system_languages', 'إدارة لغات النظام والترجمات', 'page_titles'),
('ar', 'click_category_settings', 'انقر على فئة لتحميل إعداداتها', 'page_titles'),

-- Additional Navigation Items
('ar', 'expenses', 'المصروفات', 'navigation'),
('ar', 'expense_accounts', 'حسابات المصروفات', 'navigation'),
('ar', 'expense_categories', 'فئات المصروفات', 'navigation'),
('ar', 'accounts', 'الحسابات', 'navigation'),
('ar', 'bank_accounts', 'الحسابات البنكية', 'navigation'),
('ar', 'payments', 'المدفوعات', 'navigation'),
('ar', 'customer_payments', 'مدفوعات العملاء', 'navigation'),
('ar', 'supplier_payments', 'مدفوعات الموردين', 'navigation'),
('ar', 'payment_methods', 'طرق الدفع', 'navigation'),
('ar', 'financials', 'المالية', 'navigation'),
('ar', 'chart_of_accounts', 'دليل الحسابات', 'navigation'),
('ar', 'account_mappings', 'ربط الحسابات', 'navigation'),
('ar', 'journal_entries', 'قيود اليومية', 'navigation'),
('ar', 'financial_periods', 'الفترات المالية', 'navigation'),
('ar', 'trial_balance', 'ميزان المراجعة', 'navigation'),
('ar', 'general_ledger', 'دفتر الأستاذ العام', 'navigation'),
('ar', 'profit_loss', 'الأرباح والخسائر', 'navigation'),
('ar', 'financial_reports', 'التقارير المالية', 'navigation'),
('ar', 'hardware_devices', 'الأجهزة والمعدات', 'navigation'),
('ar', 'print_devices', 'أجهزة الطباعة', 'navigation'),
('ar', 'kds', 'KDS', 'navigation'),
('ar', 'tablet_orders', 'طلبات الأجهزة اللوحية', 'navigation'),
('ar', 'database_backup', 'نسخ احتياطي لقاعدة البيانات', 'navigation'),
('ar', 'backup_management', 'إدارة النسخ الاحتياطية', 'navigation'),
('ar', 'restore_database', 'استعادة قاعدة البيانات', 'navigation'),

-- Reports Section
('ar', 'sales_report', 'تقرير المبيعات', 'navigation'),
('ar', 'invoice_report', 'تقرير الفواتير', 'navigation'),
('ar', 'invoice_wise_profit_report', 'تقرير الأرباح حسب الفاتورة', 'navigation'),
('ar', 'sale_return_report', 'تقرير مرتجع المبيعات', 'navigation'),
('ar', 'day_wise_sale_summary', 'ملخص المبيعات اليومية', 'navigation'),
('ar', 'item_wise_sales_report', 'تقرير المبيعات حسب الصنف', 'navigation'),
('ar', 'item_modifier_report', 'تقرير معدلات الأصناف', 'navigation'),
('ar', 'cashier_shift_report', 'تقرير نوبة الصندوق', 'navigation'),
('ar', 'tax_wise_report', 'تقرير الضرائب', 'navigation'),
('ar', 'order_taker_report', 'تقرير أخذ الطلبات', 'navigation'),
('ar', 'void_orders_report', 'تقرير الطلبات الملغاة', 'navigation'),
('ar', 'purchase_report', 'تقرير المشتريات', 'navigation'),
('ar', 'stock_balance_report', 'تقرير رصيد المخزون', 'navigation'),
('ar', 'stock_valuation_report', 'تقرير تقييم المخزون', 'navigation'),
('ar', 'item_ledger_report', 'تقرير دفتر الأصناف', 'navigation'),
('ar', 'production_report', 'تقرير الإنتاج', 'navigation'),
('ar', 'purchase_return_report', 'تقرير مرتجع المشتريات', 'navigation'),
('ar', 'customer_ledger', 'دفتر العملاء', 'navigation'),
('ar', 'customer_statement', 'كشف حساب العميل', 'navigation'),
('ar', 'supplier_ledger', 'دفتر الموردين', 'navigation'),
('ar', 'supplier_statement', 'كشف حساب المورد', 'navigation'),
('ar', 'profit_loss_report', 'تقرير الأرباح والخسائر', 'navigation'),
('ar', 'account_ledger', 'دفتر الحسابات', 'navigation'),
('ar', 'accounts_report', 'تقرير الحسابات', 'navigation'),
('ar', 'item_cost_report', 'تقرير تكلفة الأصناف', 'navigation'),

-- Item Cost Report (New Feature)
('ar', 'cost_method', 'طريقة التكلفة', 'labels'),
('ar', 'average_cost', 'متوسط التكلفة', 'labels'),
('ar', 'fifo_cost', 'تكلفة FIFO', 'labels'),
('ar', 'current_cost', 'التكلفة الحالية', 'labels'),
('ar', 'retail_price', 'سعر البيع', 'labels'),
('ar', 'cost_price', 'سعر التكلفة', 'labels'),
('ar', 'margin', 'الهامش', 'labels'),
('ar', 'stock_value', 'قيمة المخزون', 'labels'),
('ar', 'profit_amount', 'مبلغ الربح', 'labels'),
('ar', 'profit_percentage', 'نسبة الربح', 'labels'),
('ar', 'margin_percentage', 'نسبة الهامش', 'labels'),
('ar', 'current_stock', 'المخزون الحالي', 'labels'),
('ar', 'last_movement', 'آخر حركة', 'labels'),
('ar', 'show_zero_cost', 'إظهار التكلفة الصفرية', 'labels'),
('ar', 'from_date', 'من تاريخ', 'labels'),
('ar', 'to_date', 'إلى تاريخ', 'labels'),

-- POS Specific Terms
('ar', 'pos', 'نقطة البيع', 'labels'),
('ar', 'cart', 'السلة', 'labels'),
('ar', 'checkout', 'الدفع', 'labels'),
('ar', 'receipt', 'الإيصال', 'labels'),
('ar', 'invoice', 'الفاتورة', 'labels'),
('ar', 'customer', 'العميل', 'labels'),
('ar', 'supplier', 'المورد', 'labels'),
('ar', 'item', 'الصنف', 'labels'),
('ar', 'category', 'الفئة', 'labels'),
('ar', 'sub_category', 'الفئة الفرعية', 'labels'),
('ar', 'barcode', 'الباركود', 'labels'),
('ar', 'sku', 'رمز المنتج', 'labels'),
('ar', 'stock', 'المخزون', 'labels'),
('ar', 'material', 'المواد', 'labels'),
('ar', 'non_stock', 'غير مخزني', 'labels'),
('ar', 'bulk', 'الكميات الكبيرة', 'labels'),
('ar', 'loose', 'مفكوك', 'labels'),
('ar', 'reorder_level', 'مستوى إعادة الطلب', 'labels'),
('ar', 'reorder_quantity', 'كمية إعادة الطلب', 'labels'),
('ar', 'tax_type', 'نوع الضريبة', 'labels'),
('ar', 'included', 'مشمول', 'labels'),
('ar', 'excluded', 'غير مشمول', 'labels'),
('ar', 'nil', 'صفر', 'labels'),

-- Common Actions
('ar', 'add_item', 'إضافة صنف', 'buttons'),
('ar', 'edit_item', 'تعديل الصنف', 'buttons'),
('ar', 'delete_item', 'حذف الصنف', 'buttons'),
('ar', 'view_item', 'عرض الصنف', 'buttons'),
('ar', 'print_barcode', 'طباعة الباركود', 'buttons'),
('ar', 'import_items', 'استيراد الأصناف', 'buttons'),
('ar', 'export_items', 'تصدير الأصناف', 'buttons'),
('ar', 'bulk_edit', 'تعديل جماعي', 'buttons'),
('ar', 'bulk_delete', 'حذف جماعي', 'buttons'),

-- Validation Messages
('ar', 'required_field', 'هذا الحقل مطلوب', 'messages'),
('ar', 'invalid_email', 'البريد الإلكتروني غير صحيح', 'messages'),
('ar', 'invalid_phone', 'رقم الهاتف غير صحيح', 'messages'),
('ar', 'invalid_price', 'السعر غير صحيح', 'messages'),
('ar', 'invalid_quantity', 'الكمية غير صحيحة', 'messages'),
('ar', 'duplicate_code', 'الكود موجود بالفعل', 'messages'),
('ar', 'item_not_found', 'الصنف غير موجود', 'messages'),
('ar', 'insufficient_stock', 'المخزون غير كافي', 'messages'),

-- Success Messages
('ar', 'item_added_successfully', 'تم إضافة الصنف بنجاح', 'messages'),
('ar', 'item_updated_successfully', 'تم تحديث الصنف بنجاح', 'messages'),
('ar', 'item_deleted_successfully', 'تم حذف الصنف بنجاح', 'messages'),
('ar', 'items_imported_successfully', 'تم استيراد الأصناف بنجاح', 'messages'),
('ar', 'items_exported_successfully', 'تم تصدير الأصناف بنجاح', 'messages'),

-- Form Labels
('ar', 'item_code', 'كود الصنف', 'labels'),
('ar', 'sku_number', 'رقم SKU', 'labels'),
('ar', 'item_name', 'اسم الصنف', 'labels'),
('ar', 'item_role', 'دور الصنف', 'labels'),
('ar', 'stock_item', 'صنف مخزني', 'labels'),
('ar', 'material_item', 'صنف مواد', 'labels'),
('ar', 'non_stock_item', 'صنف غير مخزني', 'labels'),
('ar', 'item_type', 'نوع الصنف', 'labels'),
('ar', 'bulk_qty', 'كمية الكمية الكبيرة', 'labels'),
('ar', 'bulk_price', 'سعر الكمية الكبيرة', 'labels'),
('ar', 'pkg_qty', 'كمية العبوة', 'labels'),
('ar', 'product_image', 'صورة المنتج', 'labels'),
('ar', 'uom', 'وحدة القياس', 'labels'),

-- Table Headers
('ar', 'id', 'المعرف', 'labels'),
('ar', 'code', 'الكود', 'labels'),
('ar', 'image', 'الصورة', 'labels'),
('ar', 'type', 'النوع', 'labels'),
('ar', 'role', 'الدور', 'labels'),
('ar', 'cost', 'التكلفة', 'labels'),
('ar', 'retail', 'البيع', 'labels'),
('ar', 'profit', 'الربح', 'labels'),
('ar', 'stock_qty', 'كمية المخزون', 'labels'),
('ar', 'created_date', 'تاريخ الإنشاء', 'labels'),
('ar', 'updated_date', 'تاريخ التحديث', 'labels');



