namespace CashLineERP.Contracts.Sales;

public sealed record SalesOrderResponse(
    long SalesOrderId,
    string SalesOrderNumber,
    long BranchId,
    long CustomerId,
    DateOnly OrderDate,
    string CurrencyCode,
    decimal ExchangeRate,
    string StatusCode,
    string CreditStatusCode,
    string? CreditHoldReason,
    decimal? CreditLimitAmountAtCheck,
    decimal? CreditExposureAmountAtCheck,
    int OverdueInvoiceCountAtCheck,
    DateTime? CreditCheckedAtUtc,
    string? CreditReleaseDecisionCode,
    string? CreditReleaseNotes,
    DateTime? CreditReleasedAtUtc,
    long? CreditReleasedByUserId,
    decimal SubtotalAmount,
    decimal TaxAmount,
    decimal TotalAmount,
    IReadOnlyCollection<SalesOrderLineResponse> Lines);
