namespace RobotNet10.FleetManager.Services.TrafficControl.Models;
///
/// Represents a conflict between robots
///
public class Conflict
{
///
/// Type of conflict
///
public ConflictType Type { get; set; }
///
/// List of robot IDs involved in this conflict
///
public List InvolvedRobots { get; set; } = new();
///
/// List of conflicting edge IDs
///
public List ConflictingEdges { get; set; } = new();
///
/// List of conflicting node IDs
///
public List ConflictingNodes { get; set; } = new();
///
/// When the conflict was detected
///
public DateTime DetectedAt { get; set; } = DateTime.UtcNow;
///
/// Severity of the conflict
///
public ConflictSeverity Severity { get; set; }
///
/// Resolution strategy for this conflict
///
public ConflictResolution? Resolution { get; set; }
///
/// Additional details about the conflict
///
public Dictionary ConflictDetails { get; set; } = new();
///
/// Estimated number of new conflicts that may arise from resolving this conflict
///
public int EstimatedNewConflicts { get; set; }
///
/// List of other conflict keys that can be resolved by resolving this conflict
///
public List CanResolveConflicts { get; set; } = new();
}