Skip Navigation

Exchange Booking

1.1.0
Air
Ticketing
SOAP API
Travel Agency
  • From now on, if the PNR contains a mixture of products, it will not be possible to specify a non-air PNR segment within /Itinerary/SegmentPricing. Also, sending non-air PNR segments for cancellation will not be possible. This ensures that the PNR changes (retain, cancel, add) apply only to flight segments.
  • From now on, the API will no longer send all PNR segments for Automated Exchanges Comparison pricing and lets you decide which flights will be part of the actual exchange process.
  • From now on, the API will manage surface segments (ARNKs) automatically on your behalf.
  • In case of failures, the API will now return a main error message: "No new price quote reissue (PQR) records have been stored, see remaining messages for details."
  • From now on, the service response will only contain newly created Price Quote Reissue Record (PQR) information. If there were any other PQR records linked to the PNR prior to the transaction, these will not be returned.
  • The request schema contains new additions as part of an upgrade of the internal AutomatedExchangesLLSRQ API from version 2.6.1 to 2.9.0.
  • (05/30/2023) Added capability to pass PQR associated information on refundable amount to be collected on EMD at ...ExchangeConfirmation[n]/RefundableAmountOnEMD.
  • (09/12/2023) From now on, when API encounters the following message at commit/end transaction step: "The API has encountered simultaneous changes being made to the reservation and cleared all changes on this session. Please execute previous entries again" , it will mark such transactions as failed for a single ticket exchanges. Yet, if the same message is encountered for multiple ticket exchanges, the API will attempt to re-try Price Quote Reissue creation upon failure.

API Information

Format
XML
Current Version
1.1.0
Environment
Production

What's New

  • From now on, if the PNR contains a mixture of products, it will not be possible to specify a non-air PNR segment within /Itinerary/SegmentPricing. Also, sending non-air PNR segments for cancellation will not be possible. This ensures that the PNR changes (retain, cancel, add) apply only to flight segments.
  • From now on, the API will no longer send all PNR segments for Automated Exchanges Comparison pricing and lets you decide which flights will be part of the actual exchange process.
  • From now on, the API will manage surface segments (ARNKs) automatically on your behalf.
  • In case of failures, the API will now return a main error message: "No new price quote reissue (PQR) records have been stored, see remaining messages for details."
  • From now on, the service response will only contain newly created Price Quote Reissue Record (PQR) information. If there were any other PQR records linked to the PNR prior to the transaction, these will not be returned.
  • The request schema contains new additions as part of an upgrade of the internal AutomatedExchangesLLSRQ API from version 2.6.1 to 2.9.0.
  • (05/30/2023) Added capability to pass PQR associated information on refundable amount to be collected on EMD at ...ExchangeConfirmation[n]/RefundableAmountOnEMD.
  • (09/12/2023) From now on, when API encounters the following message at commit/end transaction step: "The API has encountered simultaneous changes being made to the reservation and cleared all changes on this session. Please execute previous entries again" , it will mark such transactions as failed for a single ticket exchanges. Yet, if the same message is encountered for multiple ticket exchanges, the API will attempt to re-try Price Quote Reissue creation upon failure.

Functional Updates And Enhancements

In the Request

Optional

Parameter: ExcludeFeeOnPenaltyTax

Type: boolean

Description: If 'true', the fee on penalty tax will be removed.

In the Request

Optional

Parameter: Tax

Type: element

Description: Overrides the fee tax.

Sample Value:

<ExchangeOverrides>
<ChangeFee>100.00</ChangeFee>
<FeeOnPenalty>
<Tax Amount="10.00" Code="XS"/>
<Tax Amount="5.00" Code="XF"/>
<Tax Amount="2.30" Code="XZ"/>
</FeeOnPenalty>
</ExchangeOverrides>
Note: Previously, only two repetitions of this element were allowed.

In the Request

Optional

Parameter: SpecificFareBasis

Type: string

Description: Targets a higher applicable fare that would otherwise not have been returned at the time of pricing.

Sample Value:

<PricingQualifiers>
<SpecificFareBasis>Y123456</SpecificFareBasis>
</PricingQualifiers>

In the Request

Optional

Parameter: Code

Type: string

Description: Used to specify an account code.

Note: Previously, only one (1) account code could be specified. From now on there can be up to four (4) codes.

In the Request

Optional

Parameter: ID

Type: string

Description: Used to specify a corporate ID.

Note: Previously, only one (1) corporate ID could be specified. From now on there can be up to four (4) IDs.

In the Request

Optional

Parameter: RetailerRuleQualifier

Type: element

Description: Used in exchanges to target fares that have been created using Agency Retailer Business Rules.

Sample Value:

<RetailerRuleQualifier Force="true">
<Qualifier>ABCDEFGHIJ12345</Qualifier>
</RetailerRuleQualifier>

In the Request

Optional

Parameter: ExcludeBookingCode

Type: string

Description: Used to exclude certain booking codes (RBD) at the time of pricing.

