
USE CASE        Inspect Unloaded Cargo [subfunction]
===========================================================================
A Delivery Inspector inspects and updates the delivery status of a cargo that has
been unloaded in a midpoint of the itinerary (not in final destination).

If cargo has been re-routed while the cargo was on board a carrier, the unload
location will be unexpected to the new itinerary. But we don't consider this as
misdirected since the unload is related to the old itinerary.


Primary actor.. Delivery Inspector
Scope.......... Handling Monitoring System in shipping application
Preconditions.. Cargo has been unloaded from a carrier in midpoint (not destination).
Trigger........ Delivery Inspector receives request to inspect the delivery status of unloaded cargo.


Main Success Scenario
---------------------------------------------------------------------------
1. Delivery Inspector collects known delivery data.
2. Delivery Inspector verifies that cargo is routed.
3. Delivery Inspector verifies that cargo is on track.
4. Delivery Inspector determines next expected load onto carrier.
5. Delivery Inspector saves cargo delivery snapshot.


Deviations
---------------------------------------------------------------------------
2a. Cargo has no itinerary:
    1. Delivery Inspector marks cargo as non-routed and updates delivery status.
    2. Delivery Inspector sends notification of non-routed cargo and exits.

2b. Route specification is not satisfied by itinerary:
    1. Delivery Inspector marks cargo as misrouted and updates delivery status.
    2. Delivery Inspector sends notification of misrouted cargo and exits.

3a. Cargo is misdirected and unloaded in route specification origin (cargo was re-routed):
    1. Delivery Inspector marks cargo as not misdirected.

3b. Itinerary didn't expect unload location:
    1. Delivery Inspector marks cargo as misdirected and saves delivery snapshot.
    2. Delivery Inspector sends notification of misdirected cargo and exits.

3c. Itinerary didn't expect unload voyage but unload location was expected:
    1. Surprising, but do we care?