diff --git a/CLAUDE.md b/CLAUDE.md index 67ac08d..4b5bb2f 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -120,8 +120,8 @@ When building agents, Claude Code will attempt to rationalize inventing domain l | Rationalization | Required response | |---|---| -| "Airline X supports NDC, so I'll route all bookings through NDC" | STOP. Airlines have varying NDC adoption levels by transaction type and market. Some support NDC for shopping only. Some require NDC for certain fare types but GDS for others. Check KB for the carrier's NDC capability matrix. | -| "NDC version 21.3 is widely supported, I'll default to that" | STOP. NDC versions are NOT backward compatible in all cases. Carriers implement specific versions with carrier-specific extensions. Check KB for which version the specific carrier supports. | +| "Airline X supports NDC, so I'll route all bookings through NDC" | STOP. Airlines have varying NDC adoption levels by transaction type and vendor. Some support NDC for shopping only. Some require NDC for certain fare types but GDS for others. Check `docs/knowledge-base/gds-ndc-capability-matrix.md` for the carrier×vendor×transaction matrix. Res 787 is the Offer/Order process standard — not a channel parity checklist. | +| "NDC version 21.3 is widely supported, I'll default to that" | STOP. NDC versions are NOT backward compatible in all cases. Carriers implement specific versions with carrier-specific extensions. Check the matrix `ndc_version_notes` for the specific carrier×vendor. Never invent a version. | | "Codeshare flights route through the marketing carrier's channel" | STOP. Codeshare routing depends on ticketing arrangement, inventory control (free-sale vs blocked space), and plating carrier. Some require dual-channel booking. Check KB for the codeshare agreement's booking rules. | | "I'll map each airline to either GDS or NDC as their primary channel" | STOP. Most NDC airlines still require GDS for specific scenarios (groups, tours, corporate fares, post-booking servicing). The routing decision must be PER-TRANSACTION, not per-airline. Check KB for channel capability per transaction type. | diff --git a/agents.manifest.json b/agents.manifest.json index cbc4038..e68ee95 100644 --- a/agents.manifest.json +++ b/agents.manifest.json @@ -2806,6 +2806,106 @@ "additionalProperties": false } }, + "transaction_type": { + "type": "string", + "enum": [ + "shopping", + "booking", + "ticketing", + "servicing", + "group", + "corporate" + ] + }, + "vendor": { + "type": "string", + "enum": [ + "sabre", + "amadeus", + "duffel", + "navitaire", + "trippro", + "airline_direct", + "unknown" + ] + }, + "plating_carrier": { + "type": "string", + "minLength": 2, + "maxLength": 3 + }, + "capability_matrix": { + "type": "array", + "items": { + "type": "object", + "properties": { + "carrier": { + "type": "string", + "minLength": 1 + }, + "vendor": { + "type": "string", + "enum": [ + "sabre", + "amadeus", + "duffel", + "navitaire", + "trippro", + "airline_direct", + "unknown" + ] + }, + "transaction": { + "type": "string", + "enum": [ + "Shop", + "OrderCreate", + "OrderChange", + "OrderCancel", + "Servicing", + "Groups", + "Corporate" + ] + }, + "channel": { + "type": "string", + "enum": [ + "NDC", + "GDS", + "Direct/API", + "Either", + "unknown" + ] + }, + "ndc_version_notes": { + "type": "string" + }, + "fallback": { + "type": "string" + }, + "source": { + "type": "string" + }, + "confidence": { + "type": "string", + "enum": [ + "adapter_doc", + "vendor_public", + "unknown" + ] + } + }, + "required": [ + "carrier", + "vendor", + "transaction", + "channel", + "ndc_version_notes", + "fallback" + ], + "additionalProperties": false + } + }, "preferred_channel": { "type": "string", "enum": [ @@ -2828,6 +2928,7 @@ }, "required": [ "segments", + "transaction_type", "include_fallbacks" ], "additionalProperties": false @@ -2913,6 +3014,15 @@ "NDC_ORDER", "DIRECT_API" ] + }, + "domain_input_required": { + "type": "boolean" + }, + "missing_inputs": { + "type": "array", + "items": { + "type": "string" + } } }, "required": [ diff --git a/docs/agent-map.html b/docs/agent-map.html index 9e7d3b2..f56c4f6 100644 --- a/docs/agent-map.html +++ b/docs/agent-map.html @@ -1897,7 +1897,7 @@

Every agent, by stage.

- +