The pseudocode is amazing anton, nicely planned. It will work best for obstacle avoidance.
Since we are planning it to be indoors, obstacle avoidance is a must i think. And your plan pans out well for the purpose.
As for the path of the drone, we need to decide if we want it to be fully autonomous and we only would be needing to select a destination with the drone doing the rest , reaching the destination, dropping the package, acknowledging the receipt of the package and returning to its base. Or, will it be a semi-autonomous one with a pilot remotely giving it instructions like drop the package, now fly off to this point, etc. and also piloting the drone.