{
    "custom_roles": [
        {"name": "Cashier", "description": "Responsible for shop sales and orders.", "is_full_admin": 0, "is_active": 1},
        {"name": "BOSS", "description": "Owner-level view of all operations and reports.", "is_full_admin": 0, "is_active": 1},
        {"name": "Stock Keeper", "description": "The one who responsible for the complete Inventory", "is_full_admin": 0, "is_active": 1}
    ],
    "role_permissions": {
        "Cashier": [
            "isms_bin_card.access", "isms_bin_card.export",
            "isms_credit_notes.access", "isms_credit_notes.claim", "isms_credit_notes.create", "isms_credit_notes.issue", "isms_credit_notes.print", "isms_credit_notes.view", "isms_credit_notes.view_all", "isms_credit_notes.void",
            "isms_customers.access", "isms_customers.create", "isms_customers.delete", "isms_customers.edit", "isms_customers.view",
            "isms_invoices.access", "isms_invoices.add_payment", "isms_invoices.cancel", "isms_invoices.create", "isms_invoices.edit", "isms_invoices.print", "isms_invoices.update_order_status", "isms_invoices.view", "isms_invoices.view_all",
            "isms_main_categories.access", "isms_main_categories.create", "isms_main_categories.edit",
            "isms_products.access", "isms_products.create", "isms_products.edit",
            "isms_returns.access", "isms_returns.create", "isms_returns.print", "isms_returns.view", "isms_returns.view_all",
            "isms_sales_orders.access", "isms_sales_orders.create", "isms_sales_orders.view_all",
            "isms_stock_damages.access", "isms_stock_damages.create",
            "isms_sub_categories.access", "isms_sub_categories.create", "isms_sub_categories.edit",
            "isms_transactions.access", "isms_transactions.approve", "isms_transactions.create", "isms_transactions.refund", "isms_transactions.reject", "isms_transactions.view", "isms_transactions.view_all",
            "pos.access", "pos.checkout",
            "reports_customers.access", "reports_customers.export", "reports_inventory.access", "reports_inventory.export", "reports_invoices.access", "reports_invoices.export", "reports_payments.access", "reports_payments.export", "reports_purchases.access", "reports_purchases.export", "reports_sales.access", "reports_sales.export"
        ],
        "BOSS": [
            "audit_logs.access", "audit_logs.export", "audit_logs.view",
            "dashboard.access",
            "isms_bin_card.access", "isms_bin_card.export",
            "isms_credit_notes.access", "isms_credit_notes.print", "isms_credit_notes.view", "isms_credit_notes.view_all",
            "isms_customers.access", "isms_customers.view",
            "isms_grn.access", "isms_grn.view",
            "isms_invoices.access", "isms_invoices.print", "isms_invoices.view", "isms_invoices.view_all",
            "isms_main_categories.access",
            "isms_products.access",
            "isms_returns.access", "isms_returns.print", "isms_returns.view", "isms_returns.view_all",
            "isms_stock_adjustment.access", "isms_stock_damages.access", "isms_stock_transfer.access",
            "isms_sub_categories.access",
            "isms_transactions.access", "isms_transactions.approve", "isms_transactions.refund", "isms_transactions.reject", "isms_transactions.view_all",
            "reports_customers.access", "reports_customers.export", "reports_inventory.access", "reports_inventory.export", "reports_invoices.access", "reports_invoices.export", "reports_payments.access", "reports_payments.export", "reports_purchases.access", "reports_purchases.export", "reports_sales.access", "reports_sales.export"
        ],
        "Stock Keeper": [
            "isms_grn.access", "isms_grn.create", "isms_grn.view",
            "isms_products.access", "isms_products.create",
            "isms_returns.access", "isms_returns.create", "isms_returns.print", "isms_returns.view", "isms_returns.view_all",
            "isms_stock_damages.access", "isms_stock_damages.create"
        ]
    },
    "users": [
        {"name": "Admin", "email": "admin@vellix.com", "password": "$2y$12$E63tdFn7bjGqG2EaP91qN.yXP9LDhZH/kKXPCf2zx6gePRda1gSte", "status": "active", "primary_role": "Full Administrator", "verified": 1},
        {"name": "Operations Manager", "email": "manager@vellix.lk", "password": "$2y$12$c0DwKqYC4adPIzYox6OXHOZnT2k/YEDDqgq4GuWIU67SHndOUOcH6", "status": "active", "primary_role": "Manager", "verified": 1},
        {"name": "Mr. Dusheedaran Sales Rep 1", "email": "rep1@vellix.lk", "password": "$2y$12$SdMPeu2l5tVpd2oK2b344.zey.z/VGUv2VqO/wlcB2ZScxEhMgBM2", "status": "active", "primary_role": "Sales Person", "verified": 1},
        {"name": "Mr. Prashanth Sales Rep 2", "email": "rep2@vellix.lk", "password": "$2y$12$hw9mu5yb8SXC8Hai24hsHOGzkw3hy0QfCWvjvmqIh0cPlBjDHFec2", "status": "active", "primary_role": "Sales Person", "verified": 1},
        {"name": "Mr. Dharshan Sales Rep 3", "email": "rep3@vellix.lk", "password": "$2y$12$FaYnegWGwOdDVCU5wBgo.OO7JpWqVoccFTl0pHYx1gSoX3T5syIK2", "status": "active", "primary_role": "Sales Person", "verified": 1},
        {"name": "Mr. Vimal Sales Rep 4", "email": "rep4@vellix.lk", "password": "$2y$12$X2YwxT/95SSyjotA30.oaeDgHZwGxBwkEFA1BdS/p7KeOAfh4buFS", "status": "active", "primary_role": "Sales Person", "verified": 1},
        {"name": "Rakesh Nandakumar", "email": "testrep@vellix.com", "password": "$2y$12$AwJbfrN823V.ZnVroSkm4OWG1Gx48nEx6bpbC27U4VvhL.kncABF.", "status": "active", "primary_role": "Sales Person", "verified": 1},
        {"name": "Ms. Nandhani", "email": "cashier@vellix.lk", "password": "$2y$12$g.fXHz8KDEkW2cWmkDt2iODyol3v3hM627kolSrDY5eicsSPSV/Oi", "status": "active", "primary_role": "Cashier", "verified": 1},
        {"name": "Mr. Mahendran Sudaharan", "email": "boss@vellix.lk", "password": "$2y$12$CRjSzIHWLzzFi8Kk5te/Ou8fKlg6JW4ZtCsgnWg0dn0..aXBq6Zbq", "status": "active", "primary_role": "BOSS", "verified": 1},
        {"name": "Gobi", "email": "stock@vellix.lk", "password": "$2y$12$L2.beQHR4YFyPuEnSZm5muzA9LLvaYLB0s9A6okuIM5B7VqJJEZ9G", "status": "active", "primary_role": "Stock Keeper", "verified": 1},
        {"name": "Yadurshini", "email": "yadurshini@vellix.lk", "password": "$2y$12$cv9XS.MGr25.Q4T8pkJPKu3KC6ExqQForNFIrL3qEJl7c71In6DOa", "status": "active", "primary_role": "Manager", "verified": 1}
    ],
    "user_roles": [
        {"email": "admin@vellix.com", "role_name": "Full Administrator"},
        {"email": "manager@vellix.lk", "role_name": "Manager"},
        {"email": "rep1@vellix.lk", "role_name": "Sales Person"},
        {"email": "rep2@vellix.lk", "role_name": "Sales Person"},
        {"email": "rep3@vellix.lk", "role_name": "Sales Person"},
        {"email": "rep4@vellix.lk", "role_name": "Sales Person"},
        {"email": "testrep@vellix.com", "role_name": "Sales Person"},
        {"email": "cashier@vellix.lk", "role_name": "Cashier"},
        {"email": "boss@vellix.lk", "role_name": "BOSS"},
        {"email": "stock@vellix.lk", "role_name": "Stock Keeper"},
        {"email": "yadurshini@vellix.lk", "role_name": "Manager"}
    ],
    "overrides": [
        {"email": "boss@vellix.lk", "permission_name": "user_management_roles.access", "type": "deny"},
        {"email": "boss@vellix.lk", "permission_name": "user_management_roles.view", "type": "deny"},
        {"email": "boss@vellix.lk", "permission_name": "user_management_users.access", "type": "deny"},
        {"email": "boss@vellix.lk", "permission_name": "user_management_users.view", "type": "deny"},
        {"email": "stock@vellix.lk", "permission_name": "isms_stock_adjustment.access", "type": "allow"},
        {"email": "stock@vellix.lk", "permission_name": "isms_stock_adjustment.create", "type": "allow"}
    ]
}
