namespace CashLineERP.Application.Parties;

public sealed record OnboardingCaseDetailView(
    string SubjectTypeCode,
    long SubjectProfileId,
    long BusinessPartyId,
    string PartyCode,
    string PartyName,
    string PartyTypeCode,
    string ProfileCode,
    string InitiationPathCode,
    string SubmissionSourceCode,
    string SubmissionSourceDisplayName,
    string CaseStatusCode,
    string QueueCode,
    string WorkflowStatusCode,
    string CountryCode,
    string? TaxRegistrationNumber,
    string? Email,
    string? MobileNumber,
    string? AddressLine1,
    string? DomainStatusCode,
    bool IsActive,
    bool IsOnHold,
    string? HoldReason,
    string? ReviewDecisionNotes,
    int ChecklistItemCount,
    int UnresolvedChecklistItemCount,
    int FindingCount,
    int OpenFindingCount,
    bool ReadyForApproval,
    bool ReadyForActivation,
    DateTime? SubmittedAtUtc,
    string? SubmittedByLoginName,
    string? SubmittedByDisplayName,
    DateTime? ApprovedAtUtc,
    string? ApprovedByLoginName,
    DateTime? ActivatedAtUtc,
    string? ActivatedByLoginName,
    DateTime? LastReviewActivityAtUtc,
    string? LastReviewActorLoginName,
    IReadOnlyCollection<OnboardingReviewChecklistItemView> ChecklistItems,
    IReadOnlyCollection<OnboardingReviewFindingView> Findings);
