@if($errors->any())@endif

{{ $book['name'] }}

Public ID
{{ $book['public_id'] }}
Scope
{{ ucfirst($book['scope']) }}
Owner
{{ $book['owner'] }}
Currency
{{ $book['currency'] }}
Status
{{ ucfirst($book['status']) }}
@if($book['status']==='active')
@csrf @method('PATCH')
@endif

Add / Schedule Rate

One SMS unit equals one SMS segment.

@csrf

Rate History

@forelse($book['rates'] as $rate)@empty@endforelse
Destination PrefixUnit PriceEffective From UTCEffective Until UTCStatusLifecycleAction
{{ $rate['prefix'] }}TZS {{ $rate['unit_price'] }} / SMS unit{{ $rate['from']->utc()->format('Y-m-d H:i:s') }}{{ $rate['until']?->utc()->format('Y-m-d H:i:s') ?? 'Open-ended' }}{{ ucfirst($rate['status']) }}{{ $rate['state'] }}@if($rate['state']==='Future' && $rate['status']==='active')
@csrf @method('PATCH')
@else Read-only @endif
No rates found.
{{ $book['rates']->links() }}
Pricing precedence

Application → Tenant → Platform. Within the winning scope, the longest exact destination prefix wins. Effective From is inclusive; Effective Until is exclusive. Historical and current rates are immutable.