Replaced synchronous scrypt usage with the asynchronous Node.js crypto API so bookings could return immediately while ticket generation continued in the worker pool.
- What worked
- The asynchronous API fit the existing implementation and preserved responsiveness without introducing an external service.