# Unpriced segment

Use the Unpriced Segment API in either the booking or post-booking workflow to add an unpriced segment to the workbench. You can send the Unpriced Segment request instead of the Add Offer API in the booking workflow. Or, to add both an unpriced segment and an offer, you can send both Unpriced Segment and Add Offer. Unpriced Segment adds flight/s as unpriced segments instead of as an offer, which is by definition priced.Unpriced segments can be priced using the offers/buildfromunpricedsegments API. GDS content only. NDC does not support unpriced segments.

Endpoint: POST /air/book/airoffer/reservationworkbench/{ReservationResource_Identifier}/unpricedsegments
Version: 11.33.0
Security: bearerAuth

## Path parameters:

  - `ReservationResource_Identifier` (string, required)
    The reservation workbench identifier to add unpriced segments to.
    Example: "382c74c3-721d-4f34-80e5-57657b6cbc27"

## Header parameters:

  - `travelportPlusSessionIdentifier` (string)
    travelportPlusSessionIdentifier used to maintain an established agency session
    Example: "49f58f5f-c443-43b4-9f5d-be405fd00a01"

  - `TraceId` (string)
    Identifier used to correlate Air API invocations across a multi-call business flows.
    Example: "TraceID_123456789"

  - `XAUTH_TRAVELPORT_ACCESSGROUP` (string)
    Identifies the Travelport access group with which the caller is associated
    Example: "19Y88702-C27A-4E5D-829A-89D7016688B1"

  - `TVP-PCC-Core` (string)
    Allows user to pass PCC instead of Access Group ID
    Example: "DU7_1G"

  - `Accept-Encoding` (string, required)
    Comma-separated list of acceptable encodings like gzip and/or deflate
    Example: "gzip, deflate"

## Request fields (application/json):

  - `@type` (string, required)
    Discriminator. No child classes available.
    Example: "UnpricedSegments"

  - `UnpricedFlightSegment` (array, required)

  - `UnpricedFlightSegment.@type` (string, required)
    Example: "UnpricedFlightsegment"

  - `UnpricedFlightSegment.id` (string)
    Local identifier within a given message for this FlightSegment
    Example: "unpricedSegment_1"

  - `UnpricedFlightSegment.sequence` (integer, required)
    Sequence of the leg of the segment.
    Example: 1

  - `UnpricedFlightSegment.connectionDuration` (string)
    The actual duration of the connecting FlightSegment
    Example: "PT2H30M"

  - `UnpricedFlightSegment.passengerQuantity` (integer)
    Number of passengers on this segment.
    Example: 2

  - `UnpricedFlightSegment.cabin` (string)
    Specifies the cabin type (e.g. first, business, economy). If sent for Flight Specific Search, this field is ignored.
    Enum: "PremiumFirst", "First", "Business", "PremiumEconomy", "Economy"

  - `UnpricedFlightSegment.classOfService` (string)
    Class of service of the segment.
    Example: "Y"

  - `UnpricedFlightSegment.amenityRefs` (array)
    List of amenity references for this flight
    Example: ["amenity_1"]

  - `UnpricedFlightSegment.universalProductAttributeRefs` (array)
    List of universal product attributes for this flight.
    Example: "upa_1"

  - `UnpricedFlightSegment.passiveSegmentStatus` (string)
    If the segment is to be sold as passive enter the passive segment status. AK supplier message sent upon cancel only, BK supplier message sent on book and cancel, YK Information only, no supplier message sent, segment cannot be priced or ticketed.
    Example: "AK"

  - `UnpricedFlightSegment.IntermediateStopAmenities` (array)

  - `UnpricedFlightSegment.IntermediateStopAmenities.@type` (string, required)
    Discriminator. No child classes.
    Example: "IntermediateStopAmenities"

  - `UnpricedFlightSegment.IntermediateStopAmenities.departureLocation` (string, required)
    The departure location.
    Example: "NYC"

  - `UnpricedFlightSegment.IntermediateStopAmenities.arrivalLocation` (string, required)
    The arrival location.
    Example: "DEN"

  - `UnpricedFlightSegment.IntermediateStopAmenities.amenityRefs` (array)
    List of amenity references for this portion of the flight.
    Example: ["amenity_1"]

  - `UnpricedFlightSegment.IntermediateStopAmenities.universalProductAttributeRefs` (array)
    List of UPA references for this portion of the flight.
    Example: ["upa_1"]

  - `UnpricedFlightSegment.OperationalStatus` (object)
    The operational status of the flight

  - `UnpricedFlightSegment.OperationalStatus.value` (string)
    List of operational flight status
    Enum: "FlightBoarding", "FlightCancelled", "FlightDeparted", "FlightPastScheduledDeparture", "NotAvailableUseSearch"

  - `UnpricedFlightSegment.Flight` (object, required)
    Flight common schema. Used across Air workflow.

  - `UnpricedFlightSegment.Flight.@type` (string, required)
    Discriminator. Child classes Flight and FlightDetail.
    Example: "FlightDetail"

  - `UnpricedFlightSegment.Flight.id` (string)
    Local id within a given message to support referencing this object.
    Example: "126"

  - `UnpricedFlightSegment.Flight.FlightRef` (string)
    Reference id that corresponds to the flight 'id' in ReferenceListFlight.Flight.
    Example: "s1"

  - `UnpricedFlightSegment.Flight.Identifier` (object)
    A globally unique identifier key often used to reference a given option (such as Pricing, Booking, Rules, or additional workflows) or to retrieve information (such as Hotel pagination).

  - `UnpricedFlightSegment.Flight.Identifier.value` (string)
    "Unique offer identifier that can be sent in subsequent payload requests to reference this offer.
