-- ============================================================
-- SEED DATA — petzy_pos
-- Realistic demo data for "PetZY Hospitality" / "PetZY Hotel & Restaurant"
-- All seeded users share password: Admin@123  (bcrypt hashed, change after first login)
-- ============================================================

USE petzy_pos;

-- ---------------- Permissions (granular, module.action) ----------------
INSERT INTO permissions (module, slug, description) VALUES
('dashboard','dashboard.view','View dashboard'),
('pos','pos.view','View POS'),
('pos','pos.create','Create POS order'),
('pos','pos.edit','Edit POS order'),
('pos','pos.delete','Delete POS order'),
('pos','pos.discount','Apply discount in POS'),
('pos','pos.refund','Process refund in POS'),
('orders','orders.view','View orders'),
('orders','orders.create','Create orders'),
('orders','orders.edit','Edit orders'),
('orders','orders.cancel','Cancel orders'),
('payments','payments.view','View payments'),
('payments','payments.create','Take payments'),
('menu','menu.view','View menu'),
('menu','menu.manage','Manage menu categories/items'),
('tables','tables.view','View tables'),
('tables','tables.manage','Manage tables/floors'),
('kot','kot.view','View KOT'),
('kitchen','kitchen.view','View kitchen display'),
('kitchen','kitchen.update','Update KOT status'),
('inventory','inventory.view','View inventory'),
('inventory','inventory.create','Create inventory items'),
('inventory','inventory.adjust','Adjust stock'),
('purchase','purchase.view','View purchases'),
('purchase','purchase.create','Create purchase orders/invoices'),
('customers','customers.view','View customers'),
('customers','customers.manage','Manage customers'),
('hotel','hotel.view','View hotel module'),
('hotel','hotel.checkin','Perform check-in'),
('hotel','hotel.checkout','Perform check-out'),
('hotel','hotel.manage','Manage rooms/room types/reservations'),
('housekeeping','housekeeping.view','View housekeeping'),
('housekeeping','housekeeping.update','Update housekeeping status'),
('reports','reports.view','View reports'),
('employees','employees.view','View employees'),
('employees','employees.manage','Manage employees'),
('payroll','payroll.view','View payroll'),
('payroll','payroll.manage','Manage payroll (attendance, leave approval, generate/finalize/pay runs)'),
('expenses','expenses.view','View expenses'),
('expenses','expenses.create','Create expenses'),
('cash','cash.manage','Open/close cash register'),
('dayend','dayend.close','Perform day-end close'),
('settings','settings.view','View settings'),
('settings','settings.edit','Edit settings'),
('users','users.manage','Manage users/roles/permissions'),
('audit','audit.view','View audit logs');

-- ---------------- Company ----------------
INSERT INTO companies (id, name, legal_name, email, phone, address, city, state, country, pincode, gstin, pan, currency, timezone, invoice_footer, terms, status)
VALUES (1, 'PetZY Hospitality', 'PetZY Hospitality Pvt Ltd', 'contact@petzyhospitality.example', '+91-9876500001',
'12 MG Road', 'Bengaluru', 'Karnataka', 'India', '560001', '29ABCDE1234F1Z5', 'ABCDE1234F', 'INR', 'Asia/Kolkata',
'Thank you for visiting PetZY!', 'Prices are inclusive of applicable taxes unless stated otherwise.', 'active');

-- ---------------- Outlet ----------------
INSERT INTO outlets (id, company_id, name, code, type, address, phone, email, gstin, invoice_prefix, kot_prefix, reservation_prefix, room_prefix, timezone, opening_time, closing_time, status)
VALUES (1, 1, 'PetZY Hotel & Restaurant', 'PTZ01', 'hotel', '12 MG Road, Bengaluru', '+91-9876500002',
'outlet1@petzyhospitality.example', '29ABCDE1234F1Z5', 'INV-PTZ01', 'KOT-PTZ01', 'RES-PTZ01', 'ROOM-PTZ01', 'Asia/Kolkata', '00:00:00', '23:59:59', 'active');

