The-Inevitable-Event-Centric-Book
                                
                                
                                
                                    The-Inevitable-Event-Centric-Book copied to clipboard
                            
                            
                            
                        Problem: Define the word Command
From the point of view of a CQRS system, a command is anything that alters a state that our system is tracking.
(It is easy to confuse this with anything the user asks the system to do - but if no state change occurs in our system then that is a query or an instruction/request.)
A command can be rejected in its entirety or partially at the recipient system's discretion.
There is some question on what the difference is between a command and an event - to my mind an event once committed to the stream cannot be rejected... if something goes wrong then that event needs to be reversed with a compensating action.
Command can be rejected by the system, events can not be rejected by the system
It seems there is also a tense difference - an event is past-tense in that it has happened. A command is an instruction to a future tense action. Perhaps this is where the "command can be rejected but event cannot" comes from?