Genie Patron: This is also quite nifty. I think it needs some fine-tuning on the details. I don't like bludgeoning damage for dao; bludgeoning is one of the few damage types that is commonly dealt but rarely resisted, so both "bonus bludgeoning damage" and "resistance to bludgeoning damage" are extremely useful. The other three face a tradeoff here, daolocks don't. Also, giving a fly speed to all genielocks is... odd. Maridlocks can fly but they can't breathe underwater?
All types of Genie can fly. Djinni are better at it than others and Dao are the worst, but they can all fly. It's an innate genie thing.
On another topic, I reverse engineered a 5E version of Limited Wish from the class feature and the Wish spell.
====
Limited Wish
7th-level conjuration
Casting Time: One action
Range: Self
Components: V
Duration: Instantaneous
As an action, you can speak your desire, requesting the effect of one spell that is 6th level or lower and has a casting time of 1 action. The spell can be from any class’s spell list, and you don’t need to meet the requirements in that spell, including costly components; the spell simply takes effect as part of this action. The spell will be cast as if using a spell slot of whatever level the spell is. If the player does not have a specific spell in mind, they may simply state their wish and the DM will choose whatever spell can best fulfill the desire, even if only partially. (I.e. if they wished for 'great treasure', a Programmed Illusion might create the permanent image of great treasure.)
====
As with a lot of 5E mechanical stuff, the subtle bits are important. Limiting it to spells that have a casting time of 1 action does as lot to limit poaching the best stuff from other class spell lists. You can't duplicate Commune, Geas, Legend Lore, Hallow, Raise Dead, Create Undead, Find the Path, Heroes' Feast, Planar Ally, Awaken, Commune with Nature, Reincarnate, Scrying, Conjure Fey, Windwalk, etc. (To name some of the higher level examples I checked.) Keeps things a bit under control.