-- ---------------- Roles ----------------
INSERT INTO roles (id, company_id, name, slug, description, is_system, max_discount_percent, status) VALUES
(1, NULL, 'Super Admin', 'super-admin', 'Full system access across all companies', 1, 100.00, 'active'),
(2, 1, 'Company Admin', 'company-admin', 'Full access within the company', 1, 100.00, 'active'),
(3, 1, 'Outlet Manager', 'outlet-manager', 'Manages a single outlet', 1, 30.00, 'active'),
(4, 1, 'Cashier', 'cashier', 'POS billing and payments', 1, 10.00, 'active'),
(5, 1, 'Waiter', 'waiter', 'Takes orders and serves tables', 1, 0.00, 'active'),
(6, 1, 'Captain', 'captain', 'Supervises waiters and table service', 1, 5.00, 'active'),
(7, 1, 'Kitchen', 'kitchen', 'Kitchen display and KOT handling', 1, 0.00, 'active'),
(8, 1, 'Inventory Manager', 'inventory-manager', 'Manages stock and recipes', 1, 0.00, 'active'),
(9, 1, 'Purchase Manager', 'purchase-manager', 'Manages suppliers and purchases', 1, 0.00, 'active'),
(10, 1, 'Receptionist', 'receptionist', 'Hotel front desk operations', 1, 5.00, 'active'),
(11, 1, 'Accountant', 'accountant', 'Financial reports and reconciliation', 1, 0.00, 'active'),
(12, 1, 'Auditor', 'auditor', 'Read-only audit access', 1, 0.00, 'active');

-- Role-permission mapping: Company Admin gets everything
INSERT INTO role_permissions (role_id, permission_id) SELECT 2, id FROM permissions;
INSERT INTO role_permissions (role_id, permission_id) SELECT 1, id FROM permissions;

-- Outlet Manager: everything except users.manage
INSERT INTO role_permissions (role_id, permission_id) SELECT 3, id FROM permissions WHERE slug <> 'users.manage';

-- Cashier
INSERT INTO role_permissions (role_id, permission_id) SELECT 4, id FROM permissions
WHERE slug IN ('dashboard.view','pos.view','pos.create','pos.edit','pos.discount','orders.view','orders.create','payments.view','payments.create','tables.view','kot.view','customers.view','customers.manage','cash.manage');

-- Waiter
INSERT INTO role_permissions (role_id, permission_id) SELECT 5, id FROM permissions
WHERE slug IN ('dashboard.view','pos.view','pos.create','orders.view','tables.view','kot.view','customers.view');

-- Captain
INSERT INTO role_permissions (role_id, permission_id) SELECT 6, id FROM permissions
WHERE slug IN ('dashboard.view','pos.view','pos.create','pos.edit','pos.discount','orders.view','orders.edit','tables.view','tables.manage','kot.view','customers.view');

-- Kitchen
INSERT INTO role_permissions (role_id, permission_id) SELECT 7, id FROM permissions
WHERE slug IN ('dashboard.view','kot.view','kitchen.view','kitchen.update');

-- Inventory Manager
INSERT INTO role_permissions (role_id, permission_id) SELECT 8, id FROM permissions
WHERE slug IN ('dashboard.view','inventory.view','inventory.create','inventory.adjust','reports.view');

-- Purchase Manager
INSERT INTO role_permissions (role_id, permission_id) SELECT 9, id FROM permissions
WHERE slug IN ('dashboard.view','purchase.view','purchase.create','inventory.view','reports.view');

-- Receptionist
INSERT INTO role_permissions (role_id, permission_id) SELECT 10, id FROM permissions
WHERE slug IN ('dashboard.view','hotel.view','hotel.checkin','hotel.checkout','hotel.manage','housekeeping.view','housekeeping.update','customers.view','customers.manage','payments.view','payments.create');

-- Accountant
INSERT INTO role_permissions (role_id, permission_id) SELECT 11, id FROM permissions
WHERE slug IN ('dashboard.view','reports.view','payments.view','expenses.view','dayend.close','audit.view','payroll.view');

-- Auditor
INSERT INTO role_permissions (role_id, permission_id) SELECT 12, id FROM permissions
WHERE slug IN ('dashboard.view','reports.view','audit.view');

