diff --git a/control/json/fan.hpp b/control/json/fan.hpp
index 124a916..cac8dd2 100644
--- a/control/json/fan.hpp
+++ b/control/json/fan.hpp
@@ -110,6 +110,16 @@
      */
     void setTarget(uint64_t target);
 
+    /**
+     * @brief Returns the fan's locked targets.
+     *
+     * @return - vector of locked targets
+     */
+    const std::vector<uint64_t>& getLockedTargets() const
+    {
+        return _lockedTargets;
+    }
+
   private:
     /**
      * Forces all contained sensors to the target (if this target is the
diff --git a/control/json/zone.cpp b/control/json/zone.cpp
index aa81d58..ea308b7 100644
--- a/control/json/zone.cpp
+++ b/control/json/zone.cpp
@@ -535,6 +535,17 @@
     output["target_holds"] = _targetHolds;
     output["floor_holds"] = _floorHolds;
 
+    std::map<std::string, std::vector<uint64_t>> lockedTargets;
+    for (const auto& fan : _fans)
+    {
+        const auto& locks = fan->getLockedTargets();
+        if (!locks.empty())
+        {
+            lockedTargets[fan->getName()] = locks;
+        }
+    }
+    output["target_locks"] = lockedTargets;
+
     return output;
 }
 
