using System.ComponentModel.DataAnnotations;

namespace RobotNet.RobotShares.VDA5050.Factsheet;

#nullable disable

public enum AgvKinematic
{
    DIFF,
    OMNI,
    THREEWHEEL
}
public enum AgvClass
{
    FORKLIFT,
    CONVEYOR,
    TUGGER,
    CARRIER
}
public enum LocalizationTypes
{
    NATURAL,
    REFLECTOR,
    RFID,
    DMC,
    SPOT,
    GRID,
}
public enum NavigationTypes
{
    PHYSICAL_LINDE_GUIDED,
    VIRTUAL_LINE_GUIDED,
    AUTONOMOUS,
}
public class TypeSpecification
{
    [Required]
    public string SeriesName { get; set; }  
    public string SeriesDescription { get; set; }
    [Required]
    public string AgvKinematic { get; set; }
    [Required]
    public string AgvClass { get; set; }
    [Required]
    public double MaxLoadMass { get; set; }
    [Required]
    public string[] LocalizationTypes { get; set; } = [];
    [Required]
    public string[] NavigationTypes { get; set; } = [];
}
