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(); }