{{ __('hotel::modules.checkIn.checkIn') }}

@if($reservations->count())
@foreach ($reservations as $reservation)
{{-- Reservation number + rooms badge --}}

{{ $reservation->reservation_number }}

{{ $reservation->rooms_count }} {{ __('hotel::modules.checkIn.rooms') }}
{{-- Guest name --}}
{{ $reservation->primaryGuest->full_name }}
{{-- Divider --}}
{{-- Date/time + button on same row --}}
{{ $reservation->check_in_date->format('M d, Y') }} @if($reservation->check_in_time) · {{ Carbon\Carbon::parse($reservation->check_in_time)->format('g:i A') }} @endif
@endforeach
@else

{{ __('hotel::modules.checkIn.noReservationsForCheckIn') }}

@endif
{{ $reservations->links() }}
@if ($selectedReservation) {{ __('hotel::modules.checkIn.checkInModalTitle', ['number' => $selectedReservation->reservation_number]) }}
{{-- ══ Reservation banner ══ --}}

{{ $selectedReservation->reservation_number }} — {{ $selectedReservation->primaryGuest->full_name }}

{{ $selectedReservation->check_in_date->format('M d, Y') }} @if($selectedReservation->check_in_time) · {{ \Carbon\Carbon::parse($selectedReservation->check_in_time)->format('g:i A') }} @endif {{ $selectedReservation->check_out_date->format('M d, Y') }}

{{ $selectedReservation->rooms_count }} {{ __('hotel::modules.checkIn.rooms') }}
{{-- ══ SECTION 1: Room Assignment ══ --}}
{{ __('hotel::modules.checkIn.assignRooms') }}
@foreach($selectedReservation->reservationRooms as $reservationRoom)
{{-- Room-type sub-header --}}
{{ $reservationRoom->roomType->name }} {{ __('hotel::modules.checkIn.quantity') }} {{ $reservationRoom->quantity }}
{{-- Dropdowns or no-rooms warning --}}
@if(empty($availableRooms[$reservationRoom->room_type_id]) || $availableRooms[$reservationRoom->room_type_id]->isEmpty())

{{ __('hotel::modules.checkIn.noVacantRoomsForType', ['type' => $reservationRoom->roomType->name]) }}

@else @for($i = 0; $i < $reservationRoom->quantity; $i++)
{{ $i + 1 }} @foreach($availableRooms[$reservationRoom->room_type_id] as $room) @endforeach
@endfor @endif
@endforeach
{{-- ══ SECTION 2: Guest Details ══ --}}
{{ __('hotel::modules.checkIn.guestDetails') }}
{{-- Primary guest — collapsible read-only --}} @php $pg = $selectedReservation->primaryGuest; @endphp
@php $pgFields = [ __('hotel::modules.guest.firstName') => $pg->first_name ?: '—', __('hotel::modules.guest.lastName') => $pg->last_name ?: '—', __('hotel::modules.guest.phone') => $pg->phone ?: '—', __('hotel::modules.guest.email') => $pg->email ?: '—', __('hotel::modules.guest.idType') => $pg->id_type ? ucwords(str_replace('_', ' ', $pg->id_type)) : '—', __('hotel::modules.guest.idNumber') => $pg->id_number ?: '—', ]; @endphp
@foreach($pgFields as $label => $value)

{{ $label }}

{{ $value }}

@endforeach
{{-- Additional guests --}} @foreach($additionalGuests as $gIndex => $guest)
{{ __('hotel::modules.guest.firstName') }} * @error("additionalGuests.{$gIndex}.first_name")

{{ $message }}

@enderror
{{ __('hotel::modules.guest.lastName') }}
{{ __('hotel::modules.guest.phone') }} * @error("additionalGuests.{$gIndex}.phone")

{{ $message }}

@enderror
{{ __('hotel::modules.guest.email') }} @error("additionalGuests.{$gIndex}.email")

{{ $message }}

@enderror
{{ __('hotel::modules.guest.idType') }} * @error("additionalGuests.{$gIndex}.id_type")

{{ $message }}

@enderror
{{ __('hotel::modules.guest.idNumber') }} * @error("additionalGuests.{$gIndex}.id_number")

{{ $message }}

@enderror
{{ __('hotel::modules.guest.idProof') }} @if(isset($additionalGuests[$gIndex]['id_proof_file']) && is_object($additionalGuests[$gIndex]['id_proof_file']))

{{ $additionalGuests[$gIndex]['id_proof_file']->getClientOriginalName() }}

@endif @error("additionalGuests.{$gIndex}.id_proof_file")

{{ $message }}

@enderror
@endforeach
{{ __('hotel::modules.checkIn.cancel') }} {{ __('hotel::modules.checkIn.confirmCheckIn') }}
@endif