Files
BQP/srcs/RobotNet10/FleetManager/RobotNet10.FleetManager/Services/TrafficControl/Models/EdgeReservation.cs
2026-07-13 09:25:40 +07:00

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