RahalCorporate
Orders

Booking Orders

Understanding orders, reservations, transactions, and the complete booking lifecycle in Rahal

Booking Orders

Booking orders are the central entity that tracks the complete lifecycle of a travel booking—from initial payment through reservation creation to final confirmation or refund.

What is an Order?

An order represents a single booking transaction in Rahal. It captures:

  • Who is making the booking (the buyer/user)
  • What is being booked (flights, hotels, or travel packages)
  • How payment is processed (payment provider)
  • When key events occurred (creation, payment, finalization)
  • Company context (for corporate bookings with policy/budget evaluation)

Each order can contain one or more reservations (individual flight or hotel bookings) and is linked to transactions (payment records) and events (audit trail).

Key Entities

Order → Reservations → Transactions

┌─────────────────────────────────────────────────────────┐
│                         ORDER                           │
│  • Buyer information                                    │
│  • Payment provider & amount                            │
│  • Order status (ACCEPTED → PAID → FINALIZED)          │
│  • Company & policy (for corporate bookings)            │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  ┌─────────────────┐  ┌─────────────────┐              │
│  │  RESERVATION 1  │  │  RESERVATION 2  │              │
│  │  (Flight)       │  │  (Hotel)        │              │
│  │  • External ID  │  │  • External ID  │              │
│  │  • Price        │  │  • Price        │              │
│  │  • Status       │  │  • Status       │              │
│  └─────────────────┘  └─────────────────┘              │
│                                                         │
│  ┌─────────────────────────────────────────────────────┤
│  │                  TRANSACTION                        │
│  │  • Payment amount                                   │
│  │  • Payment ID                                       │
│  │  • Refunds                                          │
│  └─────────────────────────────────────────────────────┤
│                                                         │
│  ┌─────────────────────────────────────────────────────┤
│  │                    EVENTS                           │
│  │  • ORDER_CREATED                                    │
│  │  • ORDER_PAYMENT_VERIFIED                           │
│  │  • ORDER_RESERVATION_CREATED                        │
│  │  • ORDER_FINALIZED                                  │
│  └─────────────────────────────────────────────────────┘

Order Types

Orders support three types of bookings:

TypeDescriptionService Types
FlightAir travel bookingsSingle or multi-leg flights
HotelAccommodation bookingsOne or more room reservations
PackageCombined travel packagesPre-configured flight + hotel bundles

Corporate vs Consumer Orders

Rahal supports two booking contexts:

Consumer Bookings

  • Individual users booking personal travel
  • Payment processed through Super QI, Checkout.com, or BNPL
  • No policy or budget constraints

Corporate Bookings

  • Company employees booking business travel
  • Uses the CORPORATE_DIRECT payment provider
  • Subject to company policies and budgets
  • Policy violations are logged
  • Budget is reserved and tracked

Corporate direct bookings don't require actual payment processing—the company is invoiced directly. Policy and budget evaluation happens during order creation.

Order Lifecycle Overview

  1. Creation: User initiates booking, prebook sessions are created
  2. Payment: Payment is processed (or CORPORATE_DIRECT for company billing)
  3. Reservation: External reservations are created with travel supplier (IRIX)
  4. Ticketing: For flights, tickets are issued (auto or manual)
  5. Finalization: Order is marked complete when all reservations succeed
  6. Refund (optional): Order can be refunded if needed

See Order Lifecycle for detailed status transitions.

In This Section

On this page