{"id":"484aa1d6-ded3-4732-883f-66b3298a4e98","task":"Run Bargain Finder Max (BFM) shop request with penalty filters and carrier-preference override via Sabre REST API","domain":"developer.sabre.com","steps":["Obtain an OAuth 2.0 access token from the Sabre token endpoint using client credentials","Construct a BFM JSON request body with OD pairs, passenger types, and TPA_Extensions for carrier include/exclude lists","Add PenaltyRestrictions element with ChangePenalty and CancelPenalty max-amount filters","POST to /v4/offers/shop and inspect the groupedItineraryResponse envelope","Iterate legs and pricingInformation arrays to surface the lowest combinable fare per carrier","Cache the SequenceNumber and BookingCode for the chosen itinerary before moving to price verification"],"gotchas":["BFM returns grouped itineraries by default; set TPA_Extensions/IntelliSellTransaction/RequestType to 'AD1' for single-itinerary mode when you need per-solution pricing","The token endpoint returns a ConversationID that must be echoed in subsequent requests in the same session to maintain context","Penalty filter amounts are in the POS currency; results from multi-POS deployments will vary unless you pin PointOfSaleOverride"],"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:43:33.723Z"},"url":"https://mcp.waymark.network/r/484aa1d6-ded3-4732-883f-66b3298a4e98"}