In this volume · VOLUME 04
Travel Operations
Booking Lifecycle Ticketing & PNR Refunds & Cancellations Voids, Reissues & Adjustments Non-Air Products ADM / ACM Memos

Chapter 4.4 — Voids, Reissues & Adjustments

1. Purpose

This chapter covers the operations that modify an issued ticket without the customer-side of a refund: voids (cancel within the same day, before settlement), reissues (exchanges — replace one ticket with another, with or without additional collection), and adjustments (fare audit corrections, BSP-driven re-postings). Each preserves audit traceability while operationally producing a different commercial outcome from a refund.

2. Why it matters

  • Voids preserve cash — no supplier penalty, no commission recall complications.
  • Reissues are how itineraries change (date change, route change, upgrade) without a full refund-rebook cycle.
  • Adjustments correct post-settlement errors discovered through reconciliation.

Each has distinct accounting treatment; mis-classifying one as another produces wrong P&L and audit trouble.

3. Voids

3.1 Definition

A void is the cancellation of a ticket before it has settled in BSP. Operationally, the ticket simply disappears from the BSP file for that period.

3.2 Constraints

  • Must occur within the void window — varies by airline and BSP, typically the same calendar day as issuance (until BSP cutoff, often 23:30 local).
  • Some airlines / NDC do not have a void concept — only refund.
  • Ticket must not have been used (no segment flown).

3.3 Accounting treatment

A void is a clean reversal of the issuance JE:

Reverse issuance:
  Debit  2011 BSP Payable               X (full)
  Debit  2031 Deferred Air Revenue       C (commission unwound)
  Debit  4031 Service Fee Revenue        F (if service fee retained — typically not on void)
  Credit 1101 AR — Customer             X (full)

No penalty. No commission recall (it never settled). Customer is whole.

3.4 Operations

sequenceDiagram actor Ag as Agent participant T as travoBooks participant Sup as GDS / NDC participant DB as MySQL Ag->>T: Void ticket TG-... T->>T: Check window (issued today, < cutoff) alt Outside window T-->>Ag: Reject — VOID_AFTER_HOURS_WINDOW else In window T->>Sup: Ticket_VoidDocuments Sup-->>T: Void confirmed T->>DB: BEGIN TX T->>DB: UPDATE ticket state=VOIDED T->>DB: INSERT reversing JE T->>DB: UPDATE booking state=CANCELLED_AFTER_ISSUE T->>DB: COMMIT T->>Ag: Void confirmed + reversal posted end

3.5 Same-day vs reverse-cycle

If void happens after the BSP cutoff but same calendar day: - Some BSPs allow void within an extended grace window. - Otherwise: refund flow with the airline's day-of-issue refund policy (often full).

The platform's supplier.void_window_minutes_after_issuance config drives behaviour.

4. Reissues / Exchanges

4.1 Definition

A reissue replaces an issued ticket with a new one — for date change, route change, upgrade, downgrade, or any other modification — with a possible additional collection (ADC, Additional Collection) or refund of difference (ROD).

4.2 Reissue flow

flowchart TD A[Customer requests change] --> B[Quote: new fare + reissue penalty + ADC/ROD] B --> C{Customer accepts?} C -->|No| D[End] C -->|Yes| E{ADC needed?} E -->|Yes| F[Collect ADC payment] F --> G[Reissue via supplier] E -->|No| G G --> H{Supplier accepts?} H -->|No| I[Error path — manual handling] H -->|Yes| J[Old ticket exchanged] J --> K[New ticket issued] K --> L[Post JEs: reverse old / book new / record reissue penalty / record ADC] L --> M{ROD due?} M -->|Yes| N[Initiate ROD payback] M -->|No| O[Done] N --> O

4.3 Accounting — reissue with ADC

Example: original ticket BDT 65,400; reissue to higher fare BDT 80,000 with BDT 3,000 reissue penalty: - ADC = 80,000 + 3,000 − 65,400 = BDT 17,600.

JEs:

