diff --git a/src/ZB.MOM.WW.ScadaBridge.Commons/Entities/Instances/InstanceAlarmOverride.cs b/src/ZB.MOM.WW.ScadaBridge.Commons/Entities/Instances/InstanceAlarmOverride.cs
index b07eedeb..71650a90 100644
--- a/src/ZB.MOM.WW.ScadaBridge.Commons/Entities/Instances/InstanceAlarmOverride.cs
+++ b/src/ZB.MOM.WW.ScadaBridge.Commons/Entities/Instances/InstanceAlarmOverride.cs
@@ -43,6 +43,11 @@ public class InstanceAlarmOverride
///
public int? PriorityLevelOverride { get; set; }
+ ///
+ /// Replaces the alarm's IsMesReportable flag when set. null = keep inherited.
+ ///
+ public bool? IsMesReportableOverride { get; set; }
+
///
/// Initializes a new alarm override for the specified alarm.
///
diff --git a/src/ZB.MOM.WW.ScadaBridge.Commons/Entities/Templates/TemplateAlarm.cs b/src/ZB.MOM.WW.ScadaBridge.Commons/Entities/Templates/TemplateAlarm.cs
index baa80c3f..60413577 100644
--- a/src/ZB.MOM.WW.ScadaBridge.Commons/Entities/Templates/TemplateAlarm.cs
+++ b/src/ZB.MOM.WW.ScadaBridge.Commons/Entities/Templates/TemplateAlarm.cs
@@ -16,6 +16,13 @@ public class TemplateAlarm
public int PriorityLevel { get; set; }
/// When true, this alarm is locked and cannot be overridden in derived templates.
public bool IsLocked { get; set; }
+ ///
+ /// When true, the alarm is reported to MES by the alarm-status API
+ /// (IsFlaggedForMES on the legacy contract). Default false. Overridable per
+ /// instance via
+ /// unless the alarm is locked.
+ ///
+ public bool IsMesReportable { get; set; }
/// Type of trigger condition that activates this alarm.
public AlarmTriggerType TriggerType { get; set; }
/// JSON-serialized trigger configuration specific to the .
diff --git a/src/ZB.MOM.WW.ScadaBridge.Commons/Types/Flattening/FlattenedConfiguration.cs b/src/ZB.MOM.WW.ScadaBridge.Commons/Types/Flattening/FlattenedConfiguration.cs
index 6f468538..934a9a75 100644
--- a/src/ZB.MOM.WW.ScadaBridge.Commons/Types/Flattening/FlattenedConfiguration.cs
+++ b/src/ZB.MOM.WW.ScadaBridge.Commons/Types/Flattening/FlattenedConfiguration.cs
@@ -123,6 +123,8 @@ public sealed record ResolvedAlarm
public int PriorityLevel { get; init; }
/// Gets whether the alarm is locked.
public bool IsLocked { get; init; }
+ /// Gets whether the alarm is reported to MES (template value after any instance override).
+ public bool IsMesReportable { get; init; }
/// Gets the trigger type.
public string TriggerType { get; init; } = string.Empty;