Usage & billing

{{ $organization->name }} ยท {{ ucfirst($tier) }} plan

Pay-as-you-go rates

  • Meetings & webinars: GHS {{ number_format($billing->pricePerParticipantGhs(), 2) }} / participant (peak attendance when a session ends)
  • Recordings & shared files: GHS {{ number_format($billing->pricePerGbMonthGhs(), 2) }} / GB / month (same as Ladill Transfer)

Charges debit your Ladill wallet. Storage renews monthly; unpaid items enter a {{ $billing->gracePeriodDays() }}-day grace period before deletion.

@php $rows = [ 'participant_count' => ['label' => 'Session participants', 'used' => number_format($summary['participant_count'] ?? 0), 'cost' => $costs['participants'] ?? 0], 'recording_storage_bytes' => ['label' => 'Recording storage', 'used' => number_format(($summary['recording_storage_bytes'] ?? 0) / 1073741824, 2).' GB', 'cost' => $costs['recording_storage'] ?? 0], 'file_storage_bytes' => ['label' => 'Shared file storage', 'used' => number_format(($summary['file_storage_bytes'] ?? 0) / 1073741824, 2).' GB', 'cost' => $costs['file_storage'] ?? 0], 'ai_minutes' => ['label' => 'AI minutes', 'used' => number_format($summary['ai_minutes'] ?? 0), 'cost' => null], ]; @endphp @foreach ($rows as $metric => $row) @php $limit = (int) ($quotas[$metric] ?? 0); $pct = ($metric === 'participant_count' && $limit > 0) ? min(100, round(((int) ($summary['participant_count'] ?? 0) / $limit) * 100)) : (($metric !== 'participant_count' && $limit > 0) ? min(100, round(((int) ($summary[$metric] ?? 0) / $limit) * 100)) : 0); @endphp

{{ $row['label'] }}

Last 30 days: {{ $row['used'] }}

@if ($row['cost'] !== null) GHS {{ number_format($row['cost'], 2) }} @endif
@if ($limit > 0)
Plan allowance {{ $metric === 'participant_count' ? number_format($limit) : number_format($limit / 1073741824, 0).' GB' }}
@endif
@endforeach