I would suggest setting up two shoot workflows, one that has the milestones for an online viewing session and one that is in studio viewing. Then you can pick the one that you will be using for that client.
Or you can keep doing what you are doing, but just add another shoot workflow that adds the milestones for an online viewing. If you assign a shoot the workflow that doesn't have an online viewing, but they end up getting one you can just reconfigure the shoot to include the online viewing workflow.
Does that make sense?
Yes makes sense.
For first option we decide when we meet the people if we are going to do online or in person so we can't set it up at beginning. So that can't work.
I might do option 2 and use the reconfigure option, might be easier :)