Using addendum with airline tickets data

Overview

To support and further develop various economic industries, global card networks implement specialised incentive programs that offer an additional layer of protection and preferential treatment to merchants in these industries. For example, merchants in the tourist industry with an eligible MCC (Merchant Category Code, MCC can receive certain benefits if they ensure passing information about their specific services in the financial details addendum included in payment requests.

The ecommpay payment platform supports working with addendum parameters that allow passing information about travel industry services purchased with the use of Mastercard and Visa cards. It includes purchases of airline tickets and additional services within these booked trips. Such travel itinerary information is passed in the corresponding payment request in the addendum object and includes data organised according to the specification.

In some cases, merchants may need to specify extended information about travel itineraries and booked trips differently (for example, when the MCC of the merchant does not fall within the eligible range determined by the card networks, but their business processes require receiving itinerary information together with the information about payments). For such instances, the platform offers the capability of working with the booking_info object (details).

Using addendum with airline tickets data is available by default to merchants with the eligible MCCs. The extended set of parameters that can be used for such purpose is described further in this article. If a merchant with an ineligible MCC attempts to use these parameters, the payment will be declined. If you have questions regarding the relevant programs offered by card networks and about the preferences that are available in each specific case due to regional specifics or other reasons as well as questions about using specialised processing scenarios and specific types of addendum objects, contact your ecommpay account manager.

Specifying information about airline tickets

Restrictions

You can pass information about booked airline tickets to participate in incentive programs offered by the card networks if your MCC falls within the range of 30003350 or equals 4511. If addendum objects are passed in the payment requests by merchants with other MCCs, payments will be declined with the 310 response code.

To pass similar data for your own needs (with other MCCs), you can use the booking_info object (details).

Data format

Airline tickets data should be specified in the initial requests for processing payments, in the airlines JSON object nested in the addendum object. For each ticket, you should send a separate payment request.

To provide general information about the passenger and the ticket, use the parameters of the airlines object. To provide information specific to an individual leg of the trip, use the trip_legs object that allows you to pass information about up to four legs of the trip using the trip_leg<legNr> object, with <legNr> being the sequence number of the leg within the trip itinerary.

Figure 1. Example of the airlines object with information about the ticket
{
  "addendum": {
    "airlines": {
      "ticket_number": "1055526005625",
      "passenger_name": "William Herschel",
      "customer_ref": "K7XT2A",
      "ticket_issuer_code": "KL"
      "ticket_issue_date": "2025-12-24",
      "travel_agency_code": "12345678",
      "travel_agency_name": "Deep Sky Tours",
      "restricted_ticket_indicator": true,
      "computerized_reservation_system": "SABR",
      "total_fare_amount": 15000,
      "total_tax_amount": 2000,
      "total_fees_amount": 1000,
      "trip_legs": {     \\ Object with information about the legs of the journey
        "trip_leg1": {   \\ Object with informaiton about the first leg of the journey
          "flight_number": "3142",
          "carrier_code": "KL",
          "departure_airport": "AMS",
          "departure_at": "2026-12-25T15:30:25+01:00",
          "destination_airport": "JFK",
          "arrival_at": "2026-12-25T17:45:25-05:00",
          "stop_over_code": true,
          "service_class": "Y",
          "fare_bassis": "Y0SVR7",      
          "exchange_ticket": "3141592653589",
          "conjunct_ticket": "6626070151034",
          "coupon_number": "1",
          "endorsements_restr": "No changes allowed"
        },
        "trip_leg2": {   \\ Object with informaiton about the second leg of the journey
          "flight_number": "1054",
          "carrier_code": "DL",
          "departure_airport": "JFK",
          "departure_at": "2026-12-25T22:45:25-05:00",
          "destination_airport": "LHR",
          "arrival_at": "2026-12-26T10:55:25+00:00",
          "stop_over_code": false,
          "service_class": "K",
          "fare_bassis": "KHCLS7",
          "coupon_number": "2",
          "endorsements_restr": "Changes allowed"
        }
      }
    }
  }
}

The airlines object can be passed in the requests sent to various endpoints, with its schema specified in the API and its location in the request payload structure as defined by the endpoint specification.

Parameters

The airlines object can include the following objects and parameters.

Parameter Description tree

ticket_number
string, required

Number of the issued ticket.

Can include basic Latin letters and numbers, cannot exceed 15 characters.

Example: 1055526005625

1

passenger_name
string, required

First name and last name of the passenger to whom the ticket is issued.

A string of up to 20 characters long.

Example: William Herschel

2

customer_ref
string, required

Identifier of the passenger record in the reservation system.

As a rule, it is the PNR (Passenger Name Record) locator. Can include basic Latin letters and numbers, cannot exceed 25 characters.

Example: K7XT2A

3

ticket_issuer_code
string, required

Two-character code of the airline that issued the ticket (according to the IATA classification).

Example: KL

4

ticket_issue_date
string, required

Date when the ticket was issued in the YYYY-MM-DD format (according to ISO 8601).

Example: 2025-12-24

5

travel_agency_code
string, optional

Code of the travel agency that issued the ticket.

This code is received as a result of accreditation from one of the professional associations (IATA, ARC, or other).

Can include basic Latin letters and numbers, cannot exceed 8 characters.

Example: 12345678

6

travel_agency_name
string, optional

Name of the travel agency that issued the ticket.

Can include basic Latin letters and numbers, cannot exceed 25 characters.

Example: Deep Sky Tours

7

restricted_ticket_indicator
boolean, optional

Indicator that specifies refund restrictions applied to the ticket.

Possible values:

  • true—non-refundable
  • false— refundable

Example: true

8

computerized_reservation_system
string, optional

Code of the computerised reservation system, may be needed for payments in Germany.

Possible values:

  • BLAN—Dr. Blank
  • DALA—Covia-Apollo
  • DATS—Delta
  • DERD—DER
  • PARS—TWA
  • SABR—Sabre
  • STRT—Start
  • TUID—TUI

Example: SABR

9

total_fare_amount
integer, optional

Amount charged by the airline for transporting the passenger and their luggage (i.e. free luggage allowance), in the smallest currency unit.

Example: 15000

10

total_tax_amount
integer, optional

Amount of the tax included in the payment amount, in the smallest currency unit.

Can be the sales tax, the VAT, or any other similar tax.

Example: 2000

11

total_fees_amount
integer, optional

Total amount of fees charged, in the smallest currency unit.

Example: 1000

12

trip_legs
object, required

Object with information about the legs of the journey.

Must contain information about at least one flight in the nested trip_leg<legNr> object and can include up to four trip_leg<legNr> objects

13

trip_leg<legNr>
object, required

Object that contains information about the leg of the journey (the segment of the flight itinerary between the two consecutively planned stops) 13-1 13

flight_number
string, required

The flight number assigned by the carrier that operates the flight, without the airline code.

Can include basic Latin letters and numbers, cannot exceed 5 characters

Example: 3142

13-1-1 13-1

carrier_code
string, required

Two-character code of the carrier that operates the flight (according to the IATA classification).

Example: KL

13-1-2 13-1

departure_airport
string, required

Three-letter code of the departure airport (according to the IATA classification).

Example: AMS

13-1-3 13-1

departure_at
string, required

Date and time of the planned departure in the YYYY-MM-DDThh:mm:ss±hh:mm format (according to ISO 8601).

Example: 2026-12-25T15:30:25+01:00

13-1-4 13-1

destination_airport
string, required

Three-letter code of the destination airport (according to the IATA classification).

Example: JFK

13-1-5 13-1

arrival_at
string, required

Date and time of the planned arrival in the YYYY-MM-DDThh:mm:ss±hh:mm format (according to ISO 8601).

Example: 2026-12-25T17:45:25-05:00

13-1-6 13-1

stop_over_code
boolean, required

The indicator specifying whether it is a connecting flight.

Possible values:

  • true—connecting flight
  • false—direct flight

Example: true

13-1-7 13-1

service_class
string, required

One-letter code indicating the service class (according to the IATA classification).

Figure 2. First class tiers
  • R—Supersonic
  • P—First Class Premium
  • F—First Class
  • A—First Class Discounted
Figure 3. Business Class tiers
  • J—Business Class Premium
  • C—Business Class
  • D—Business Class Discounted
  • I—Business Class Discounted
  • Z—Business Class Discounted
Figure 4. Economy class tiers
  • W—Economy/Coach Premium
  • S—Economy/Coach
  • Y—Economy/Coach
  • B—Economy/Coach Discounted
  • H—Economy/Coach Discounted
  • K—Economy/Coach Discounted
  • L—Economy/Coach Discounted
  • M—Economy/Coach Discounted
  • N—Economy/Coach Discounted
  • Q—Economy/Coach Discounted
  • T—Economy/Coach Discounted
  • V—Economy/Coach Discounted
  • X—Economy/Coach Discounted

Example: D

13-1-8 13-1

fare_bassis
string, required

Code indicating the fare assigned by the carrier.

Can include basic Latin letters and numbers, cannot exceed 6 characters.

Example: Y0SVR7

13-1-9 13-1

exchange_ticket
string, optional

Number of the ticket that was replaced by the current ticket

Can include basic Latin letters and numbers, cannot exceed 15 characters

Example: 3141592653589

13-1-10 13-1

conjunct_ticket
string, optional

Number of the conjunction ticket.

Issued when the flight includes more than four trip legs and the tickets for this flight are linked together. Can include basic Latin letters and numbers, cannot exceed 15 characters.

Example: 6626070151034

13-1-11 13-1

coupon_number
string, optional

Number of the flight coupon, corresponds to the number of the trip leg.

Example: 1

13-1-12 13-1

endorsements_restr
string, optional

Added notation to specify any relevant information about various restrictions, additional data, and endorsement information (indicating whether the flight coupon can be accepted by another carrier).

A string of up to 20 characters.

Example: No changes allowed

13-1-13 13-1S