-- ---------------- Users (password for all: Admin@123) ----------------
INSERT INTO users (id, company_id, name, email, phone, password, role_id, is_super_admin, status) VALUES
(1, 1, 'System Admin', 'admin@petzy.example', '+91-9876500010', '$2b$10$doWr9k8e68LIuXDj3Cm8A.k87Dnoh0UVVQp82aLieuFuoF1JR/wfC', 2, 0, 'active'),
(2, 1, 'Priya Menon', 'manager@petzy.example', '+91-9876500011', '$2b$10$doWr9k8e68LIuXDj3Cm8A.k87Dnoh0UVVQp82aLieuFuoF1JR/wfC', 3, 0, 'active'),
(3, 1, 'Arjun Rao', 'cashier@petzy.example', '+91-9876500012', '$2b$10$doWr9k8e68LIuXDj3Cm8A.k87Dnoh0UVVQp82aLieuFuoF1JR/wfC', 4, 0, 'active'),
(4, 1, 'Sneha Kulkarni', 'waiter@petzy.example', '+91-9876500013', '$2b$10$doWr9k8e68LIuXDj3Cm8A.k87Dnoh0UVVQp82aLieuFuoF1JR/wfC', 5, 0, 'active'),
(5, 1, 'Ramesh Iyer', 'kitchen@petzy.example', '+91-9876500014', '$2b$10$doWr9k8e68LIuXDj3Cm8A.k87Dnoh0UVVQp82aLieuFuoF1JR/wfC', 7, 0, 'active'),
(6, 1, 'Kavya Nair', 'reception@petzy.example', '+91-9876500015', '$2b$10$doWr9k8e68LIuXDj3Cm8A.k87Dnoh0UVVQp82aLieuFuoF1JR/wfC', 10, 0, 'active');

INSERT INTO user_outlets (user_id, outlet_id, is_default) VALUES
(1,1,1), (2,1,1), (3,1,1), (4,1,1), (5,1,1), (6,1,1);

-- ---------------- Employees / HR ----------------
-- One employee record per login user (user_id links them) so attendance/leave/
-- payroll has real people to run against; week_off_day 0=Sunday.
INSERT INTO employees (id, company_id, outlet_id, user_id, name, employee_code, phone, department, designation, joining_date, salary, salary_type, hra, other_allowances, week_off_day, status) VALUES
(1, 1, 1, 1, 'System Admin', 'EMP001', '+91-9876500010', 'Management', 'Admin', '2024-01-01', 60000.00, 'monthly', 10000.00, 5000.00, 0, 'active'),
(2, 1, 1, 2, 'Priya Menon', 'EMP002', '+91-9876500011', 'Management', 'Outlet Manager', '2024-02-01', 42000.00, 'monthly', 6000.00, 3000.00, 0, 'active'),
(3, 1, 1, 3, 'Arjun Rao', 'EMP003', '+91-9876500012', 'Front of House', 'Cashier', '2024-03-15', 22000.00, 'monthly', 2500.00, 1500.00, 0, 'active'),
(4, 1, 1, 4, 'Sneha Kulkarni', 'EMP004', '+91-9876500013', 'Front of House', 'Waiter', '2024-04-01', 18000.00, 'monthly', 1500.00, 1000.00, 1, 'active'),
(5, 1, 1, 5, 'Ramesh Iyer', 'EMP005', '+91-9876500014', 'Kitchen', 'Cook', '2024-03-01', 20000.00, 'monthly', 2000.00, 1500.00, 1, 'active'),
(6, 1, 1, 6, 'Kavya Nair', 'EMP006', '+91-9876500015', 'Front Desk', 'Receptionist', '2024-05-01', 19000.00, 'monthly', 1800.00, 1000.00, 0, 'active');

-- Leave types: Comp Off has no fixed quota — its balance is earned one day at a
-- time from 'comp_worked' attendance entries (see payrollController.leaveBalances).
INSERT INTO leave_types (id, company_id, name, code, is_paid, annual_quota, status) VALUES
(1, 1, 'Casual Leave', 'CL', 1, 12.0, 'active'),
(2, 1, 'Sick Leave', 'SL', 1, 8.0, 'active'),
(3, 1, 'Earned Leave', 'EL', 1, 15.0, 'active'),
(4, 1, 'Comp Off', 'COMPOFF', 1, 0.0, 'active'),
(5, 1, 'Leave Without Pay', 'LWP', 0, 0.0, 'active');

INSERT INTO holidays (id, company_id, outlet_id, holiday_date, name, status) VALUES
(1, 1, NULL, '2026-01-26', 'Republic Day', 'active'),
(2, 1, NULL, '2026-08-15', 'Independence Day', 'active'),
(3, 1, NULL, '2026-10-02', 'Gandhi Jayanti', 'active'),
(4, 1, NULL, '2026-11-08', 'Diwali', 'active');

