@section('title', 'Schedule') @section('heading', 'Schedule') @section('top-menu-items') @can('write_schedule') @endcan @endsection
5 passengers
Event Image

{{ \Carbon\Carbon::parse($currentDate)->format('D M j, Y') }}

@foreach ($vessels as $vessel)
{{ $vessel->name }}
@if ($vessel->default_availability != 'available') Not Available @endif
@php $vesselNote = $vesselNotes[$vessel->id] ?? null; @endphp @if($vesselNote && ($vesselNote['pilot_name'] || $vesselNote['aircraft_id']))
@if($vesselNote['pilot_name'])
Pilot: {{ $vesselNote['pilot_name'] }}
@endif @if($vesselNote['aircraft_id'])
Aircraft: {{ $vesselNote['aircraft_id'] }}
@endif
@else
Click to add pilot/aircraft
@endif
@endforeach @foreach ($timeSlots as $slot)
{{ $slot }}
@foreach ($vessels as $vessel) @php $bookingCount = 0; $bookingDetails = []; $bookedSeats = 0; @endphp @foreach ($bookings as $booking) @php $slotStart = \Carbon\Carbon::parse($slot); $slotEnd = (clone $slotStart)->addMinutes((int) $increment); $bookingTime = \Carbon\Carbon::parse($booking['start']); $slotStartTime = $slotStart->format('H:i:s'); $bookingTimeTime = $bookingTime->format('H:i:s'); $formattedSlotStart = $slotStart->format('H:i:s'); $formattedSlotEnd = $slotEnd->format('H:i:s'); $formattedBookingTime = $bookingTime->format('H:i:s'); @endphp @if ( $formattedBookingTime >= $formattedSlotStart && $formattedBookingTime < $formattedSlotEnd && $booking['vessel']==$vessel->id) @php $bookingCount++; $bookingDetails[] = $booking; $bookedSeats += $booking['seats']; @endphp @endif @endforeach @php // Calculate remaining seats based on regular bookings only (exclude block bookings) $regularBookings = collect($bookingDetails)->filter(function($b) { return !($b['hasBlockedBooking'] ?? false); }); $regularBookedSeats = $regularBookings->sum('seats'); $maxSeatsForRegular = $regularBookings->max('tour_max_seats') ?? 0; $totalSeats = min($vessel->seats, $maxSeatsForRegular); $remSeats = $totalSeats - $regularBookedSeats; $remainingSeats = max(0, $remSeats); $lastTopOffset = 0; @endphp
hasRole(['Owner', 'Administrator']) || Auth::user()->can('schedule_override'); @endphp @if ( !$isHoliday && $vessel->default_availability == 'available' && (!$this->isSlotUnavailable($slot, $currentDate) || $canBooking ) && (!$this->isSlotUnavailableTour($slot, $currentDate, $vessel->id) || $canBooking ) ) wire:click="openSidebar('{{ $slot }}', '{{ $vessel->name }}', {{ $vessel->vessel_type_id }}, {{ $vessel->id }})" @else @click="window.dispatchEvent(new CustomEvent('show-blockbooking-modal'))" @endif>
@foreach ($bookingDetails as $booking) @php $isRelated = in_array( $booking['id'], is_array($this->relatedBookingIds) ? $this->relatedBookingIds : $this->relatedBookingIds->toArray(), ); $isSelected = $this->selectedBookingId === $booking['id']; $slotStart = \Carbon\Carbon::parse($slot); $bookingTime = \Carbon\Carbon::parse($booking['start']); $slotStartTime = $slotStart->format('H:i:s'); $bookingTimeTime = $bookingTime->format('H:i:s'); $timeDifference = Carbon\Carbon::parse($slotStartTime)->diffInMinutes( Carbon\Carbon::parse($bookingTimeTime), false, ); $topOffset = $timeDifference * ($increment == '15' ? 4 : 2); $lastTopOffset = $topOffset; @endphp
{!! $booking['notes'] !!}
@if(!($booking['block'] ?? false) || ($booking['is_blocked_seats'] ?? false))
{{ $booking['seats'] }} {!! $booking['customer_partner'] !!}
@if(!($booking['block'] ?? false))
{{ $booking['order'] }} {!! $booking['icon_status'] !!}
@endif @endif
@foreach (['customer_name', 'partner_name', 'group_title', 'title'] as $field) @if(!empty($booking[$field]))

{{ $booking[$field] }}

@endif @endforeach
@endforeach
@php $hasRegularBooking = collect($bookingDetails)->contains(function($b) { return !is_null($b['tour_id']) && !($b['hasBlockedBooking'] ?? false); }); // Get the first regular booking for duration calculation $firstRegularBooking = collect($bookingDetails)->first(function($b) { return !is_null($b['tour_id']) && !($b['hasBlockedBooking'] ?? false); }); @endphp @if ( $remainingSeats > 0 && $hasRegularBooking && $firstRegularBooking && !$booking['hasBlockedBooking'] && !$booking['private_flight'] )
+ {{ $remainingSeats }}
@endif
@endforeach @endforeach
@if ($selectedBooking) @endif
@if (($showAddParticipantModal && $selectedTour) && !$isEditing) @endif {{-- JS Section --}} @push('scripts') @endpush {{-- Block booking Model --}}
Loading...
@push('modals') @livewire('modals.refund-modal', ['calledFrom' => 'calendar']) @livewire('modals.bulk-discount-modal') @livewire('modals.participant-actions') @livewire('manage-participants') @endpush @push('styles') @endpush @push('scripts') @endpush