diff --git a/include/hardware/vehicle.h b/include/hardware/vehicle.h
index e767593..a590fbd 100644
--- a/include/hardware/vehicle.h
+++ b/include/hardware/vehicle.h
@@ -334,36 +334,40 @@
 
 /**
  * On/off max AC
- * @value_type VEHICLE_VALUE_TYPE_BOOLEAN
+ * @value_type VEHICLE_VALUE_TYPE_ZONED_BOOLEAN
  * @change_mode VEHICLE_PROP_CHANGE_MODE_ON_CHANGE
  * @access VEHICLE_PROP_ACCESS_READ_WRITE
+ * @zone_type VEHICLE_ZONE
  * @data_member hvac.max_ac_on
  */
 #define VEHICLE_PROPERTY_HVAC_MAX_AC_ON                             (0x00000506)
 
 /**
  * On/off max defrost
- * @value_type VEHICLE_VALUE_TYPE_BOOLEAN
+ * @value_type VEHICLE_VALUE_TYPE_ZONED_BOOLEAN
  * @change_mode VEHICLE_PROP_CHANGE_MODE_ON_CHANGE
  * @access VEHICLE_PROP_ACCESS_READ_WRITE
+ * @zone_type VEHICLE_ZONE
  * @data_member hvac.max_defrost_on
  */
 #define VEHICLE_PROPERTY_HVAC_MAX_DEFROST_ON                        (0x00000507)
 
 /**
  * On/off re-circulation
- * @value_type VEHICLE_VALUE_TYPE_BOOLEAN
+ * @value_type VEHICLE_VALUE_TYPE_ZONED_BOOLEAN
  * @change_mode VEHICLE_PROP_CHANGE_MODE_ON_CHANGE
  * @access VEHICLE_PROP_ACCESS_READ_WRITE
+ * @zone_type VEHICLE_ZONE
  * @data_member hvac.max_recirc_on
  */
 #define VEHICLE_PROPERTY_HVAC_RECIRC_ON                             (0x00000508)
 
 /**
- * On/off dual
- * @value_type VEHICLE_VALUE_TYPE_BOOLEAN
+ * On/off dual. This will be defined per each row.
+ * @value_type VEHICLE_VALUE_TYPE_ZONED_BOOLEAN
  * @change_mode VEHICLE_PROP_CHANGE_MODE_ON_CHANGE
  * @access VEHICLE_PROP_ACCESS_READ_WRITE
+ * @zone_type VEHICLE_ZONE
  * @data_member hvac.dual_on
  */
 #define VEHICLE_PROPERTY_HVAC_DUAL_ON                               (0x00000509)
@@ -1161,7 +1165,7 @@
 
 #define VEHICLE_FLOAT_OUT_OF_RANGE_MAX (INFINITY)
 #define VEHICLE_FLOAT_OUT_OF_RANGE_MIN (-INFINITY)
-#define VEHICLE_INT_OUT_OF_RANGE_OFF (NAN)
+#define VEHICLE_FLOAT_OUT_OF_RANGE_OFF (NAN)
 
 /**
  * Car states.
@@ -1696,6 +1700,8 @@
      * Setting some properties require having initial state available. Depending on the vehicle hal,
      * such initial data may not be available for short time after init. In such case, set call
      * can return -EAGAIN like get call.
+     * For a property with separate power control, set can fail if the property is not powered on.
+     * In such case, hal should return -ESHUTDOWN error.
      */
     int (*set)(struct vehicle_hw_device* device, const vehicle_prop_value_t *data);
 