-- ---------------- Taxes ----------------
INSERT INTO taxes (id, company_id, name, rate, type, is_inclusive, status) VALUES
(1, 1, 'CGST 2.5%', 2.50, 'CGST', 0, 'active'),
(2, 1, 'SGST 2.5%', 2.50, 'SGST', 0, 'active'),
(3, 1, 'CGST 6%', 6.00, 'CGST', 0, 'active'),
(4, 1, 'SGST 6%', 6.00, 'SGST', 0, 'active'),
(5, 1, 'Room GST 12%', 12.00, 'OTHER', 1, 'active');

-- ---------------- Floors / Tables ----------------
INSERT INTO floors (id, outlet_id, name, sort_order, status) VALUES
(1, 1, 'Ground Floor', 1, 'active'),
(2, 1, 'Rooftop', 2, 'active');

INSERT INTO tables (id, outlet_id, floor_id, name, capacity, shape, status) VALUES
(1, 1, 1, 'T1', 4, 'square', 'available'),
(2, 1, 1, 'T2', 4, 'square', 'available'),
(3, 1, 1, 'T3', 6, 'rectangle', 'available'),
(4, 1, 1, 'T4', 2, 'round', 'available'),
(5, 1, 2, 'RT1', 4, 'square', 'available'),
(6, 1, 2, 'RT2', 6, 'rectangle', 'available');

-- ---------------- Kitchen Stations ----------------
INSERT INTO kitchen_stations (id, outlet_id, name, status) VALUES
(1, 1, 'Main Kitchen', 'active'),
(2, 1, 'Tandoor', 'active'),
(3, 1, 'Chinese', 'active'),
(4, 1, 'Beverage', 'active'),
(5, 1, 'Dessert', 'active');

-- ---------------- Menu Categories ----------------
INSERT INTO menu_categories (id, company_id, outlet_id, name, sort_order, status) VALUES
(1, 1, 1, 'Starters', 1, 'active'),
(2, 1, 1, 'Main Course', 2, 'active'),
(3, 1, 1, 'Breads', 3, 'active'),
(4, 1, 1, 'Beverages', 4, 'active'),
(5, 1, 1, 'Desserts', 5, 'active');

-- ---------------- Menu Items ----------------
INSERT INTO menu_items (id, company_id, outlet_id, category_id, station_id, name, sku, description, price, cost, tax_id, food_type, is_available, online_available, room_service_available, sort_order, status) VALUES
(1, 1, 1, 1, 2, 'Paneer Tikka', 'FD-STR-001', 'Chargrilled cottage cheese marinated in spiced yogurt', 280.00, 110.00, 3, 'veg', 1, 1, 1, 1, 'active'),
(2, 1, 1, 1, 3, 'Chicken Manchurian', 'FD-STR-002', 'Indo-Chinese style fried chicken in tangy sauce', 320.00, 140.00, 3, 'non_veg', 1, 1, 1, 2, 'active'),
(3, 1, 1, 2, 1, 'Paneer Butter Masala', 'FD-MAIN-001', 'Cottage cheese in creamy tomato gravy', 340.00, 130.00, 3, 'veg', 1, 1, 1, 1, 'active'),
(4, 1, 1, 2, 1, 'Butter Chicken', 'FD-MAIN-002', 'Classic North Indian butter chicken curry', 380.00, 160.00, 3, 'non_veg', 1, 1, 1, 2, 'active'),
(5, 1, 1, 3, 2, 'Butter Naan', 'FD-BRD-001', 'Tandoor baked leavened bread with butter', 60.00, 18.00, 1, 'veg', 1, 1, 1, 1, 'active'),
(6, 1, 1, 4, 4, 'Masala Chai', 'FD-BEV-001', 'Indian spiced tea', 80.00, 25.00, 1, 'veg', 1, 1, 1, 1, 'active'),
(7, 1, 1, 4, 4, 'Fresh Lime Soda', 'FD-BEV-002', 'Sweet or salted lime soda', 90.00, 22.00, 1, 'veg', 1, 1, 1, 2, 'active'),
(8, 1, 1, 5, 5, 'Gulab Jamun', 'FD-DES-001', 'Milk dumplings soaked in sugar syrup (2 pcs)', 120.00, 40.00, 1, 'veg', 1, 1, 1, 1, 'active');

