namespace CashLineERP.Contracts.Sales;

public sealed record DispatchOrderResponse(
    long DispatchOrderId,
    string DispatchNumber,
    long BranchId,
    long SalesOrderId,
    long DispatchWarehouseId,
    string StatusCode,
    DateTime? PlannedShipAtUtc,
    DateTime? ShippedAtUtc,
    DateTime? DeliveredAtUtc,
    string? ProofOfDeliveryReceiver,
    DateTime? ProofOfDeliveryCapturedAtUtc,
    long? ProofOfDeliveryCapturedByUserId,
    string? DeliveryConditionCode,
    string? ProofOfDeliveryReference,
    string? ProofOfDeliveryNotes,
    string? DeliveryExceptionCode,
    DateTime? DeliveryExceptionRecordedAtUtc,
    long? DeliveryExceptionRecordedByUserId,
    string? DeliveryExceptionNotes,
    string? DeliveryRecoveryStatusCode,
    DateTime? DeliveryRecoveredAtUtc,
    long? DeliveryRecoveredByUserId,
    string? DeliveryRecoveryNotes,
    IReadOnlyCollection<DispatchOrderLineResponse> Lines);
