Cancel Workbench Items API Reference
|
POST |
book/reservationworkbench/{workbenchID}/reservations/cancelitems For {workbenchID} send the workbench identifier returned in ReservationResponse/Identifer/value in the workbench create response. Base path: The base path for this API varies from that for other JSON Air APIs and does not include air at the end.
Pre-production https://api.pp.travelport.net/11/ Production https://api.travelport.net/11/ Travelport has updated all JSON API authentication and authorization endpoints. The previous production endpoints will be deprecated 30 Jan 2026. Pre-production endpoints were deprecated 5 Dec 2025. See Endpoint Migration for details.
|
Related Content:Air Booking Guide, Booking Session Workflow
The Cancel Workbench Items API supports several options for canceling GDS air offers, NDC air offers, and hotel segments. Supported options vary for both the initial booking and for a held booking. Cancel Workbench Items cannot be used after a booking is ticketed.
For all supported cancel options, see Cancel Offers, Products, Segments from a Booking in the Booking Guide.
Cancel Workbench Items must always be followed by a Workbench Commit to commit the changes. If all offers were removed, a shell booking
A shell booking contains only traveler details and no offers. Created if all offers are removed from a booking with Cancel Workbench Items and the workbench is committed with only traveler details, or if a booking fails at commit and the autoDeleteDate query parameter was included in the commit request (see the Booking Guide). is created to retain traveler details, and you can search for new offers to add to that booking.
A workbench retrieve before Cancel Workbench is recommended to sync all data.
Cancel Workbench Items supports NDC content only in the initial booking workbench, see the Booking Guide for details. Cancel Workbench Items cannot be used for an existing NDC booking: instead, use the NDC Reshop and Reprice APIs to modify the booking, or Cancel to cancel it.
Request
As part of the request requirements, also see Authentication and Common Air Headers.
Query Parameters
None.
Request Body
The following payload provides options to cancel the entire reservation, all offers, or only selected offers, products, or segments.
See the introductory section above for which options are supported for NDC/GDS and in the initial and post-commit workbench. Note that this payload does not support any NDC post-commit options; instead, to modify an NDC held booking, create a post-commit workbench and use the NDC Cancel API.
|
Object |
Description |
Required/Optional |
|---|---|---|
|
@type |
Identifier. Send with value CancelRequest |
Required |
|
cancelAllInd |
Indicator. Send with value true to cancel the entire booking and remove all data from workbench.
|
Required Optional. Send only to cancel entire initial workbench or held booking. Must be followed immediately by a Workbench Commit. |
|
cancelOffers |
Object to cancel offers. Send to cancel one, multiple, or all offers (all offers includes all air, hotel, and car offers but retain traveler data in the workbench. |
Optional. Send to cancel specific offers instead of entire booking (see cancelAllInd above) or unpriced segments (see cancelUnpricedSegments below) |
|
objectType |
String. Supported values:
|
Required if cancelOffers or cancelUnpricedSegments sent |
|
offerProductSelection
|
Send if sending objectType=CancelSelectedOffers to cancel one or more specified offers. Send one instance for each offer to cancel, or each offer with a product or segment to cancel. Key value pairs:
Includes offerID object. Includes productSegmentSequenceArray only if canceling only one or more products or segments in an air offer instead of the entire offer. (Hotel and car offers do not have products or segments.) |
Required if canceling specific offers |
|
Boolean. Send with true to indicate cancellation of a passive segment. |
Optional |
|
Boolean. Send with true to cancel only the filed fare on the specified GDS offers on the booking but retain the segment/s and all flight details. The offer becomes an unpriced segment/s Supported for both objectType/CancelAllOffers and /CancelSelectedOffers. Supported for existing bookings; supported in the initial booking workflow only if the fare is already stored. GDS only; NDC does not support unpriced segments or removing filed fares. |
Optional |
|
offerID |
Send if canceling one or more specified offers, or products or segments within an air offer. Includes the following:
|
Required if canceling specific offers |
|
productSegmentSequenceArray |
Send if canceling one or more specified products or segments in an offer. Includes the following:
|
Required if canceling a product or segment within one or more air offers |
|
cancelUnpricedSegments |
Send to cancel one, multiple, or all unpriced segments. |
Required if canceling unpriced segments |
|
objectType |
String. Supported values:
|
Required if cancelUnpricedSegments sent |
|
flightSegmentSelection |
Send to cancel specified unpriced segments. Includes the following:
|
Required if cancelUnpricedSegments sent |
Response
All of the request payloads above return a transaction identifier in the same format in the response.
|
Object |
Description |
|---|---|
|
ReservationResponse |
Top level object. |
|
Reservation |
Top level object. Includes Identifier. |
|
Identifier |
Standard Travelport system-generated transaction identifier. Key value pairs:
|
Example Request
For details on when the following payloads are supported, and GDS and NDC support, see Cancel Offers, Products, Segments from a Booking in the Booking Guide.
The following payload cancels the entire booking.
{
"@type": "CancelRequest",
"cancelAllInd": true
}
The following payload cancels all offers (air, hotel, and car as applicable) on a GDS held booking. Supported only for GDS in the post-commit workbench.
{
"@type": "CancelRequest",
"cancelOffers": {
"objectType": "CancelAllOffers"
}
}
The following payload includes retainSegmentsInd to cancel the filed fare from all air offers (supported for GDS only) and retain the segments. The segments are converted from the Offer object to UnpricedSegment.
{
"@type": "CancelRequest",
"cancelOffers": {
"objectType": "CancelAllOffers"
"retainSegmentsInd": true
}
}
The following payload cancels two specified offers and leaves all other offers on the booking.
{
"@type": "CancelRequest",
"cancelOffers": {
"objectType": "CancelSelectedOffers",
"offerProductSelection": [
{
"sendPassiveNotificationInd": true,
"offerID": {
"Identifier": {
"authority": "Travelport",
"value": "30420d72-2d73-4506-bd93-e4f7da67d04d"
}
}
},
{
"sendPassiveNotificationInd": true,
"offerID": {
"Identifier": {
"authority": "Travelport",
"value": "8b72118d-0247-449b-89bd-6ab554f550df"
}
}
}
]
}
}
The following payload includes retainSegmentsInd to cancel the filed fare from specified air offers (supported for GDS only) and retain the segments. The segments are converted from the Offer object to UnpricedSegment.
{
"@type": "CancelRequest",
"cancelOffers": {
"objectType": "CancelSelectedOffers",
"offerProductSelection": [
{
"sendPassiveNotificationInd": true,
"retainSegmentsInd": true,
"offerID": {
"Identifier": {
"authority": "Travelport",
"value": "d937ddcd-34a0-4da9-aa97-ad54056a726b"
}
}
}
]
}
}
The following payload cancels a product within an offer.
{
"@type": "CancelRequest",
"cancelOffers": {
"objectType": "CancelSelectedOffers",
"offerProductSelection": [
{
"sendPassiveNotificationInd": true,
"offerID": {
"Identifier": {
"authority": "Travelport",
"value": "672ccee8-d754-48a6-a5be-830098eb6429"
}
},
"productSegmentSequenceArray": [
{
"productID": {
"Identifier": {
"authority": "Travelport",
"value": "7687b84c-aa13-4d8c-b7d0-622ea57a9573"
}
}
}
]
}
]
}
}
The following payload cancels a segment within a product.
{
"@type": "CancelRequest",
"cancelOffers": {
"objectType": "CancelSelectedOffers",
"offerProductSelection": [
{
"sendPassiveNotificationInd": true,
"offerID": {
"Identifier": {
"authority": "Travelport",
"value": "64efc64a-6871-479f-873f-2ccde84da74b"
}
},
"productSegmentSequenceArray": [
{
"productID": {
"Identifier": {
"authority": "Travelport",
"value": "4ac1483f-4d8b-405a-b90b-b1ea00f8f069"
}
},
"segmentSequenceArray": [
4,5
]
}
]
}
]
}
}
The following payload cancels multiple product and segment combinations.
{
"@type": "CancelRequest",
"cancelOffers": {
"objectType": "CancelSelectedOffers",
"offerProductSelection": [
{
"sendPassiveNotificationInd": true,
"offerID": {
"Identifier": {
"authority": "Travelport",
"value": "ada4e19a-b52a-43cd-b1ed-e9a1c5cee7d8"
}
}
},
{
"sendPassiveNotificationInd": true,
"offerID": {
"Identifier": {
"authority": "Travelport",
"value": "accc35ff-9dde-45cd-810e-afc2612f74c2"
}
},
"productSegmentSequenceArray": [
{
"productID": {
"Identifier": {
"authority": "Travelport",
"value": "ae4ee9ee-88de-4d05-a07a-360c2e8aaad6"
}
}
}
]
}
]
}
}
{
"@type": "CancelRequest",
"cancelUnpricedSegments": {
"objectType": "CancelAllUnpricedSegments"
}
}
{
"@type": "CancelRequest",
"cancelUnpricedSegments": {
"objectType": "CancelSelectedUnpricedSegments",
"flightSegmentSelection": [
{
"sendPassiveNotificationInd": true,
"unpricedFlightSegmentIDRefs": [
"unPricedFlightSegment_1"
]
}
]
}
}
{
"@type": "CancelRequest",
"cancelOffers": {
"objectType": "CancelSelectedOffers",
"offerProductSelection": [
{
"sendPassiveNotificationInd": true,
"offerID": {
"Identifier": {
"authority": "Travelport",
"value": "f09eb521-0b9f-463e-8176-025356af0d7b"
}
}
}
]
},
"cancelUnpricedSegments": {
"objectType": "CancelSelectedUnpricedSegments",
"flightSegmentSelection": [
{
"sendPassiveNotificationInd": true,
"unpricedFlightSegmentIDRefs": [
"unPricedFlightSegment_1",
"unPricedFlightSegment_2"
]
}
]
}
}
Example Response
All of the request payloads above return a transaction identifier in the response per the example below.
{
"ReservationResponse": {
"Reservation": {
"@type": "Reservation",
"Identifier": {
"value": "8521bef5-da95-496f-9b03-fc3b1fcac50b",
"authority": "Travelport"
}
}
}
}