-- Coffee variations example
INSERT INTO menu_items (id, company_id, outlet_id, category_id, station_id, name, sku, description, price, cost, tax_id, food_type, is_available, online_available, room_service_available, sort_order, status) VALUES
(9, 1, 1, 4, 4, 'Coffee', 'FD-BEV-003', 'Freshly brewed filter coffee', 80.00, 20.00, 1, 'veg', 1, 1, 1, 3, 'active');

-- Each item's real GST charge is both halves of its slab — CGST + SGST together
-- (tax_id above is legacy/unused by pricing; see menu_item_taxes).
-- Items 1-4: GST 12% slab = CGST 6% (tax 3) + SGST 6% (tax 4).
-- Items 5-9: GST 5% slab = CGST 2.5% (tax 1) + SGST 2.5% (tax 2).
INSERT INTO menu_item_taxes (item_id, tax_id) VALUES
(1,3),(1,4), (2,3),(2,4), (3,3),(3,4), (4,3),(4,4),
(5,1),(5,2), (6,1),(6,2), (7,1),(7,2), (8,1),(8,2), (9,1),(9,2);

INSERT INTO menu_item_variations (item_id, name, price, is_default, sort_order, status) VALUES
(9, 'Small', 80.00, 1, 1, 'active'),
(9, 'Medium', 120.00, 0, 2, 'active'),
(9, 'Large', 150.00, 0, 3, 'active');

-- Burger-style addons example (attached to Chicken Manchurian for demo)
INSERT INTO menu_item_addons (item_id, name, price, min_select, max_select, sort_order, status) VALUES
(4, 'Extra Gravy', 40.00, 0, 1, 1, 'active'),
(4, 'Extra Chicken', 90.00, 0, 1, 2, 'active');

INSERT INTO menu_item_modifiers (item_id, name, price, sort_order, status) VALUES
(3, 'Less Spicy', 0.00, 1, 'active'),
(3, 'Extra Spicy', 0.00, 2, 'active'),
(3, 'No Onion', 0.00, 3, 'active'),
(4, 'No Garlic', 0.00, 1, 'active');

-- ---------------- Customer ----------------
INSERT INTO customers (id, company_id, name, mobile, email, status) VALUES
(1, 1, 'Rahul Sharma', '+91-9123456780', 'rahul.sharma@example.com', 'active');

-- ---------------- Suppliers ----------------
INSERT INTO suppliers (id, company_id, name, company_name, gstin, phone, email, address, payment_terms, status) VALUES
(1, 1, 'Fresh Farms Distributors', 'Fresh Farms Pvt Ltd', '29FRESH1234F1Z1', '+91-9988776655', 'sales@freshfarms.example', 'Whitefield, Bengaluru', 'Net 15', 'active');

-- ---------------- Inventory ----------------
INSERT INTO inventory_units (id, company_id, name, short_code) VALUES
(1, 1, 'Kilogram', 'kg'),
(2, 1, 'Litre', 'ltr'),
(3, 1, 'Piece', 'pcs'),
(4, 1, 'Gram', 'g');

INSERT INTO inventory_items (id, company_id, outlet_id, name, sku, unit_id, purchase_price, selling_price, reorder_level, minimum_stock, maximum_stock, supplier_id, status) VALUES
(1, 1, 1, 'Paneer', 'INV-001', 4, 320.00, 0.00, 5000, 2000, 20000, 1, 'active'),
(2, 1, 1, 'Tomato', 'INV-002', 1, 40.00, 0.00, 20, 10, 100, 1, 'active'),
(3, 1, 1, 'Butter', 'INV-003', 4, 480.00, 0.00, 3000, 1000, 15000, 1, 'active'),
(4, 1, 1, 'Fresh Cream', 'INV-004', 2, 260.00, 0.00, 5, 2, 30, 1, 'active'),
(5, 1, 1, 'Mixed Spices', 'INV-005', 4, 900.00, 0.00, 1000, 500, 5000, 1, 'active'),
(6, 1, 1, 'Chicken', 'INV-006', 1, 220.00, 0.00, 15, 5, 60, 1, 'active');

INSERT INTO inventory_stocks (inventory_item_id, outlet_id, current_stock) VALUES
(1,1,8000.000), (2,1,40.000), (3,1,6000.000), (4,1,10.000), (5,1,2000.000), (6,1,25.000);