In the Request

Optional

Parameter: SpecifyMaxPenalty

Type: element

Description: Allows users to determine the maximum change fee amount on a ticketed fare.

Sample Value:

<SpecifyMaxPenalty maximumPenalty="ANY" penaltyChangeable="100/AFT" penaltyRefundable="MXP123456789"/>

  • The API will now use and orchestrated EnhancedEndTransactionRQ instead of low-level EndTransactionLLSRQ. The internal orchestrated API introduces capability of recovering from known end transaction errors, which will simplify the exchange booking process.
  • (12/09/2021) - corrected business logic related to .../ExchangeComparison/ExchangeSegment. As of the release date the API will properly pass the exchange segment information to downline services.
  • (03/08/2022) Added support for ExchangeBookingRQ/@targetCity - From now on the customers will be able to specify the pseudo city code, where they wish to create the price quote reissue record.
  • (03/08/2022) The API will now validate internal agency setting to check whether the Automatic Segment Arrange setting is enabled (TJR AZA). If not, the API will return the following warning : "Automatic Segment Arrange TJR flag is not enabled. The flight segments may be out of order."
  • (03/08/2022) Added a reservation redisplay right after flight segment cancellation step. In some cases, lack of such action could prevent automated segment rearrangement.
  • (06/28/2022) From now on the users will see the error message coming from downline DisplayPriceQuoteLLSRQ API as well as a defined warning: 'Unable to retrieve PQR information - see below messages for details'.
  • (06/28/2022) The API will look up DisplayPriceQuoteLLSRQ response and warn users of any potentially INCOMPLETE Price Quote Reissue Records. The example warning: 'Price quote reissue record is incomplete. Low Level API returned a warning stating, that PQR number 2 is incomplete.'
  • (08/01/2022) Modified warning message for Price Comparison when 'haltOnNonAcceptablePrice' equals 'false' - Starting from this release the warning message will be changed to correctly state that ..."Price Comparison failed" instead of stating that the "Exchange Booking transaction" has failed.
  • (08/01/2022) Modified failed reservation redisplay error messages in multiple ticket exchanges scenario. - With this small adjustment the users will now see specific ticket numbers, for which the API failed to retrieve details. The example message: "Unable to retrieve reservation details for ticket number(s) 0012345678901 - see below messages for details."
  • (08/01/2022) Modified PriceComparison to accept "0" value types. From now on the API will accept 0 as a possibility when using AutomatedExchanges/PriceComparison/AcceptablePriceIncrease (or Decrease)/Amount (or Percent) to check for price changes during the exchange process.
  • (08/30/2022) Starting from this release the user will receive a well defined error message upon sending an empty 'PriceComparison' node: 'When using PriceComparison either AcceptablePriceIncrease or AcceptablePriceDecrease is required.'
  • (08/30/2022) The API was enhanced to inform the user when segments to be priced or cancelled are not found in the reservation, example: '/ExchangeBookingRQ/Itinerary/SegmentPricing/SegmentSelect/@number=150 does not exist within the reservation'
  • (08/30/2022) The API was enhanced to support adding Special Service Requests (SSRs) right after booking new air segments
  • (10/04/2022) When customers attempt to cancel and book identical flight segments they may run into waitlist and other air booking issues, so a warning message will be returned from now on: "Cancelling segments and rebooking identical ones may cause issues with Air Booking."
  • (10/04/2022) Multiple ticket exchanges - corrected error handling when the first ticket exchange fails (reported under [ASTSP-439]). If the API encounters an error during the first ticket exchange, the API will stop processing, because otherwise entering another loop might cause issues with the state of the PNR. The API will now stop processing upon encountering errors during Automated Exchanges Comparison, Price Comparison, Automated Exchanges Confirmation, and End Transaction steps.
  • (04/04/2023) - From now on, in the case of multiple ticket exchanges, if a process for one of the tickets fails, the API will attempt to re-try generation of Price Quote Reissue Record up to 3 times (initial failure + 3 retries). This change is meant to help you work around any synchronization issues between downstream service providers.
  • (04/04/2023) - Removed obsolete ...PostProcessing@acceptIncompleteTransactions - The attribute was never supported and its removal is meant to polish the request schema document
  • (05/30/2023) Added capability to pass PQR associated information on refundable amount to be collected on EMD at ...ExchangeConfirmation[n]/RefundableAmountOnEMD.

API Information

Format
XML
Current Version
1.0.1
Environment
Production

