I would start by getting it to work with a single service to limit the complexity. Then you can move on to allowing a user to select a service once that is working. Don't over complicate it to start or you won't be able to figure out where you are going wrong.
This is something we can help with in a premier support ticket.