When used specifically for form of payment, the value will begin with the characters 'FOP'. Similarly, the OfferIdentifier associated will begin with the character 'O'.
For Hotel Create Reservation (Reference Payload), send the value from the Availability response in CatalogOffering/id or the value from SearchComplete returned in propertyItems/lowestPublicAvailableRate/rateKey/value. 
Results from Availability and SearchComplete are stored in the cache for 30 minutes. If the offers expire before booking, you must send a new request."
    Example: "A0656EFF-FAF4-456F-B061-0161008D7C4E"

  - `UnpricedFlightSegment.Flight.Identifier.authority` (string)
    "Name of the supplier system that created this identifier. 
For Hotels, authority indicates which supplier returned the lowest available rate for that property: either TVPT (Travelport) or BKNG (booking.com). Booking.com access requires additional provisioning and a direct agreement with the supplier. Authority is not returned if the property is closed or returns an error.
For Hotel Create Reservation (Full Payload) and Sync Reservation send the value from the Availability response in CatalogOffering/Identifier/authority for the instance you want to book."
    Example: "TVPT"

  - `UnpricedFlightSegment.Co2Actual` (object)
    The actual CO2 emissions of this flight. Measured in kilograms.

  - `UnpricedFlightSegment.Co2Actual.value` (number)
    Example: 2.22

  - `UnpricedFlightSegment.Co2Actual.measurementType` (string)
    The type of measurement such as width, height, weight
    Enum: "Width", "Height", "Depth", "Weight", "OverallDimension"

  - `UnpricedFlightSegment.Co2Actual.unit` (string)
    The unit of measure in a code format. Refer to OpenTravel Code List Unit of Measure Code (UOM).
    Enum: "Miles", "Kilometers", "Meters", "Millimeters", "Centimeters", "Yards", "Feet", "Inches", "Pixels", "Block", "Megabytes", "Gigabytes", "Square feet", "Square meters", "Pounds", "Kilograms", "Square inch", "Square yard", "Acre", "Square millimeter", "Square centimeter", "Hectare", "Ounce", "Gram", "Gallons", "Liters", "Kilowatts", "Cubic meters"

  - `UnpricedFlightSegment.boundFlightInd` (boolean)
    If present and true, the Segments in this Connection are married.

