From 17d4a1f8d9deebb9c892eb268a3cfefd3f149d48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Andresen=20Osberg?= Date: Fri, 20 Feb 2026 09:34:22 +0100 Subject: [PATCH 1/3] Add userProfileReference as ID type for userProfile --- OMSA.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/OMSA.yaml b/OMSA.yaml index c57b2bd..5e872e6 100644 --- a/OMSA.yaml +++ b/OMSA.yaml @@ -2460,7 +2460,7 @@ components: - id properties: id: - $ref: "#/components/schemas/shortString" + $ref: "#/components/schemas/userProfileReference" count: $ref: "#/components/schemas/shortInt" default: 1 @@ -3292,6 +3292,9 @@ components: travellerReference: $ref: "#/components/schemas/normalString" + + userProfileReference: + $ref: "#/components/schemas/normalString" productReference: type: object From da3988070cc97bd654726534cff23ffd39dfa83a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Andresen=20Osberg?= Date: Fri, 20 Feb 2026 10:13:46 +0100 Subject: [PATCH 2/3] Add simpleAssetReference as plain normalString --- OMSA.yaml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/OMSA.yaml b/OMSA.yaml index 7086cf5..c7e025a 100644 --- a/OMSA.yaml +++ b/OMSA.yaml @@ -2447,7 +2447,7 @@ components: - id properties: id: - $ref: "#/components/schemas/assetReference" + $ref: "#/components/schemas/simpleAssetReference" userProfile: allOf: @@ -3088,7 +3088,7 @@ components: type: string enum: [ asset ] id: - $ref: "#/components/schemas/assetReference" + $ref: "#/components/schemas/simpleAssetReference" description: Identifier of an asset. Can be an external reference, but also a (internal) ID visualId: $ref: "#/components/schemas/shortString" @@ -3336,6 +3336,9 @@ components: $ref: "#/components/schemas/normalString" name: $ref: "#/components/schemas/normalString" + + simpleAssetReference: + $ref: "#/components/schemas/normalString" ancillaryReference: type: object From 6df434fbab8370b2bd94e30cfed1322799823350 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Andresen=20Osberg?= Date: Fri, 27 Feb 2026 13:29:20 +0100 Subject: [PATCH 3/3] Unify traveller handling with discriminated travelParty Add discriminator to travelParty with mapping for individualTraveller, userProfile, and travellingAsset. Replace separate travellers/profiles/ travellingAssets arrays with single travelParties array in input schemas and package response. Add explicit type enums to subtypes for correct code generation. --- OMSA.yaml | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/OMSA.yaml b/OMSA.yaml index c7e025a..0e7ee88 100644 --- a/OMSA.yaml +++ b/OMSA.yaml @@ -1519,7 +1519,7 @@ components: - $ref: "#/components/schemas/defaultInput" - type: object required: - - travellers + - travelParties - type description: A package planning request, resulting in package options properties: @@ -1534,20 +1534,12 @@ components: $ref: "#/components/schemas/tripPattern" packageToExchange: $ref: "#/components/schemas/packageReference" - travellers: + travelParties: type: array maxItems: 10 minItems: 1 items: - $ref: "#/components/schemas/individualTraveller" - profiles: - type: array - items: - $ref: "#/components/schemas/userProfile" - travellingAssets: - type: array - items: - $ref: "#/components/schemas/travellingAsset" + $ref: "#/components/schemas/travelParty" selectOffersInput: allOf: @@ -1645,11 +1637,8 @@ components: $ref: "#/components/schemas/travellerReference" packageId: $ref: "#/components/schemas/packageReference" - updatedTraveller: - oneOf: - - $ref: "#/components/schemas/individualTraveller" - - $ref: "#/components/schemas/userProfile" - - $ref: "#/components/schemas/travellingAsset" + updatedTravelParty: + $ref: "#/components/schemas/travelParty" travelSpecificationInput: allOf: @@ -1929,13 +1918,10 @@ components: type: array items: $ref: "#/components/schemas/externalReference" - travellers: + travelParties: type: array items: - oneOf: - - $ref: "#/components/schemas/individualTraveller" - - $ref: "#/components/schemas/userProfile" - - $ref: "#/components/schemas/travellingAsset" + $ref: "#/components/schemas/travelParty" links: type: array items: @@ -2242,6 +2228,12 @@ components: type: object required: - type + discriminator: + propertyName: type + mapping: + individual_traveller: "#/components/schemas/individualTraveller" + user_profile: "#/components/schemas/userProfile" + asset: "#/components/schemas/travellingAsset" properties: type: type: string @@ -2445,9 +2437,13 @@ components: - type: object required: - id + - type properties: id: $ref: "#/components/schemas/simpleAssetReference" + type: + type: string + enum: [ asset ] userProfile: allOf: @@ -2456,9 +2452,13 @@ components: type: object required: - id + - type properties: id: $ref: "#/components/schemas/userProfileReference" + type: + type: string + enum: [ user_profile ] count: $ref: "#/components/schemas/shortInt" default: 1