Great!! Probably it would give maximum versatility though a little more tedious to manage by players.
Do you think a "uniqueID-perBase" should be given to hangars , to make easier the task for the player? Similar to "whole-game" uniqueIds per soldiers or crafts. Not essential for feature but it would be easier for players to know they're allocating "CraftX" -e.g. "Submarine1" in "BaseZ.HangarTypeA.NumberY" -e.g. "Base Penguin- SubmarinePen-2" -than just show a list of "actually-free-allowed" hangar/slots, with no identification. Though the last could work, it would be more confusing for players IMHO.
It could be implemented in a similar fashion that uniqueIDs -"STR_SOLDIER: N" "STR_CRAFT: M"- but with similar entries per base definition.
Thanks for your work!