namespace Tiku.Application.Tenancy;

public sealed record TenantOnboardingStep(
    string Code,
    bool Required,
    bool Completed,
    string? Detail);

public sealed record TenantOnboardingStatus(
    Guid TenantId,
    bool ReadyForStudentTraffic,
    int CompletedRequiredSteps,
    int RequiredSteps,
    IReadOnlyCollection<TenantOnboardingStep> Steps);

public interface ITenantOnboardingService
{
    Task<TenantOnboardingStatus> GetStatusAsync(Guid tenantId, CancellationToken cancellationToken = default);
}