I'm designing a new site, and could not figure out the best setup for it

to make it short here is an example of the flow I wish for my site
1) registered user submit a request/form (webform?/node with fields)
2) Request get status received (workflow?)
3) Admin assign the request to a user with role "team member" (?)
4) team members can check requests assigned to them and view only own assigned requests (Content access)
5) team member get the job done, add/create new info, attach change status (workflow?)
6) registered uses get notification and can get their form back ready and processed
(maybe even pay for getting there) (rules/actions-triggers)
5) Admin can see all requests, status and payments (Views)

Sorry if this is a bit confusing, I am confused myself
Any tips or ideas what is the best way to do it will be highly appreciated..

Thanks