@extends('layouts.admin') @section('title','Receipt verification') @section('admin-content')
IN-STORE PURCHASES

Receipt verification.

Check purchases against store sales records to confirm provisional wheel rewards.

@if($customer)

Claims for {{ $customer->name }} · {{ $customer->email }} Show all customers

@endif @if($tab==='settings')

Eligibility settings

Set these when you are ready. New claims are unavailable until the required rules are saved. Rules and spin allowance are saved with each submission; changes apply to new submissions.

@csrf @method('PUT') Admins check these written rules manually against the receipt and sales record.
@else

Current rules

{{ $rules->qualifying_purchases ?: 'Eligibility rules have not been configured yet.' }}

Minimum spend: {{ $rules->minimum_spend ?? 'Not set' }} · Receipt age: {{ $rules->valid_days ? $rules->valid_days.' days' : 'No limit' }} · Spins: {{ $rules->spins ?? 'Not set' }}

@forelse($receipts as $receipt)
Receipt {{ $receipt->receipt }}Click image to view full size

{{ $receipt->receipt }}

{{ $receipt->email }}

{{ $receipt->branch }} · {{ $receipt->purchase_date }}

Recorded amount: {{ $receipt->purchase_amount ?? 'Not recorded' }}

Submitted: {{ $receipt->created_at }}

@if(\Illuminate\Support\Facades\DB::table('receipt_submissions')->where('image_hash',$receipt->image_hash)->where('id','!=',$receipt->id)->exists())

Duplicate image warning: another submission uses this same image.

@endif @php($submittedProfile=json_decode($receipt->profile,true) ?: []) @if($submittedProfile)
Submitted customer details

Name: {{ $submittedProfile['name'] ?? 'Not provided' }} · Mobile: {{ $submittedProfile['mobile'] ?? 'Not provided' }}

@foreach($submittedProfile['custom_answers'] ?? [] as $answer)

{{ $answer['label'] }}: {{ $answer['value'] }}

@endforeach
@endif @php($claimResults=\Illuminate\Support\Facades\DB::table('spins')->where('receipt_id',$receipt->id)->get())

Provisional spins left: {{ $receipt->remaining_claim_spins }} / {{ $receipt->claim_spins }} · Review by: {{ $receipt->review_deadline ?: 'Not set' }}

@php($claimRules=json_decode($receipt->rules_snapshot,true) ?: []) @if($claimRules)
Rules saved for this claim

{{ $claimRules['qualifying_purchases'] ?? '' }}

Minimum spend: {{ $claimRules['minimum_spend'] ?? 'Not set' }}

@endif @foreach($claimResults as $reward)

{{ $reward->prize_name }} · {{ ucfirst($reward->reward_status) }} @if($reward->redemption_code)
Redemption code: {{ $reward->redemption_code }}@endif

@if($reward->reward_status==='confirmed')
@csrf
@endif @endforeach @foreach(\Illuminate\Support\Facades\DB::table('claim_emails')->where('receipt_id',$receipt->id)->get() as $emailJob)

Email: {{ ucfirst($emailJob->status) }} · {{ $emailJob->to }}@if($emailJob->sent_at) · {{ $emailJob->sent_at }}@endif

@if($emailJob->status!=='sent')
@csrf
@endif @endforeach @if($receipt->status==='pending')
@csrf
Reject receipt
@csrf
@else

{{ ucfirst($receipt->status) }} · {{ $receipt->reviewed_at }}

@if($receipt->spins)

{{ $receipt->spins }} results confirmed

@endif @if($receipt->reason)

{{ $receipt->reason }}

@endif @endif
@empty
{{ $tab==='all' ? 'No claims found.' : 'No '.$tab.' receipts.' }}
@endforelse @endif @endsection