On This Page
Airline Processing Developer Guide
This section describes how to use this developer guide and where to find further
information.
Audience and Purpose
This guide is written for application developers who want to use the
Cybersource
REST API
to integrate credit card processing with airline data into their
order management system.Implementing the
Cybersource
credit card services requires software development skills. You
must write code that uses the API request and reply fields to integrate the credit card
services into your existing order management system.Conventions
The following special statements are used in this document:
IMPORTANT
An
Important
statement contains information essential to
successfully completing a task or learning a concept.Customer Support
For support information about any service, visit the Support Center:
Recent Revisions to This Document
25.05.01
Removed the
travelInformation.transit.airline.legs[].conjunctionTicket
field from the
capture required fields list. See Optional Fields for an Airline Capture.24.04.02
This revision contains only editorial changes and no technical updates.
24.04.01
This revision contains only editorial changes and no technical updates.
Introduction to Airline Processing
Airline data processing exceeds basic payment processing by enabling you to process
specific travel data. To make use of this capability, you must submit additional
information, such as:
- Carrier (airline)
- Departure date
- Destination airport
- Purchase date
- Originating airport
- Ticket class
- Travel legs (segments)
Cybersource Airline Data Processing
Cybersource
Airline Data ProcessingCybersource
does not store airline data. Instead, it functions as a
pass-through service for the data. Cybersource
enforces only the minimal
level of field validation.When you request an airline service,
Cybersource
responds with certain
fields and values to indicate whether the airline data was processed. The response
fields for each service are:- Authorization:processingInformation.enhancedDataEnabled
- Capture:processingInformation.enhancedDataEnabled
- Credit:processingInformation.enhancedDataEnabled
The possible values for the response fields are:
- N: the airline data was not included in the request to the processor.
- Y: the airline data was included in the request to the processor.
IMPORTANT
Cybersource
temporarily disables your account's airline
data processing capability and contacts you if your airline data transactions produce
batching errors when the information is sent to the processor. If this happens, your
request is not rejected, but you receive one of the above listed fields with the
N
value in the response indicating that airline data in the request
has been ignored and not sent to the processor. Airline Travel Legs
Some processors require travel legs in the API service request, even for direct flights.
This section describes how to successfully include travel legs in an API request.
Using Travel Legs
To include travel legs in an airline transaction, include one or more
travel legs in the
legs[]
array. For example, these three travel legs are valid:
"travelInformation": { "transit": { "airline": { "legs": [ { "carrierCode": "XX" }, { "carrierCode": "XZ" }, { "carrierCode": "XX" } ] }
Travel Leg Limitations
Some processors limit the number of travel legs for each trip based on the card type.
FDC Nashville Global Airline Requests
FDC Nashville Global
Airline RequestsThis section describes the airline payment services you can use when processing with
FDC Nashville Global
.Supported Card Types
This table lists the card types
FDC Nashville Global
supports and their
values. When including the paymentInformation.card.type
field, set the field to a
value listed in the card type value column.Supported Card Type | Card Type Value |
|---|---|
American Express | 003 |
Discover | 004 |
Mastercard | 002 |
Visa | 001 |
Authorize a Payment
This section describes how to process an airline authorization.
Authorization Restrictions
Ticket purchases that include multiple passengers may be included in a single
authorization request, however,
Cybersource
recommends sending a
separate capture request for each passenger.If any ancillary purchases are made at the same time as the ticket purchase, you may
include all the items in a single authorization request, however,
Cybersource
recommends separating the ancillary and ticket purchases into
individual capture requests.If any ancillary purchases are not made at the same time as the ticket purchase,
Cybersource
recommends separating the authorization and capture requests
for the ancillary and ticket purchases. Endpoint
Production:
POST
https://api.cybersource.com
/pts/v2/paymentsTest:
POST
https://apitest.cybersource.com
/pts/v2/paymentsRequired Fields for an Airline Authorization
Include these fields to process an airline authorization.
IMPORTANT
When relaxed requirements for address data and the expiration date are being used, not all fields
in this list are required. It is your responsibility to determine whether your
account is enabled to use this feature and which fields are required. For details
about relaxed requirements, see Relaxed Requirements for Address Data and Expiration Date in Payment Transactions.
- Set toairline.
Card-Specific Fields for an Airline Authorization
This section includes card-specific information required for an airline
authorization.
American Express
Include these fields in addition to the required fields when using an American
Express card. American Express requires leg fields in the authorization request. For
more information about leg fields, see Airline Travel Legs.
REST Example: Airline Authorization
REST
Example: Airline Authorization Request
{ "clientReferenceInformation": { "code": "RTS-Auth" }, "orderInformation": { "billTo": { "country": "US", "lastName": "VDP", "address2": "test", "address1": "201 S. Division St.", "postalCode": "48104-2201", "locality": "Ann Arbor", "administrativeArea": "MI", "firstName": "RTS", "phoneNumber": "999999999", "district": "MI", "buildingNumber": "123", "company": "Visa", "email": "test@cybs.com" }, "amountDetails": { "totalAmount": "100.00", "currency": "usd" }, "shipTo": { "firstName": "Michale" } }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "3782822463xxxxx", "expirationMonth": "12", "securityCode": "123", "type": "003" } }, "processingInformation": { "industryDataType": "airline" }, "travelInformation": { "transit": { "airline": { "passengerName": "Michale", "legs": [ { "carrierCode": "123", "fareBasis": "B1", "departureDate": "20230202", "destinationAirportCode": "NY", "originatingAirportCode": "SFO" }, { "carrierCode": "456", "fareBasis": "B2", "departureDate": "20230202", "destinationAirportCode": "SFO", "originatingAirportCode": "SJC" } ] } } } }
Response to a Successful Request
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6902464806406008803234/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6902464806406008803234" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6902464806406008803234/captures" } }, "clientReferenceInformation": { "code": "1690246480572" }, "id": "6902464806406008803234", "issuerInformation": { "responseRaw": "0110322000000E1000020000000000000100000725005441300026475537344F4B48495131314D38333130303030300001590064003631342030313631373831313031353439343520202020202036363030533036303030303100103232415050524F56414C0012534443523030355959595959" }, "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "usd" } }, "paymentAccountInformation": { "card": { "type": "003" } }, "paymentInformation": { "tokenizedCard": { "type": "003" }, "card": { "type": "003" } }, "pointOfSaleInformation": { "terminalId": "00092940" }, "processorInformation": { "electronicVerificationResults": { "phoneNumberRaw": "Y", "emailRaw": "Y", "phoneNumber": "Y", "code": "Y", "postalCodeRaw": "Y", "street": "Y", "postalCode": "Y", "codeRaw": "Y", "streetRaw": "Y", "email": "Y" }, "merchantNumber": "000000000001234", "approvalCode": "831000", "responseCode": "00", "avs": { "code": "Y", "codeRaw": "Y" } }, "reconciliationId": "GU74OKHIQ11M", "status": "AUTHORIZED", "submitTimeUtc": "2023-07-25T00:54:41Z" }
Request
{ "clientReferenceInformation": { "code": "RTS-Auth" }, "processingInformation": { "industryDataType": "airline" }, "paymentInformation": { "card": { "number": "4111111111111111", "expirationMonth": "12", "expirationYear": "2031", "type": "001" } }, "orderInformation": { "amountDetails": { "totalAmount": "102.21", "currency": "USD" }, "billTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "locality": "san francisco", "administrativeArea": "CA", "postalCode": "94105", "country": "US", "email": "test@cybs.com" } } }
Successful Response
{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6917758602546577403955/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6917758602546577403955" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6917758602546577403955/captures" } }, "clientReferenceInformation": { "code": "1691775860306" }, "id": "6917758602546577403955", "orderInformation": { "amountDetails": { "authorizedAmount": "102.21", "currency": "USD" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "paymentInformation": { "tokenizedCard": { "type": "001" }, "card": { "type": "001" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "68209505QL5OEHAU", "status": "AUTHORIZED", "submitTimeUtc": "2023-08-11T17:44:20Z" }
Unsuccessful Response
{ "submitTimeUtc" : "2020-05-20T21:06:56Z", "status" : "INVALID_REQUEST", "reason" : "INVALID_DATA", "message" : "Declined - One or more fields in the request contains invalid data", "details" : [ { "field" : "stopover_code", "reason" : "INVALID_DATA" } ] }
Capture a Ticket Payment
This section describes how to capture an airline ticket payment, such as when a person is
purchasing a ticket on your e-commerce store.
Capture Restrictions
For a ticket purchase with multiple passengers,
Cybersource
recommends
sending separate capture requests for each passenger. The original authorization may
be a single request. When ancillary purchases are made at the same time as the ticket purchase,
Cybersource
recommends sending separate capture requests for the ticket
and ancillary purchases. Airline Travel Legs
FDC Nashville Global
requires you to include travel leg fields in your
requests, even for direct flights. For more information about how to format travel
leg fields, see Airline Travel Legs.Leg Limitations
FDC Nashville Global
limits the maximum number of legs for each trip based
on card type. This table describes the maximum number of legs for each trip based on
processor and card type.Supported Card Types | Maximum Number of Trip Legs |
|---|---|
American Express | 4 |
Discover | 4 |
Mastercard | 99 |
Visa | 4 |
Endpoint
Production:
POST
https://api.cybersource.com
/pts/v2/payments/{id}
/capturesTest:
POST
https://apitest.cybersource.com
/pts/v2/payments/{id}
/capturesThe is the transaction ID
returned in the authorization response.
{id}
Required Fields for Capturing a Ticket Payment
Include these required fields to capture an airline payment for tickets.
- Set toairline.
- travelInformation.transit.airline.ticketNumber
Card-Specific Fields for Capturing a Ticket
Payment
This section includes card-specific information required to capture a payment for
tickets.
Discover
Include these fields in addition to the required fields when using a Discover
card.
- Set toAorP.
- Set toAorP.
Mastercard
Include these fields in addition to the required fields when using a Mastercard
card.
Visa
Include this field in addition to the required fields when using a Visa card.
- Set to0for refundable.
- Set to1for nonrefundable.
Optional Fields for an Airline Capture
Choose from these optional fields to include additional information when capturing an
airline payment for direct flight tickets.
- travelInformation.transit.airline.clearingCount
- travelInformation.transit.airline.clearingSequence
- Set toO(capital letter "O") to indicate the leg of a trip is allowed to stopover. Default value.
- Set toXto indicate the leg of a trip is not allowed to stopover.
- travelInformation.transit.airline.totalClearingAmount
REST Example: Capturing a Visa Airline Payment
REST
Example: Capturing a Visa Airline PaymentRequest
{ "clientReferenceInformation": { "code": "RTS-Bill" }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" } }, "processingInformation": { "industryDataType": "airline" }, "travelInformation": { "agency": { "name": "Thomascook" }, "transit": { "airline": { "passengerName": "John", "ticketNumber": "asd23", "customerCode": "LDTYOU789", "totalFeeAmount": "200", "planNumber": "49252", "exchangeTicketAmount": "11", "exchangeTicketFeeAmount": "1", "legs": [ { "carrierCode": "AA", "originatingAirportCode": "SFO", "class": "1", "stopoverIndicator": "O", "departureDate": "20230202", "destinationAirportCode": "NY", "exchangeTicketNumber": "ticket12", "endorsementsRestrictions": "Endorsement1234", "feeAmount": "999.99", "taxAmount": "99" }, { "carrierCode": "BB", "originatingAirportCode": "NY", "class": "2", "stopoverIndicator": "O", "departureDate": "20230202", "destinationAirportCode": "SFO", "exchangeTicketNumber": "ticket13", "endorsementsRestrictions": "Endorsement1234", "feeAmount": "999.99", "taxAmount": "99" } ] } } } }
Response to a Successful Request
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/captures/6917768579016106103954/voids" }, "self": { "method": "GET", "href": "/pts/v2/captures/6917768579016106103954" } }, "clientReferenceInformation": { "code": "RTS-Bill" }, "id": "6917768579016106103954", "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" } }, "reconciliationId": "682098706L5PQJ7Y", "status": "PENDING", "submitTimeUtc": "2023-08-11T18:00:58Z" }
Request
{ "clientReferenceInformation": { "code": "RTS-Bill" }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" } }, "processingInformation": { "industryDataType": "airline" }, "travelInformation": { "agency": { "name": "Thomascook", "code": "123" }, "transit": { "airline": { "passengerName": "John", "ticketNumber": "asd23", "customerCode": "LDTYOU789", "totalFeeAmount": "200", "planNumber": "49252", "exchangeTicketAmount": "11", "exchangeTicketFeeAmount": "1", "ticketIssueDate": "20190202", "arrivalDate": "20230808", "ticketIssuer": { "address": "Silicon Vally" }, "legs": [ { "carrierCode": "AA", "flightNumber": "UA789", "originatingAirportCode": "SFO", "class": "1", "stopoverIndicator": "O", "departureDate": "20230202", "destinationAirportCode": "NY", "fareBasis": "B1", "totalFareAmount": "12", "exchangeTicketNumber": "ticket12", "departureTime": "1720", "endorsementsRestrictions": "Endorsement1234", "arrivalTime": "1920", "arrivalTimeMeridian": "A", "departureTime": "1230", "departureTimeMeridian": "A" }, { "carrierCode": "BB", "flightNumber": "UA788", "originatingAirportCode": "NY", "class": "2", "stopoverIndicator": "O", "departureDate": "20230202", "destinationAirportCode": "SFO", "fareBasis": "B1", "totalFareAmount": "12", "exchangeTicketNumber": "ticket13", "departureTime": "1720", "endorsementsRestrictions": "Endorsement1234", "arrivalTime": "0120", "arrivalTimeMeridian": "A", "departureTime": "2030", "departureTimeMeridian": "A" } ] } } } }
Response to a Successful Request
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/captures/6917775047466121303955/voids" }, "self": { "method": "GET", "href": "/pts/v2/captures/6917775047466121303955" } }, "clientReferenceInformation": { "code": "RTS-Bill" }, "id": "6917775047466121303955", "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" } }, "reconciliationId": "68210417JL5O06RJ", "status": "PENDING", "submitTimeUtc": "2023-08-11T18:11:44Z" }
Request
{ "clientReferenceInformation": { "code": "RTS-Bill" }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" } }, "processingInformation": { "industryDataType": "airline" }, "travelInformation": { "agency": { "name": "Thomascook" }, "transit": { "airline": { "passengerName": "John", "ticketNumber": "asd23", "customerCode": "LDTYOU789", "totalFeeAmount": "200", "planNumber": "49252", "exchangeTicketAmount": "11", "exchangeTicketFeeAmount": "1", "legs": [ { "carrierCode": "AA", "flightNumber": "UA789", "originatingAirportCode": "SFO", "class": "1", "stopoverIndicator": "O", "departureDate": "20230202", "destinationAirportCode": "NY", "fareBasis": "B1", "exchangeTicketNumber": "ticket12", "departureTime": "1720", "endorsementsRestrictions": "Endorsement1234" }, { "carrierCode": "BB", "flightNumber": "UA788", "originatingAirportCode": "NY", "class": "2", "stopoverIndicator": "O", "departureDate": "20230202", "destinationAirportCode": "SFO", "fareBasis": "B1", "exchangeTicketNumber": "ticket13", "departureTime": "1720", "endorsementsRestrictions": "Endorsement1234" } ] } } } }
Response to a Successful Request
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/captures/6917778689216158003955/voids" }, "self": { "method": "GET", "href": "/pts/v2/captures/6917778689216158003955" } }, "clientReferenceInformation": { "code": "RTS-Bill" }, "id": "6917778689216158003955", "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" } }, "reconciliationId": "68210471JL5O06T1", "status": "PENDING", "submitTimeUtc": "2023-08-11T18:17:49Z" }
Request
{ "clientReferenceInformation": { "code": "RTS-Bill" }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" } }, "processingInformation": { "industryDataType": "airline" }, "travelInformation": { "agency": { "name": "Thomascook" }, "transit": { "airline": { "passengerName": "John", "ticketNumber": "asd23", "customerCode": "LDTYOU789", "totalFeeAmount": "200", "planNumber": "49252", "exchangeTicketAmount": "11", "exchangeTicketFeeAmount": "1", "restrictedTicketIndicator": "0", "legs": [ { "carrierCode": "AA", "originatingAirportCode": "SFO", "class": "1", "stopoverIndicator": "O", "departureDate": "20230202", "destinationAirportCode": "NY", "exchangeTicketNumber": "ticket12", "departureTime": "1720", "endorsementsRestrictions": "Endorsement1234" }, { "carrierCode": "BB", "originatingAirportCode": "NY", "class": "2", "stopoverIndicator": "O", "departureDate": "20230202", "destinationAirportCode": "SFO", "exchangeTicketNumber": "ticket13", "departureTime": "1720", "endorsementsRestrictions": "Endorsement1234" } ] } } } }
Response to a Successful Request
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/captures/6917788755186225803955/voids" }, "self": { "method": "GET", "href": "/pts/v2/captures/6917788755186225803955" } }, "clientReferenceInformation": { "code": "RTS-Bill" }, "id": "6917788755186225803955", "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" } }, "reconciliationId": "68211484JL5O0702", "status": "PENDING", "submitTimeUtc": "2023-08-11T18:34:35Z" }
Capture an Ancillary Purchase
Ancillary purchases are any additional services, such as baggage, meals, and paid seats,
your customers can purchase. Captures for ancillary purchases must be separate for
captures for ticket purchases.
FDC Nashville Global
supports up to four
ancillary purchases for each capture. Capture Restrictions
When ancillary purchases are made at the same time as the ticket purchase,
Cybersource
recommends sending separate capture requests for the ticket
and ancillary purchases. When ancillary purchases are not made at the same time as the ticket purchase,
Cybersource
recommends sending separate authorization and
capture requests for the ancillary and ticket purchases.Endpoint
Production:
POST
https://api.cybersource.com
/pts/v2/payments/{id}
/capturesTest:
POST
https://apitest.cybersource.com
/pts/v2/payments/{id}
/capturesThe is the transaction ID
returned in the authorization response.
{id}
Required Fields for an Airline Capture
Ancillary Airline Fields
Choose from these optional ancillary airline fields to include in your capture
request in addition to the required fields listed above.
IMPORTANT
FDC Nashville Global
supports up to four ancillary
purchases for each capture.- For a list of possible values, see Ancillary Service Category Codes.
- For a list of possible values, see Ancillary Service Category Codes.
- Set toCfor changing an existing ticket.
- Set toNfor a new ticket.
REST Example: Capturing an Airline Payment for Ancillary
Purchases
REST
Example: Capturing an Airline Payment for Ancillary
PurchasesRequest
{ "clientReferenceInformation": { "code": "TC50171_3" }, "orderInformation": { "amountDetails": { "totalAmount": "102.21", "currency": "USD" } }, "travelInformation": { "transit": { "airline": { "ancillaryInformation": { "ticketNumber": "123456789", "passengerName": "John Doe", "connectedTicketNumber": "987654321", "service": [ { "categoryCode": "65", "subCategoryCode": "75" } ] } } } } }
Response to a Successful Request
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/captures/6811595456806928403955/voids" }, "self": { "method": "GET", "href": "/pts/v2/captures/6811595456806928403955" } }, "clientReferenceInformation": { "code": "TC50171_3" }, "id": "6811595456806928403955", "orderInformation": { "amountDetails": { "totalAmount": "102.21", "currency": "USD" } }, "reconciliationId": "658927039G5GNF51", "status": "PENDING", "submitTimeUtc": "2023-04-10T20:45:45Z" }
Refund a Payment
Refund a Payment
This section describes how to process an airline refund, which requires
you to have the transaction ID from the original payment.
Endpoint
Production:
POST
https://api.cybersource.com
/pts/v2/payments/{id}
/refundsTest:
POST
https://apitest.cybersource.com
/pts/v2/payments/{id}
/refundsThe is the transaction ID
returned in the capture or sale response.
{id}
Required Fields for an Airline Refund
Refund
Include these fields to process an airline
refund
.Optional Fields for an Airline Refund
Refund
Choose from these optional fields to include additional information when processing an
airline
refund
.- travelInformation.transit.airline. clearingCount
- travelInformation.transit.airline. clearingSequence
- travelInformation.transit.airline. totalClearingAmount
- travelInformation. transit. airline.ancillaryInformation. creditReasonIndicator
- Set to one of these possible values:
- A: Passenger transport ancillary fee cancellation
- B: Airline ticket and passenger transport ancillary fee cancellation
- C: Airline ticket cancellation
- O: Other
- P: Partial refund of airline ticket
REST Example: Processing an Airline Refund
REST
Example: Processing an Airline Refund
Request
{ "processingInformation": { "industryDataType": "airline" }, "orderInformation": { "amountDetails": { "totalAmount": "102.21" } } }
Response to a Successful Request
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/refunds/6805496388936342404953/voids" }, "self": { "method": "GET", "href": "/pts/v2/refunds/6805496388936342404953" } }, "clientReferenceInformation": { "code": "1680549638986" }, "id": "6805496388936342404953", "orderInformation": { "amountDetails": { "currency": "USD" } }, "processorInformation": { "approvalCode": "888888", "responseCode": "100" }, "reconciliationId": "712678686G0ONA52", "refundAmountDetails": { "currency": "USD", "refundAmount": "102.21" }, "status": "PENDING", "submitTimeUtc": "2023-04-03T19:20:39Z" }
Airline Data Reference Information
This section contains reference information that is useful when using Airline Data.
Airline Document Type Codes
To indicate the purpose of a purchase, set the
travelInformation.transit.airline.documentType
field to a value listed in the Code column.Code | Description |
|---|---|
01 | Passenger ticket |
02 | Additional collection |
03 | Excess baggage |
04 | Miscellaneous charge order (MCO) or
prepaid ticket authorization |
05 | Special service ticket |
06 | Supported refund |
07 | Unsupported refund |
08 | Lost ticket application |
09 | Tour order voucher |
10 | Ticket by mail |
11 | Undercharge adjustment |
12 | Group ticket |
13 | Exchange adjustment |
14 | SPD or air freight |
15 | In-flight adjustment |
16 | Agency passenger ticket |
17 | Agency tour order or voucher |
18 | Agency miscellaneous charge order
(MCO) |
19 | Agency exchange order |
20 | Agency group ticket |
21 | Debit adjustment for duplicate
refund or use |
22 | In-flight merchandise order |
23 | Catalogue merchandise order |
24 | In-flight phone charges |
25 | Frequent flyer fee or
purchase |
26 | Kennel charge |
27 | Animal transportation charge |
28 | Firearms case |
29 | Upgrade charge |
30 | Credit for unused
transportation |
31 | Credit for class of service
adjustment |
32 | Credit for denied boarding |
33 | Credit for miscellaneous
refund |
34 | Credit for lost ticket
refund |
35 | Credit for exchange refund |
36 | Credit for overcharge
adjustment |
37 | Credit for multiple Unused
tickets |
38 | Exchange order |
39 | Self-service ticket |
41 | In-flight duty-free purchase |
42 | Senior citizen discount
booklets |
43 | Club membership fee |
44 | Coupon book |
45 | In-flight charges |
46 | Tour deposit |
47 | Frequent flyer overnight delivery
charge |
48 | Frequent flyer fulfillment |
49 | Small package delivery |
50 | Vendor sale |
51 | Miscellaneous taxes or fees |
52 | Travel agency fee |
60 | Vendor refund or credit |
64 | Duty free sale |
65 | Preferred seat upgrade |
66 | Cabin upgrade |
67 | Lounge or club access or day
pass |
68 | Agent assisted reservation or
ticketing fee |
69 | Ticket change or cancel fee |
70 | Trip insurance |
71 | Unaccompanied minor |
72 | Standby fee |
73 | Curbside baggage |
74 | In-flight medical equipment |
75 | Ticket or pass print fee |
76 | Checked sporting or special
equipment |
77 | Dry ice fee |
78 | Mail or postage fee |
79 | Club membership fee or temporary
trial |
80 | Frequent flyer activation or
reinstatement |
81 | Gift certificate |
82 | Onboard or in-flight prepaid
voucher |
83 | Optional services fee |
84 | Advance purchase for excess
baggage |
85 | Advance purchase for preferred seat
upgrade |
86 | Advance purchase for cabin
upgrade |
87 | Advance purchase for optional
services |
88 | Wi-Fi |
89 | Packages |
90 | In-flight entertainment or internet
access |
91 | Overweight bag fee |
92 | Sleep sets |
93 | Special purchase fee |
Ancillary Service Category Codes
To indicate the service provided in an ancillary purchase, set the
travelInformation.transit.airline.ancillaryInformation.service[].categoryCode
and travelInformation.transit.airline.ancillaryInformation.service[].subCategoryCode
fields to a value listed in the Ancillary Service Category Code column.Ancillary Service Category
Codes | Description |
|---|---|
BF | Bundled service |
BG | Baggage fee |
CF | Change fee |
CG | Cargo |
CO | Carbon offset |
FF | Frequent flyer |
GF | Gift card |
GT | Ground transport |
IE | In-flight entertainment |
LG | Lounge |
MD | Medical |
ML | Meal or beverage |
OT | Other |
PA | Passenger assist fee |
PT | Pets |
SA | Seat fees |
SB | Standby |
SF | Service fee |
ST | Store |
TS | Travel service |
UN | Unaccompanied travel |
UP | Upgrades |
WI | Wi-Fi |
Relaxed Requirements for Address Data and Expiration Date in Payment Transactions
With relaxed requirements for address data and the expiration date, not all standard payment request fields are required. It is your responsibility to determine whether your account is enabled to use this feature and which fields are required.