Reverse original ticket:
  Debit  2011 BSP Payable                 65,400
  Debit  2031 Deferred Air Revenue          7,200 (commission unwound — if pre-service date)
  Credit 1101 AR — Customer                65,400
  Credit 1109 Commission Receivable         7,200

Book new ticket:
  Debit  1101 AR — Customer                80,000
  Credit 2011 BSP Payable                  80,000

Reissue penalty (revenue to supplier — pass-through; or partial keep depending on rules):
  Debit  1101 AR — Customer                 3,000
  Credit 2011 BSP Payable                   3,000

ADC receipt:
  Debit  1013 Bank / Gateway in transit    17,600
  Credit 1101 AR — Customer                17,600

New commission accrual:
  Debit  1109 Commission Receivable         8,800 (new rate × new base)
  Credit 2031 Deferred Air Revenue          8,800

The booking_tickets.replaces_ticket_id field links the new ticket to the original, preserving the chain. Multiple reissues form a chain (Ticket 1 → Ticket 2 → Ticket 3).

4.4 ROD (Refund of Difference)

When the new fare is lower (downgrade or route change to cheaper): - New ticket issued at lower amount. - Difference + penalty → ROD due to customer. - Processed via standard payback paths (Chapter 4.3).

4.5 Post-service-date reissues

If part of the original itinerary has been flown: - Flown segments are settled; not reversed. - Only unflown portion enters the reissue. - Fare construction becomes complex; supplier typically requires partial reissue flow.

5. Adjustments

5.1 Definition

Adjustments are corrections to settled tickets, typically driven by: - BSP commission variance (Chapter 11.3). - Tax breakdown reclassification (after BSP confirmation). - Currency translation error. - Data correction (e.g., wrong customer was billed; reassign).

5.2 Adjustment types

Adjustment Treatment
Commission rate correction Re-compute accrual; post variance JE current period
Tax bucket reclass Move between XT sub-accounts; no net P&L impact
Customer mis-billing Reverse from wrong customer; re-bill correct (with audit)
Reissue not properly chained Manual chain repair + audit
Refund posted to wrong account Reclass JE in current period

5.3 Adjustment vs prior-period error

If the adjustment relates to a closed period, two paths (Chapter 5.10): - Material → reopen → post → re-close. - Immaterial → current-period JE with is_post_close_adjustment = TRUE flag and disclosure.

5.4 Audit trail

Every adjustment carries: - Reference to original transaction. - Reason text (mandatory). - Maker + Approver identities. - Source document references (BSP file ID, dispute case, etc.). - Cross-link from original entity to the adjustment.

6. Module dependencies

Direction Module
Depends on Booking, Ticketing, GDS/NDC, JE Engine, Refund
Depended on by Reconciliation, Reporting, Audit

7. Security & permissions

Permission Allows
ticket.void.partner Void in-window
ticket.reissue.partner Reissue/exchange
ticket.adjustment.partner Manual adjustment
ticket.adjustment.approve.partner Approve adjustment (maker-checker)

8. Validation rules

Code Condition
VOID_AFTER_HOURS_WINDOW Past cutoff
VOID_TICKET_FLOWN Coupon already used
REISSUE_NOT_REISSUABLE_FARE Fare type forbids
REISSUE_ADC_NOT_COLLECTED Attempting issue before ADC received
REISSUE_TIMELIMIT_EXPIRED New fare TL passed
ADJUSTMENT_PERIOD_CLOSED Use post-close path
ADJUSTMENT_REASON_REQUIRED Reason missing

9. Common pitfalls

  • ⚠️ Treating same-day refund as void. Different JE patterns; void is cleaner.
  • ⚠️ Lost chain on reissues. Always set replaces_ticket_id.
  • ⚠️ Forgetting commission recall on reissue. Old ticket's commission must unwind.
  • ⚠️ Adjustments without source reference. Audit-finding waiting to happen.
  • ⚠️ Stacking adjustments without review. Multiple adjustments on the same booking suggest data quality issues.
  • 🔒 Reissue penalty mis-classified as commission. Penalty is revenue (cancellation fee bucket); commission is supplier-side.