Given an open Store (AR), when I issue a close command with a date in the future when the Store is going to be closed; I want one event (StoreClosing) triggered immediately telling the AR it's going to be closed in the future and then an event (StoreClosed) triggered when that actual closing date occurs. How would you go about doing this?
I've considered a ScheduleService which basically "holds" an event until the time is up to then apply it to the AR. (inspired from Greg Youngs way of solving Timeouts in sagas)
I also considered dropping the future event (StoreClosed) since it doesn't add anything to the AR (it can already deduce that it is closed from the StoreClosing event although this makes it crucial that the server clock is stable) and instead schedule the actions that is supposed to happen at the closing date when the StoreClosing event is triggered.
Can someone think outside the box for me? I feel I'm missing something obvious.