Without any deep analysis, there seem to be three user level application functions:
- A Tracking Query that can access past and present handling of a particular cargo.
- A Booking application that allows a new Cargo to be registered and prepares the system for it.
- An Incident Logging application that can record each handling of the cargo (providing the information that is found by the Tracking Query)
Later in the book: The Activity Logging Application needs to allow the user to look up the Carrier Movement that a Cargo is being loaded onto
TODO: use Ardalis