I'm designing a restaurant management app. Customers are coming in, orders are being taken, deliveries are going out, not mention reservations. So a lot is happening and its happening constantly. There are supporting personas, but the main one is the restaurant manager. How can I approach this ? What patterns/solutions have you found useful ?
The main thing in this case is going to be to test, test, test.
It sounds like you're already well aware of the personas, so I'd suggest that you determine what the main guiding priorities need to be for those personas and design for those.
Once you have your priorities, you'll want to look for metrics that are good indicators of how you're doing against them... then prototype as early as possible, measure the performance of those prototypes against the metrics you've chosen.
As an example, from what you've written:
a lot is happening and its happening constantly
So one of the metrics needs to be around speed & accuracy of input and rapid error detection & correction (because mistakes will be made, minds will be changed, etc...)
Another needs to be about accuracy of information exchange - when one person puts an order in and another needs to read it back, it needs to be clear and unambiguous.
It's hard to give more suggestions based on the small amount of detail given, but I think choosing priorities, metrics to match priorities and looking at stats from those metrics will tell you a lot about what your next steps should be.
It sounds like you are already on the right track by getting to know the people who will eventually use your solution and their working environment.
Once you have the insights from watching the potential users in their environment it should be fairly straight forward to work through creating a design, which you should regularly validate with your potential users.