It's about year that we have refactored our back-end code base to have an architecture more inline with DDD and we also implemented a combination of Hexagonal architecture and Ports & Adapters pattern in most of our services. Until now most of our uses cases were quite easy and straight forward; so using simple entities and Command and Query handlers etc worked well. But as the software's features' grew, We now need more complex structures.
So we want to implement some features that the best description I can give of them is multistage tasks. For instance we have a two-step verification for signup and login: The users enter their info, then an a verification code is sent to them (by sms) and they have to enter it to get a token. Or for some feature, we need to get a users driver licences and photo etc, Then an admin has to verify them and send notification to the user and then the user has to do the payment and so on.
We observed that we can't treat this kind of features(tasks?) like simple entities or CQRS patterns but we also failed to find a good and idiomatic way to implement this features. So we are seeking for some information and guidelines to help us.