## Response 200 fields (application/json):

  - `UnpricedSegmentsResponse` (object)
    The response of an UnpricedSegment add request.

  - `UnpricedSegmentsResponse.UnpricedSegments` (object)
    Top level object for request. Top level container object for response.

  - `UnpricedSegmentsResponse.@type` (string)
    Example: "response"

  - `UnpricedSegmentsResponse.transactionId` (string)
    "A unique system-generated (128 bit GUID format) transaction/tracking id for a single request and response (i.e. for a single transaction) used for internal tracking and troubleshooting. Also known as E2ETrackingId. Not returned in all Hotel API responses."
    Example: "49f58f5f-c443-43b4-9f5d-be405fd00a01"

  - `UnpricedSegmentsResponse.traceId` (string)
    "Used in hospitality workflows to provide a Unique transaction or tracking id for a single request and response. For Rules, returned if a custom trace ID was sent in the request header"
    Example: "TraceID_123456"

  - `UnpricedSegmentsResponse.correlationId` (string)
    Identifier used to correlate hotel API invocations across a multi-call business flow.

  - `UnpricedSegmentsResponse.reservationStatus` (string)
    Status of reservation or offer completion.
    Enum: "Success", "Fail", "Partial", "Pending", "OnHold", "Retry", "Other"

  - `UnpricedSegmentsResponse.Result` (object)
    Returns the error and/or warning message information, if applicable.

  - `UnpricedSegmentsResponse.Result.@type` (string)
    Discriminator class Result only
    Example: "Result"

  - `UnpricedSegmentsResponse.Result.status` (string)
    The status of an error or warning
    Enum: "Not processed", "Incomplete", "Complete", "Unknown"

  - `UnpricedSegmentsResponse.Result.Error` (array)
    A list of error information returned at the provider level for a response.

  - `UnpricedSegmentsResponse.Result.Error.@type` (string, required)
    Discriminator classes Error or ErrorDetail
    Example: "ErrorDetail"

  - `UnpricedSegmentsResponse.Result.Error.Message` (string)
    The Travelport standardized error or warning message
    Example: "No flights found."

  - `UnpricedSegmentsResponse.Result.Error.NameValuePair` (array)

  - `UnpricedSegmentsResponse.Result.Error.NameValuePair.value` (string)
    Text directly related to name description, providing more detail. May have character restrictions based on remark type (e.g. Free Text limitations: 84 characters, alphanumeric and some special characters).
    Example: "Sunday"

  - `UnpricedSegmentsResponse.Result.Error.NameValuePair.id` (string)
    Optional internally referenced id
    Example: "6"

  - `UnpricedSegmentsResponse.Result.Error.NameValuePair.name` (string, required)
    Key, categorizing the of type of remark or error.
    Example: "Day1"

  - `UnpricedSegmentsResponse.Result.Error.StatusCode` (integer)
    Http standard response code
    Example: 200

  - `UnpricedSegmentsResponse.Result.Warning` (array)
    A list of warning information returned at the provider level for a response.

  - `UnpricedSegmentsResponse.Result.Warning.@type` (string, required)
    Discriminator classes Warning or WarningDetail
    Example: "WarningDetail"

  - `UnpricedSegmentsResponse.Result.Warning.Message` (string)
    The Travelport standardized error or warning message
    Example: "Customer Loyalty could not be applied."

  - `UnpricedSegmentsResponse.Result.Warning.NameValuePair` (array)

  - `UnpricedSegmentsResponse.Result.Warning.StatusCode` (integer)
    Http standard response code
    Example: 200

  - `UnpricedSegmentsResponse.Identifier` (object)
    A globally unique identifier key often used to reference a given option (such as Pricing, Booking, Rules, or additional workflows) or to retrieve information (such as Hotel pagination).

  - `UnpricedSegmentsResponse.NextSteps` (object)
    Container for the steps that describe actions that may be taken on the containing object.

  - `UnpricedSegmentsResponse.NextSteps.baseURI` (string, required)
    The base portion of the uri in order to shorten the uris in the individual steps

  - `UnpricedSegmentsResponse.NextSteps.id` (string)
    Optional internally referenced id
    Example: "5"

  - `UnpricedSegmentsResponse.NextSteps.NextStep` (array, required)

  - `UnpricedSegmentsResponse.NextSteps.NextStep.value` (string)
    Example: "www.resourcelocation.com"

  - `UnpricedSegmentsResponse.NextSteps.NextStep.id` (string)
    Identifier for the Next Step
    Example: "2"

  - `UnpricedSegmentsResponse.NextSteps.NextStep.action` (string, required)
    The action this next step is intended to achieve
    Example: "cancel"

  - `UnpricedSegmentsResponse.NextSteps.NextStep.method` (string, required)
    Describes the set of potential methods that can be taken after an operation.
    Enum: "GET", "DELETE", "PUT", "POST"

  - `UnpricedSegmentsResponse.NextSteps.NextStep.description` (string)
    Additional clarification for the next step
    Example: "remove offer from the order"

  - `UnpricedSegmentsResponse.ReferenceList` (array)

  - `UnpricedSegmentsResponse.ReferenceList.@type` (string, required)
    Discriminator. Air Search child classes are ReferenceListAmenity, ReferenceListBrand, ReferenceListFlight, ReferenceListProduct, ReferenceListTermsAndConditions, and ReferenceListUniversalProductAttribute. Air Price child classes are ReferenceListAmenity and ReferenceListBrand. FareRules child class is ReferenceListFlight. Search Ancillaries child class is ReferenceListFlight. Seat Map child class is ReferenceListSeatingChart. Hotel Availability child class is ReferenceListPropertyDates. Reservation and Reservation Workbench child classes are ReferenceListAmenity, ReferenceListBrand, and ReferenceListUniversalProductAttribute. Exchange Search child classes are ReferenceListBrand, ReferenceListFlight, and ReferenceListExchangedPrice. Reservation Receipt child classes are ReferenceListOffer and ReferenceListTraveler. Book_Traveler child class is ReferenceListTraveler.
    Example: "ReferenceListFlight"

  - `UnpricedSegmentsResponse.ReferenceList.id` (string)
    Uniquely identifies for the Reference List

  - `UnpricedSegmentsResponse.CurrencyRateConversion` (array)

  - `UnpricedSegmentsResponse.CurrencyRateConversion.@type` (string)

  - `UnpricedSegmentsResponse.CurrencyRateConversion.SourceCurrency` (object, required)
    Currency codes are the three-letter alphabetic codes that represent the various currencies used throughout the world. 
