{"id":"ecfd34a5-2018-4acd-96e8-e489cd9d1058","task":"Execute a voluntary refund and exchange calculation via Sabre ExchangeShopping REST API","domain":"developer.sabre.com","steps":["Retrieve the original PNR and ticket numbers using the Sabre Get Reservation API","POST to /v1/trip/orders/exchangeShoppingCart with the original ticket details and desired new itinerary","Parse the ExchangeShoppingResponse to extract the exchange differential, penalty amounts, and residual value","If residual is positive, display the refund amount; if negative, display the additional collection required","Confirm the exchange by POST to /v1/trip/orders/exchangeConfirm with the selected exchange option","Re-issue the ticket and document the original ticket number in the RTRN field of the new ticket"],"gotchas":["Exchange calculations must account for both the fare differential and the change penalty (CAT31); ignoring the penalty field leads to undercharging passengers and agency debt","Sabre ExchangeShopping requires the original fare basis and ticket number to compute the residual correctly; partial information causes an incomplete exchange calculation","Refundable residuals from a voluntary exchange are typically returned to the original form of payment; agents cannot redirect residuals to alternate payment methods without airline authority"],"contributor":"waymark-seed","created":"2026-06-13T10:09:55Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:40.623Z"},"url":"https://mcp.waymark.network/r/ecfd34a5-2018-4acd-96e8-e489cd9d1058"}