@model VerificationDashboardViewModel @{ ViewData["Title"] = "Carton Shipment Verification"; }
SHIPPING MARK
🔊 SIREN: ON

🖶 SCAN QR CODE

@Html.AntiForgeryToken()
Format: modelnumber;uniquenumber — scans submit automatically.

SCANNED DETAILS

Model Number- Unique Number-

VERIFICATION STATUS

-
AWAITING SCAN
Waiting for QR input.
◴ Last Updated: -

📦 AVAILABLE CARTONS

@(Model.AvailableCartonsCount.HasValue ? Model.AvailableCartonsCount.Value.ToString("N0") : "—")
Not moved to warehouse

🛡 VERIFICATION RESULT

Exists in Carton Logs- Shipment Marked- Marked At- Marked BySystem

🗎 RECENT SCANS

Successful Scans

@{ var rowNumber = 1; } @foreach (var item in Model.RecentSuccessfulScans) { rowNumber++; }
# MODEL NUMBER UNIQUE NUMBER STATUS MOVED TO WAREHOUSE AT MARKED AT MARKED BY
@rowNumber @item.ModelNumber @item.UniqueNumber TRUE @(item.MovedToWarehouseAtUtc.HasValue ? DateTime.SpecifyKind(item.MovedToWarehouseAtUtc.Value, DateTimeKind.Utc).ToLocalTime().ToString("dd-MM-yyyy HH:mm:ss") : "-") @DateTime.SpecifyKind(item.ProcessedAtUtc, DateTimeKind.Utc).ToLocalTime().ToString("dd MMM yyyy h:mm tt") System
📦
No successful scans yet
Verified cartons will appear here.

Rejected Scans

@foreach (var item in Model.RecentRejectedScans) { }
TIME SCANNED / INPUT MODEL UNIQUE REASON
@DateTime.SpecifyKind(item.ProcessedAtUtc, DateTimeKind.Utc).ToLocalTime().ToString("dd MMM yyyy h:mm tt") @item.RawInputValue @(string.IsNullOrEmpty(item.ModelNumber) ? "—" : item.ModelNumber) @(string.IsNullOrEmpty(item.UniqueNumber) ? "—" : item.UniqueNumber) @item.RejectionReason
No rejected scans
Rejections will appear here with a reason.

Scan History & Analytics

@section Scripts { }