What's New

  • The API will now use and orchestrated EnhancedEndTransactionRQ instead of low-level EndTransactionLLSRQ. The internal orchestrated API introduces capability of recovering from known end transaction errors, which will simplify the exchange booking process.
  • (12/09/2021) - corrected business logic related to .../ExchangeComparison/ExchangeSegment. As of the release date the API will properly pass the exchange segment information to downline services.
  • (03/08/2022) Added support for ExchangeBookingRQ/@targetCity - From now on the customers will be able to specify the pseudo city code, where they wish to create the price quote reissue record.
  • (03/08/2022) The API will now validate internal agency setting to check whether the Automatic Segment Arrange setting is enabled (TJR AZA). If not, the API will return the following warning : "Automatic Segment Arrange TJR flag is not enabled. The flight segments may be out of order."
  • (03/08/2022) Added a reservation redisplay right after flight segment cancellation step. In some cases, lack of such action could prevent automated segment rearrangement.
  • (06/28/2022) From now on the users will see the error message coming from downline DisplayPriceQuoteLLSRQ API as well as a defined warning: 'Unable to retrieve PQR information - see below messages for details'.
  • (06/28/2022) The API will look up DisplayPriceQuoteLLSRQ response and warn users of any potentially INCOMPLETE Price Quote Reissue Records. The example warning: 'Price quote reissue record is incomplete. Low Level API returned a warning stating, that PQR number 2 is incomplete.'
  • (08/01/2022) Modified warning message for Price Comparison when 'haltOnNonAcceptablePrice' equals 'false' - Starting from this release the warning message will be changed to correctly state that ..."Price Comparison failed" instead of stating that the "Exchange Booking transaction" has failed.
  • (08/01/2022) Modified failed reservation redisplay error messages in multiple ticket exchanges scenario. - With this small adjustment the users will now see specific ticket numbers, for which the API failed to retrieve details. The example message: "Unable to retrieve reservation details for ticket number(s) 0012345678901 - see below messages for details."
  • (08/01/2022) Modified PriceComparison to accept "0" value types. From now on the API will accept 0 as a possibility when using AutomatedExchanges/PriceComparison/AcceptablePriceIncrease (or Decrease)/Amount (or Percent) to check for price changes during the exchange process.
  • (08/30/2022) Starting from this release the user will receive a well defined error message upon sending an empty 'PriceComparison' node: 'When using PriceComparison either AcceptablePriceIncrease or AcceptablePriceDecrease is required.'
  • (08/30/2022) The API was enhanced to inform the user when segments to be priced or cancelled are not found in the reservation, example: '/ExchangeBookingRQ/Itinerary/SegmentPricing/SegmentSelect/@number=150 does not exist within the reservation'
  • (08/30/2022) The API was enhanced to support adding Special Service Requests (SSRs) right after booking new air segments
  • (10/04/2022) When customers attempt to cancel and book identical flight segments they may run into waitlist and other air booking issues, so a warning message will be returned from now on: "Cancelling segments and rebooking identical ones may cause issues with Air Booking."
  • (10/04/2022) Multiple ticket exchanges - corrected error handling when the first ticket exchange fails (reported under [ASTSP-439]). If the API encounters an error during the first ticket exchange, the API will stop processing, because otherwise entering another loop might cause issues with the state of the PNR. The API will now stop processing upon encountering errors during Automated Exchanges Comparison, Price Comparison, Automated Exchanges Confirmation, and End Transaction steps.
  • (04/04/2023) - From now on, in the case of multiple ticket exchanges, if a process for one of the tickets fails, the API will attempt to re-try generation of Price Quote Reissue Record up to 3 times (initial failure + 3 retries). This change is meant to help you work around any synchronization issues between downstream service providers.
  • (04/04/2023) - Removed obsolete ...PostProcessing@acceptIncompleteTransactions - The attribute was never supported and its removal is meant to polish the request schema document
  • (05/30/2023) Added capability to pass PQR associated information on refundable amount to be collected on EMD at ...ExchangeConfirmation[n]/RefundableAmountOnEMD.

Resolved Issues

In the Response

Optional

Description: In some cases GetReservationRS returns multiple mutually exclusive choice elements, which then are invalid in terms of schema. The orchestrated API schema was modified to reflect this.


  • Added capability to pass exchange qualifiers applicable to specific exchange segments.

API Information

Format
XML
Current Version
1.0.0
Environment
Production

What's New

  • Added capability to pass exchange qualifiers applicable to specific exchange segments.

Functional Updates And Enhancements

In the Request

Optional

Parameter: ExchangeSegment

Type: element

Description: The new element allows passing exchange qualifiers applicable to specific exchange segments.

Sample Value:

<ExchangeComparison ExemptPaperSurcharge="false" OriginalTicketNumber="001234567890" TicketMedia="E">
<ExchangeSegment SegmentNumber="1">
<PriceRequestInformation>
<OptionalQualifiers>
<PricingQualifiers>
<Brand>AB</Brand>
</PricingQualifiers>
</OptionalQualifiers>
</PriceRequestInformation>
</ExchangeSegment>
<ExchangeSegment SegmentNumber="2">
<PriceRequestInformation>
<OptionalQualifiers>
<PricingQualifiers>
<Brand>CD</Brand>
</PricingQualifiers>
</OptionalQualifiers>
</PriceRequestInformation>
</ExchangeSegment>
</ExchangeComparison>