For Hotel: SourceCurrency is based on the location of the hotel and used for all rates in the response. TargetCurrency is the currency code sent in the request in requestedCurrency.

  - `UnpricedSegmentsResponse.CurrencyRateConversion.SourceCurrency.value` (string)
    An ISO 4217 currency code.
    Example: "USD"

  - `UnpricedSegmentsResponse.CurrencyRateConversion.SourceCurrency.codeAuthority` (string)
    Currency code authority
    Example: "ISO 4217"

  - `UnpricedSegmentsResponse.CurrencyRateConversion.SourceCurrency.decimalPlace` (integer)
    Number of decimal places for the currency.
    Example: 4

  - `UnpricedSegmentsResponse.CurrencyRateConversion.SourceCurrency.decimalAuthority` (string)
    Currency code decimal authority
    Example: "ISO 4217"

  - `UnpricedSegmentsResponse.CurrencyRateConversion.TargetCurrency` (object, required)
    Currency codes are the three-letter alphabetic codes that represent the various currencies used throughout the world. 
For Hotel: SourceCurrency is based on the location of the hotel and used for all rates in the response. TargetCurrency is the currency code sent in the request in requestedCurrency.

  - `UnpricedSegmentsResponse.CurrencyRateConversion.ConversionRate` (object, required)
    Conversion rate of SourceCurrency value to TargetCurrency value. This value can be used to calculate, independently of the API, conversion for the rates in the response. The response does not convert any amounts.

  - `UnpricedSegmentsResponse.CurrencyRateConversion.ConversionRate.value` (number)

  - `UnpricedSegmentsResponse.CurrencyRateConversion.ConversionRate.rateAuthority` (string)
    Contextual rate authority
    Example: "ISO 4217"

  - `UnpricedSegmentsResponse.CurrencyRateConversion.ConversionRate.rateAsOf` (string)
    Rate as of
    Example: "2026-08-07 12:12:00+00:00"

  - `UnpricedSegmentsResponse.Pagination` (object)
    Pagination object used when result sets span across a number of pages.

  - `UnpricedSegmentsResponse.Pagination.@type` (string, required)
    Example: "Pagination"

  - `UnpricedSegmentsResponse.Pagination.page` (integer, required)
    The current page number of the full result set
    Example: 1

  - `UnpricedSegmentsResponse.Pagination.pageSize` (integer, required)
    The total number of items on this page
    Example: 20

  - `UnpricedSegmentsResponse.Pagination.totalPages` (integer, required)
    The total number of pages in this result set
    Example: 5

  - `UnpricedSegmentsResponse.Pagination.totalItems` (integer, required)
    The total number of pages in this result set
    Example: 100

## Response 400 fields (application/json):

  - `ErrorResponse` (object)
    Base common error response

  - `ErrorResponse.@type` (string)
    Example: "response"

  - `ErrorResponse.transactionId` (string)
    "A unique system-generated (128 bit GUID format) transaction/tracking id for a single request and response (i.e. for a single transaction) used for internal tracking and troubleshooting. Also known as E2ETrackingId. Not returned in all Hotel API responses."
    Example: "49f58f5f-c443-43b4-9f5d-be405fd00a01"

  - `ErrorResponse.traceId` (string)
    "Used in hospitality workflows to provide a Unique transaction or tracking id for a single request and response. For Rules, returned if a custom trace ID was sent in the request header"
    Example: "TraceID_123456"

  - `ErrorResponse.correlationId` (string)
    Identifier used to correlate hotel API invocations across a multi-call business flow.

  - `ErrorResponse.reservationStatus` (string)
    Status of reservation or offer completion.
    Enum: "Success", "Fail", "Partial", "Pending", "OnHold", "Retry", "Other"

  - `ErrorResponse.Result` (object)
    Returns the error and/or warning message information, if applicable.

  - `ErrorResponse.Identifier` (object)
    A globally unique identifier key often used to reference a given option (such as Pricing, Booking, Rules, or additional workflows) or to retrieve information (such as Hotel pagination).

  - `ErrorResponse.NextSteps` (object)
    Container for the steps that describe actions that may be taken on the containing object.

  - `ErrorResponse.ReferenceList` (array)

  - `ErrorResponse.CurrencyRateConversion` (array)

  - `ErrorResponse.Pagination` (object)
    Pagination object used when result sets span across a number of pages.


