using RobotNet.VDA5050.Type; using System.ComponentModel.DataAnnotations; using System.Text.Json.Serialization; namespace RobotNet.VDA5050.Factsheet; public class AgvAction { [Required] [JsonPropertyName("actionType")] public string ActionType { get; set; } = string.Empty; [JsonPropertyName("actionDescription")] public string ActionDescription { get; set; } = string.Empty; [Required] [JsonPropertyName("actionScopes")] [JsonConverter(typeof(JsonStringEnumConverter))] public ActionScope[] ActionScopes { get; set; } = []; [JsonPropertyName("actionParameters")] public ActionParameter[] ActionParameters { get; set; } = []; [JsonPropertyName("resultDescription")] public string ResultDescription { get; set; } = string.Empty; [JsonPropertyName("blockingTypes")] [JsonConverter(typeof(JsonStringEnumConverter))] public BlockingType[] BlockingTypes { get; set; } = []; }