Event Audit Trail
Using the event system for troubleshooting, compliance, and order analysis
Event Audit Trail
The event audit trail provides a complete, immutable record of everything that happens to an order. This is essential for troubleshooting issues, compliance auditing, and understanding order history.
Accessing Events
From the order details page:
- Navigate to the Events tab
- View all events for this order
Events are displayed in reverse chronological order (newest first).
Event Display
Each event shows:
| Column | Description |
|---|---|
| Created Date | Timestamp with time |
| Event Type | Category of event |
| Actions | View full event data |
Color Coding
- Green: Normal operation events
- Red: Error events (
ORDER_ENCOUNTERED_ERROR)
Viewing Event Data
Click the view action on any event to see its full data payload.
Event data is JSON format and contains details specific to the event type.
Example: ORDER_CREATED
{
"flightReservationInformation": {
"origin": "BGW",
"destination": "DXB",
"departureDate": "2024-06-15",
"returnDate": "2024-06-20",
"cabinClass": "ECONOMY"
}
}Example: ORDER_RESERVATION_CREATED
{
"reservationId": "12345678"
}Example: ORDER_ENCOUNTERED_ERROR
{
"message": "Creating reservation for order failed.",
"reservationInformation": {
"searchResultKey": "abc123def456",
"supplier": "IRIX"
}
}Using Events for Troubleshooting
Diagnosing Failed Orders
When an order has failed:
- Find the error event: Look for
ORDER_ENCOUNTERED_ERROR(red) - Check the message: Read the error description
- Examine context: Review the reservation information
- Trace the sequence: What happened before the error?
Common Error Patterns
Reservation Creation Failed
Event: ORDER_ENCOUNTERED_ERROR
Data: { "message": "Creating reservation for order failed." }Cause: IRIX rejected the booking request Action: Check availability, retry, or refund
Ticket Issuance Failed
Event: ORDER_ENCOUNTERED_ERROR
Data: { "message": "Issuing reservation ticket for order failed." }Cause: Supplier couldn't issue ticket Action: Check with supplier, manual ticketing, or refund
Payment Verification Failed
No ORDER_PAYMENT_VERIFIED_TO_BE_PAID event after ORDER_CREATED
Cause: Payment not completed or declined
Action: Contact customer, verify with payment provider
Successful Order Verification
A healthy order should show this event sequence:
ORDER_CREATED— Order initiatedORDER_PAYMENT_VERIFIED_TO_BE_PAID— Payment confirmedORDER_RESERVATION_CREATED— For each reservationORDER_RESERVATION_TICKET_ISSUED— For each flight (if applicable)
If the sequence is incomplete, investigate the missing steps.
Event Types Reference
Order Lifecycle Events
| Event | Indicates |
|---|---|
ORDER_CREATED | Order creation |
ORDER_CANCELED_DUE_TO_NO_ACTIVITY | Unpaid timeout |
ORDER_REFUNDED | Refund processed |
Payment Events
| Event | Indicates |
|---|---|
ORDER_PAYMENT_VERIFIED_TO_BE_PAID | Payment successful |
ORDER_FINALIZED_BY_CONFIRMING_BNPL_TRANSACTION | BNPL confirmed |
Reservation Events
| Event | Indicates |
|---|---|
ORDER_RESERVATION_CREATED | Booking confirmed |
ORDER_RESERVATION_TICKET_ISSUED | Ticket issued |
ORDER_RESERVATION_CANCELED | Reservation cancelled |
ORDER_RESERVATION_SWITCHED_TO_CREDIT | Payment method changed |
Manual Intervention Events
| Event | Indicates |
|---|---|
ORDER_STATUS_MANUALLY_CHANGED | Admin changed status |
ORDER_MANUALLY_RESOLVED | Admin resolved issue |
ORDER_RESERVATION_RESOLVED_OUTSIDE_APP | External resolution |
ORDER_RESERVATION_UPDATED_OUTSIDE_APP | External update |
Error Events
| Event | Indicates |
|---|---|
ORDER_ENCOUNTERED_ERROR | Processing error |
Compliance and Auditing
Audit Requirements
The event trail supports common audit needs:
- Who: Event timestamps + user context from order
- What: Event type describes the action
- When: Precise timestamps for each event
- Result: Event data shows outcomes
Generating Audit Reports
For formal audits:
- Locate the order(s) in question
- Export event data (via API or database)
- Format into required report structure
- Include relevant event data payloads
Data Retention
Events are:
- Immutable: Cannot be modified or deleted
- Permanent: Retained for the life of the order
- Timestamped: Accurate to milliseconds
Advanced Event Analysis
Cross-Order Analysis
To find patterns across orders:
- Use the Events resource directly (not via order)
- Filter by event type
- Analyze across time periods
Use Cases:
- Find all failed orders in a time range
- Identify supplier-specific error patterns
- Track payment provider issues
API Access
Events can be queried via API:
GET /admin/events?entityId={orderId}
GET /admin/events?eventType=ORDER_ENCOUNTERED_ERRORIntegration with Monitoring
Error events (ORDER_ENCOUNTERED_ERROR) are also sent to:
- Error monitoring service (urgent alerts)
- Application logs
This enables proactive issue detection beyond the dashboard.
Best Practices
Regular Review
- Check failed orders daily: Review error events
- Monitor patterns: Look for recurring issues
- Track resolutions: Verify manual resolutions are logged
Documentation
When manually resolving orders:
- Include detailed information in the resolution
- Reference external tickets or communications
- Document what action was taken
Escalation
If you see:
- Multiple errors for same supplier → Escalate to supplier
- Payment provider errors → Check provider status
- System errors → Contact technical support