From e74ac85cb1e76b926436122edd9248ed83694a02 Mon Sep 17 00:00:00 2001 From: Guilherme Pimenta Date: Tue, 13 Oct 2026 16:14:49 -0300 Subject: [PATCH] fix: make travel auction oneOf schemas mutually exclusive Add a resultType discriminator to TravelAuctionResult, mirroring AuctionResult, and require type on the hotels and flights requests. Both describe current auction-engine behavior: a missing or unknown type is rejected, and resultType echoes the request type. Clears the four Redocly no-illogical-composition-keywords errors on main. INTE-1541 Co-Authored-By: Claude Fable 5.1 --- topsort-api-v2.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/topsort-api-v2.yml b/topsort-api-v2.yml index 24232b1..70af1ca 100644 --- a/topsort-api-v2.yml +++ b/topsort-api-v2.yml @@ -1291,6 +1291,12 @@ components: - $ref: "#/components/schemas/EmptyAuctionResult" TravelAuctionResult: description: The result of a travel-related auction request (hotels or flights). + discriminator: + propertyName: resultType + mapping: + hotels: "#/components/schemas/HotelsAuctionResult" + flights: "#/components/schemas/FlightsAuctionResult" + empty: "#/components/schemas/EmptyAuctionResult" oneOf: - $ref: "#/components/schemas/HotelsAuctionResult" - $ref: "#/components/schemas/FlightsAuctionResult" @@ -1970,6 +1976,7 @@ components: type: object description: Describes the intent of running a hotel travel auction. required: + - type - travelContext - slots properties: @@ -2075,6 +2082,7 @@ components: type: object description: Describes the intent of running a flight travel auction. required: + - type - travelContext - slots properties: