@extends('admin.layouts.app') @section('title', 'Reservations') @section('page_title', 'Reservations') @section('content')

Reservation Management

Review reservation requests, search guests and filter bookings by type or status.

@if (session('error'))
{{ session('error') }}
@endif

Search & Filter

Find a reservation using booking or guest information.
Reset

Reservation List

Total {{ $reservations->total() }} {{ \Illuminate\Support\Str::plural( 'reservation', $reservations->total() ) }}
@if ( request()->filled('search') || request()->filled('booking_type') || request()->filled('status') ) Filtered Result @endif
@forelse ($reservations as $reservation) @php $serviceName = 'Not specified'; $reservationDate = 'Not specified'; if ( $reservation->booking_type === \App\Models\Reservation::TYPE_ROOM ) { $serviceName = $reservation->roomType?->name ?? 'Deleted/Unavailable Room'; if ($reservation->check_in) { $reservationDate = $reservation->check_in ->format('d M Y'); if ($reservation->check_out) { $reservationDate .= ' – ' .$reservation->check_out ->format('d M Y'); } } } elseif ( $reservation->booking_type === \App\Models\Reservation::TYPE_VENUE_EVENT ) { $serviceName = $reservation->service_name ?: 'Venue/Event not specified'; if ($reservation->event_date) { $reservationDate = $reservation->event_date ->format('d M Y'); } } elseif ( $reservation->booking_type === \App\Models\Reservation::TYPE_PACKAGE ) { $serviceName = $reservation->service_name ?: 'Package not specified'; if ($reservation->event_date) { $reservationDate = $reservation->event_date ->format('d M Y'); } } $statusClass = match ( $reservation->status ) { \App\Models\Reservation::STATUS_PENDING => 'status-pending', \App\Models\Reservation::STATUS_CONTACTED => 'status-contacted', \App\Models\Reservation::STATUS_CONFIRMED => 'status-confirmed', \App\Models\Reservation::STATUS_COMPLETED => 'status-completed', \App\Models\Reservation::STATUS_CANCELLED => 'status-cancelled', default => 'status-unknown', }; @endphp @empty @endforelse
SL Booking Guest Information Booking Type Requested Service Reservation Date Status Estimated Amount Submitted Action
{{ $reservations->firstItem() + $loop->index }}
{{ $reservation->booking_number }}
Source: {{ \Illuminate\Support\Str::headline( $reservation->source ) }}
{{ $reservation->guest_name }}
{{ $reservation->phone }}
@if ($reservation->email)
{{ $reservation->email }}
@endif @if ($reservation->company_name)
{{ $reservation->company_name }}
@endif
{{ $bookingTypes[ $reservation->booking_type ] ?? \Illuminate\Support\Str::headline( $reservation->booking_type ) }}
{{ $serviceName }}
@if ( $reservation->booking_type === \App\Models\Reservation::TYPE_VENUE_EVENT && $reservation->event_type )
Event: {{ \Illuminate\Support\Str::headline( $reservation->event_type ) }}
@endif @if ( $reservation->number_of_rooms )
{{ $reservation->number_of_rooms }} {{ \Illuminate\Support\Str::plural( 'room', $reservation->number_of_rooms ) }}
@endif
{{ $reservationDate }}
@if ($reservation->expected_guests)
{{ $reservation->expected_guests }} expected guests
@elseif ( $reservation->adults || $reservation->children )
{{ $reservation->adults ?? 0 }} adults, {{ $reservation->children ?? 0 }} children
@endif
{{ $statuses[ $reservation->status ] ?? \Illuminate\Support\Str::headline( $reservation->status ) }} @if ( ! is_null( $reservation->estimated_amount ) )
৳{{ number_format( (float) $reservation ->estimated_amount, 2 ) }}
@if ( ! is_null( $reservation->advance_amount ) )
Advance: ৳{{ number_format( (float) $reservation ->advance_amount, 2 ) }}
@endif @else Not set @endif
{{ $reservation->created_at ->format('h:i A') }}
View Details
R

No reservation found

@if ( request()->filled('search') || request()->filled('booking_type') || request()->filled('status') )

No reservation matches your current search or filter.

Clear All Filters @else

Website reservation requests will appear here.

@endif
@if ($reservations->hasPages()) @endif
@endsection @push('styles') @endpush