A complex form to check-in to the airline flight. Personal information, seat choice, extra services and baggage - all filled in with dynamic Alpine/Livewire elements and complicated pricing logic.
Airline flight check-in system built with Laravel 12, Filament 4, and Alpine.js (with a bit of Livewire) for dynamic form elements.
The system consists of two main components:
- Multi-step web-based check-in process for passengers
 - And a Filament admin panel for managing flights, pricing, and system operations.
 
How to install
- Clone the repository with 
git clone - Copy the 
.env.examplefile to.envand edit database credentials there - Run 
composer install - Run 
php artisan key:generate - Run 
php artisan migrate --seed(it has some seeded data for your testing) - Run 
npm install && npm run buildfor the front-end assets - Launch the main URL 
/and start the check-in process - Filament admin panel URL is 
/admin, login with[email protected]andpassword. 
Web Check-in Flow
The system processes passenger check-ins through a multi-step web interface (/checkin/step/1 through /checkin/step/6) handled by the app/Http/Controllers/CheckinController.php Controller:
public function processStep1(BookingLookupRequest $request): RedirectResponse{    try {        $booking = $this->checkinService->findAndValidateBooking($request->validated());        $checkin = $this->checkinService->createCheckinSession($booking);         // Implementation of the check-in flow...    } catch (ModelNotFoundException $e) {        return back()->withErrors(['booking_reference' => $e->getMessage()]);    }}
Step 1: Booking Lookup
Validates passenger identity and retrieves...