namespace RobotNet10.FleetManager.Services.TrafficControl.Models;
///
/// Represents an edge reservation for a robot
///
public class EdgeReservation
{
///
/// Edge ID (Guid from database)
///
public Guid EdgeId { get; set; }
///
/// Edge ID string (VDMA LIF edgeId)
///
public string EdgeIdString { get; set; } = string.Empty;
///
/// Start Node ID of the edge
///
public Guid StartNodeId { get; set; }
///
/// End Node ID of the edge
///
public Guid EndNodeId { get; set; }
///
/// Robot ID that reserved this edge
///
public string RobotId { get; set; } = string.Empty;
///
/// Order ID associated with this reservation
///
public string OrderId { get; set; } = string.Empty;
///
/// When the reservation was created
///
public DateTime ReservedAt { get; set; } = DateTime.UtcNow;
///
/// When the reservation expires (based on edge length and robot speed)
///
public DateTime ReservedUntil { get; set; }
///
/// Reservation status
///
public ReservationStatus Status { get; set; } = ReservationStatus.Reserved;
}