public function getroom(Request $request) { $today = now(); if (empty($request->checkIn)) { $checkinDate = $today; $checkoutDate = $today; } else { $checkinDate = $request->checkIn; $checkoutDate = $request->checkOut; } $kamarkosong = DB::table('rooms') ->leftJoin('bookings', 'rooms.id', '=', 'bookings.roomId') ->leftJoin('roomtypes', 'rooms.roomtype', '=', 'roomtypes.id') ->select('rooms.id', 'roomtypes.nama as tiperoom', 'rooms.nama', 'rooms.deskripsi', 'rooms.qty', 'rooms.tarifWd', 'rooms.tarifWe', 'rooms.Fasilitas', 'rooms.status', 'rooms.imgPreview', 'bookings.checkIn as bookingCheckIn', 'bookings.checkOut as bookingCheckOut') ->orderBy('rooms.id', 'desc') ->get(); $processedRooms = []; $uniqueRooms = []; foreach ($kamarkosong as $room) { if (!in_array($room->id, $processedRooms)) { $room->Fasilitas = json_decode($room->Fasilitas); if (!empty($room->bookingCheckIn) && !empty($room->bookingCheckOut)) { if ($room->bookingCheckIn <= $checkoutDate && $room->bookingCheckOut >= $checkinDate) { $room->status = 'Tidak Tersedia dari ' . $room->bookingCheckIn . ' hingga ' . $room->bookingCheckOut; } else { $room->status = 'Tersedia'; } } else { $room->status = 'Tersedia'; } $uniqueRooms[] = $room; $processedRooms[] = $room->id; } } return response()->json($uniqueRooms); }