diff --git a/control/json/zone.hpp b/control/json/zone.hpp
index 5256018..e39a735 100644
--- a/control/json/zone.hpp
+++ b/control/json/zone.hpp
@@ -22,8 +22,10 @@
 #include <nlohmann/json.hpp>
 #include <sdbusplus/bus.hpp>
 #include <sdeventplus/event.hpp>
+#include <sdeventplus/utility/timer.hpp>
 
 #include <any>
+#include <chrono>
 #include <functional>
 #include <map>
 #include <tuple>
@@ -39,6 +41,9 @@
 using ThermalObject = sdbusplus::server::object::object<
     sdbusplus::xyz::openbmc_project::Control::server::ThermalMode>;
 
+/* Dbus event timer */
+using Timer = sdeventplus::utility::Timer<sdeventplus::ClockId::Monotonic>;
+
 /**
  * @class Zone - Represents a configured fan control zone
  *
@@ -236,6 +241,12 @@
     void requestIncrease(uint64_t targetDelta);
 
     /**
+     * @brief Callback function for the increase timer that delays
+     * processing of requested target increases while fans are increasing
+     */
+    void incTimerExpired();
+
+    /**
      * @brief Calculate the lowest requested decrease target from the given
      * delta within a decrease interval.
      *
@@ -244,6 +255,12 @@
     void requestDecrease(uint64_t targetDelta);
 
     /**
+     * @brief Callback function for the decrease timer that processes any
+     * requested target decreases if allowed
+     */
+    void decTimerExpired();
+
+    /**
      * @brief Set the requested target base to be used as the target to base a
      * new requested target from
      *
@@ -334,10 +351,10 @@
     uint64_t _defaultFloor;
 
     /* Zone's increase delay(in seconds) (OPTIONAL) */
-    uint64_t _incDelay;
+    std::chrono::seconds _incDelay;
 
     /* Zone's decrease interval(in seconds) */
-    uint64_t _decInterval;
+    std::chrono::seconds _decInterval;
 
     /* The floor target to not go below */
     uint64_t _floor;
@@ -369,6 +386,12 @@
     /* Automatic fan control active state */
     bool _isActive;
 
+    /* The target increase timer object */
+    Timer _incTimer;
+
+    /* The target decrease timer object */
+    Timer _decTimer;
+
     /* Map of active fan control allowed by a string identifier */
     std::map<std::string, bool> _active;
 
