@model PowderCoating.Web.ViewModels.Platform.OnboardingProgressIndexViewModel @using PowderCoating.Web.ViewModels.Platform @{ ViewData["Title"] = "Onboarding Progress"; Layout = "~/Views/Shared/_Layout.cshtml"; }
Activation funnel across all tenant companies
| Company | Wizard | Path | Milestones | First Job / Quote | First Invoice | Workflow Done | Widget Dismissed | Status |
|---|---|---|---|---|---|---|---|---|
| @row.CompanyName | @if (row.WizardCompleted) { } else { } | @if (!string.IsNullOrEmpty(row.OnboardingPath)) { @row.OnboardingPath } else { — } |
@{
var pct = row.TotalSteps == 0 ? 0 : row.StepsCompleted * 100 / row.TotalSteps;
var barColor = pct == 100 ? "bg-success" : "bg-primary";
}
|
@{ var firstActivity = row.FirstJobCreatedAt ?? row.FirstQuoteCreatedAt; } @(firstActivity.HasValue ? firstActivity.Value.ToString("MMM d, yyyy") : "—") | @(row.FirstInvoiceCreatedAt.HasValue ? row.FirstInvoiceCreatedAt.Value.ToString("MMM d, yyyy") : "—") | @(row.FirstWorkflowCompletedAt.HasValue ? row.FirstWorkflowCompletedAt.Value.ToString("MMM d, yyyy") : "—") | @(row.GuidedActivationDismissedAt.HasValue ? row.GuidedActivationDismissedAt.Value.ToString("MMM d, yyyy") : "—") | @switch (row.Status) { case OnboardingStatus.Complete: Complete break; case OnboardingStatus.InProgress: In Progress break; case OnboardingStatus.Dismissed: Dismissed break; default: Not Started break; } |
| No companies found. | ||||||||