Hi Sidhdharth, thanks for responding!
To answer your question on the Lambda functions, it can be approached in a couple of different ways - 4 separate functions like I have in the example, or a single function with 4 different websockets handlers and then switch between the routes in code (you can see the request context in the event).
For HTTP and WebSockets APIs on a single API Gateway - the different types of APIs can't operate on a single API Gateway, you'll one for your standard HTTP requests and another for your WebSockets connections. To keep this looking neat and predictable, I'd recommend using a custom domain in front of the two API Gateways and assign names like api.domain.com and websockets.api.domain.com.