namespace Modules.OMS.Orders.Search;

public sealed record OrderSearchRow(
    Guid Id,
    string OrderNo,
    string ChannelName,
    DateTimeOffset OrderedAt,
    string CustomerName,
    string ItemSummary,
    decimal TotalQty,
    decimal Amount,
    string AllocationStatus,
    string ShipmentStatus,
    int ExceptionCount);

public sealed record OrderSearchCounters(
    int All,
    int New,
    int ReadyToShip,
    int Exceptions);

public sealed record SearchOrdersResponse(
    IReadOnlyList<OrderSearchRow> Items,
    int TotalCount,
    decimal TotalQty,
    decimal TotalAmount,
    OrderSearchCounters Counters);
