Web Booking (IBE)

Internet Booking Engine for airline.com flight search, booking, and trip management.

Scope

Booking Flow

  1. Search: O&D, dates, passengers, cabin class
  2. Results: Flight options, fare families
  3. Select: Outbound and return selection
  4. Passengers: Details, documents, contacts
  5. Ancillaries: Seats, bags, meals, extras
  6. Payment: Multiple payment methods
  7. Confirmation: Itinerary and receipt

Manage My Booking

  • Retrieve by PNR + surname
  • View itinerary details
  • Add/change seats
  • Add baggage
  • Request special services
  • Change flights (if permitted)
  • Cancel booking
  • Add passengers (open booking)

Web Check-in

  • Online check-in (24-48h before)
  • Seat selection/change
  • Boarding pass delivery (email, wallet)
  • APIS collection
  • Dangerous goods declaration

Ancillary Shopping

  • Seat selection with seat map
  • Baggage purchase
  • Meal pre-order
  • Priority boarding
  • Lounge access
  • Travel insurance
  • Car rental, hotels (partner)

Research Topics

  • IBE platform selection
  • Booking flow optimization
  • Fare family presentation
  • Seat map rendering performance
  • Payment integration patterns
  • Multi-currency display
  • A/B testing framework
  • Personalization engine

Architecture Considerations

Component Structure

src/
├── components/
│   ├── search/
│   │   ├── SearchForm.tsx
│   │   ├── DatePicker.tsx
│   │   └── PassengerSelector.tsx
│   ├── results/
│   │   ├── FlightList.tsx
│   │   ├── FlightCard.tsx
│   │   └── FareFamily.tsx
│   ├── booking/
│   │   ├── PassengerForm.tsx
│   │   ├── SeatMap.tsx
│   │   └── AncillaryGrid.tsx
│   └── payment/
│       ├── PaymentForm.tsx
│       └── CardInput.tsx
├── pages/
├── hooks/
├── services/
└── store/

State Management

interface BookingState {
  search: {
    origin: Airport;
    destination: Airport;
    dates: DateRange;
    passengers: PassengerCount;
    cabinClass: CabinClass;
  };
  selectedFlights: Flight[];
  passengers: Passenger[];
  ancillaries: Ancillary[];
  pricing: PriceSummary;
  payment: PaymentInfo;
}

API Integration

EndpointPurpose
/api/shopping/flightsFlight search
/api/offers/pricePrice verification
/api/ordersCreate booking
/api/orders/{id}Retrieve/modify booking
/api/seatmaps/{flight}Seat availability
/api/ancillariesAvailable services

Integration Points

SystemDirectionPurpose
Offer EngineOutboundFlight search
Order ServiceBidirectionalBooking CRUD
Seat ServiceOutboundSeat maps
Payment GatewayOutboundPayments
LoyaltyBidirectionalFFP integration
AnalyticsOutboundTracking

UX Best Practices

  • Flexible date display
  • Recent searches
  • Autocomplete airports
  • Cabin class filter

Results

  • Clear price comparison
  • Fare family benefits
  • Flight time display
  • Connection warnings

Booking

  • Progress indicator
  • Form validation
  • Save and continue
  • Session timeout warning

Payment

  • Multiple methods
  • Saved cards
  • Price breakdown
  • Security assurance

Performance Optimization

Strategies

  • Code splitting by route
  • Image lazy loading
  • API response caching
  • Seat map virtualization
  • Critical CSS inlining

Caching

DataTTLStrategy
Airport list24hLocal storage
Search results15 minMemory
Seat maps5 minMemory
User profileSessionMemory

Accessibility

Requirements (WCAG 2.1 AA)

  • Keyboard navigation
  • Screen reader support
  • Color contrast ratios
  • Focus indicators
  • Error identification
  • Form labels

Testing

  • Automated (axe-core)
  • Screen reader testing
  • Keyboard-only testing
  • Color blindness simulation