@php
$statusMap = [
'draft' => ['label' => 'Draft', 'class' => 'secondary'],
'submitted' => ['label' => 'Submitted', 'class' => 'primary'],
'approved' => ['label' => 'Approved', 'class' => 'success'],
'declined' => ['label' => 'Declined', 'class' => 'danger'],
];
$st = $statusMap[$application->elap_status ?? 'draft'] ?? ['label' => ucfirst($application->elap_status ?? 'draft'), 'class' => 'secondary'];
$pct = 0;
$completedSteps = $application->completed_steps ?? [];
if (count($completedSteps)) { $pct = round((count($completedSteps) / 6) * 100); }
$barColor = match(true) {
$pct >= 100 => 'success',
$pct >= 67 => 'info',
$pct >= 34 => 'warning',
default => 'danger',
};
@endphp
{{-- Nav Tabs (7 tabs = Overview + 6 wizard steps) --}}
{{-- ══════════════════════════════════════════
TAB 1: OVERVIEW
Merged summary of all important data
══════════════════════════════════════════ --}}
{{-- Status bar --}}
Application Status
{{ $st['label'] }}
@if($application->elap_application_id)
ELAP: {{ $application->elap_application_id }}
@endif
Completion Progress
Steps completed: {{ count($completedSteps) }}/6
@if(count($completedSteps)) ({{ implode(', ', $completedSteps) }}) @endif
Created
{{ $application->created_at->format('M d, Y') }}
{{ $application->created_at->format('H:i') }}
@if($application->submitted_at)
Submitted: {{ \Carbon\Carbon::parse($application->submitted_at)->format('M d, Y') }}
@endif
Documents Attached
{{ $application->documents->count() }} file(s)
@if($application->owners->count())
{{ $application->owners->count() }} owner(s) on record
@endif
{{-- Business Summary --}}
Business Information
@if($application->business)
@php $b = $application->business; @endphp
DBA Name:
{{ $b->dba_name ?: '—' }}
Legal Name:
{{ $b->legal_name ?: '—' }}
Business Type:
{{ $b->business_type ?: '—' }}
Ownership Type:
{{ $b->ownership_type ?: '—' }}
SIC Code:
{{ $b->sic_code ?: '—' }}
@else
Business details not saved yet.
@endif
{{-- Configuration + Financial snapshot --}}
Configuration
@if($application->configuration)
@php $c = $application->configuration; @endphp
Association:
{{ $c->elap_association ?: '—' }}
Sales Rep:
{{ $c->elap_sales_rep ?: '—' }}
Lead Source:
{{ $c->elap_lead_source ?: '—' }}
App Type:
{{ $c->merch_app_type ?: '—' }}
@else
Configuration not saved yet.
@endif
@if($application->processingInfo)
@php $pi = $application->processingInfo; @endphp
Financial Snapshot
Annual Volume:
{{ $pi->annual_volume !== null ? '$' . number_format($pi->annual_volume, 2) : '—' }}
Avg Ticket:
{{ $pi->avg_ticket_amount !== null ? '$' . number_format($pi->avg_ticket_amount, 2) : '—' }}
@if($application->feeSchedule)
Processing Type:
{{ $application->feeSchedule->processing_type ?: '—' }}
All Card Rate:
{{ $application->feeSchedule->all_card_rate !== null ? $application->feeSchedule->all_card_rate . '%' : '—' }}
@endif
@endif
{{-- Primary Address + Primary Owner --}}
@if($application->addresses->count() || $application->owners->count())
@if($application->addresses->count())
@php $primaryAddr = $application->addresses->first(); @endphp
Primary Address {{ $primaryAddr->address_type }}
@if($primaryAddr->contact_first_name || $primaryAddr->contact_last_name)
{{ trim(($primaryAddr->contact_title ? $primaryAddr->contact_title . ' ' : '') . $primaryAddr->contact_first_name . ' ' . $primaryAddr->contact_last_name) }}
@endif
{{ $primaryAddr->address_line1 ?: '—' }}
@if($primaryAddr->address_line2)
{{ $primaryAddr->address_line2 }}
@endif
{{ trim(($primaryAddr->city ?? '') . ($primaryAddr->city && $primaryAddr->state ? ', ' : '') . ($primaryAddr->state ?? '') . ' ' . ($primaryAddr->zip_code ?? ''), ' ,') ?: '—' }}
@if($primaryAddr->contact_phone)
{{ $primaryAddr->contact_phone }}
@endif
@if($primaryAddr->contact_email)
{{ $primaryAddr->contact_email }}
@endif
@endif
@if($application->owners->count())
@php $primaryOwner = $application->owners->sortBy('owner_sequence')->first(); @endphp
Primary Owner
Name:
{{ trim(($primaryOwner->contact_title ? $primaryOwner->contact_title . ' ' : '') . $primaryOwner->first_name . ' ' . $primaryOwner->last_name) ?: '—' }}
Ownership:
{{ $primaryOwner->ownership_percent !== null ? $primaryOwner->ownership_percent . '%' : '—' }}
Email:
{{ $primaryOwner->email ?: '—' }}
Roles:
@if($primaryOwner->is_app_signer) App Signer @endif
@if($primaryOwner->is_personal_guarantor) Guarantor @endif
@if($primaryOwner->is_beneficial_owner) Beneficial Owner @endif
@if(!$primaryOwner->is_app_signer && !$primaryOwner->is_personal_guarantor && !$primaryOwner->is_beneficial_owner) — @endif
@endif
@endif
{{-- /tab-overview --}}
{{-- ══════════════════════════════════════════
TAB 2: STEP 1 — CONFIGURATION
══════════════════════════════════════════ --}}
@if($application->configuration)
@php $c = $application->configuration; @endphp
Application Configuration
Lead Source:
{{ $c->elap_lead_source ?: '—' }}
Association:
{{ $c->elap_association ?: '—' }}
Sales Rep:
{{ $c->elap_sales_rep ?: '—' }}
App Type:
{{ $c->merch_app_type ?: '—' }}
Sponsor Bank:
{{ $c->sponsor_bank ?: '—' }}
@else
Configuration not saved yet.
@endif
{{-- /tab-config --}}
{{-- ══════════════════════════════════════════
TAB 3: STEP 2 — BUSINESS INFO
Includes: Business details, Processing volumes,
Addresses, Bank Accounts
══════════════════════════════════════════ --}}
{{-- Business Details --}}
Business Details
@if($application->business)
@php $b = $application->business; @endphp
DBA Name:
{{ $b->dba_name ?: '—' }}
Legal Name:
{{ $b->legal_name ?: '—' }}
Customer Service #:
{{ $b->merch_cust_service_num ?: '—' }}
Years in Business:
{{ $b->years_in_business ?: '—' }}
Business Type:
{{ $b->business_type ?: '—' }}
Ownership Type:
{{ $b->ownership_type ?: '—' }}
SIC Code:
{{ $b->sic_code ?: '—' }}
Tax ID Type:
{{ $b->tax_id_type ?: '—' }}
Tax Exempt:
{!! $b->tax_exempt ? 'Yes' : 'No' !!}
501(c)(3) Charity:
{!! $b->charity_501c3_exempt ? 'Yes' : 'No' !!}
@if($b->business_description)
Business Description:
{{ $b->business_description }}
@endif
@else
Business details not saved yet.
@endif
{{-- Processing Information --}}
Processing Volumes
@if($application->processingInfo)
@php $pi = $application->processingInfo; @endphp
Annual Volume:
{{ $pi->annual_volume !== null ? '$' . number_format($pi->annual_volume, 2) : '—' }}
Avg Ticket:
{{ $pi->avg_ticket_amount !== null ? '$' . number_format($pi->avg_ticket_amount, 2) : '—' }}
Highest Ticket:
{{ $pi->highest_ticket_amount !== null ? '$' . number_format($pi->highest_ticket_amount, 2) : '—' }}
Card Present %:
{{ $pi->card_present_percent !== null ? $pi->card_present_percent . '%' : '—' }}
E-Commerce %:
{{ $pi->e_commerce_percent !== null ? $pi->e_commerce_percent . '%' : '—' }}
Manually Keyed %:
{{ $pi->manually_keyed_moto_percent !== null ? $pi->manually_keyed_moto_percent . '%' : '—' }}
@else
Processing volumes not saved yet.
@endif
{{-- Addresses --}}
Addresses
@if($application->addresses->count())
@foreach($application->addresses as $addr)
{{ $addr->address_type }} Address
@if($addr->contact_first_name || $addr->contact_last_name)
{{ trim(($addr->contact_title ? $addr->contact_title . ' ' : '') . $addr->contact_first_name . ' ' . $addr->contact_last_name) }}
@endif
{{ $addr->address_line1 ?: '—' }}
@if($addr->address_line2)
{{ $addr->address_line2 }}
@endif
{{ trim(($addr->city ?? '') . ($addr->city && $addr->state ? ', ' : '') . ($addr->state ?? '') . ' ' . ($addr->zip_code ?? ''), ' ,') ?: '—' }}
@if($addr->contact_email)
{{ $addr->contact_email }}
@endif
@if($addr->contact_phone)
{{ $addr->contact_phone }}
@endif
@endforeach
@else
No addresses saved yet.
@endif
{{-- Bank Accounts --}}
Bank Accounts
@if($application->bankAccounts->count())
| # |
Account Type |
Usage |
Default |
@foreach($application->bankAccounts->sortBy('account_sequence') as $bank)
| {{ $bank->account_sequence }} |
{{ ucfirst($bank->account_type ?? '—') }} |
@if(is_array($bank->usage_types) && count($bank->usage_types))
@foreach($bank->usage_types as $u)
{{ $u }}
@endforeach
@else —
@endif
|
{!! $bank->is_default ? 'Yes' : 'No' !!}
|
@endforeach
@else
No bank accounts saved yet.
@endif
{{-- /tab-business --}}
{{-- ══════════════════════════════════════════
TAB 4: STEP 3 — OWNERS
══════════════════════════════════════════ --}}
Owners / Officers
@if($application->owners->count())
@foreach($application->owners->sortBy('owner_sequence') as $owner)
{{ $owner->owner_sequence }}
{{ trim(($owner->contact_title ? $owner->contact_title . ' ' : '') . $owner->first_name . ' ' . $owner->last_name) ?: 'Owner #' . $owner->owner_sequence }}
@if($owner->is_app_signer) App Signer @endif
@if($owner->is_personal_guarantor) Guarantor @endif
@if($owner->is_beneficial_owner) Beneficial Owner @endif
@if($owner->is_individual_control) Control @endif
Ownership %:
{{ $owner->ownership_percent !== null ? $owner->ownership_percent . '%' : '—' }}
US Citizen:
{!! $owner->is_us_citizen ? 'Yes' : 'No' !!}
Email:
{{ $owner->email ?: '—' }}
Phone:
{{ $owner->phone ?: '—' }}
Address:
{{ $owner->address_line1 ?: '—' }}
@if($owner->address_line2)
Address 2:
{{ $owner->address_line2 }}
@endif
City / State:
{{ trim(($owner->city ?? '') . ($owner->city && $owner->state ? ', ' : '') . ($owner->state ?? '') . ' ' . ($owner->zip_code ?? ''), ' ,') ?: '—' }}
Country:
{{ $owner->country ?: '—' }}
@endforeach
@else
No owners saved yet.
@endif
{{-- /tab-owners --}}
{{-- ══════════════════════════════════════════
TAB 5: STEP 4 — PRODUCTS & CARD TYPES
══════════════════════════════════════════ --}}
{{-- Products --}}
Terminal Products
@if($application->products->count())
| Terminal # |
Type |
Brand / Model |
Connection |
Monthly Fee |
Setup Fee |
@foreach($application->products as $product)
| {{ $product->terminal_number ?: '—' }} |
{{ $product->product_type ?: '—' }} |
{{ trim($product->brand . ' ' . $product->model) ?: '—' }} |
{{ $product->connection_method ?: '—' }} |
{{ $product->monthly_fee !== null ? '$' . number_format($product->monthly_fee, 2) : '—' }} |
{{ $product->setup_fee !== null ? '$' . number_format($product->setup_fee, 2) : '—' }} |
@endforeach
@else
No products saved yet.
@endif
{{-- Card Types --}}
Card Type Preferences
@if($application->cardTypes)
@php $ct = $application->cardTypes; @endphp
AMEX Requested:
{!! $ct->amex_requested ? 'Yes' : 'No' !!}
Debit Requested:
{!! $ct->debit_requested ? 'Yes' : 'No' !!}
EBT Requested:
{!! $ct->ebt_requested ? 'Yes' : 'No' !!}
Debit Cash Back:
{!! $ct->debit_cash_back_requested ? 'Yes' : 'No' !!}
AMEX Marketing:
{!! $ct->amex_marketing_materials ? 'Yes' : 'No' !!}
@if($ct->ebt_requested && $ct->ebt_fns_fcs_number)
EBT FNS/FCS #:
{{ $ct->ebt_fns_fcs_number }}
@endif
@else
Card type preferences not saved yet.
@endif
{{-- /tab-products --}}
{{-- ══════════════════════════════════════════
TAB 6: STEP 5 — FEE SCHEDULE
══════════════════════════════════════════ --}}
@if($application->feeSchedule)
@php $fs = $application->feeSchedule; @endphp
{{-- Base Pricing --}}
Processing & Pricing
Processing Type:
{{ $fs->processing_type ?: '—' }}
Pricing Plan:
{{ $fs->pricing_plan ?: '—' }}
All Card Rate:
{{ $fs->all_card_rate !== null ? $fs->all_card_rate . '%' : '—' }}
Per Item Fee:
{{ $fs->per_item_fee !== null ? '$' . $fs->per_item_fee : '—' }}
@if($fs->mid_qual_percent !== null)
Mid-Qual %:
{{ $fs->mid_qual_percent . '%' }}
Mid-Qual Per Item:
{{ $fs->mid_qual_per_item !== null ? '$' . $fs->mid_qual_per_item : '—' }}
@endif
@if($fs->non_qual_percent !== null)
Non-Qual %:
{{ $fs->non_qual_percent . '%' }}
Non-Qual Per Item:
{{ $fs->non_qual_per_item !== null ? '$' . $fs->non_qual_per_item : '—' }}
@endif
{{-- Monthly / Annual Fees --}}
Monthly & Annual Fees
Monthly Service Fee:
{{ $fs->monthly_service_fee !== null ? '$' . number_format($fs->monthly_service_fee, 2) : '—' }}
Monthly Minimum:
{{ $fs->monthly_minimum !== null ? '$' . number_format($fs->monthly_minimum, 2) : '—' }}
Annual Fee:
{{ $fs->annual_fee !== null ? '$' . number_format($fs->annual_fee, 2) : '—' }}
Paper Statement Fee:
{{ $fs->paper_statement_fee !== null ? '$' . number_format($fs->paper_statement_fee, 2) : '—' }}
Chargeback Fee:
{{ $fs->chargeback_fee !== null ? '$' . number_format($fs->chargeback_fee, 2) : '—' }}
Retrieval Fee:
{{ $fs->retrieval_fee !== null ? '$' . number_format($fs->retrieval_fee, 2) : '—' }}
Early Termination Fee:
{{ $fs->early_termination_fee !== null ? '$' . number_format($fs->early_termination_fee, 2) : '—' }}
ACH Change Fee:
{{ $fs->ach_change_fee !== null ? '$' . number_format($fs->ach_change_fee, 2) : '—' }}
Same Day ACH:
{!! $fs->same_day_ach ? 'Yes' : 'No' !!}
{{-- Auth Fees --}}
Authorization Fees
All Card Auth:
{{ $fs->auth_fee_all_card !== null ? '$' . $fs->auth_fee_all_card : '—' }}
Batch Close:
{{ $fs->auth_fee_batch_close !== null ? '$' . $fs->auth_fee_batch_close : '—' }}
Voice Auth:
{{ $fs->auth_fee_voice !== null ? '$' . $fs->auth_fee_voice : '—' }}
ARU Auth:
{{ $fs->auth_fee_aru !== null ? '$' . $fs->auth_fee_aru : '—' }}
{{-- Options --}}
Options
Daily Discount:
{!! $fs->include_daily_discount ? 'Yes' : 'No' !!}
Early Termination Applied:
{!! $fs->apply_early_termination ? 'Yes' : 'No' !!}
App Setup Fee:
{{ $fs->application_setup_fee !== null ? '$' . number_format($fs->application_setup_fee, 2) : '—' }}
@else
Fee schedule not saved yet.
@endif
{{-- /tab-fees --}}
{{-- ══════════════════════════════════════════
TAB 7: STEP 6 — DOCUMENTS
══════════════════════════════════════════ --}}
Attached Documents
@if($application->documents->count())
| # |
Document Type |
File Name |
Size |
Type |
Uploaded |
@foreach($application->documents->sortByDesc('created_at') as $doc)
| {{ $loop->iteration }} |
{{ str_replace('_', ' ', ucfirst($doc->document_type ?? '—')) }}
|
{{ $doc->original_filename ?: '—' }}
|
@if($doc->file_size)
@php
$kb = $doc->file_size / 1024;
echo $kb >= 1024 ? number_format($kb / 1024, 2) . ' MB' : number_format($kb, 1) . ' KB';
@endphp
@else —
@endif
|
{{ $doc->mime_type ?: '—' }} |
{{ $doc->created_at->format('M d, Y H:i') }} |
@endforeach
@else
No documents have been attached to this application yet.
@endif
@if($application->elap_status === 'draft')
@endif
{{-- /tab-docs --}}