Enhanced Cancel Booking
Enhanced Cancel Booking Flow
Request
Element | Attribute | Description |
---|---|---|
EnhancedCancelBookingRQ |
ErrorHandlingPolicy |
Specifies the action the service should take upon encountering a cancellation error. Acceptable values include: |
HALT_ON_ERROR - The API will stop processing upon encountering a cancellation error. |
||
ALLOW_PARTIAL_CANCEL - The API will continue processing upon encountering a cancellation error. |
||
CancelAll |
An optional attribute (default is false ) used to specify whether all segments must be canceled or only listed by the Segments list. If CancelAll is true , the Segments tag is not allowed. |
|
Segments |
sequence |
Specifies the itinerary segment number to cancel. This value can be obtained from the Create Passenger Name Record and Retrieve Itinerary API responses. |
Segments |
id |
Specifies the itinerary segment to cancel, and can be obtained from the Retrieve Itinerary API response. |
Canceling segments
To cancel a segment, only one attribute needs to be provided; either sequence
or id
.
If both sequence
and id
are provided, both have to point at the same segment.
Response
Element | Attribute | Description |
---|---|---|
ApplicationResults |
Status |
Contains the result of the cancel booking request. Can be Complete (success), Incomplete (finished with warnings), or Not Processed (finished with errors). |
Success |
timeStamp |
The time the request was processed. |
Errors |
error |
Returns information about any errors and/or warnings that may have occurred during processing. |
Examples
Cancel All Request, successful response
Request
<EnhancedCancelBookingRQ ErrorHandlingPolicy="ALLOW_PARTIAL_CANCEL" CancelAll="true" xmlns="http://services.sabre.com/sp/cancelbooking/v1">
<Segments></Segments>
</EnhancedCancelBookingRQ>
<Segments></Segments>
</EnhancedCancelBookingRQ>
Response
<ns2:EnhancedCancelBookingRS xmlns:ns2="http://services.sabre.com/sp/cancelbooking/v1" xmlns:stl="http://services.sabre.com/STL_Payload/v02_01">
<stl:ApplicationResults status="Complete">
<stl:Success timeStamp="2020-01-14T07:49:53.566-06:00"/>
</stl:ApplicationResults>
</ns2:EnhancedCancelBookingRS>
<stl:ApplicationResults status="Complete">
<stl:Success timeStamp="2020-01-14T07:49:53.566-06:00"/>
</stl:ApplicationResults>
</ns2:EnhancedCancelBookingRS>
Invalid request (invalid flags combination), response with errors
Request
<EnhancedCancelBookingRQ ErrorHandlingPolicy="ALLOW_PARTIAL_CANCEL" CancelAll="true" xmlns="http://services.sabre.com/sp/cancelbooking/v1">
<Segments>
<Segment sequence="1" />
</Segments>
</EnhancedCancelBookingRQ>
<Segments>
<Segment sequence="1" />
</Segments>
</EnhancedCancelBookingRQ>
Response
<ns2:EnhancedCancelBookingRS xmlns:ns2="http://services.sabre.com/sp/cancelbooking/v1" xmlns:stl="http://services.sabre.com/STL_Payload/v02_01">
<stl:ApplicationResults status="NotProcessed"/>
<ns2:Errors>
<ns2:error>
<ns2:category>BAD_REQUEST</ns2:category>
<ns2:description>CancelAll flag and list of flights/hotels/cars/segments cannot be combined.</ns2:description>
<ns2:type>INVALID_FLAGS_COMBINATION</ns2:type>
</ns2:error>
</ns2:Errors>
</ns2:EnhancedCancelBookingRS>
<stl:ApplicationResults status="NotProcessed"/>
<ns2:Errors>
<ns2:error>
<ns2:category>BAD_REQUEST</ns2:category>
<ns2:description>CancelAll flag and list of flights/hotels/cars/segments cannot be combined.</ns2:description>
<ns2:type>INVALID_FLAGS_COMBINATION</ns2:type>
</ns2:error>
</ns2:Errors>
</ns2:EnhancedCancelBookingRS>
Invalid request (trying to cancel non existing segment), response with errors
Request
<EnhancedCancelBookingRQ ErrorHandlingPolicy="ALLOW_PARTIAL_CANCEL" CancelAll="false" xmlns="http://services.sabre.com/sp/cancelbooking/v1">
<Segments>
<Segment sequence="18" />
</Segments>
</EnhancedCancelBookingRQ>
<Segments>
<Segment sequence="18" />
</Segments>
</EnhancedCancelBookingRQ>
Response
<ns2:EnhancedCancelBookingRS xmlns:ns2="http://services.sabre.com/sp/cancelbooking/v1" xmlns:stl="http://services.sabre.com/STL_Payload/v02_01">
<stl:ApplicationResults status="NotProcessed" />
<ns2:Errors>
<ns2:error>
<ns2:category>INVALID_DATA</ns2:category>
<ns2:description>Processing of [Segment{sequence: =18, id: =null}] error: Segment does not exist</ns2:description>
<ns2:type>SEGMENT_NOT_FOUND</ns2:type>
</ns2:error>
</ns2:Errors>
</ns2:EnhancedCancelBookingRS>
<stl:ApplicationResults status="NotProcessed" />
<ns2:Errors>
<ns2:error>
<ns2:category>INVALID_DATA</ns2:category>
<ns2:description>Processing of [Segment{sequence: =18, id: =null}] error: Segment does not exist</ns2:description>
<ns2:type>SEGMENT_NOT_FOUND</ns2:type>
</ns2:error>
</ns2:Errors>
</ns2:EnhancedCancelBookingRS>