{"level":"error","message":"Route not found: GET /health","method":"GET","originalError":"Route not found: GET /health","path":"/health","service":"wms-oms-tms-saas","stack":"Error: Route not found: GET /health\n    at module.exports (/var/www/html/wms_backend_node/src/middleware/notFound.js:5:8)\n    at Layer.handle [as handle_request] (/var/www/html/wms_backend_node/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/wms_backend_node/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/wms_backend_node/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/wms_backend_node/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/wms_backend_node/node_modules/express/lib/router/index.js:280:10)\n    at /var/www/html/wms_backend_node/node_modules/express-rate-limit/dist/index.cjs:807:7\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async /var/www/html/wms_backend_node/node_modules/express-rate-limit/dist/index.cjs:691:5","statusCode":404,"timestamp":"2026-07-11T13:14:32.525Z"}
{"level":"error","message":"Invalid customer login or inactive account","method":"POST","originalError":"Invalid customer login or inactive account","path":"/api/v1/customer-portal/auth/login","service":"wms-oms-tms-saas","stack":"Error: Invalid customer login or inactive account\n    at Object.login (/var/www/html/wms_backend_node/src/modules/customer-portal/customerPortal.service.js:37:48)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async /var/www/html/wms_backend_node/src/modules/customer-portal/customerPortal.controller.js:6:117","statusCode":401,"timestamp":"2026-07-11T13:59:17.306Z"}
{"level":"error","message":"Invalid customer login or inactive account","method":"POST","originalError":"Invalid customer login or inactive account","path":"/api/v1/customer-portal/auth/login","service":"wms-oms-tms-saas","stack":"Error: Invalid customer login or inactive account\n    at Object.login (/var/www/html/wms_backend_node/src/modules/customer-portal/customerPortal.service.js:37:48)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async /var/www/html/wms_backend_node/src/modules/customer-portal/customerPortal.controller.js:6:117","statusCode":401,"timestamp":"2026-07-11T15:55:25.710Z"}
{"level":"error","message":"Invalid or expired token","method":"GET","originalError":"Invalid or expired token","path":"/api/v1/auth/me","service":"wms-oms-tms-saas","stack":"Error: Invalid or expired token\n    at authenticate (/var/www/html/wms_backend_node/src/middleware/auth.js:43:37)\n    at Layer.handle [as handle_request] (/var/www/html/wms_backend_node/node_modules/express/lib/router/layer.js:95:5)\n    at next (/var/www/html/wms_backend_node/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/var/www/html/wms_backend_node/node_modules/express/lib/router/route.js:119:3)\n    at Layer.handle [as handle_request] (/var/www/html/wms_backend_node/node_modules/express/lib/router/layer.js:95:5)\n    at /var/www/html/wms_backend_node/node_modules/express/lib/router/index.js:284:15\n    at router.process_params (/var/www/html/wms_backend_node/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/wms_backend_node/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/wms_backend_node/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/wms_backend_node/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-07-21T14:23:21.293Z"}
{"level":"error","message":"Role code already exists for this scope","method":"POST","originalError":"Role code already exists for this scope","path":"/api/v1/roles","service":"wms-oms-tms-saas","stack":"Error: Role code already exists for this scope\n    at /var/www/html/wms_backend_node/src/modules/auth/roles.controller.js:35:21\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)","statusCode":409,"timestamp":"2026-07-21T14:30:14.278Z"}
{"level":"error","message":"Invalid driver code or password","method":"POST","originalError":"Invalid driver code or password","path":"/api/v1/driver-app/auth/login","service":"wms-oms-tms-saas","stack":"Error: Invalid driver code or password\n    at Object.login (/var/www/html/wms_backend_node/src/modules/driver-app/driverApp.service.js:90:31)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async /var/www/html/wms_backend_node/src/modules/driver-app/driverApp.controller.js:5:113","statusCode":401,"timestamp":"2026-07-21T15:10:51.886Z"}
{"level":"error","message":"Driver password must be at least 8 characters","method":"POST","originalError":"Driver password must be at least 8 characters","path":"/api/v1/drivers","service":"wms-oms-tms-saas","stack":"Error: Driver password must be at least 8 characters\n    at /var/www/html/wms_backend_node/src/modules/drivers/drivers.controller.js:93:34\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)","statusCode":400,"timestamp":"2026-07-21T15:11:27.615Z"}
{"level":"error","message":"Driver account is not active","method":"POST","originalError":"Driver account is not active","path":"/api/v1/driver-app/auth/login","service":"wms-oms-tms-saas","stack":"Error: Driver account is not active\n    at Object.login (/var/www/html/wms_backend_node/src/modules/driver-app/driverApp.service.js:91:118)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async /var/www/html/wms_backend_node/src/modules/driver-app/driverApp.controller.js:5:113","statusCode":403,"timestamp":"2026-07-21T15:11:45.608Z"}
{"level":"error","message":"Driver account is not active","method":"POST","originalError":"Driver account is not active","path":"/api/v1/driver-app/auth/login","service":"wms-oms-tms-saas","stack":"Error: Driver account is not active\n    at Object.login (/var/www/html/wms_backend_node/src/modules/driver-app/driverApp.service.js:91:118)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async /var/www/html/wms_backend_node/src/modules/driver-app/driverApp.controller.js:5:113","statusCode":403,"timestamp":"2026-07-21T15:11:58.299Z"}
{"level":"error","message":"Driver account is not active","method":"POST","originalError":"Driver account is not active","path":"/api/v1/driver-app/auth/login","service":"wms-oms-tms-saas","stack":"Error: Driver account is not active\n    at Object.login (/var/www/html/wms_backend_node/src/modules/driver-app/driverApp.service.js:91:118)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async /var/www/html/wms_backend_node/src/modules/driver-app/driverApp.controller.js:5:113","statusCode":403,"timestamp":"2026-07-21T15:11:59.705Z"}
{"level":"error","message":"Driver account is not active","method":"POST","originalError":"Driver account is not active","path":"/api/v1/driver-app/auth/login","service":"wms-oms-tms-saas","stack":"Error: Driver account is not active\n    at Object.login (/var/www/html/wms_backend_node/src/modules/driver-app/driverApp.service.js:91:118)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async /var/www/html/wms_backend_node/src/modules/driver-app/driverApp.controller.js:5:113","statusCode":403,"timestamp":"2026-07-21T15:12:01.097Z"}
{"level":"error","message":"Invalid driver code or password","method":"POST","originalError":"Invalid driver code or password","path":"/api/v1/driver-app/auth/login","service":"wms-oms-tms-saas","stack":"Error: Invalid driver code or password\n    at Object.login (/var/www/html/wms_backend_node/src/modules/driver-app/driverApp.service.js:90:31)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async /var/www/html/wms_backend_node/src/modules/driver-app/driverApp.controller.js:5:113","statusCode":401,"timestamp":"2026-07-21T15:12:27.012Z"}
{"level":"error","message":"Driver account is not active","method":"POST","originalError":"Driver account is not active","path":"/api/v1/driver-app/auth/login","service":"wms-oms-tms-saas","stack":"Error: Driver account is not active\n    at Object.login (/var/www/html/wms_backend_node/src/modules/driver-app/driverApp.service.js:91:118)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async /var/www/html/wms_backend_node/src/modules/driver-app/driverApp.controller.js:5:113","statusCode":403,"timestamp":"2026-07-21T15:12:35.557Z"}
{"level":"error","message":"Driver account is not active","method":"POST","originalError":"Driver account is not active","path":"/api/v1/driver-app/auth/login","service":"wms-oms-tms-saas","stack":"Error: Driver account is not active\n    at Object.login (/var/www/html/wms_backend_node/src/modules/driver-app/driverApp.service.js:91:118)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async /var/www/html/wms_backend_node/src/modules/driver-app/driverApp.controller.js:5:113","statusCode":403,"timestamp":"2026-07-21T15:12:40.820Z"}
{"level":"error","message":"Invalid customer login or inactive account","method":"POST","originalError":"Invalid customer login or inactive account","path":"/api/v1/customer-portal/auth/login","service":"wms-oms-tms-saas","stack":"Error: Invalid customer login or inactive account\n    at Object.login (/var/www/html/wms_backend_node/src/modules/customer-portal/customerPortal.service.js:37:48)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async /var/www/html/wms_backend_node/src/modules/customer-portal/customerPortal.controller.js:6:117","statusCode":401,"timestamp":"2026-07-21T15:23:47.083Z"}
{"level":"error","message":"Generate/scan shipping label before Ready for Dispatch","method":"POST","originalError":"Generate/scan shipping label before Ready for Dispatch","path":"/api/v1/fulfilment/orders/2/ready-for-dispatch","service":"wms-oms-tms-saas","stack":"Error: Generate/scan shipping label before Ready for Dispatch\n    at /var/www/html/wms_backend_node/src/modules/fulfilment/fulfilment.service.js:354:21\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async <anonymous> (/var/www/html/wms_backend_node/node_modules/sequelize/src/sequelize.js:1197:18)\n    at async /var/www/html/wms_backend_node/src/modules/fulfilment/fulfilment.controller.js:26:16","statusCode":400,"timestamp":"2026-07-21T16:03:49.480Z"}
{"level":"error","message":"Generate/scan shipping label before Ready for Dispatch","method":"POST","originalError":"Generate/scan shipping label before Ready for Dispatch","path":"/api/v1/fulfilment/orders/2/ready-for-dispatch","service":"wms-oms-tms-saas","stack":"Error: Generate/scan shipping label before Ready for Dispatch\n    at /var/www/html/wms_backend_node/src/modules/fulfilment/fulfilment.service.js:354:21\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async <anonymous> (/var/www/html/wms_backend_node/node_modules/sequelize/src/sequelize.js:1197:18)\n    at async /var/www/html/wms_backend_node/src/modules/fulfilment/fulfilment.controller.js:26:16","statusCode":400,"timestamp":"2026-07-21T16:31:58.602Z"}
{"level":"error","message":"Generate/scan shipping label before Ready for Dispatch","method":"POST","originalError":"Generate/scan shipping label before Ready for Dispatch","path":"/api/v1/fulfilment/orders/2/ready-for-dispatch","service":"wms-oms-tms-saas","stack":"Error: Generate/scan shipping label before Ready for Dispatch\n    at /var/www/html/wms_backend_node/src/modules/fulfilment/fulfilment.service.js:354:21\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async <anonymous> (/var/www/html/wms_backend_node/node_modules/sequelize/src/sequelize.js:1197:18)\n    at async /var/www/html/wms_backend_node/src/modules/fulfilment/fulfilment.controller.js:26:16","statusCode":400,"timestamp":"2026-07-21T16:32:01.305Z"}
{"level":"error","message":"Generate/scan shipping label before Ready for Dispatch","method":"POST","originalError":"Generate/scan shipping label before Ready for Dispatch","path":"/api/v1/fulfilment/orders/2/ready-for-dispatch","service":"wms-oms-tms-saas","stack":"Error: Generate/scan shipping label before Ready for Dispatch\n    at /var/www/html/wms_backend_node/src/modules/fulfilment/fulfilment.service.js:354:21\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async <anonymous> (/var/www/html/wms_backend_node/node_modules/sequelize/src/sequelize.js:1197:18)\n    at async /var/www/html/wms_backend_node/src/modules/fulfilment/fulfilment.controller.js:26:16","statusCode":400,"timestamp":"2026-07-21T16:36:30.817Z"}
{"level":"error","message":"Invalid email or password","method":"POST","originalError":"Invalid email or password","path":"/api/v1/auth/login","service":"wms-oms-tms-saas","stack":"Error: Invalid email or password\n    at /var/www/html/wms_backend_node/src/modules/auth/auth.controller.js:26:22\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)","statusCode":401,"timestamp":"2026-07-25T13:32:41.988Z"}