INSERT INTO inventory_transactions (inventory_item_id, outlet_id, type, quantity, balance_after, unit_cost, reference_type, notes) VALUES
(1,1,'opening_stock',8000.000,8000.000,320.00,'seed','Opening stock'),
(2,1,'opening_stock',40.000,40.000,40.00,'seed','Opening stock'),
(3,1,'opening_stock',6000.000,6000.000,480.00,'seed','Opening stock'),
(4,1,'opening_stock',10.000,10.000,260.00,'seed','Opening stock'),
(5,1,'opening_stock',2000.000,2000.000,900.00,'seed','Opening stock'),
(6,1,'opening_stock',25.000,25.000,220.00,'seed','Opening stock');

-- ---------------- Recipe: Paneer Butter Masala ----------------
INSERT INTO recipes (id, item_id, yield_quantity, wastage_percent, food_cost) VALUES
(1, 3, 1.00, 5.00, 130.00);

INSERT INTO recipe_items (recipe_id, inventory_item_id, quantity, unit_id, cost) VALUES
(1, 1, 250.000, 4, 80.00),   -- Paneer 250g
(1, 2, 150.000, 1, 6.00),    -- Tomato 150g
(1, 3, 30.000, 4, 14.40),    -- Butter 30g
(1, 4, 50.000, 2, 13.00),    -- Cream 50ml
(1, 5, 10.000, 4, 9.00);     -- Spices 10g

-- ---------------- Hotel Room Types / Rooms ----------------
INSERT INTO hotel_room_types (id, outlet_id, name, description, capacity, adult_capacity, child_capacity, base_price, tax_id, status) VALUES
(1, 1, 'Deluxe', 'Comfortable deluxe room with city view', 2, 2, 1, 4500.00, 5, 'active'),
(2, 1, 'Suite', 'Spacious suite with living area', 3, 2, 2, 7500.00, 5, 'active'),
(3, 1, 'Executive', 'Premium executive room for business travelers', 2, 2, 0, 6000.00, 5, 'active');

INSERT INTO hotel_room_amenities (room_type_id, name) VALUES
(1,'Free WiFi'), (1,'Air Conditioning'), (1,'Flat Screen TV'),
(2,'Free WiFi'), (2,'Air Conditioning'), (2,'Mini Bar'), (2,'Living Room'),
(3,'Free WiFi'), (3,'Work Desk'), (3,'Air Conditioning');

INSERT INTO hotel_rooms (id, outlet_id, room_type_id, room_number, floor, price, capacity, status, housekeeping_status) VALUES
(1, 1, 1, '101', '1', 4500.00, 2, 'available', 'clean'),
(2, 1, 1, '102', '1', 4500.00, 2, 'available', 'clean'),
(3, 1, 2, '103', '1', 7500.00, 3, 'available', 'clean'),
(4, 1, 3, '201', '2', 6000.00, 2, 'available', 'clean'),
(5, 1, 3, '202', '2', 6000.00, 2, 'available', 'clean');

-- ---------------- Sample Guest + Reservation ----------------
INSERT INTO hotel_guests (id, company_id, name, mobile, email, id_type, id_number, nationality, notes)
VALUES (1, 1, 'John Fernandes', '+91-9012345678', 'john.fernandes@example.com', 'passport', 'P1234567', 'Indian', NULL);

INSERT INTO hotel_room_reservations (id, outlet_id, reservation_number, guest_id, room_id, room_type_id, check_in_date, check_out_date, adults, children, rate, tax_amount, total_amount, source, status) VALUES
(1, 1, 'RES-PTZ01-000001', 1, 3, 2, CURDATE(), DATE_ADD(CURDATE(), INTERVAL 2 DAY), 2, 1, 7500.00, 900.00, 16800.00, 'walk_in', 'confirmed');

-- ---------------- Settings ----------------
INSERT INTO settings (company_id, outlet_id, `key`, `value`) VALUES
(1, NULL, 'default_currency', 'INR'),
(1, NULL, 'currency_symbol', '₹'),
(1, 1, 'default_tax_id', '3'),
(1, 1, 'loyalty_earn_rate', '10'),      -- 10 points per 100 spent
(1, 1, 'loyalty_earn_amount', '100'),
(1, NULL, 'theme_default', 'light');

