using System.Text.Json.Serialization;

namespace OI.Metrology.Shared.Models;

public record Order(
        [property: JsonPropertyName("Bookings")] IReadOnlyList<Booking> Bookings,
        [property: JsonPropertyName("AllowedActions")] AllowedActions AllowedActions,
        [property: JsonPropertyName("Id")] string Id,
        [property: JsonPropertyName("ObjectId")] string ObjectId,
        [property: JsonPropertyName("Name")] string Name,
        [property: JsonPropertyName("Type")] string Type,
        [property: JsonPropertyName("TypeId")] int TypeId,
        [property: JsonPropertyName("State")] string State,
        [property: JsonPropertyName("StateId")] int StateId,
        [property: JsonPropertyName("StateIcon")] string StateIcon,
        [property: JsonPropertyName("StateColor")] string StateColor,
        [property: JsonPropertyName("ItemNumber")] string ItemNumber,
        [property: JsonPropertyName("CreatedDate")] DateTime CreatedDate,
        [property: JsonPropertyName("DecidedDate")] DateTime DecidedDate,
        [property: JsonPropertyName("CostCenterId")] string CostCenterId,
        [property: JsonPropertyName("CostCenterName")] string CostCenterName,
        [property: JsonPropertyName("Recipient")] string Recipient,
        [property: JsonPropertyName("RecipientId")] string RecipientId,
        [property: JsonPropertyName("Requestor")] string Requestor,
        [property: JsonPropertyName("RequestorId")] string RequestorId
    );