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