Ancillary and EMD Guide

Ancillaries are any paid optional services filed by airlines and travel providers as available for selected air segments. Available ancillaries vary by airline and segment, but can include baggage, paid seats, pet/animal transportation, unaccompanied minors, and so on.

Although paid seats are an ancillary, they use different requests and are discussed in the Seats Guide.

Related Content: JSON APIs Guide, Booking Guide, Ancillary Shop API Reference, Ancillary Price API Reference, Ancillary Book API Reference

In this topic:

Basic Concepts

An ancillary is any paid optional service filed for a flight. Industry examples include paid baggage, carbon offsets, pet transport fees, and unaccompanied minor charges.

Ancillaries can be shopped and added to the reservation in a workbench session for either the initial booking workflow, or for an existing reservation.

Key points:

  • Ancillaries are airline specific.

  • Ancillary offers returned are specific to a traveler and to a segment.

  • An ancillary is paid for separately from the fare, and an electronic miscellaneous document (EMD) is issued for that payment.

Paid seats are a type of ancillary but are detailed in the Seats Guide because they use the seat map and book requests instead of the ancillary shop and book requests detailed here.

Bundled Fares
If an ancillary is combined with an air offer, that offer is called a bundled fare and is returned in the Search API response. No additional price is charged for an ancillary in a bundled fare. An ancillary bundle can be a combination of ancillaries, or an ancillary and a seat assignment. At this time bundled fares are supported only for NDC in Search and AirPrice (i.e., they cannot yet be booked), and only for UA dynamic bundled fares.

Ancillary Support

The JSON APIs currently support the following ancillaries in the booking and post-booking workflows as noted below for NDC and GDS.

For seats support, see the Seats Guide.

The NDC Instant Pay workflow (book and issue ticket in the same session) and the Add Product workflow do not support ancillaries or seats. These can be added after the reservation is created.

For differences in support between GDS and NDC in the JSON APIs, see the support tables for seats, ancillaries, fare rules, and exchanges. Also see the NDC Carrier-Specific Notes and the NDC and GDS Functionality Comparison Chart.
For carrier-specific NDC differences, see NDC capabilities by airline through JSON API in the Travelport Knowledge Base. If you need login assistance, see Knowledge Base NDC Resources.
Paid ancillaries for GDS are supported for only one passenger on a single offer.

Ancillary type

Ancillary Shop after AirPrice (without a workbench) Shop and book ancilaries in the initial booking workflow: Shop and book ancilaries for an existing reservation Cancel ancillary

GDS

NDC*

GDS

NDC

GDS

NDC

GDS

NDC*

Paid baggage

No

Yes

No

No

Yes

Yes

Yes

Yes

Carbon offset

No

No

No

No

Yes

No

No

n/a

Non-baggage paid ancillaries

(e.g., pets, meals, lounge access, wifi)

No

No

No

No

Yes

Yes

No

Yes

Ancillary Payment/EMDs

Payment for any ancillary, including paid seats, is issued through an EMD (electronic miscellaneous document) and is separate from the payment for the fare. EMDs can be either EMD-A (EMD is associated to a ticket) or EMD-S (standalone EMD). At this time the JSON APIs support only EMD-A.

EMDs for NDC ancillaries are issued directly from the carrier, so there are some differences from GDS:

For GDS ancillaries, you can pay for the ancillary either during booking or when you ticket the booking. In either case, to issue an EMD for the ancillary on the workbench commit, include the offer ID for the ancillary in the Add Payment request. See the Ticketing Guide for details.

NDC carriers vary as to when they require ancillary payment.

For detailed NDC support by carrier, see the Knowledge Base article NDC capabilities by airline through JSON API (see Knowledge Base NDC Resources if you need login assistance).

Workflow Summary

The ancillary workflow is supported only for an existing reservation, not during the initial booking session.

Ancillary Workflow for Existing Reservation

As noted above in Ancillary Support, you can add most ancillaries to an existing reservation.

Follow these steps to add an ancillary to an existing booking. For all seats, see the Seats Guide.

Step #

Ancillary Booking Workflow Step

Description and Notes

API Reference

1

Create workbench for existing reservation

Returns a system-generated identifier for the workbench that must be sent in subsequent requests for that workbench.

Create Post-Commit Workbench API Reference

2

Ancillary shop request

Shop for available ancillaries.

Ancillary Shop API Reference

3

Ancillary price request

Price selected ancillary.

Required for NDC. Not supported for GDS.

Ancillary Price API Reference

4

Ancillary book request

Add selected ancillary to workbench.

Ancillary Book API Reference

5

Add form of payment (optional)

Optional. Ancillary payment requirements vary, see Ancillary Payment and EMDs above.

Add form of payment (FOP) information to be used for the paid ancillary, if issuing the EMD at end of session.

The response returns a system-generated identifier for the FOP that is part of the reservation record and sent in the Add Payment request next. (Note FOP is not stored in the reservation for NDC.)

Add Form of Payment API Reference

6

Add payment (optional)

Optional. Send to issue EMD for the ancillary on commit. Include IDs for offer/s to pay for and FOP to use.

Add Payment API Reference

7

Commit the workbench

Final step in the workflow.

Depending on payment, one of the following occurs:

  • If no payment was sent, the commit updates the held booking with the ancillary.

  • If FOP and payment for the ancillary were sent, the commit updates the held booking with the ancillary and issues an EMD for the ancillary.

  • If FOP and payment for the ancillary and the air offer were sent, the commit issues the ticket and an EMD for the ancillary.

Commit Workbench API Reference

 

Workflow Diagrams

Each box in the diagram represents one API call in the workflow.

*Ancillary price is required for NDC; not supported for GDS.

**FOP and Payment requirements for NDC vary by carrier per Ancillary Support above.

Add FOP and Payment (optional)

As part of the workflow, you can send form of payment (if not already in the reservation) and payment for the ancillary offer. If you are also ready to ticket the booking, send payment for both the ancillary offer and the air offer. Reference both the offer and the FOP in the request. See the Add Payment API Reference for endpoint and payload details.

The following example adds payment for both an offer ("id": "offer_1",) and an ancillary ("id": "an_o1").

Commit

As the last step in the flow, commit the workbench.

For an initial booking, the commit creates a reservation with the ancillary details. If FOP and payment for the ancillary were also sent, an EMD for the ancillary is issued.

For an existing reservation, the commit causes one of the following:

  • If no payment was sent, the commit updates the held booking with the ancillary.

  • If FOP and payment for the ancillary were sent, the commit updates the held booking with the ancillary and issues an EMD for the ancillary.

  • If FOP and payment for the ancillary and the air offer were sent, the commit issues the ticket and an EMD for the ancillary.

The commit response returns the following ancillary-specific details in these objects:

  • Product: Product and ancillary identifiers, and the seat assignment if the ancillary is a paid seat.
  • Document: The Document object includes both the ticket number and the EMD number, if issued.

Canceling Ancillaries

With Ancillaries 24.11.27 and later, you can use the Ancillary Cancel request to cancel paid baggage from an existing reservation. Baggage cannot be canceled in the initial booking workflow. GDS only, not supported for NDC. This is the same request used to cancel seats.

Request and Response Layout Diagrams

The following overview diagrams illustrates the basic structure of the requests and responses for ancillary shop and price. These diagrams don't include every object that might be returned, and diagrams may not reflect minor updates.

Ancillary Shop

The following diagram illustrates the general structure of the Ancillary Shop request and response, including most high-level objects.

Ancillary Price

The following diagram illustrates the general structure of the Ancillary Price request and response, including most high-level objects.