Receipts submitted {{ $from->format('d M Y') }}–{{ $to->format('d M Y') }}, Malaysia time (UTC+8). Outcomes are current as of {{ now()->format('d M Y, H:i') }}. Filters apply to receipt submission date, not purchase, approval or email date. Older branch names without a linked store are included only when no state or branch is selected.
@foreach(['Participants'=>(int)$counts->participants,'Receipts submitted'=>(int)$counts->submitted,'Approved receipts'=>(int)$counts->approved,'Spins played'=>$spinCount,'TNG PINs issued'=>$issued,'TNG value issued'=>'MYR '.number_format($issuedValue,2)] as $label=>$value){{ $label }}{{ is_int($value)?number_format($value):$value }}@endforeach
Average recorded approved purchase: {{ $currency }} {{ number_format($amount['cents']/100/$amount['count'],2) }} · {{ $amount['count'] }} receipts
@empty
No recorded approved purchase amounts.
@endforelse{{ $missingAmounts }} approved receipts have no recorded amount. Values represent approved receipt purchases; they do not establish sales caused by this campaign.
New and returning participants
First-time participants
{{ (int)$counts->participants-$returning }}
Returning participants
{{ $returning }}
A participant has a verified customer account linked to a receipt in this selection. Returning means they submitted a receipt before this date range, across any branch. This is participation history, not account registration.
Daily receipt activity
Submitted receipts and their currently approved outcomes, grouped by submission day.
@foreach(['Submitted'=>(int)$counts->submitted,'Email verified'=>(int)$counts->verified,'At least one spin played'=>$played,'At least one confirmed result'=>$won] as $label=>$value)
{{ $label }}{{ $value }}{{ $value }}
@endforeachReceipts can be approved before or after spinning. Confirmed wheel results can include a no-prize outcome.
Top 20 recorded branch labels by receipt submissions. CSV includes every branch.
Branch
Participants
Receipts
Approved
Verified value
@forelse($branchRows->take(20) as $row)
{{ $row->branch }}
{{ $row->participants }}
{{ $row->receipts }}
{{ $row->approved }}
@forelse(($branchMoney[($row->branch_id??'legacy').'|'.$row->branch]??[]) as $currency=>$cents)
{{ $currency }} {{ number_format($cents/100,2) }}
@empty — @endforelse
@empty
No receipt activity in this selection.
@endforelse
Participants can appear in more than one branch. Historical branch labels are preserved.
Wheel results
Reward / outcome
Results
Confirmed
@forelse($rewards as $reward)
{{ $reward->prize_name }}
{{ $reward->wins }}
{{ $reward->confirmed }}
@empty
No spins for these receipts.
@endforelse
TNG issuance is counted only once per assigned PIN. It does not confirm redemption.
Currently available PINs across the whole campaign: {{ $available }}
Email and marketing audience
@foreach(['Email sent'=>'sent','Pending'=>'queued','Sending'=>'sending','Failed'=>'failed'] as $label=>$key)
{{ $label }}
{{ $email[$key]??0 }}
@endforeach
Email offers opted in
{{ (int)$audience->email }}
WhatsApp/SMS offers opted in
{{ (int)$audience->mobile }}
Spin sign-in links used
{{ (int)$links->used }}
Unused expired sign-in links
{{ (int)$links->expired }}
Email counts cover approval/reward email jobs for the selected receipts. Sent means accepted by the configured mail transport, not confirmed inbox delivery. Retry attempts are not extra emails in this count. Offer opt-ins are current consent for these participants. Link counts include replacement links and do not measure email opens.