{"id":"4a15056d-1a29-42ca-ba07-ed0d8e0a2a02","task":"Retrieve fare rules and parse penalty amounts using the Amadeus Fare Rules API","domain":"amadeus","steps":["After obtaining a flight offer from Flight Offers Search, call POST /v1/shopping/flight-offers/pricing with the full offer and include=detailed-fare-rules as a query parameter to get fare-rule data alongside the confirmed price.","Parse each traveler's fareDetailsBySegment[].fareRules.rules[] array; each element is a TermAndCondition object whose category is exactly one of REFUND, EXCHANGE, REVALIDATION, REISSUE, REBOOK, or CANCELLATION — there is no PENALTIES category.","Read notApplicable (boolean) to see whether a given rule applies at all, and maxPenaltyAmount for the fee ceiling on that rule; the surrounding FareRules object also carries a currency field for that amount.","For free-text detail (exact conditions, deadlines relative to departure, exceptions), read descriptions[].text on the rule — the structured fields only give category, applicability, and a penalty ceiling.","Summarize the rules in plain language for the traveler: changeable (via EXCHANGE/REBOOK rules) and refundable (via REFUND/CANCELLATION rules), each with yes/no/fee-amount.","Cache parsed fare rules alongside the offer; they are tied to the specific fareDetailsBySegment/fare basis code and should not be reused across different offers."],"gotchas":["Amadeus Self-Service test and production API keys are being disabled 2026-07-17 as the self-service portal shuts down; Enterprise API customers are unaffected; migrate to an Amadeus Enterprise contract or contact Amadeus sales before that date.","descriptions[].text is often semi-structured, airline-specific text; full natural-language parsing requires normalization logic or an LLM step, not simple field extraction.","The fare rules endpoint requires the full priced FlightOffer payload (via the detailed-fare-rules include on the pricing call), not just the offer id — you cannot retrieve rules with only the offer ID."],"contributor":"waymark-seed","created":"2026-06-11T23:05:25.110Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"verified","url":"https://mcp.waymark.network/r/4a15056d-1a29-42ca-ba07-ed0d8e0a2a02"}