From fdd390cb58217e7d3530303d78e8e56637014fdf Mon Sep 17 00:00:00 2001 From: CGantert345 <57003061+CGantert345@users.noreply.github.com> Date: Mon, 22 Jul 2024 14:29:51 +0200 Subject: [PATCH 1/2] migartion to OOS 3.1 , removin deprecated structures --- .../v4.0/OSDM-online-api-v4.0.0-draft.yml | 2657 ++++++++--------- 1 file changed, 1250 insertions(+), 1407 deletions(-) diff --git a/specification/v4.0/OSDM-online-api-v4.0.0-draft.yml b/specification/v4.0/OSDM-online-api-v4.0.0-draft.yml index 65e96939..bacac8ca 100644 --- a/specification/v4.0/OSDM-online-api-v4.0.0-draft.yml +++ b/specification/v4.0/OSDM-online-api-v4.0.0-draft.yml @@ -1,4 +1,4 @@ -openapi: 3.0.3 +openapi: 3.1.0 info: title: UIC 90918-10 - OSDM @@ -108,8 +108,6 @@ paths: operationId: getPlaces parameters: - $ref: '#/components/parameters/requestor' - - $ref: '#/components/parameters/acceptLanguage' - description: deprecated - $ref: '#/components/parameters/traceParent' - $ref: '#/components/parameters/traceState' - $ref: '#/components/parameters/ifNoneMatch' @@ -171,8 +169,6 @@ paths: operationId: postPlaces parameters: - $ref: '#/components/parameters/requestor' - - $ref: '#/components/parameters/acceptLanguage' - description: deprecated - $ref: '#/components/parameters/traceParent' - $ref: '#/components/parameters/traceState' requestBody: @@ -219,8 +215,6 @@ paths: operationId: getPlacesId parameters: - $ref: '#/components/parameters/requestor' - - $ref: '#/components/parameters/acceptLanguage' - description: deprecated - $ref: '#/components/parameters/traceParent' - $ref: '#/components/parameters/traceState' - name: placeId @@ -1099,8 +1093,6 @@ paths: operationId: deleteBookingBookedOffersId parameters: - $ref: '#/components/parameters/requestor' - - $ref: '#/components/parameters/acceptLanguage' - description: deprecated - $ref: '#/components/parameters/traceParent' - $ref: '#/components/parameters/traceState' - name: bookingId @@ -1151,8 +1143,6 @@ paths: operationId: deleteBookingBookedOffersIdPassengerId parameters: - $ref: '#/components/parameters/requestor' - - $ref: '#/components/parameters/acceptLanguage' - description: deprecated - $ref: '#/components/parameters/traceParent' - $ref: '#/components/parameters/traceState' - name: bookingId @@ -1270,8 +1260,6 @@ paths: operationId: deleteBookingBookedOffersReservations parameters: - $ref: '#/components/parameters/requestor' - - $ref: '#/components/parameters/acceptLanguage' - description: deprecated - $ref: '#/components/parameters/traceParent' - $ref: '#/components/parameters/traceState' - name: bookingId @@ -1390,8 +1378,6 @@ paths: operationId: deleteBookingBookedOffersAncillary parameters: - $ref: '#/components/parameters/requestor' - - $ref: '#/components/parameters/acceptLanguage' - description: deprecated - $ref: '#/components/parameters/traceParent' - $ref: '#/components/parameters/traceState' - name: bookingId @@ -1450,8 +1436,6 @@ paths: operationId: deleteBookingBookedOffersAdmission parameters: - $ref: '#/components/parameters/requestor' - - $ref: '#/components/parameters/acceptLanguage' - description: deprecated - $ref: '#/components/parameters/traceParent' - $ref: '#/components/parameters/traceState' - name: bookingId @@ -1687,8 +1671,6 @@ paths: operationId: deleteBookingsId parameters: - $ref: '#/components/parameters/requestor' - - $ref: '#/components/parameters/acceptLanguage' - description: deprecated - $ref: '#/components/parameters/traceParent' - $ref: '#/components/parameters/traceState' - name: bookingId @@ -1889,8 +1871,6 @@ paths: operationId: splitBookings parameters: - $ref: '#/components/parameters/requestor' - - $ref: '#/components/parameters/acceptLanguage' - description: deprecated - $ref: '#/components/parameters/traceParent' - $ref: '#/components/parameters/traceState' - $ref: '#/components/parameters/idempotencyKey' @@ -1940,7 +1920,7 @@ paths: post: tags: - Fulfillments - summary: + summary: | Confirms the booking a triggers the fulfillment of the booking synchronously or asynchronously. description: | @@ -2377,8 +2357,6 @@ paths: operationId: deleteRefundOffers parameters: - $ref: '#/components/parameters/requestor' - - $ref: '#/components/parameters/acceptLanguage' - description: deprecated - $ref: '#/components/parameters/traceParent' - $ref: '#/components/parameters/traceState' - name: bookingId @@ -2861,8 +2839,6 @@ paths: operationId: deleteCancelFulfillmentOffers parameters: - $ref: '#/components/parameters/requestor' - - $ref: '#/components/parameters/acceptLanguage' - description: deprecated - $ref: '#/components/parameters/traceParent' - $ref: '#/components/parameters/traceState' - name: bookingId @@ -2925,7 +2901,6 @@ paths: required: true schema: type: string - nullable: false - name: embed in: query required: true @@ -2990,7 +2965,6 @@ paths: required: true schema: type: string - nullable: false requestBody: required: true content: @@ -3048,7 +3022,6 @@ paths: required: true schema: type: string - nullable: false - name: exchangeOperationId in: path description: | @@ -3120,7 +3093,6 @@ paths: required: true schema: type: string - nullable: false - name: exchangeOperationId in: path description: | @@ -3177,8 +3149,6 @@ paths: operationId: deleteBookingsExchangeOperation parameters: - $ref: '#/components/parameters/requestor' - - $ref: '#/components/parameters/acceptLanguage' - description: deprecated - $ref: '#/components/parameters/traceParent' - $ref: '#/components/parameters/traceState' - name: bookingId @@ -3394,8 +3364,6 @@ paths: operationId: getCoachLayouts parameters: - $ref: '#/components/parameters/requestor' - - $ref: '#/components/parameters/acceptLanguage' - description: deprecated - $ref: '#/components/parameters/traceParent' - $ref: '#/components/parameters/traceState' - name: page @@ -3448,8 +3416,6 @@ paths: operationId: getCoachLayoutsLayoutId parameters: - $ref: '#/components/parameters/requestor' - - $ref: '#/components/parameters/acceptLanguage' - description: deprecated - $ref: '#/components/parameters/traceParent' - $ref: '#/components/parameters/traceState' - name: layoutId @@ -3505,8 +3471,6 @@ paths: operationId: getReductionCards parameters: - $ref: '#/components/parameters/requestor' - - $ref: '#/components/parameters/acceptLanguage' - description: deprecated - $ref: '#/components/parameters/traceParent' - $ref: '#/components/parameters/traceState' - $ref: '#/components/parameters/acceptNamespace' @@ -3563,8 +3527,6 @@ paths: operationId: getZones parameters: - $ref: '#/components/parameters/requestor' - - $ref: '#/components/parameters/acceptLanguage' - description: deprecated - $ref: '#/components/parameters/traceParent' - $ref: '#/components/parameters/traceState' - $ref: '#/components/parameters/acceptNamespace' @@ -3798,7 +3760,6 @@ paths: required: true schema: type: string - nullable: false requestBody: required: true content: @@ -3858,13 +3819,11 @@ paths: required: true schema: type: string - nullable: false - name: reimbursementId in: path required: true schema: type: string - nullable: false responses: '200': description: | @@ -3917,13 +3876,11 @@ paths: required: true schema: type: string - nullable: false - name: reimbursementId in: path required: true schema: type: string - nullable: false requestBody: required: true content: @@ -4166,8 +4123,6 @@ paths: operationId: getAvailabilitiesNearby parameters: - $ref: '#/components/parameters/requestor' - - $ref: '#/components/parameters/acceptLanguage' - description: deprecated - $ref: '#/components/parameters/traceParent' - $ref: '#/components/parameters/traceState' - name: contextId @@ -4255,8 +4210,6 @@ paths: operationId: getAvailabilitiesPreferences parameters: - $ref: '#/components/parameters/requestor' - - $ref: '#/components/parameters/acceptLanguage' - description: deprecated - $ref: '#/components/parameters/traceParent' - $ref: '#/components/parameters/traceState' - name: contextId @@ -4324,8 +4277,6 @@ paths: operationId: getProducts parameters: - $ref: '#/components/parameters/requestor' - - $ref: '#/components/parameters/acceptLanguage' - description: deprecated - $ref: '#/components/parameters/traceParent' - $ref: '#/components/parameters/traceState' - $ref: '#/components/parameters/acceptNamespace' @@ -4382,8 +4333,6 @@ paths: operationId: getProductsId parameters: - $ref: '#/components/parameters/requestor' - - $ref: '#/components/parameters/acceptLanguage' - description: deprecated - $ref: '#/components/parameters/traceParent' - $ref: '#/components/parameters/traceState' - $ref: '#/components/parameters/acceptNamespace' @@ -4512,11 +4461,14 @@ components: acceptNamespace: name: x-accept-namespace in: header - description: + description: | The x-accept-namespace HTTP header indicates the URN namespace that the client prefers. The provider uses content-negotiation to apply the corresponding namespace(s) where applicable. - example: x_swe, uic, iata schema: type: string + examples: + - x_swe + - uic + - iata responses: SeeOtherResponse: @@ -4667,39 +4619,28 @@ components: id: type: string maxLength: 32768 - nullable: false summary: type: string - nullable: true createdOn: description: | Validity of offer towards passenger type: string format: date-time - nullable: false - confirmableUntil: - deprecated: true - description: | - confirmationTimeLimit in booking should be used. - Date until the booking part needs to be confirmed. Must be provided for a booking part in PREBOOKED stated. - For later states, the value is ignored and can be null. - type: string - format: date-time - nullable: false validFrom: type: string format: date-time - nullable: false validUntil: description: | Validity of offer towards passenger - type: string + type: + - "string" + - "null" format: date-time - nullable: true confirmedOn: - type: string + type: + - "string" + - "null" format: date-time - nullable: true price: $ref: '#/components/schemas/Price' refundAmount: @@ -4729,18 +4670,6 @@ components: type: string description: | The unique booking code for the part in the provider system. - distributorBookingRef: - description: | - reference to the booking in the downstream distributor system - type: string - nullable: true - deprecated: true - retailerBookingRef: - description: | - reference to the booking in the downstream distributor system - type: string - nullable: true - deprecated: true passengerIds: description: | Id of the passenger @@ -4748,7 +4677,6 @@ components: items: type: string minItems: 1 - nullable: false availableFulfillmentOptions: type: array items: @@ -4832,28 +4760,25 @@ components: id: type: string maxLength: 32768 - nullable: false summary: description: | A human-readable description of the Offer. type: string - nullable: true createdOn: type: string format: date-time - nullable: false validFrom: description: | Time from which on the offer can be used, e.g. travel. type: string format: date-time - nullable: false validUntil: description: | Time until the offer can be used, e.g. travel. - type: string + type: + - "string" + - "null" format: date-time - nullable: true price: $ref: '#/components/schemas/Price' tripCoverage: @@ -4861,27 +4786,29 @@ components: priceGuaranteedUntil: description: | Indicates until when the price for the given offer is guaranteed. - type: string + type: + - "string" + - "null" format: date-time - nullable: true offerMode: $ref: '#/components/schemas/OfferMode' isReusable: description: | Indicates whether the offerId can be used in more than one booking. - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false passengerRefs: type: array items: type: string minItems: 1 - nullable: false numericAvailability: - type: integer + type: + - "integer" + - "null" format: int32 - nullable: true refundable: $ref: '#/components/schemas/RefundType' exchangeable: @@ -4895,19 +4822,21 @@ components: List of tags (and their type) that allow identifying sets of compatible offers when trying to combine multiple offers covering one single trip. At least one (not all) tripTags must be in common to allow combination If no tag is provided, there is no trip constraint on this specific offer. - type: array + type: + - "array" + - "null" items: type: string - nullable: true returnTags: description: | List of tags (and their type) that allow identifying sets of compatible offers when booking a return trip involving return-specific fares. All returnTags must be present in the counterpart offer to allow combination If no tag is provided, there is no return constraint on this specific offer. - type: array + type: + - "array" + - "null" items: type: string - nullable: true offerTag: $ref: '#/components/schemas/OfferTag' requestedInformation: @@ -4938,11 +4867,6 @@ components: type: array items: $ref: '#/components/schemas/PromotionCode' - appliedReductionCardTypes: - deprecated: true - type: array - items: - $ref: '#/components/schemas/ReductionCardType' regionalValiditySummary: $ref: '#/components/schemas/RegionalValiditySummary' indicatedConsumption: @@ -4980,14 +4904,11 @@ components: validFrom: type: string format: date-time - nullable: false validUntil: type: string format: date-time - nullable: false number: type: string - nullable: false AbstractTravelAccountUnit: type: object @@ -5010,7 +4931,6 @@ components: [Accommodation Sub Type Code List](https://osdm.io/spec/catalog-of-code-lists/#PlaceProperty) Listed values here are examples. default: 'ANY_SEAT' - nullable: false x-extensible-enum: - "AISLE" - "AIR-CONDITIONED" @@ -5112,7 +5032,6 @@ components: [Accommodation Type Code List](https://osdm.io/spec/catalog-of-code-lists/#AccomodationType) Listed values here are examples. default: 'SEAT' - nullable: false x-extensible-enum: - "SEAT" - "COUCHETTE" @@ -5153,9 +5072,6 @@ components: type: object additionalProperties: false properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -5178,54 +5094,70 @@ components: name: description: | Name or description of address for use in passenger information. - type: string - nullable: true - example: Oude Trambaan 7, 2265CA Leidschendam, Nederland + type: + - "string" + - "null" + examples: + - Oude Trambaan 7, 2265CA Leidschendam, Nederland code: description: | id of the address - type: string - nullable: true - example: NL:1916200000022621 + type: + - "string" + - "null" + examples: + - NL:1916200000022621 countryName: description: | Country of the address. - type: string - nullable: true - example: The Netherlands + type: + - "string" + - "null" + examples: + - The Netherlands countryCode: $ref: '#/components/schemas/CountryCode' postCode: description: | Postal code of the address. - type: string - nullable: true - example: 2265CA + type: + - "string" + - "null" + examples: + - 2265CA city: description: | City name - type: string - nullable: true - example: Leidschendam + type: + - "string" + - "null" + examples: + - Leidschendam topographicPlaceName: description: | TopographicPlace name of the address. If set it should at least contain the city name. - type: string - nullable: true - example: Leidschendam + type: + - "string" + - "null" + examples: + - Leidschendam street: description: | Street name of the address. Can also contain the house number. - type: string - nullable: true - example: Oude Trambaan + type: + - "string" + - "null" + examples: + - Oude Trambaan houseNumber: description: | House number of the address. House number can either be in this separate field, or can be contained in the street field. - type: string - nullable: true - example: 7 + type: + - "string" + - "null" + examples: + - 7 ref: $ref: '#/components/schemas/AddressRef' @@ -5241,7 +5173,6 @@ components: properties: addressRef: type: string - nullable: false PostalAddress: type: object @@ -5249,36 +5180,46 @@ components: countryName: description: | Country of the address. - type: string - nullable: true - example: The Netherlands + type: + - "string" + - "null" + examples: + - The Netherlands countryCode: $ref: '#/components/schemas/CountryCode' postCode: description: | Postal code of the address. - type: string - nullable: true - example: 2265CA + type: + - "string" + - "null" + examples: + - 2265CA city: description: | City name - type: string - nullable: true - example: Leidschendam + type: + - "string" + - "null" + examples: + - Leidschendam street: description: | Street name of the address. Can also contain the house number. - type: string - nullable: true - example: Oude Trambaan + type: + - "string" + - "null" + examples: + - Oude Trambaan houseNumber: description: | House number of the address. House number can either be in this separate field, or can be contained in the street field. - type: string - nullable: true - example: 7 + type: + - "string" + - "null" + examples: + - 7 Admission: description: | @@ -5290,8 +5231,9 @@ components: additionalProperties: false properties: isReservationRequired: - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false feeRefs: type: array @@ -5320,8 +5262,9 @@ components: additionalProperties: false properties: isReservationRequired: - type: boolean - nullable: true + type: + - "boolean" + - "null" reservations: type: array items: @@ -5356,13 +5299,15 @@ components: condition: $ref: '#/components/schemas/AfterSaleConditionType' validFrom: - type: string + type: + - "string" + - "null" format: date-time - nullable: true validUntil: - type: string + type: + - "string" + - "null" format: date-time - nullable: true afterSaleFee: $ref: '#/components/schemas/Price' reimbursementMethod: @@ -5391,8 +5336,9 @@ components: isSupportingIndividualContracts: description: | Indicates that the after sales of this fare can be treated independently per person. - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false AfterSalesOverrideDetails: @@ -5409,13 +5355,15 @@ components: description: Description for the change of conditions for the customer. type: string validFrom: - type: string + type: + - "string" + - "null" format: date-time - nullable: true validUntil: - type: string + type: + - "string" + - "null" format: date-time - nullable: true initialExchangeableType: $ref: '#/components/schemas/ExchangeableType' initialRefundType: @@ -5436,21 +5384,25 @@ components: $ref: '#/components/schemas/StopPlaceRef' stopPlaceName: type: string - nullable: false - example: Luzern + examples: + - Luzern plannedStopPointName: description: | Name of the bay/quay/terminal where to board/alight from the vehicle. According to planned timetable. - type: string - nullable: true - example: 3 + type: + - "string" + - "null" + examples: + - 3 estimatedStopPointName: description: | Name of the bay/quay/terminal where to board the vehicle. As to the latest realtime status. - type: string - nullable: true - example: 8 + type: + - "string" + - "null" + examples: + - 8 serviceArrival: $ref: '#/components/schemas/ServiceTime' status: @@ -5495,10 +5447,8 @@ components: properties: id: type: string - nullable: false name: type: string - nullable: false ancillaryRefs: type: array items: @@ -5520,8 +5470,9 @@ components: category: description: | Categorization of the ancillary such as 'Meal' or 'Gift'. - type: string - nullable: true + type: + - "string" + - "null" type: $ref: '#/components/schemas/AncillaryType' @@ -5535,11 +5486,9 @@ components: minGroupItemsToBeBooked: type: integer format: int32 - nullable: false maxGroupItemsToBeBooked: type: integer format: int32 - nullable: true ancillaryGroup: $ref: '#/components/schemas/AncillaryGroup' @@ -5555,13 +5504,11 @@ components: ancillaryId: type: string maxLength: 32768 - nullable: false passengerRefs: type: array items: type: string minItems: 1 - nullable: false AncillaryType: description: | @@ -5586,19 +5533,20 @@ components: description: | A stable reference to a passenger from other elements, or from caller system. When received in input of a request, it must be echoed back in the response. type: string - nullable: false dateOfBirth: description: | Date of birth of the passenger. Only needed for passengers of type persons, family child, PRM and wheelchair. - type: string + type: + - "string" + - "null" format: date - nullable: true age: - type: integer + type: + - "integer" + - "null" format: int32 minimum: 0 - nullable: true type: $ref: '#/components/schemas/PassengerType' prmNeeds: @@ -5641,21 +5589,14 @@ components: id of the passenger. In the offer flow the id refers to the externalRef as the passenger id is created at booking time only. type: string - nullable: false type: $ref: '#/components/schemas/ActualPassengerType' description: description: | Clear text representation of the actual passenger type, suitable to be presented to a client. type: string - nullable: false tripCoverage: $ref: '#/components/schemas/TripCoverage' - appliedReductionCardTypes: - deprecated: true - type: array - items: - $ref: '#/components/schemas/ReductionCardType' appliedReductions: type: array items: @@ -5731,16 +5672,18 @@ components: placeProperties: description: | Selectable place properties for the offer. For AccommodationSubType=ANY_SEAT all available and bookable properties need to be returned to give a sales tool a list of possible selections. - type: array + type: + - "array" + - "null" items: type: string - nullable: true numericAvailability: description: | For the AccommodationSubType=ANY_SEAT the total amount of places for the combination of AccommodationType and AccommodationSubType needs to returned. - type: integer + type: + - "integer" + - "null" format: int32 - nullable: true tripLegCoverage: $ref: '#/components/schemas/TripLegCoverage' @@ -5757,12 +5700,13 @@ components: graphicalReservation: description: | graphical reservation is supported, interface type 'WITH_FEE', 'NO', (https://osdm.io/spec/processes/#SeatSelectionFees) - type: string + type: + - "string" + - "null" x-extensible-enum: - 'WITHOUT_FEE' : No additional fees will be added during seat selection. All fees are already linked with the reservation offer or booking - 'WITH_FEE' : Additional selection fees might be applied in the seat selection. In case selection fees are applied this must be indicated here (https://osdm.io/spec/processes/#SeatSelectionFees) - 'NO': No graphical reservation supported - nullable: true BackOfficeStatus: description: | @@ -5792,23 +5736,28 @@ components: iban: description: | IBAN to be used in Europe - type: string + type: + - "string" + - "null" pattern: '[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}' - nullable: true accountId: description: | bank account id to be used outside of EU - type: string - nullable: true + type: + - "string" + - "null" bankIdCode: $ref: '#/components/schemas/BankIdCode' bankId: - type: string - nullable: true + type: + - "string" + - "null" ownerName: - type: string - nullable: true - example: John Doe + type: + - "string" + - "null" + examples: + - John Doe BankIdCode: type: string @@ -5837,14 +5786,16 @@ components: noSingleStep: description: | The user is not able to climb one step, i.e. wheel chair. - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false noSight: description: | The user is not able to see. - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false Board: @@ -5862,21 +5813,25 @@ components: $ref: '#/components/schemas/StopPlaceRef' stopPlaceName: type: string - nullable: false - example: Luzern + examples: + - Luzern plannedStopPointName: description: | Name of the bay/quay/terminal where to board/alight from the vehicle. According to planned timetable. - type: string - nullable: true - example: 3 + type: + - "string" + - "null" + examples: + - 3 estimatedStopPointName: description: | Name of the bay/quay/terminal where to board the vehicle. As to the latest realtime status. - type: string - nullable: true - example: 8 + type: + - "string" + - "null" + examples: + - 8 serviceDeparture: $ref: '#/components/schemas/ServiceTime' status: @@ -5907,18 +5862,17 @@ components: offerId: type: string maxLength: 32768 - nullable: false description: Note that the offerId returned does not necessarily match the offerId given in the Booking Request. externalRef: description: | A stable reference to the id of the booked offer in the caller's system. When received in input of a request, it must be persisted and echoed back in the response. type: string - nullable: false summary: description: | A human-readable description of the booked offer. - type: string - nullable: true + type: + - "string" + - "null" admissions: type: array items: @@ -5961,17 +5915,14 @@ components: offerId: type: string maxLength: 32768 - nullable: false ancillaryOfferId: type: string maxLength: 32768 - nullable: false passengerRefs: type: array items: type: string minItems: 1 - nullable: false tripCoverage: $ref: '#/components/schemas/TripCoverage' @@ -5979,9 +5930,6 @@ components: type: object additionalProperties: false properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -6006,13 +5954,6 @@ components: items: $ref: '#/components/schemas/OfferSelection' minItems: 1 - passengers: - type: array - items: - $ref: '#/components/schemas/Passenger' - deprecated: true - description: | - Existing passengers are linked with the given booking and do not need to be referenced in the request. additionalPassengerSpecifications: type: array items: @@ -6034,17 +5975,14 @@ components: offerId: type: string maxLength: 32768 - nullable: false reservationOfferId: type: string maxLength: 32768 - nullable: false passengerRefs: type: array items: type: string minItems: 1 - nullable: false placeSelections: type: array items: @@ -6057,9 +5995,6 @@ components: type: object additionalProperties: false properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -6073,16 +6008,10 @@ components: type: object additionalProperties: false properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: $ref: '#/components/schemas/Problem' - bookedOffer: - $ref: '#/components/schemas/BookedOffer' - deprecated: true bookedOfferIds: type: array items: @@ -6102,10 +6031,8 @@ components: offerId: type: string maxLength: 32768 - nullable: false summary: type: string - nullable: false bookingPartSummaries: type: array items: @@ -6122,7 +6049,6 @@ components: properties: id: type: string - nullable: false bookingCode: type: string description: @@ -6131,18 +6057,20 @@ components: externalRef: description: | The unique booking reference in the provider system. Usually refers to an order number or PNR. - type: string - nullable: true + type: + - "string" + - "null" summary: description: | A human-readable description of the booking. - type: string - nullable: true - example: Booking 2345 for Clemens Gantert + type: + - "string" + - "null" + examples: + - Booking 2345 for Clemens Gantert createdOn: type: string format: date-time - nullable: false passengers: type: array items: @@ -6177,9 +6105,10 @@ components: confirmationTimeLimit: description: | Time until the booking needs to be confirmed or put on hold. After that, the booking is no longer valid. - type: string + type: + - "string" + - "null" format: date-time - nullable: true fulfillmentType: $ref: '#/components/schemas/FulfillmentType' fulfillments: @@ -6222,10 +6151,11 @@ components: relatedBookingIds: description: | If this booking has been split, this attribute references the newly created bookingIds. - type: array + type: + - "array" + - "null" items: type: string - nullable: true _links: description: | Java Property Name: 'links' @@ -6246,9 +6176,10 @@ components: description: | Indicates for passes the date taken as reference to compute possible partial refund. It is also the date taken as reference to invalidate the pass partially refunded. - type: string + type: + - "string" + - "null" format: date-time - nullable: true BookingHistoryResponse: type: object @@ -6256,9 +6187,6 @@ components: required: - events properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -6281,15 +6209,14 @@ components: id: type: string maxLength: 32768 - nullable: false summary: description: | A human-readable description of the booking part reference. - type: string - nullable: true + type: + - "string" + - "null" _links: description: | - Java Property Name: 'links' type: array items: @@ -6329,10 +6256,8 @@ components: id: type: string maxLength: 32768 - nullable: false summary: type: string - nullable: false productSummaries: type: array items: @@ -6405,16 +6330,14 @@ components: items: $ref: '#/components/schemas/BookingResponseContent' externalRef: - type: string - nullable: true + type: + - "string" + - "null" BookingResponse: type: object additionalProperties: false properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -6447,9 +6370,10 @@ components: additionalProperties: false properties: numberOfResults: - type: integer + type: + - "integer" + - "null" format: int32 - nullable: true default: 10 status: type: array @@ -6469,33 +6393,28 @@ components: purchaser: $ref: '#/components/schemas/PurchaserSearchRequest' bookingId: - type: string - nullable: true + type: + - "string" + - "null" bookingCode: description: | reference to the booking in the downstream distributor system - type: string - nullable: true + type: + - "string" + - "null" externalRef: description: reference to the booking in the retailer system - type: string - nullable: true - distributorBookingRef: - description: | - reference to the booking in the downstream distributor system - type: string - nullable: true - deprecated: true - retailerBookingRef: - type: string - nullable: true - deprecated: true + type: + - "string" + - "null" fulfillmentId: - type: string - nullable: true + type: + - "string" + - "null" fulfillmentControlNumber: - type: string - nullable: true + type: + - "string" + - "null" travelDateRange: $ref: '#/components/schemas/DateRange' purchaseDateRange: @@ -6507,9 +6426,6 @@ components: type: object additionalProperties: false properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -6542,7 +6458,6 @@ components: $ref: '#/components/schemas/TripSummary' id: type: string - nullable: false provisionalPrice: description: | price of all unconfirmed pre-booked parts in the booking @@ -6572,13 +6487,11 @@ components: properties: bookingId: type: string - nullable: false passengerIds: type: array items: type: string minItems: 1 - nullable: false BookingSplitGroup: type: object @@ -6593,7 +6506,6 @@ components: items: type: string minItems: 1 - nullable: false BookingSplitRequest: type: object @@ -6611,9 +6523,6 @@ components: type: object additionalProperties: false properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -6638,27 +6547,31 @@ components: additionalProperties: false properties: from: - type: string + type: + - "string" + - "null" format: date-time - nullable: true until: - type: string + type: + - "string" + - "null" format: date-time - nullable: true dates: description: | dates included in the calendar. In case no dates are provided the range is assumed to be valid - type: array + type: + - "array" + - "null" items: type: string format: date-time - nullable: true utcOffset: description: | offset to UTC in minutes (number of minutes to be added to get UTC dates) - type: integer + type: + - "integer" + - "null" format: int32 - nullable: true CancelFulfillmentsOffer: type: object @@ -6676,30 +6589,28 @@ components: id of the cancel fulfillments offer type: string maxLength: 32768 - nullable: false summary: description: | A human-readable description of the refund offer. - type: string - nullable: true + type: + - "string" + - "null" createdOn: type: string format: date-time - nullable: false validFrom: type: string format: date-time - nullable: false validUntil: description: | time until the offer can be used type: string format: date-time - nullable: false confirmedOn: - type: string + type: + - "string" + - "null" format: date-time - nullable: true status: $ref: '#/components/schemas/CancelFulfillmentsStatus' fulfillments: @@ -6709,7 +6620,6 @@ components: minItems: 1 _links: description: | - Java Property Name: 'links' type: array items: @@ -6719,9 +6629,6 @@ components: type: object additionalProperties: false properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -6732,7 +6639,6 @@ components: $ref: '#/components/schemas/CancelFulfillmentsOffer' _links: description: | - Java Property Name: 'links' type: array items: @@ -6760,9 +6666,6 @@ components: type: object additionalProperties: false properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -6790,27 +6693,22 @@ components: type: integer format: int32 minimum: 0 - nullable: false length: type: integer format: int32 minimum: 0 - nullable: false width: type: integer format: int32 minimum: 0 - nullable: false height: type: integer format: int32 minimum: 0 - nullable: false model: description: | Free text description of the model (e.g. BMW X5) type: string - nullable: false attachedItems: description: | Indication of items attached to the car @@ -6821,8 +6719,9 @@ components: description: | The license plate is a personal data item and must not be provided in an offer request. It must be patched into the offer after the customer accepted the offer for booking. - type: string - nullable: true + type: + - "string" + - "null" CardReference: type: object @@ -6836,13 +6735,15 @@ components: description: | Code of the card type according to issuer. E.g. BahnCard50. Predefined values from the [Reduction Card Code List](https://osdm.io/spec/catalog-of-code-lists/#ReductionCard) - type: string - nullable: true + type: + - "string" + - "null" number: description: | Number identifying the travel account, need issuer to be unique. - type: string - nullable: true + type: + - "string" + - "null" issuer: $ref: '#/components/schemas/CompanyRef' type: @@ -6858,10 +6759,10 @@ components: $ref: '#/components/schemas/CompanyRef' code: type: string - nullable: false cardName: - type: string - nullable: true + type: + - "string" + - "null" CarrierConstraint: type: object @@ -6870,15 +6771,17 @@ components: Either excluded or included carriers can be set. properties: includedCarriers: - type: array + type: + - "array" + - "null" items: type: string - nullable: true excludedCarriers: - type: array + type: + - "array" + - "null" items: type: string - nullable: true CarrierFilter: type: object @@ -6889,8 +6792,9 @@ components: exclude: description: | Whether carrier in list are to include or exclude from search. - type: boolean - nullable: true + type: + - "boolean" + - "null" default: true carriers: description: | @@ -6906,13 +6810,16 @@ components: impact: $ref: '#/components/schemas/ImpactType' finalDelay: - type: string + type: + - "string" + - "null" format: duration - nullable: true - example: PT30M + examples: + - PT30M onReturn: - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false delayedJourney: type: array @@ -6924,13 +6831,15 @@ components: additionalProperties: false properties: trainNumber: - type: string - nullable: true + type: + - "string" + - "null" connectionMissed: description: | connection missed due to a delay on the previous leg - type: boolean - nullable: true + type: + - "boolean" + - "null" serviceDegradation: type: array items: @@ -6940,17 +6849,20 @@ components: arrivalStation: $ref: '#/components/schemas/Place' plannedDepartureTime: - type: string + type: + - "string" + - "null" format: date-time - nullable: true timetabledArrivalTime: - type: string + type: + - "string" + - "null" format: date-time - nullable: true observedArrivalTime: - type: string + type: + - "string" + - "null" format: date-time - nullable: true Coach: type: object @@ -6967,23 +6879,23 @@ components: description: | coach number type: string - nullable: false layoutId: description: | Id to identify the coach layout. In case of two deck vehicles, both upper and lower deck layouts are provided next to each other. type: string - nullable: false layoutIdUpperDeck: description: | id to identify a layout for the upper deck in a double deck coach - type: string - nullable: true + type: + - "string" + - "null" layoutIdLowerDeck: description: | id to identify a layout for the lower deck in a double deck coach - type: string - nullable: true + type: + - "string" + - "null" direction: $ref: '#/components/schemas/TravelDirectionType' owner: @@ -7012,13 +6924,11 @@ components: description: | id of this coachLayout on this server type: string - nullable: false summary: description: | A human-readable description of the coach layout. - type: string - nullable: true - example: Coach 3 in train T-122 + examples: + - Coach 3 in train T-122 places: description: | list of places included in the layout @@ -7050,9 +6960,6 @@ components: type: object additionalProperties: false properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -7072,11 +6979,9 @@ components: x: type: integer format: int32 - nullable: false y: type: integer format: int32 - nullable: false CoachLayoutInternal: type: object @@ -7089,7 +6994,6 @@ components: description: | Values from the [Graphics Items Code List](https://osdm.io/spec/catalog-of-code-lists/#GraphicsItems) type: string - nullable: false mounting: $ref: '#/components/schemas/MountingType' coords: @@ -7107,12 +7011,10 @@ components: type: string description: | Values from the [Graphics Items Code List](https://osdm.io/spec/catalog-of-code-lists/#GraphicsItems) - nullable: false number: description: | place number as displayed physically on the place type: string - nullable: false direction: $ref: '#/components/schemas/DirectionType' remarkId: @@ -7126,9 +7028,6 @@ components: type: object additionalProperties: false properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -7147,7 +7046,6 @@ components: description: | Values from the [Graphics Items Code List](https://osdm.io/spec/catalog-of-code-lists/#GraphicsItems) type: string - nullable: false direction: $ref: '#/components/schemas/DirectionType' coords: @@ -7179,14 +7077,14 @@ components: properties: id: type: string - nullable: false needsToBeCombined: description: | If false it means that this product can be sold also when not in conjunction with a product with the same tag. This is needed to propose specific products from one provider that depend on public ones of another. - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false CompanyDetail: @@ -7199,28 +7097,19 @@ components: properties: name: type: string - nullable: false registrationNumber: type: string - nullable: false - legalAddress: - $ref: '#/components/schemas/Address' - deprecated: true - nullable: true - description: | - Deprecated in favor of `legalPostalAddress` legalPostalAddress: $ref: '#/components/schemas/PostalAddress' taxId: type: string - nullable: false CompanyRef: type: string description: | Identifies a company. For rail, a RICS company code or compatible ERA company code are used. - E.g.: 'urn:uic:rics:1185:000011' - nullable: false + examples: + - 'urn:uic:rics:1185:000011' Compartment: type: object @@ -7242,8 +7131,9 @@ components: isSelectable: description: | Indicates whether compartments are selectable as a whole only - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false reservationRefs: description: | @@ -7267,7 +7157,6 @@ components: properties: id: type: string - nullable: false status: $ref: '#/components/schemas/BackOfficeStatus' customerComplaint: @@ -7275,16 +7164,16 @@ components: missingInformation: description: | indication of missing customer information - type: array + type: + - "array" + - "null" items: type: string maxLength: 32768 - nullable: true decision: $ref: '#/components/schemas/ComplaintDecision' _links: description: | - Java Property Name: 'links' type: array items: @@ -7313,8 +7202,9 @@ components: explanation: $ref: '#/components/schemas/SupportingDocument' shortExplanation: - type: string - nullable: true + type: + - "string" + - "null" delayedJourney: description: | Allocator or fare provider view on the delays. This might differ from the customer view. @@ -7356,9 +7246,6 @@ components: properties: complaint: $ref: '#/components/schemas/Complaint' - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -7380,12 +7267,12 @@ components: human readable documentation of the text. type: string minLength: 1 - nullable: false shortDescription: description: | short description of the condition no longer than 64 characters - type: string - nullable: true + type: + - "string" + - "null" ConditionType: type: string @@ -7407,28 +7294,27 @@ components: summary: description: | A human-readable description of the contact. - type: string - nullable: true + type: + - "string" + - "null" preferredLanguage: description: | ISO-639-1 language code - type: string - nullable: true + type: + - "string" + - "null" email: - type: string - nullable: true + type: + - "string" + - "null" phoneNumber: description: | - Preferably a mobile phone number, to be contacted in case changes to the booking occur, e.g., in case of delays or interruptions . - type: string - nullable: true - address: - type: string - nullable: true - deprecated: true + Preferably a mobile phone number, to be contacted in case changes to the booking + type: + - "string" + - "null" postalAddress: $ref: '#/components/schemas/PostalAddress' - nullable: true ContextType: type: string @@ -7455,22 +7341,26 @@ components: timeWindowStart: description: | Time at which window begins. - type: string + type: + - "string" + - "null" format: date-time - nullable: true timeWindowEnd: description: | Time at which window ends. - type: string + type: + - "string" + - "null" format: date-time - nullable: true duration: description: | Duration of this leg according to user preferences like walk speed. - type: string + type: + - "string" + - "null" format: duration - nullable: true - example: 1800S + examples: + - 1800S situationFullRefs: type: array items: @@ -7512,18 +7402,16 @@ components: $ref: '#/components/schemas/JourneyRef' mode: type: string - nullable: false - example: Ask Stefan + examples: + - Ask Stefan publishedServiceName: type: string - nullable: false - example: Circle Line + examples: + - Circle Line originText: type: string - nullable: false destinationText: type: string - nullable: false ControlSecurityType: description: | @@ -7552,14 +7440,16 @@ components: description: | The corporate code issued by the referenced company. type: string - nullable: false - example: 123-232 + examples: + - 123-232 beneficiary: description: | The name of the party that benefits from the corporate code, intended to be presented to the end user. - type: string - nullable: true - example: Siemens + type: + - "string" + - "null" + examples: + - TheDummyCompany issuer: $ref: '#/components/schemas/CompanyRef' @@ -7567,15 +7457,15 @@ components: type: string description: | ISO country code (2 alpha), relative URNs with base urn:iso:std:iso:3166 are recommended - nullable: false - example: 'DE' + examples: + - 'DE' Currency: type: string description: | ISO 4217 currency codes - nullable: false - example: 'CHF' + examples: + - 'CHF' CustomerComplaint: type: object @@ -7586,9 +7476,10 @@ components: applicationTime: description: | date and time when the claim was made. This starts the legal time line to process the claim - type: string + type: + - "string" + - "null" format: date-time - nullable: true journeyDetails: $ref: '#/components/schemas/ClaimedJourneyDetails' claimManager: @@ -7604,17 +7495,19 @@ components: bookingIds: description: | list of booking Ids - type: array + type: + - "array" + - "null" items: type: string - nullable: true ticketControlNumber: description: | list of ticket control number (visible ticket identification for the customer) - type: array + type: + - "array" + - "null" items: type: string - nullable: true requestedPaymentType: $ref: '#/components/schemas/PaymentType' bankAccount: @@ -7625,13 +7518,15 @@ components: additionalProperties: false properties: startTime: - type: string + type: + - "string" + - "null" format: date-time - nullable: true endDate: - type: string + type: + - "string" + - "null" format: date-time - nullable: true DatedJourney: type: object @@ -7650,11 +7545,15 @@ components: $ref: '#/components/schemas/ProductCategory' publishedServiceName: description: | - Line name or service description as known to the public, f.e. '512', 'S8' - or 'Circle Line' or 'ICE 488'. - type: string - nullable: true - example: S1 + Line name or service description as known to the public + type: + - "string" + - "null" + examples: + - 'S1' + - 'Circle Line' + - 'ICE 488' + vehicleNumbers: type: array items: @@ -7715,36 +7614,39 @@ components: properties: id: type: string - nullable: false summary: - type: string - nullable: true + type: + - "string" + - "null" passengerRef: description: | Reference to a passenger, to be specified when the document related to an individual passenger. - type: string - nullable: true + type: + - "string" + - "null" downloadLink: - type: string + type: + - "string" + - "null" format: uri - nullable: true downloadExpiry: description: | Expiration time of the download link, the document will not be available at the given URI after this time. - type: string + type: + - "string" + - "null" format: date-time - nullable: true content: description: | base64 encoded binary of the actual fulfillment document. The length restriction of 4 MBytes applies to the encoded string, so the raw document cannot exceed 3 MBytes in size. - type: string + type: + - "string" + - "null" format: byte maxLength: 4194304 - nullable: true format: $ref: '#/components/schemas/DocumentFormat' - nullable: true type: $ref: '#/components/schemas/DocumentType' scope: @@ -7756,9 +7658,6 @@ components: required: - documents properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -7782,8 +7681,10 @@ components: type: object additionalProperties: false properties: - warnings: - $ref: '#/components/schemas/WarningCollection' + problems: + type: array + items: + $ref: '#/components/schemas/Problem' document: $ref: '#/components/schemas/Document' @@ -7805,19 +7706,20 @@ components: passengerRef: description: | Reference to a passenger, to be specified when the document related to an individual passenger. - type: string - nullable: true + type: + - "string" + - "null" content: description: | base64 encoded binary of the actual fulfillment document. The length restriction of 4 MBytes applies to the encoded string, so the raw document cannot exceed 3 MBytes in size. - type: string + type: + - "string" + - "null" format: byte maxLength: 4194304 - nullable: true format: $ref: '#/components/schemas/DocumentFormat' - nullable: true scope: $ref: '#/components/schemas/DocumentScope' type: @@ -7846,13 +7748,13 @@ components: description: | id of the event type: string - nullable: false timestamp: description: | timestamp of the event - type: string + type: + - "string" + - "null" format: date-time - nullable: false type: $ref: '#/components/schemas/EventType' details: @@ -7871,12 +7773,10 @@ components: description: | human readable description of the event type: string - nullable: false requestor: description: | Contains detailed information about who is calling the API. It can include information such as channel, organization, sales unit or workstation id and be used to configure e.g. the fare range provided to the caller. The content of the string is part of a bilateral contract by the two parties and not standardized by OSDM. It is recommend to encrypt the information transferred. type: string - nullable: false change: $ref: '#/components/schemas/HistoryStatus' resource: @@ -7929,30 +7829,25 @@ components: offerId: type: string maxLength: 32768 - nullable: false summary: description: | A human-readable description of the offer. type: string - nullable: true offerSummary: $ref: '#/components/schemas/OfferSummary' createdOn: type: string format: date-time - nullable: false preBookableUntil: description: | time until the offer can be pre-booked, however its availability is not guaranteed type: string format: date-time - nullable: false passengerRefs: type: array items: type: string minItems: 1 - nullable: false products: type: array items: @@ -7987,7 +7882,6 @@ components: $ref: '#/components/schemas/Fare' _links: description: | - Java Property Name: 'links' type: array items: @@ -8028,7 +7922,6 @@ components: items: type: string minItems: 1 - nullable: false overruleCode: $ref: '#/components/schemas/OverruleCode' tripSpecifications: @@ -8038,9 +7931,10 @@ components: tripIds: type: array items: - type: string + type: + - "string" + - "null" maxLength: 32768 - nullable: true tripSearchCriteria: $ref: '#/components/schemas/TripSearchCriteria' nonTripSearchCriteria: @@ -8077,9 +7971,6 @@ components: type: object additionalProperties: false properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -8100,7 +7991,6 @@ components: $ref: '#/components/schemas/Passenger' _links: description: | - Java Property Name: 'links' type: array items: @@ -8124,7 +8014,6 @@ components: properties: id: type: string - nullable: false status: $ref: '#/components/schemas/ExchangeStatus' exchangeOffers: @@ -8132,9 +8021,10 @@ components: items: $ref: '#/components/schemas/ExchangeOffer' ticketTimeLimit: - type: string + type: + - "string" + - "null" format: date-time - nullable: true fulfillmentType: $ref: '#/components/schemas/FulfillmentType' fulfillments: @@ -8187,9 +8077,6 @@ components: type: object additionalProperties: false properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -8258,13 +8145,11 @@ components: minutes of the day in the time zone of travel type: integer format: int32 - nullable: false until: description: | minutes of the day in the time zone of travel type: integer format: int32 - nullable: false scope: $ref: '#/components/schemas/ExclusionScope' @@ -8294,7 +8179,6 @@ components: description: | id of the fare item to be included in accounting type: string - nullable: false type: $ref: '#/components/schemas/FareType' name: @@ -8352,7 +8236,6 @@ components: items: type: string minItems: 1 - nullable: false passengerConstraints: description: | passenger constraint to be included in bar codes @@ -8392,9 +8275,7 @@ components: model: description: | A distributor needs to support the following models: SEPARATE_TICKET, SEPARATE_CONTRACT, CLUSTERING, COMBINING. - type: string - nullable: false combinableCarriers: description: | List of all carriers where the model can be applied, in case the list is empty @@ -8405,21 +8286,23 @@ components: isValidOnlyWhenCombined: description: | This combination model applies only in case the fare is combined with another carrier - type: boolean - nullable: true - default: false + type: + - "boolean" + - "null" referenceCluster: description: | In case of CLUSTERING model: the cluster to which the fare belongs - type: string - nullable: true + type: + - "string" + - "null" allowedClusters: description: | In case of CLUSTERING model: the other clusters that allow a combination - type: array + type: + - "array" + - "null" items: type: string - nullable: true allowedCommonContracts: description: | List of carriers where a common contract with separate fulfillments are allowed. @@ -8445,8 +8328,9 @@ components: - stationSets properties: name: - type: string - nullable: true + type: + - "string" + - "null" stationSets: type: array items: @@ -8464,8 +8348,9 @@ components: additionalProperties: false properties: name: - type: string - nullable: true + type: + - "string" + - "null" FareReferenceStation: type: object @@ -8483,10 +8368,8 @@ components: properties: name: type: string - nullable: false code: type: string - nullable: false carrier: $ref: '#/components/schemas/CompanyRef' stations: @@ -8518,12 +8401,12 @@ components: id: type: string maxLength: 32768 - nullable: false summary: description: | A human-readable description of the fee. - type: string - nullable: true + type: + - "string" + - "null" price: $ref: '#/components/schemas/Price' applicability: @@ -8535,8 +8418,9 @@ components: distributorBookingRef: description: | reference to the booking in the downstream distributor system - type: string - nullable: true + type: + - "string" + - "null" refundable: $ref: '#/components/schemas/RefundType' conditions: @@ -8545,13 +8429,6 @@ components: type: array items: $ref: '#/components/schemas/Condition' - productCode: - description: | - The product code expressed in the provider system (could be a - mapping from an even lower-level provider). - type: string - nullable: true - deprecated: true productRef: type: string description: | @@ -8583,28 +8460,27 @@ components: properties: id: type: string - nullable: false status: $ref: '#/components/schemas/FulfillmentStatus' bookingRef: description: | the id of the booking the fulfillment is part of type: string - nullable: false summary: description: | A human-readable description of the fulfillment. - type: string - nullable: true + type: + - "string" + - "null" createdOn: type: string format: date-time - nullable: false controlNumber: description: | Ticket Control Number. - type: string - nullable: true + type: + - "string" + - "null" bookingParts: type: array items: @@ -8632,7 +8508,6 @@ components: $ref: '#/components/schemas/TripCoverage' _links: description: | - Java Property Name: 'links' type: array items: @@ -8648,20 +8523,21 @@ components: - startOfUsage properties: selectedZoneIds: - type: array + type: + - "array" + - "null" items: type: string - nullable: true travelDates: - type: array + type: + - "array" + - "null" items: type: string format: date - nullable: true startOfUsage: type: string format: date-time - nullable: false fromPlace: $ref: '#/components/schemas/PlaceRef' stockControlNumbers: @@ -8669,18 +8545,16 @@ components: The ids of the secure paper stock that identifies the blank secure paper stock used for printing. The stock control number is only used for secure paper stock and triggers a printing of the stock control number in the ticket layout. This establishes a link between paper stock and ticket that is used to control the usage of blank secure paper stock at offices as secure paper has otherwise no intrinsic protection against internal fraud. - type: array + type: + - "array" + - "null" items: type: string - nullable: true FulfillmentCollectionResponse: type: object additionalProperties: false properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -8724,8 +8598,9 @@ components: isIndividualTicketingForbidden: description: | a separate fulfillment per passenger is forbidden - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false FulfillmentDocument: @@ -8744,27 +8619,29 @@ components: type: $ref: '#/components/schemas/FulfillmentDocumentType' downloadLink: - type: string + type: + - "string" + - "null" format: uri - nullable: true downloadExpiry: description: | Expiration time of the download link, the document will not be available at the given URI after this time. - type: string + type: + - "string" + - "null" format: date-time - nullable: true content: description: | base64 encoded binary of the actual fulfillment document. The length restriction of 4 MBytes applies to the encoded string, so the raw document cannot exceed 3 MBytes in size. - type: string + type: + - "string" + - "null" format: byte maxLength: 4194304 - nullable: true format: $ref: '#/components/schemas/DocumentFormat' - nullable: false FulfillmentDocumentType: description: | @@ -8792,7 +8669,6 @@ components: FulfillmentId: type: string - nullable: false FulfillmentItemSecurityFeature: type: object @@ -8804,10 +8680,11 @@ components: description: | base64 encoded data. The length restriction of 4 MBytes applies to the encoded string, so the raw data cannot exceed 3 MBytes in size. - type: string + type: + - "string" + - "null" format: byte maxLength: 4194304 - nullable: true FulfillmentItemSecurityFeatureLinks: type: object @@ -8818,9 +8695,10 @@ components: uri: description: | link to download the security feature - type: string + type: + - "string" + - "null" format: uri - nullable: true FulfillmentMediaType: description: | @@ -8830,7 +8708,6 @@ components: Listed values here are examples. type: string x-extensible-enum: - - 'ALLOCATOR_APP' # deprecated - 'DISTRIBUTOR_APP' - 'RETAILER_APP' - 'FULFILLMENT_PARTS' @@ -8871,11 +8748,13 @@ components: passengerRef: description: | reference to a passenger - type: string - nullable: true + type: + - "string" + - "null" controlId: - type: string - nullable: true + type: + - "string" + - "null" securityFeatures: description: | 'visual elements, bar codes' @@ -8893,14 +8772,16 @@ components: isMandatory: description: | The use of the provided features is mandatory. - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false securePaperOnly: description: | The security feature must be used on secure paper. - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false FulfillmentStatus: @@ -8944,9 +8825,6 @@ components: type: object additionalProperties: false properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -8974,17 +8852,19 @@ components: - maxAvailableZones properties: fromPlaceRequired: - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false travelDates: description: | Travel dates that can be selected. Note: date only is used to cover properly the case of passes including multiple time zones. - type: array + type: + - "array" + - "null" items: type: string - nullable: true travelValidityRanges: type: array items: @@ -8994,7 +8874,6 @@ components: upper limit to the number of selected zones type: integer format: int32 - nullable: false availableZones: type: array items: @@ -9016,14 +8895,17 @@ components: - text properties: text: - type: string - nullable: false + type: + - "string" + - "null" code: - type: string - nullable: true + type: + - "string" + - "null" url: - type: string - nullable: true + type: + - "string" + - "null" GeoPosition: type: object @@ -9080,7 +8962,6 @@ components: description: | Clear text representation of the actual passenger type, suitable to be presented to a client. type: string - nullable: false grantedAmount: $ref: '#/components/schemas/Price' passengerRefs: @@ -9089,7 +8970,6 @@ components: type: array items: type: string - nullable: false tripCoverage: $ref: '#/components/schemas/TripCoverage' appliedPassengerTypes: @@ -9143,33 +9023,36 @@ components: description: | Identifier on the document. type: string - nullable: false type: description: | Refer to code list for values type: string - nullable: false name: description: | ICAO transliteration identical as written in the document - type: string - nullable: true + type: + - "string" + - "null" nationality: description: | ISO 3166 2A codes - type: string - nullable: true + type: + - "string" + - "null" birthCity: - type: string - nullable: true + type: + - "string" + - "null" issuingCity: description: | place where the document is issued - type: string - nullable: true + type: + - "string" + - "null" residenceCity: - type: string - nullable: true + type: + - "string" + - "null" birthCountryCode: $ref: '#/components/schemas/CountryCode' issuingCountryCode: @@ -9177,15 +9060,17 @@ components: residenceCountryCode: $ref: '#/components/schemas/CountryCode' issuingDate: - type: string + type: + - "string" + - "null" format: date-time - nullable: true gender: $ref: '#/components/schemas/Gender' expirationDate: - type: string + type: + - "string" + - "null" format: date - nullable: true ImpactType: description: | @@ -9212,7 +9097,6 @@ components: amount: type: integer format: int32 - nullable: false IndicatedTravelAccountConsumption: type: object @@ -9223,11 +9107,11 @@ components: amount: type: integer format: int32 - nullable: false scale: - type: integer + type: + - "integer" + - "null" format: int32 - nullable: true default: 2 IndividualMode: @@ -9259,9 +9143,11 @@ components: description: | Name of the place object which is looked after. This is usually the user's input. If not given, the name of the resulting place objects is not relevant. - type: string - nullable: true - example: Bern Bärengraben + type: + - "string" + - "null" + examples: + - Bern Bärengraben geoPosition: $ref: '#/components/schemas/GeoPosition' @@ -9281,21 +9167,25 @@ components: $ref: '#/components/schemas/StopPlaceRef' stopPlaceName: type: string - nullable: false - example: Luzern + examples: + - Luzern plannedStopPointName: description: | Name of the bay/quay/terminal where to board/alight from the vehicle. According to planned timetable. - type: string - nullable: true - example: 3 + type: + - "string" + - "null" + examples: + - 3 estimatedStopPointName: description: | Name of the bay/quay/terminal where to board the vehicle. As to the latest realtime status. - type: string - nullable: true - example: 8 + type: + - "string" + - "null" + examples: + - 8 serviceArrival: $ref: '#/components/schemas/ServiceTime' serviceDeparture: @@ -9321,11 +9211,13 @@ components: $ref: '#/components/schemas/ServiceTime' JourneyRef: - type: string + type: + - "string" + - "null" description: | Reference to a journey. Provided by OJP. - nullable: true - example: ServiceJourney:1 + examples: + - ServiceJourney:1 Latitude: type: number @@ -9334,8 +9226,8 @@ components: Latitude from equator. -90 (South) to +90 (North). Decimal degrees. e.g. 56.356. minimum: -90 maximum: 90 - nullable: false - example: 47.37818 + examples: + - 47.37818 LayoutCoordinates: type: object @@ -9350,13 +9242,11 @@ components: horizontal coordinate of the center of the place type: integer format: int32 - nullable: false y: description: | vertical coordinate of the center of the place type: integer format: int32 - nullable: false zOrder: description: | Graphical layer where this item has to be placed. @@ -9366,7 +9256,6 @@ components: - value 2: top layer usually used by icons type: integer format: int32 - nullable: false LegAttribute: type: object @@ -9380,26 +9269,28 @@ components: description: | Text of the attribute to be shown to the user. type: string - nullable: false code: description: | Internal code of the attribute. Can be used for detection of double occurrences. Refers to Service Facilities / Leg Attributes from the Catalog of Code Lists - type: string - nullable: true + type: + - "string" + - "null" fromStopSeqNumber: description: | The attribute is valid from the stop point with this sequence number within the leg. If missing it is valid from the beginning of the leg. - type: integer + type: + - "integer" + - "null" format: int32 minimum: 0 - nullable: true - toStopSeqNumber: + toStopSeqNumber: description: | The attribute is valid to the stop point (inclusively) with this sequence number within the leg. If missing it is valid to the end of the leg. - type: integer + type: + - "integer" + - "null" format: int32 minimum: 0 - nullable: true LegacyAccountingIdentifier: type: object @@ -9416,24 +9307,25 @@ components: format: int32 minimum: 0 maximum: 99999 - nullable: false addId: description: | Sequential number of regional validities (leading positions in case the series is too short). - type: integer + type: + - "integer" + - "null" format: int32 minimum: 0 maximum: 99 - nullable: true tariffId: description: | Tariff id for the old series format. - type: integer + type: + - "integer" + - "null" format: int32 minimum: 0 maximum: 9999 - nullable: true LegacyReservationParameter: type: object @@ -9449,32 +9341,32 @@ components: description: | 90918-1 class code in reservation type: string - nullable: false serviceLevelCode: description: | service level code defined in UIC 90918-1 type: string - nullable: false serviceCode: description: | service code to be used in reservation type: string - nullable: false berthType: description: | berth type code in UIC 90918-1 to be used in reservation - type: string - nullable: true + type: + - "string" + - "null" coachTypeCode: description: | coach type code in UIC 90918-1 to be used in reservation - type: string - nullable: true + type: + - "string" + - "null" compartmentTypeCode: description: | compartment type code in UIC 90918-1 to be used in reservation - type: string - nullable: true + type: + - "string" + - "null" tariffs: description: | tariff according to UIC 90918-1 to be used for booking @@ -9491,16 +9383,17 @@ components: number: description: | number of items with this tariff code - type: integer + type: + - "integer" + - "null" format: int32 - nullable: true code: description: | legacy tariff code - type: integer + type: + - "integer" + - "null" format: int32 - nullable: true - Line: type: object additionalProperties: false @@ -9515,38 +9408,45 @@ components: binaryLineId: description: | Id to support local traffic standards (e.g. VDV,...). - type: string + type: + - "string" + - "null" format: byte - nullable: true carrier: $ref: '#/components/schemas/CompanyRef' city: - type: integer + type: + - "integer" + - "null" format: int32 - nullable: true entryStation: $ref: '#/components/schemas/StopPlace' lineIds: - type: array + type: + - "array" + - "null" items: type: string - nullable: true terminalStation: $ref: '#/components/schemas/StopPlace' nutsCode: description: | Nomenclature des units territoriales statistiques COMMISSION REGULATION (EU) No 31/2011 - type: string - nullable: true + type: + - "string" + - "null" LineNumber: - type: string + type: + - "string" + - "null" description: | Especially on regional traffic, a vehicle is defined by a line number. E.g. the line numbers of 'S 52' or 'B 19'. - nullable: true - example: 52, 19 + examples: + - 52 + - B 19 Link: type: object @@ -9564,27 +9464,29 @@ components: description: | the 'rel' field in HATEOAS navigation. type: string - nullable: false - example: self + examples: + - self href: description: | Allows to provide a value to the link, for example id of the targeted resource or displayable representation for the link. type: string maxLength: 32768 format: uri - nullable: false type: description: | Hint to indicate the media type expected when dereferencing the target resource. - type: string - nullable: true - example: application/json + type: + - "string" + - "null" + examples: + - application/json value: description: | Allows to provide a value to the link, for example id of the targeted resource or displayable representation for the link. - type: string + type: + - "string" + - "null" maxLength: 32768 - nullable: true Longitude: type: number @@ -9593,8 +9495,8 @@ components: Longitude from Greenwich Meridian. -180 (West) to +180 (East). Decimal degrees. eg 2.356. minimum: -180 maximum: 180 - nullable: false - example: 8.54021 + examples: + - 8.54021 LuggageConstraint: type: object @@ -9605,15 +9507,17 @@ components: maxHandLuggage: description: | standard hand luggage pieces - type: integer + type: + - "integer" + - "null" format: int32 - nullable: true maxLargeLuggage: description: | standard non-hand luggage pieces - type: integer + type: + - "integer" + - "null" format: int32 - nullable: true restrictions: type: array items: @@ -9636,14 +9540,11 @@ components: description: | Value of the dimension: weight in kg, length in cm, volume in liter. type: string - nullable: false LuggageDimensionEnum: description: | Type of the dimension. Combined sizes are the sum of the sizes. - Explanation: WIDTH_HEIGHT_LENGTH = sum of width, hight and length in cm (= linear equivalent). - type: string enum: - 'HEIGHT' @@ -9673,19 +9574,18 @@ components: Number of luggage items allowed with this restriction. type: integer format: int32 - nullable: false registrationIds: description: | The registrationIds to be included in a bar code on the fulfillment (UIC IRS 90918-4) (e.g. on a luggage tag). - type: array + type: + - "array" + - "null" items: type: string - nullable: true LuggageRestrictionRuleEnum: description: | Named luggage restriction rule. - Valid Values: - CAN_CARRY: Weight is ok if you can carry it yourself. type: string @@ -9705,20 +9605,25 @@ components: name: description: | Name of the mode - type: string - nullable: true - example: rail + type: + - "integer" + - "null" + examples: + - rail shortName: description: | Short name or acronym of the mode - type: string - nullable: true - example: S + type: + - "integer" + - "null" + examples: + - S description: description: | Additional text that further describes the mode - type: string - nullable: true + type: + - "integer" + - "null" ModeFilter: type: object @@ -9729,8 +9634,9 @@ components: exclude: description: | Whether modes in list are to include or exclude from search. - type: boolean - nullable: true + type: + - "boolean" + - "null" default: true transportModes: description: | @@ -9750,9 +9656,10 @@ components: currency: $ref: '#/components/schemas/Currency' scale: - type: integer + type: + - "integer" + - "null" format: int32 - nullable: true default: 2 MotorCycle: @@ -9760,15 +9667,17 @@ components: additionalProperties: false properties: isSideCarIncluded: - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false licensePlate: description: | The license plate is a personal data item and must not be provided in an offer request. It must be patched into the offer after the customer accepted the offer for booking - type: string - nullable: true + type: + - "integer" + - "null" MountingType: type: string @@ -9791,7 +9700,6 @@ components: $ref: '#/components/schemas/RegionalConstraint' regionalConstraintSummary: type: string - nullable: false balance: $ref: '#/components/schemas/MultiRideBalance' consumptions: @@ -9812,11 +9720,9 @@ components: total: type: integer format: int32 - nullable: false remaining: type: integer format: int32 - nullable: false unit: $ref: '#/components/schemas/AbstractTravelAccountUnit' @@ -9833,9 +9739,11 @@ components: name: description: | Textual representation of the carrier to be displayed unless the application is able to indicate the name by the carrier references. - type: string - nullable: true - example: RhB + type: + - "string" + - "null" + examples: + - "RhB" NamedTravelAccountUnit: allOf: @@ -9847,7 +9755,6 @@ components: properties: name: type: string - nullable: false NonTripSearchCriteria: type: object @@ -9858,16 +9765,18 @@ components: The geographical validity can either be specified by a list of nutsCodes, by a list of places (e.g. stations) with the semantics that trips between either of any of the listed stations are covered (e.g. Frankfurt (Main) Hbf, Friedberg(Hess) and Hanau Hbf, which would imply that any travel between these stations is to be covered), or a list of zones (e.g. with carrier urn:vdv:rmv, the zones with the ids 50, 2501 and 3001 would cover the same area as the list of stations above). properties: validFrom: - type: string + type: + - "integer" + - "null" format: date-time - nullable: true nutsCodes: description: | Nomenclature des units territoriales statistiques COMMISSION REGULATION (EU) No 31/2011 - type: array + type: + - "array" + - "null" items: type: string - nullable: true zones: type: array items: @@ -9900,30 +9809,27 @@ components: offerId: type: string maxLength: 32768 - nullable: false summary: description: | A human-readable description of the offer. - type: string - nullable: true + type: + - "integer" + - "null" offerSummary: $ref: '#/components/schemas/OfferSummary' createdOn: type: string format: date-time - nullable: false preBookableUntil: description: | time until the offer can be pre-booked, however its availability is not guaranteed type: string format: date-time - nullable: false passengerRefs: type: array items: type: string minItems: 1 - nullable: false products: type: array items: @@ -9952,7 +9858,6 @@ components: $ref: '#/components/schemas/Fare' _links: description: | - Java Property Name: 'links' type: array items: @@ -9974,11 +9879,12 @@ components: items: $ref: '#/components/schemas/TripSpecification' tripIds: - type: array + type: + - "array" + - "null" items: type: string maxLength: 32768 - nullable: true tripSearchCriteria: $ref: '#/components/schemas/TripSearchCriteria' nonTripSearchCriteria: @@ -10017,9 +9923,6 @@ components: type: object additionalProperties: false properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -10078,15 +9981,14 @@ components: id: type: string maxLength: 32768 - nullable: false summary: description: | A human-readable description of the offer part reference. - type: string - nullable: true + type: + - "string" + - "null" _links: description: | - Java Property Name: 'links' type: array items: @@ -10116,10 +10018,12 @@ components: items: $ref: '#/components/schemas/OfferPartType' productTags: - type: array + type: + - "array" + - "null" items: $ref: '#/components/schemas/ProductTag' - nullable: true + flexibilities: description: | Defines the flexibility levels desired of the fares returned. @@ -10159,12 +10063,10 @@ components: id of the selected offer or exchangeOffer type: string maxLength: 32768 - nullable: false externalRef: description: | A stable reference to the id of the offer in the caller's system. When received in input of a request, it must be persisted and echoed back in the response. type: string - nullable: false optionalReservationSelections: description: | Mandatory reservations are booked when the booking is being booked. @@ -10185,17 +10087,19 @@ components: by a combinationTag, this flag must be set to true to indicate to the provider that after-sale must be done on the totality of the distributor's booking. Only after-sale requests triggered by the distributor can be safely processed on this offer. When the flag is not set, standard provider logic applies. - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false appliedRegulatoryCondition: $ref: '#/components/schemas/RegulatoryCondition' passengerRefs: - type: array + type: + - "array" + - "null" items: type: string minItems: 1 - nullable: false throughTicketTags: type: array items: @@ -10245,11 +10149,13 @@ components: Note the offerTag does not need to be unique. properties: id: - type: string - nullable: true + type: + - "string" + - "null" isMandatory: - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false OnHoldOffer: @@ -10268,26 +10174,22 @@ components: id: type: string maxLength: 32768 - nullable: false summary: type: string - nullable: false createdOn: type: string format: date-time - nullable: false validFrom: type: string format: date-time - nullable: false validUntil: type: string format: date-time - nullable: false confirmedOn: - type: string + type: + - "string" + - "null" format: date-time - nullable: true onHoldFee: $ref: '#/components/schemas/Fee' deposit: @@ -10297,10 +10199,8 @@ components: Increased time-to-live. type: string format: date-time - nullable: false _links: description: | - Java Property Name: 'links' type: array items: @@ -10321,18 +10221,13 @@ components: increaseTTL: description: | increase of time to live (in minutes) - type: integer format: int32 - nullable: false OnHoldOfferResponse: type: object additionalProperties: false properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -10356,13 +10251,11 @@ components: Start date of period type: string format: date-time - nullable: false until: description: | End date of period type: string format: date-time - nullable: false pattern: description: | Bit pattern for operating days between start date and end date. @@ -10370,14 +10263,15 @@ components: start date to end date. A bit value of '1' indicates that an event actually happens on the day that is represented by the bit position. type: string - nullable: false OperationDayRef: - type: string + type: + - "string" + - "null" description: | Reference to an operating day. Provided by OJP. - nullable: true - example: OperatingDay:12345 + examples: + - OperatingDay:12345 OsmTag: type: object @@ -10392,14 +10286,14 @@ components: description: | Name of Open Street Map tag (amenity, leisure, tourism, bike, ...) type: string - nullable: false - example: name + examples: + - amenity value: description: | Value for Open Street Map tag (charging_station, hostel, yes, ...) type: string - nullable: false - example: Rozenrust + examples: + - Rozenrust OverruleCode: description: | @@ -10490,30 +10384,31 @@ components: properties: id: type: string - nullable: false summary: description: | A human-readable description of the passenger. - type: string - nullable: true + type: + - "string" + - "null" externalRef: description: | A stable reference to a passenger from other elements, or from caller system. When passed in passenger specification in an offer request, it must be echoed back in the response. type: string - nullable: false dateOfBirth: description: | date of birth of the passenger - type: string + type: + - "string" + - "null" format: date - nullable: true age: - type: integer + type: + - "integer" + - "null" format: int32 minimum: 0 - nullable: true type: $ref: '#/components/schemas/PassengerType' cards: @@ -10550,25 +10445,25 @@ components: number: description: | number of passengers with this constraint - type: integer + type: + - "integer" + - "null" format: int32 - nullable: true upperAgeLimit: - type: integer + type: + - "integer" + - "null" format: int32 - nullable: true lowerAgeLimit: - type: integer + type: + - "integer" + - "null" format: int32 - nullable: true PassengerResponse: type: object additionalProperties: false properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -10590,20 +10485,22 @@ components: description: | A stable reference to a passenger from other elements, or from caller system. When received in input of a request, it must be echoed back in the response. type: string - nullable: false - example: TK-id-12345 + examples: + - TK-id-12345 dateOfBirth: description: | Date of birth of the passenger. Only needed for passengers of type persons, family child, PRM and wheelchair. - type: string + type: + - "string" + - "null" format: date - nullable: true age: - type: integer + type: + - "integer" + - "null" format: int32 minimum: 0 - nullable: true cards: description: | reduction or loyalty cards owned by the passenger @@ -10661,8 +10558,9 @@ components: remainingVoucherAmount: $ref: '#/components/schemas/Price' transactionId: - type: string - nullable: true + type: + - "string" + - "null" PaymentType: type: string @@ -10685,91 +10583,74 @@ components: - firstName - lastName properties: - preferredLanguage: - description: | - ISO-639-1 language code - type: string - deprecated: true - nullable: true summary: description: | A human-readable description of the person. - type: string - nullable: true + type: + - "string" + - "null" firstName: type: string - nullable: false lastName: description: full last names of the person type: string - nullable: false - example: 'Diaz Lopez' + examples: + - 'Diaz Lopez' firstFamilyName: description: first family name in case of multiple family names. The element lastName includes all family names. type: string - nullable: false - example: 'Diaz' + examples: + - 'Diaz' secondFamilyName: description: second family name in case of multiple family names. The element lastName includes all family names. type: string - nullable: false - example: 'Lopez' - email: - type: string - deprecated: true - nullable: true - phoneNumber: - description: | - Preferably a mobile phone number, to be contacted in case changes to the booking occur, e.g., - in case of interruptions. - type: string - deprecated: true - nullable: true - address: - $ref: '#/components/schemas/Address' - nullable: true - deprecated: true - description: | - Deprecated in favor of `postalAddress` + examples: + - 'Lopez' postalAddress: $ref: '#/components/schemas/PostalAddress' - nullable: true description: | Address of the physical person for issuing an invoice or receipt contact: $ref: '#/components/schemas/ContactDetail' taxId: - type: string + type: + - "string" + - "null" description: Tax identification of the physical person for issuing an invoice or receipt - nullable: true - example: CZ1234567890 + examples: + - CZ1234567890 PersonSearchRequest: type: object additionalProperties: false properties: firstName: - type: string - nullable: true + type: + - "string" + - "null" lastName: - type: string - nullable: true + type: + - "string" + - "null" dateOfBirth: - type: string + type: + - "string" + - "null" format: date - nullable: true phoneNumber: - type: string - nullable: true + type: + - "string" + - "null" email: - type: string - nullable: true + type: + - "string" + - "null" Place: type: object @@ -10791,21 +10672,21 @@ components: description: | id defining the place. The code is provided as URN, relative URNs are allowed with base path urn:uic:stn '0850000' type: string - nullable: false - example: urn:uic:stn:8500000 + examples: + - urn:uic:stn:8500000 alternativeIds: description: | For a place with ids in different reference systems, the alternative ids can be returned. The reference system is encoded in the string. E.g.: 'urn:uic:std:80000', 'x_swe:stn:10000', 'ch:1:sloid:343434' - type: array + type: + - "array" + - "null" items: type: string - nullable: true geoPosition: $ref: '#/components/schemas/GeoPosition' _links: description: | - Java Property Name: 'links' type: array items: @@ -10860,9 +10741,6 @@ components: type: object additionalProperties: false properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -10876,9 +10754,6 @@ components: type: object additionalProperties: false properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -10891,9 +10766,6 @@ components: type: object additionalProperties: false properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -10925,10 +10797,11 @@ components: description: | Maximum number of results to be returned. The service is allowed to return fewer objects if reasonable or otherwise appropriate. - type: integer + type: + - "integer" + - "null" format: int32 minimum: 1 - nullable: true PlacePosition: type: object @@ -10943,7 +10816,6 @@ components: description: | place number as indicated at the place in the coach type: string - nullable: false status: $ref: '#/components/schemas/AvailabilityStatus' reservationRefs: @@ -10970,10 +10842,8 @@ components: type: string coach: type: string - nullable: false place: type: string - nullable: false PlacePreferenceGroup: type: object @@ -10986,8 +10856,8 @@ components: description: | Values from the [Reservation Preference Group Code List](https://osdm.io/spec/catalog-of-code-lists/#ReservationPreferenceGroup) type: string - nullable: false - example: 'BERTH_LOCATION' + examples: + - 'BERTH_LOCATION' preferences: description: | Place preferences in the group. @@ -10996,15 +10866,16 @@ components: items: type: string minItems: 1 - nullable: false - example: 'WINDOW' + examples: + - 'WINDOW' PlaceProperty: type: string description: | Values from the [Place Property Code List](https://osdm.io/spec/catalog-of-code-lists/#PlaceProperty) - nullable: false - example: Power Connection + examples: + - POWER + - WINDOW PlaceRef: type: object @@ -11038,9 +10909,6 @@ components: required: - places properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -11065,7 +10933,6 @@ components: properties: reservationId: type: string - nullable: false referencePlace: $ref: '#/components/schemas/SelectedReferencePlace' accommodations: @@ -11115,13 +10982,12 @@ components: description: | Name or description of point of interest for use in passenger information. type: string - nullable: false - example: Park Rozenrust + examples: + - Park Rozenrust code: description: | id of the Point of Interest. type: string - nullable: false ref: $ref: '#/components/schemas/PointOfInterestRef' @@ -11142,10 +11008,11 @@ components: Classification of the POI (when it is not from OSM). The codification of the classification Id may include de codification source (for example 'IGN:[classificationCode]') - type: array + type: + - "array" + - "null" items: type: string - nullable: true PointOfInterestFilter: type: object @@ -11156,8 +11023,9 @@ components: exclude: description: | Whether carriers are to be included or excluded from the filtering. - type: boolean - nullable: true + type: + - "boolean" + - "null" default: true pointOfInterestCategory: description: | @@ -11179,7 +11047,6 @@ components: properties: pointOfInterestRef: type: string - nullable: false Polygon: type: object @@ -11207,13 +11074,13 @@ components: amount in cents type: integer format: int32 - nullable: false scale: description: | scale of the amount - the number of positions after the comma - type: integer + type: + - "integer" + - "null" format: int32 - nullable: true default: 2 vats: type: array @@ -11232,54 +11099,65 @@ components: code: description: | optional in version 3.1, will be made mandatory in upcoming releases - type: string - nullable: true + type: + - "string" + - "null" type: description: | An absolute URI that identifies the problem type. When dereferenced, it SHOULD provide human-readable documentation for the problem type (e.g., using HTML). - type: string + type: + - "string" + - "null" format: uri - nullable: true default: 'about:blank' - example: https://example.com/probs/passenger-too-young + examples: + - https://example.com/probs/passenger-too-young title: description: | A short, summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized); - type: string - nullable: true - example: Service Unavailable + type: + - "string" + - "null" + examples: + - Service Unavailable status: description: | The HTTP status code generated by the origin server for this occurrence of the problem. - type: integer + type: + - "integer" + - "null" format: int32 minimum: 100 maximum: 599 - nullable: true - example: 503 + examples: + - 503 detail: description: | A human readable explanation specific to this occurrence of the problem. - type: string - nullable: true - example: Connection to database timed out + type: + - "string" + - "null" + examples: + - Connection to database timed out instance: description: | An absolute URI that identifies the specific occurrence of the problem. - type: string + type: + - "string" + - "null" format: uri - nullable: true pointers: - type: array + type: + - "array" + - "null" items: $ref: '#/components/schemas/ProblemPointer' - nullable: true minItems: 0 ProblemPointer: @@ -11294,70 +11172,83 @@ components: code: description: | optional in version 3.1, will be made mandatory in upcoming releases - type: string - nullable: true + type: + - "string" + - "null" type: description: | An absolute URI that identifies the problem type. When dereferenced, it SHOULD provide human-readable documentation for the problem type (e.g., using HTML). - type: string + type: + - "string" + - "null" format: uri - nullable: true default: 'about:blank' - example: https://example.com/probs/passenger-too-young + examples: + - https://example.com/probs/passenger-too-young title: description: | A short, summary of the problem type. Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized); - type: string - nullable: true - example: Service Unavailable + type: + - "string" + - "null" + examples: + - Service Unavailable status: description: | The HTTP status code generated by the origin server for this occurrence of the problem. - type: integer + type: + - "integer" + - "null" format: int32 minimum: 100 maximum: 599 - nullable: true - example: 503 + examples: + - 503 detail: description: | A human readable explanation specific to this occurrence of the problem. - type: string - nullable: true - example: Connection to database timed out + type: + - "string" + - "null" + examples: + - Connection to database timed out instance: description: | An absolute URI that identifies the specific occurrence of the problem. - type: string + type: + - "string" + - "null" format: uri - nullable: true requestPointer: description: | A pointer to the attribute in the request for the problem. - type: string - nullable: true - example: - "#/offers[1]/placeSelections[1]/reservationId" + type: + - "string" + - "null" + examples: + - "#/offers[1]/placeSelections[1]/reservationId" responsePointer: description: | A pointer to the attribute in the response for the problem. - type: string - nullable: true - example: - "#/booking/bookedOffers[4]/reservations[1]/id" + type: + - "string" + - "null" + examples: + - "#/booking/bookedOffers[4]/reservations[1]/id" originator: description: | Identifier to the origin server for this occurrence of the problem. - type: string - nullable: true - example: - IMS1 + type: + - "string" + - "null" + examples: + - IMS1 Product: type: object @@ -11374,12 +11265,12 @@ components: description: | id of the product type: string - nullable: false summary: description: | A human-readable description of the product. - type: string - nullable: true + type: + - "string" + - "null" type: $ref: '#/components/schemas/ProductType' code: @@ -11387,13 +11278,14 @@ components: The product code expressed in the provider system (could be a mapping from an even lower-level provider). type: string - nullable: false - example: PT00AD + examples: + - PT00AD description: description: | Textual description of the product. - type: string - nullable: true + type: + - "string" + - "null" owner: $ref: '#/components/schemas/CompanyRef' conditions: @@ -11413,19 +11305,23 @@ components: items: $ref: '#/components/schemas/FulfillmentOption' isTrainBound: - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false isReturnProduct: - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false serviceConstraintText: - type: string - nullable: true + type: + - "string" + - "null" carrierConstraintText: - type: string - nullable: true + type: + - "string" + - "null" descriptiveTexts: type: array items: @@ -11434,18 +11330,20 @@ components: description: | Mapping to Tariff 42 of IRS-90918-3 (Hermes/Hosa). Helps the H2O converter in mapping offers to a requested tariff. See legacyReservationParameter.tariff in OSDM offline. - type: string - nullable: true + type: + - "string" + - "null" combinationTags: type: array items: $ref: '#/components/schemas/CombinationTag' productTags: description: product tags associated with the product that can be used to search for offers. This can be omitted outside of the product master data service - type: array + type: + - "array" + - "null" items: type: string - nullable: true _links: description: | Java Property Name: 'links' @@ -11499,33 +11397,32 @@ components: Full name of this product category, e.g. 'TGV Lyria' in Switzerland and France. UIC: Long name of Service Brand type: string - nullable: false - example: TGV Lyria + examples: + - TGV Lyria shortName: description: | Short name or acronym of the product category, likely to be published, e.g. 'TGV' UIC: Abbreviation of Service Brand type: string - nullable: false - example: TGV + examples: + - TGV productCategoryRef: $ref: '#/components/schemas/ProductCategoryRef' ProductCategoryRef: - type: string + type: + - "string" + - "null" description: | Reference to a product category. Product categories should be defined once and used uniformly in all channels (e.g. NeTEx, SIRI, OJP). Provided by OJP. - nullable: true - example: urn:uic:sbc:76 + examples: + - urn:uic:sbc:76 ProductCollectionResponse: type: object additionalProperties: false properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -11549,21 +11446,23 @@ components: properties: productId: type: string - nullable: false legIds: description: | indices of the legs in the trip given by the provider of the offer - type: array + type: + - "array" + - "null" items: type: string - nullable: true ProductResponse: type: object additionalProperties: false properties: - warnings: - $ref: '#/components/schemas/WarningCollection' + problems: + type: array + items: + $ref: '#/components/schemas/Problem' product: $ref: '#/components/schemas/Product' @@ -11579,13 +11478,10 @@ components: properties: id: type: string - nullable: false description: type: string - nullable: false code: type: string - nullable: false PromotionCode: type: object @@ -11601,13 +11497,14 @@ components: description: | The code issued by the issuer type: string - nullable: false - example: SPRING_DISCOUNT + examples: + - SPRING_DISCOUNT issuer: description: | The party that issues the promotion code, in case of a railway it's its RICS code - type: string - nullable: true + type: + - "string" + - "null" Purchaser: type: object @@ -11618,17 +11515,15 @@ components: externalRef: description: | A stable reference to a purchaser from other elements, or from caller system. When received in input of a request, it must be echoed back in the response. - type: string - nullable: true + type: + - "string" + - "null" detail: $ref: '#/components/schemas/PersonDetail' - nullable: true companyDetails: $ref: '#/components/schemas/CompanyDetail' - nullable: true _links: description: | - Java Property Name: 'links' type: array items: @@ -11638,9 +11533,6 @@ components: type: object additionalProperties: false properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -11653,26 +11545,32 @@ components: additionalProperties: false properties: companyName: - type: string - nullable: true + type: + - "string" + - "null" companyRef: $ref: '#/components/schemas/CompanyRef' firstName: - type: string - nullable: true + type: + - "string" + - "null" lastName: - type: string - nullable: true + type: + - "string" + - "null" dateOfBirth: - type: string + type: + - "string" + - "null" format: date - nullable: true phoneNumber: - type: string - nullable: true + type: + - "string" + - "null" email: - type: string - nullable: true + type: + - "string" + - "null" PurchaserSpecification: type: object @@ -11685,8 +11583,9 @@ components: externalRef: description: | A stable reference to a purchaser from other elements, or from caller system. When received in input of a request, it must be echoed back in the response. - type: string - nullable: true + type: + - "string" + - "null" detail: $ref: '#/components/schemas/PersonDetail' companyDetails: @@ -11704,11 +11603,10 @@ components: value: type: number format: float - nullable: false unit: type: string - nullable: false - example: kg + examples: + - kg ReductionCardAccount: allOf: @@ -11725,9 +11623,6 @@ components: type: object additionalProperties: false properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -11747,14 +11642,14 @@ components: properties: code: type: string - nullable: false shortCode: description: | reduction card code to be used in bar codes. The code is defined within the context of the issuer and is required to be very short (usually 1-4 positions). The code is used in ticket bar codes to indicate required checks of this reduction card during travel. - type: string - nullable: true + type: + - "string" + - "null" issuer: $ref: '#/components/schemas/CompanyRef' name: @@ -11762,8 +11657,9 @@ components: cardIdRequired: description: | the card id must be delivered in online sales - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false includedCardTypes: description: | @@ -11780,7 +11676,6 @@ components: maxItems: 4 _links: description: | - Java Property Name: 'links' type: array items: @@ -11804,39 +11699,39 @@ components: id of the refund offer type: string maxLength: 32768 - nullable: false summary: description: | A human-readable description of the refund offer. - type: string - nullable: true - example: Refund Offer for Paris-Barcelona Andre Dupont 2022-07-23 + type: + - "string" + - "null" + examples: + - Refund Offer for Paris-Barcelona Andre Dupont 2022-07-23 createdOn: type: string format: date-time - nullable: false validFrom: type: string format: date-time - nullable: false validUntil: description: | time until the offer can be used type: string format: date-time - nullable: false confirmedOn: - type: string + type: + - "string" + - "null" format: date-time - nullable: true status: $ref: '#/components/schemas/RefundStatus' reimbursementStatus: $ref: '#/components/schemas/ReimbursementStatus' reimbursementDateTime: - type: string + type: + - "string" + - "null" format: date-time - nullable: true appliedOverruleCode: $ref: '#/components/schemas/OverruleCode' fulfillments: @@ -11905,9 +11800,6 @@ components: type: object additionalProperties: false properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -11918,7 +11810,6 @@ components: $ref: '#/components/schemas/RefundOffer' _links: description: | - Java Property Name: 'links' type: array items: @@ -11951,7 +11842,6 @@ components: items: type: string minItems: 1 - nullable: false refundSpecifications: description: | To do a partial refund repeat the fulfillmentIds affected and point out what to refund @@ -11964,17 +11854,15 @@ components: description: | Indicates for passes the date taken as reference to compute possible partial refund. It is also the date taken as reference to invalidate the pass partially refunded. - type: string + type: + - "string" + - "null" format: date-time - nullable: true RefundOfferResponse: type: object additionalProperties: false properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -12036,10 +11924,11 @@ components: distance: description: | Distance in km for statistics - type: integer + type: + - "integer" + - "null" format: int32 minimum: 0 - nullable: true RegionalValidity: type: object @@ -12050,9 +11939,10 @@ components: seqNb: description: | order number of the list item - type: integer + type: + - "integer" + - "null" format: int32 - nullable: true zone: $ref: '#/components/schemas/Zone' route: @@ -12076,11 +11966,11 @@ components: description: type: string minLength: 1 - nullable: false shortDescription: - type: string + type: + - "string" + - "null" minLength: 1 - nullable: true RegulatoryCondition: description: | @@ -12093,7 +11983,7 @@ components: - MD: terms and conditions according to SMPS regulation - EU_PRR: terms and conditions according to EU-PRR regulation type: string - enum: + x-extensible-enum: - 'CIV' - 'MD' - 'EU_PRR' @@ -12110,21 +12000,20 @@ components: properties: id: type: string - nullable: false request: $ref: '#/components/schemas/ReimbursementRequest' status: $ref: '#/components/schemas/BackOfficeStatus' missingInformation: - type: array + type: + - "array" + - "null" items: type: string - nullable: true decision: $ref: '#/components/schemas/ReimbursementDecision' _links: description: | - Java Property Name: 'links' type: array items: @@ -12143,8 +12032,9 @@ components: explanation: $ref: '#/components/schemas/SupportingDocument' shortExplanation: - type: string - nullable: true + type: + - "string" + - "null" ReimbursementMethod: description: | @@ -12195,15 +12085,15 @@ components: reimbursementReason: $ref: '#/components/schemas/ReimbursementReason' reimbursementDate: - type: string + type: + - "string" + - "null" format: date-time - nullable: true reimbursedPassengerIds: type: array items: type: string minItems: 1 - nullable: false tripSections: type: array items: @@ -12213,7 +12103,6 @@ components: items: type: string minItems: 1 - nullable: false supportingDocuments: type: array items: @@ -12229,9 +12118,6 @@ components: properties: reimbursement: $ref: '#/components/schemas/Reimbursement' - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -12260,30 +12146,28 @@ components: id of the release offer type: string maxLength: 32768 - nullable: false summary: description: | A human-readable description of the refund offer. - type: string - nullable: true + type: + - "string" + - "null" createdOn: type: string format: date-time - nullable: false validFrom: type: string format: date-time - nullable: false validUntil: description: | time until the offer can be used type: string format: date-time - nullable: false confirmedOn: - type: string + type: + - "string" + - "null" format: date-time - nullable: true status: $ref: '#/components/schemas/ReleaseStatus' fulfillments: @@ -12295,7 +12179,6 @@ components: $ref: '#/components/schemas/OverruleCode' _links: description: | - Java Property Name: 'links' type: array items: @@ -12305,9 +12188,6 @@ components: type: object additionalProperties: false properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -12318,7 +12198,6 @@ components: $ref: '#/components/schemas/ReleaseOffer' _links: description: | - Java Property Name: 'links' type: array items: @@ -12354,9 +12233,6 @@ components: type: object additionalProperties: false properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -12393,13 +12269,14 @@ components: - 'MIGHT_BE_IN_OPEN_SPACE' RequestedInformation: - type: string + type: + - "string" + - "null" maxLength: 32768 description: | Boolean-expression indicating the data that must be set in the data model in order to proceed to next step of the process. The syntax and semantics of the expression is described in detail in the OSDM documentation. - nullable: true Reservation: description: | @@ -12428,11 +12305,6 @@ components: type: array items: $ref: '#/components/schemas/AvailablePlacePreferences' - graphicalReservationSupported: - description: more detailed information on options for place selection and possible fees are part of availablePlacePreferences - type: boolean - nullable: true - default: false ReservationGroup: type: object @@ -12444,10 +12316,8 @@ components: properties: id: type: string - nullable: false name: type: string - nullable: false reservationRefs: type: array items: @@ -12481,9 +12351,10 @@ components: items: $ref: '#/components/schemas/OfferPartReference' numberOfPrivateCompartments: - type: integer + type: + - "integer" + - "null" format: int32 - nullable: true ReservationRelation: type: object @@ -12495,11 +12366,11 @@ components: minGroupItemsToBeBooked: type: integer format: int32 - nullable: false maxGroupItemsToBeBooked: - type: integer + type: + - "integer" + - "null" format: int32 - nullable: true reservationGroup: $ref: '#/components/schemas/ReservationGroup' @@ -12511,7 +12382,6 @@ components: properties: reservationId: type: string - nullable: false ReservedPlace: type: object @@ -12526,7 +12396,6 @@ components: properties: id: type: string - nullable: false passengerIds: description: | Id of the passenger @@ -12534,27 +12403,24 @@ components: items: type: string minItems: 1 - nullable: false vehicleNumber: description: | vehicle number (e.g. train number) type: string - nullable: false coachNumber: type: string - nullable: false placeDescription: description: | description of the places (e.g. 11-35,51) type: string - nullable: true placeNumbers: description: | list of individual place numbers - type: array + type: + - "array" + - "null" items: type: string - nullable: true placeProperties: description: | place properties to be indicated to the customer @@ -12578,10 +12444,8 @@ components: properties: title: type: string - nullable: false href: type: string - nullable: false ResourceType: type: string @@ -12603,21 +12467,20 @@ components: number of days after departure or start of validity of the last return type: integer format: int32 - nullable: false earliestReturn: description: | number of days after departure or start of validity of the earliest return type: integer format: int32 - nullable: false excludedWeekdays: description: | weekdays (ISO day of the week, 1 = Monday) between travel and return where travel is not allowed type: array items: - type: integer + type: + - "integer" + - "null" format: int32 - nullable: true ReturnSearchParameters: type: object @@ -12632,24 +12495,27 @@ components: Needs to be provided when creating the collection of outward travels so that the provider knows when a return travel can be expected and propose appropriate product and fares. - type: string + type: + - "string" + - "null" pattern: '(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d)' - nullable: true outwardOfferIds: description: | Needs to be provided when creating the collection of inward travels so that the provider can relate the inward travels to the outward travels context. - type: array + type: + - "array" + - "null" items: type: string maxLength: 32768 - nullable: true outwardOfferTag: description: | Needs to be provided when creating the collection of inward travels so that the provider knows what the outward offer is and and propose compatible offers only if desired or mandatory. - type: string - nullable: true + type: + - "string" + - "null" Route: type: object @@ -12675,11 +12541,12 @@ components: alternativeRouteItemIndices: description: | list of alternative route parts to be used on this travel path referenced by the index in the provided list of route items - type: array + type: + - "array" + - "null" items: type: integer format: int32 - nullable: true carrierConstraint: $ref: '#/components/schemas/CarrierConstraint' routeItemIndices: @@ -12687,9 +12554,10 @@ components: sequence of route items along the travel path referenced by the index in the provided list of route items type: array items: - type: integer + type: + - "integer" + - "null" format: int32 - nullable: true serviceConstraint: $ref: '#/components/schemas/ServiceConstraint' station: @@ -12707,18 +12575,21 @@ components: startPlace: $ref: '#/components/schemas/PlaceRef' startLegId: - type: string - nullable: true + type: + - "string" + - "null" endPlace: $ref: '#/components/schemas/PlaceRef' endLegId: - type: string - nullable: true + type: + - "string" + - "null" externalTripRef: description: reference to a trip in case multiple trips are provided - type: string + type: + - "string" + - "null" maxLength: 32768 - nullable: true SecurityElementFormat: type: string @@ -12765,7 +12636,6 @@ components: items: type: string minItems: 1 - nullable: false accommodationType: $ref: '#/components/schemas/AccommodationType' accommodationSubType: @@ -12774,10 +12644,11 @@ components: description: | Properties of places as defined in 90810-10. selection from the optional place properties provided in the offer - type: array + type: + - "array" + - "null" items: type: string - nullable: true SelectedPlace: type: object @@ -12791,15 +12662,12 @@ components: properties: coachNumber: type: string - nullable: false placeNumber: type: string - nullable: false passengerRef: description: | Id of the passenger type: string - nullable: false SelectedReferencePlace: type: object @@ -12812,10 +12680,8 @@ components: properties: coachNumber: type: string - nullable: false placeNumber: type: string - nullable: false SelectionFee: type: object @@ -12830,8 +12696,9 @@ components: type: string description: | Service brand codes. For public transport, a code list can be found in OSDM's code list. E.g., '163' denotes TGV Lyria and '175' denotes Glacier Express. - nullable: false - example: 163, 175 + examples: + - 163 + - 175 ServiceBrandFilter: type: object @@ -12842,8 +12709,9 @@ components: exclude: description: | Whether service brand in list are to include or exclude from search. - type: boolean - nullable: true + type: + - "boolean" + - "null" default: true serviceBrands: description: | @@ -12867,7 +12735,6 @@ components: description: | The name the carrier itself uses to designate this specific service class. type: string - nullable: false ServiceClassType: description: | @@ -12919,28 +12786,32 @@ components: unplanned: description: | Whether this trip is an additional one that has not been planned. - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false cancelled: description: | Whether this trip is cancelled and will not be run. - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false deviation: description: | Whether this trip deviates from the planned service pattern. - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false occupancy: description: | Passenger load status on vehicle. If omitted, not known. Equivalent to siri:OccupancyEnumeration which describes three values: 'full', 'seatingAvailable' and 'standingAvailable'. - type: string - nullable: true + type: + - "string" + - "null" ServiceTime: type: object @@ -12954,17 +12825,20 @@ components: - timetabledTime properties: timetabledTime: - type: string + type: + - "string" + - "null" format: date-time - nullable: false estimatedTime: - type: string + type: + - "string" + - "null" format: date-time - nullable: true observedTime: - type: string + type: + - "string" + - "null" format: date-time - nullable: true SiSType: description: | @@ -12977,11 +12851,12 @@ components: - 'PEER_TO_PEER' SituationFullRef: - type: string + type: + - "string" + - "null" description: | Reference to situation message. Message details might be found in response context or through other communication channels. Provided by OJP. - nullable: true SpecialCoachType: description: | @@ -13020,39 +12895,45 @@ components: order: description: | Sequence number of this stop in the service pattern of the journey. - type: integer + type: + - "integer" + - "null" format: int32 minimum: 0 - nullable: true requestStop: description: | The vehicle journey calls at this stop only on demand. - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false unplannedStop: description: | This stop has not been planned by the planning department. - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false notServicedStop: description: | The vehicle will not call at this stop despite earlier planning. - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false noBoardingAtStop: description: | Boarding will not be allowed at this stop of this journey. - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false noAlightingAtStop: description: | Alighting will not be allowed at this stop of this journey. - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false StopPlace: @@ -13073,8 +12954,8 @@ components: description: | Name of this stop place for use in passenger information. type: string - nullable: false - example: Zürich HB + examples: + - Zürich HB StopPlaceRef: description: | @@ -13089,8 +12970,8 @@ components: properties: stopPlaceRef: type: string - nullable: false - example: urn:uic:stn:8503000 + examples: + - urn:uic:stn:8503000 SupportingDocument: type: object @@ -13106,26 +12987,26 @@ components: description: | title of the document type: string - nullable: false - example: delay confirmation written by staff on board + examples: + - delay confirmation written by staff on board downloadLink: - type: string - nullable: true + type: + - "string" + - "null" downloadExpiry: type: string format: date-time - nullable: false content: description: | base64 encoded binary of the actual document. The length restriction of 4 MBytes applies to the encoded string, so the raw document cannot exceed 3 MBytes in size. - type: string + type: + - "string" + - "null" format: byte maxLength: 4194304 - nullable: true format: $ref: '#/components/schemas/DocumentFormat' - nullable: false Symbology: description: | @@ -13150,7 +13031,6 @@ components: properties: id: type: string - nullable: false translations: type: array items: @@ -13158,10 +13038,10 @@ components: text: type: string maxLength: 32768 - nullable: false shortText: - type: string - nullable: true + type: + - "string" + - "null" TextElement: type: object @@ -13179,13 +13059,11 @@ components: type: string minLength: 1 maxLength: 32768 - nullable: false shortDescription: description: | Brief version of the text for display in space restricted environments, e.g. mobile phone. No longer than 64 characters. type: string minLength: 1 - nullable: false textElementType: $ref: '#/components/schemas/TextElementType' @@ -13244,12 +13122,14 @@ components: operatingDaysDescription: description: | Textual description of the operation days, e.g. 'Monday to Friday' or 'not on holidays'. - type: string - nullable: true + type: + - "string" + - "null" duration: - type: string + type: + - "string" + - "null" format: duration - nullable: true co2Emission: $ref: '#/components/schemas/Quantity' attributes: @@ -13293,34 +13173,31 @@ components: type: integer format: int32 minimum: 0 - nullable: false length: description: | length in cm type: integer format: int32 minimum: 0 - nullable: false width: description: | width in cm type: integer format: int32 minimum: 0 - nullable: false height: description: | height in cm type: integer format: int32 minimum: 0 - nullable: false licensePlate: description: | The license plate is a personal data item and must not be provided in an offer request. It must be patched into the offer after the customer accepted the offer for booking - type: string - nullable: true + type: + - "string" + - "null" TrainLink: type: object @@ -13339,20 +13216,17 @@ components: $ref: '#/components/schemas/StopPlaceRef' train: type: string - nullable: false travelDate: description: | date and time of the departure where the train link starts type: string format: date-time - nullable: false serviceBrandCode: $ref: '#/components/schemas/ServiceBrandCode' serviceBrandAbbreviation: description: | Abbreviation of the service brand, e.g. 'IC', 'TGV'. See the OSDM code list. Needs to match the service brand code. type: string - nullable: false TrainValidity: type: object @@ -13371,11 +13245,9 @@ components: from: type: string format: date-time - nullable: false until: type: string format: date-time - nullable: false carriers: type: array items: @@ -13419,22 +13291,26 @@ components: timeWindowStart: description: | Time at which window begins. - type: string + type: + - "string" + - "null" format: date-time - nullable: true timeWindowEnd: description: | Time at which window ends. - type: string + type: + - "string" + - "null" format: date-time - nullable: true duration: description: | Overall duration of this interchange. - type: string + type: + - "string" + - "null" format: duration - nullable: true - example: PT20M + examples: + - PT20M situationFullRefs: type: array items: @@ -13470,13 +13346,12 @@ components: description: | ISO-639-1 language code type: string - nullable: false text: type: string - nullable: false shortText: - type: string - nullable: true + type: + - "string" + - "null" Transportable: type: object @@ -13522,29 +13397,22 @@ components: consumedOn: type: string format: date-time - nullable: false bookingId: type: string - nullable: false unit: $ref: '#/components/schemas/AbstractTravelAccountUnit' bookingSummary: type: string - nullable: false tripSummary: $ref: '#/components/schemas/TripSummary' consumedAmount: type: integer format: int32 - nullable: false TravelAccountResponse: type: object additionalProperties: false properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -13601,7 +13469,6 @@ components: properties: regionalConstraintSummary: type: string - nullable: false regionalConstraint: $ref: '#/components/schemas/RegionalConstraint' consumptions: @@ -13630,9 +13497,10 @@ components: numberOfTravelDays: description: | number of allowed travel days (e.g. 3 travel days within 2 weeks) - type: integer + type: + - "integer" + - "null" format: int32 - nullable: true returnConstraint: $ref: '#/components/schemas/ReturnConstraint' trainValidity: @@ -13657,11 +13525,9 @@ components: from: type: string format: date - nullable: false until: type: string format: date - nullable: false Trip: type: object @@ -13682,24 +13548,25 @@ components: Id of this trip for referencing purposes. Unique within a trip list. type: string maxLength: 32768 - nullable: false externalRef: description: | External reference of this trip for referencing purposes. - type: string - nullable: true + type: + - "string" + - "null" summary: description: | A human-readable description of the trip. - type: string - nullable: true + type: + - "string" + - "null" duration: description: | Overall duration of the trip type: string format: duration - nullable: false - example: PT20M + examples: + - PT20M direction: $ref: '#/components/schemas/TripDirectionType' origin: @@ -13711,27 +13578,25 @@ components: Departure time at origin. type: string format: date-time - nullable: false endTime: description: | Arrival time at destination type: string format: date-time - nullable: false transfers: description: | Number of interchanges type: integer format: int32 minimum: 0 - nullable: false distance: description: | Distance in meters over the the complete trip, i.e., including transfer legs. - type: integer + type: + - "integer" + - "null" format: int32 minimum: 0 - nullable: true legs: description: | Legs ot the trip @@ -13744,8 +13609,9 @@ components: operatingDaysDescription: description: | Textual description of the operation days, e.g. 'Monday to Friday' or 'Not on holidays'. - type: string - nullable: true + type: + - "string" + - "null" situationFullRefs: type: array items: @@ -13754,7 +13620,6 @@ components: $ref: '#/components/schemas/TripStatus' _links: description: | - Java Property Name: 'links' type: array items: @@ -13774,16 +13639,19 @@ components: maxUnits: description: | maximum number of allowed units to be allocated - type: integer + type: + - "integer" + - "null" format: int32 - nullable: true durationUnit: description: | multiples of this duration can be allocated - type: string + type: + - "string" + - "null" format: duration - nullable: true - example: PT30M + examples: + - PT30M requiredProcesses: description: | one of the listed processes is required for the allocation of a single trip @@ -13830,16 +13698,12 @@ components: required: - id properties: - warning: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: $ref: '#/components/schemas/Problem' id: type: string - nullable: false trips: type: array items: @@ -13850,7 +13714,6 @@ components: $ref: '#/components/schemas/TripSummary' _links: description: | - Java Property Name: 'links' type: array items: @@ -13874,23 +13737,24 @@ components: coveredTripId: type: string maxLength: 32768 - nullable: false sectionIndex: description: | Describes which part of the trip (in order) is covered by the OfferPart/BookingPart which contains this TripCoverage structure. This needs to be filled if either coveredLegIds or coveredSections is present. - type: integer + type: + - "integer" + - "null" format: int32 minimum: 1 - nullable: true coveredLegIds: description: | Indicate which legs are covered by the specific offer. Not used for fares. - type: array + type: + - "array" + - "null" items: type: string - nullable: true coveredSections: type: array items: @@ -13933,21 +13797,24 @@ components: maximum number of allowed interruptions type: integer format: int32 - nullable: false maxDuration: description: | maximum duration of one interruption - type: string + type: + - "string" + - "null" format: duration - nullable: true - example: PT30M + examples: + - PT30M totalMaxDuration: description: | maximum duration of all interruptions on the route - type: string + type: + - "string" + - "null" format: duration - nullable: true - example: PT30M + examples: + - PT30M requiredProcesses: description: | one of the listed processes is required for the interruption of the trip @@ -13981,12 +13848,12 @@ components: description: | Id of this trip leg. Unique within trip result. A seqId is a leg id. type: string - nullable: false externalRef: description: | External reference of this tripLeg for referencing purposes. - type: string - nullable: true + type: + - "string" + - "null" timedLeg: $ref: '#/components/schemas/TimedLeg' transferLeg: @@ -14004,10 +13871,8 @@ components: tripId: type: string maxLength: 32768 - nullable: false legId: type: string - nullable: false TripLegSpecification: type: object @@ -14018,8 +13883,9 @@ components: externalRef: description: | External reference of this trip leg. Unique within trip result. - type: string - nullable: true + type: + - "string" + - "null" timedLeg: $ref: '#/components/schemas/TimedLegSpecification' transferLeg: @@ -14035,28 +13901,33 @@ components: bikeTransport: description: | The user wants to carry a bike on public transport. - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false walkSpeed: description: | Deviation from average walk speed in percent. 100% percent is average speed. - type: integer + type: + - "integer" + - "null" format: int32 - nullable: true default: 100 additionalTransferTime: description: | Additional time added to all transfers (also to transfers between individual to public transport). - type: string + type: + - "string" + - "null" format: duration - nullable: true - example: 0S + examples: + - 0S minimalTransferTime: - type: string + type: + - "string" + - "null" format: duration - nullable: true TripParameters: type: object @@ -14073,31 +13944,36 @@ components: mobilityFilter: $ref: '#/components/schemas/TripMobilityFilter' numberOfResults: - type: integer + type: + - "integer" + - "null" format: int32 - nullable: true default: 5 numberOfResultsBefore: - type: integer + type: + - "integer" + - "null" format: int32 - nullable: true default: 0 numberOfResultsAfter: - type: integer + type: + - "integer" + - "null" format: int32 - nullable: true default: 5 ignoreRealtimeData: - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false transferLimit: description: | The maximum number of interchanges the user will accept per trip. - type: integer + type: + - "integer" + - "null" format: int32 minimum: 0 - nullable: true itModesToCover: $ref: '#/components/schemas/IndividualMode' @@ -14107,9 +13983,6 @@ components: required: - trip properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -14137,15 +14010,17 @@ components: departureTime: description: | Needs to in local date time format. - type: string + type: + - "string" + - "null" pattern: '(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d)' - nullable: true arrivalTime: description: | Needs to in local date time format. If arrival time is provided the departure time must be omitted. - type: string + type: + - "string" + - "null" pattern: '(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d)' - nullable: true origin: $ref: '#/components/schemas/PlaceRef' destination: @@ -14188,7 +14063,6 @@ components: tripId: type: string maxLength: 32768 - nullable: false coveredSection: $ref: '#/components/schemas/Section' @@ -14203,16 +14077,18 @@ components: externalRef: description: | External reference of this trip for referencing purposes. Unique within a trip specification. - type: string - nullable: true + type: + - "string" + - "null" legs: type: array items: $ref: '#/components/schemas/TripLegSpecification' minItems: 1 isPartOfInternationalTrip: - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false returnSearchParameters: $ref: '#/components/schemas/ReturnSearchParameters' @@ -14224,32 +14100,37 @@ components: unplanned: description: | Whether this trip is an additional one that has not been planned. - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false cancelled: description: | Whether this trip is cancelled and will not be run. - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false deviation: description: | Whether this trip deviates from the planned service pattern. - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false delayed: description: | Whether this trip is delayed. - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false infeasible: description: | Whether this trip cannot be used, due to operational delays and impossible transfers. - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false TripSummary: @@ -14265,43 +14146,49 @@ components: Id of this trip for referencing purposes. Unique within trip response. type: string maxLength: 32768 - nullable: false summary: - type: string - nullable: true + type: + - "string" + - "null" externalRef: - type: string - nullable: true + type: + - "string" + - "null" startTime: description: | Departure time at origin. - type: string + type: + - "string" + - "null" format: date-time - nullable: true endTime: description: | Arrival time at destination. - type: string + type: + - "string" + - "null" format: date-time - nullable: true duration: description: | Overall duration of the trip. - type: string + type: + - "string" + - "null" format: duration - nullable: true origin: $ref: '#/components/schemas/PlaceRef' destination: $ref: '#/components/schemas/PlaceRef' transfers: - type: integer + type: + - "integer" + - "null" format: int32 - nullable: true distance: - type: integer + type: + - "integer" + - "null" format: int32 - nullable: true TripTravelAccountUnit: allOf: @@ -14323,10 +14210,12 @@ components: dwellTime: description: | desired dwell time at the via place - type: string + type: + - "string" + - "null" format: duration - nullable: true - example: 30M + examples: + - 30M dataFilter: $ref: '#/components/schemas/TripDataFilter' @@ -14353,22 +14242,25 @@ components: amount in cents type: integer format: int32 - nullable: false - example: 5 + examples: + - 5 scale: description: | scale of the amount - the number of positions after the comma - type: integer + type: + - "integer" + - "null" format: int32 - nullable: true default: 2 percentage: - type: number + type: + - "number" + - "null" format: float - nullable: true taxId: - type: string - nullable: true + type: + - "string" + - "null" scope: $ref: '#/components/schemas/VatScope' @@ -14384,13 +14276,13 @@ components: value: type: integer format: int32 - nullable: false hoursAfterMidnight: description: | validity extended after midnight - type: integer + type: + - "integer" + - "null" format: int32 - nullable: true ValidityType: description: | @@ -14444,8 +14336,9 @@ components: exclude: description: | Whether vehicle in list is to include or exclude from search. - type: boolean - nullable: true + type: + - "boolean" + - "null" default: true vehicleNumbers: type: array @@ -14457,15 +14350,19 @@ components: $ref: '#/components/schemas/LineNumber' VehicleNumber: - type: string + type: + - "string" + - "null" description: | The vehicle number(s) of the vehicle that runs this timed leg. On some legs a vehicle can have multiple vehicle numbers, e.g. if it is split into two trains at a intermediate stop. E.g. the vehicle numbers of 'TGV 9218', 'TH 9340' or 'ICE 15'. For backwards compatibility with Hermes/Hosa the length of the string must be restricted to 5 characters. If's longer, it is not possible to use the H2O converter. - nullable: true - example: 9218, 9340, 15 + examples: + - 9218 + - 9340 + - 15 VoucherInformation: type: object @@ -14480,62 +14377,6 @@ components: description: | voucher code provided by the issuer type: string - nullable: false - - Warning: - type: object - additionalProperties: false - description: | - This element can be used to pass non-blocking information or events, - such as a price difference with the initially offered price at booking time. - It is inspired on the JSon problem structure. - required: - - code - properties: - code: - type: string - nullable: false - type: - description: | - An absolute URI that identifies the warning type. When dereferenced, - it SHOULD provide human-readable documentation for the problem type - (e.g., using HTML). - type: string - format: uri - nullable: true - default: 'about:blank' - example: https://example.com/warns/price-updated - detail: - description: | - A human readable explanation specific to this occurrence of the - warning. - type: string - nullable: true - example: - The price of the given offer part has been updated during the - booking operation - instance: - description: | - An absolute URI that identifies the specific occurrence of the warning. - type: string - format: uri - nullable: true - example: offers/offer1234 - - WarningCollection: - type: object - additionalProperties: false - description: | - List of warnings. - - required: - - warnings - properties: - warnings: - type: array - items: - $ref: '#/components/schemas/Warning' - minItems: 1 Zone: type: object @@ -14552,14 +14393,16 @@ components: binaryZoneId: description: | Id to support local traffic standards (e.g. VDV,...) - type: string + type: + - "string" + - "null" format: byte - nullable: true carrier: $ref: '#/components/schemas/CompanyRef' name: - type: string - nullable: true + type: + - "string" + - "null" entryStation: $ref: '#/components/schemas/StopPlace' terminalStation: @@ -14569,22 +14412,21 @@ components: to be used in bar codes type: array items: - type: integer + type: + - "integer" + - "null" format: int32 - nullable: true nutsCode: description: | Nomenclature des units territoriales statistiques COMMISSION REGULATION (EU) No 31/2011 - type: string - nullable: true + type: + - "string" + - "null" ZoneCollectionResponse: type: object additionalProperties: false properties: - warnings: - deprecated: true - $ref: '#/components/schemas/WarningCollection' problems: type: array items: @@ -14607,19 +14449,20 @@ components: properties: id: type: string - nullable: false name: - type: string - nullable: true + type: + - "string" + - "null" carrier: $ref: '#/components/schemas/CompanyRef' polygon: $ref: '#/components/schemas/Polygon' nutsCodes: - type: array + type: + - "array" + - "null" items: type: string - nullable: true places: type: array items: From a5b57ee151a3f446c27016716cce6632943e2018 Mon Sep 17 00:00:00 2001 From: CGantert345 <57003061+CGantert345@users.noreply.github.com> Date: Wed, 15 Jan 2025 15:04:30 +0100 Subject: [PATCH 2/2] Update OSDM-online-api-v4.0.0-draft.yml --- .../v4.0/OSDM-online-api-v4.0.0-draft.yml | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/specification/v4.0/OSDM-online-api-v4.0.0-draft.yml b/specification/v4.0/OSDM-online-api-v4.0.0-draft.yml index c3922fe8..8ea7c642 100644 --- a/specification/v4.0/OSDM-online-api-v4.0.0-draft.yml +++ b/specification/v4.0/OSDM-online-api-v4.0.0-draft.yml @@ -5063,7 +5063,7 @@ components: examples: - 7 ref: - $ref: '#/components/schemas/AddressRef + $ref: '#/components/schemas/AddressRef' AddressRef: description: | @@ -6202,9 +6202,10 @@ components: The latter is optional and relevant in some cases only. properties: externalRef: - type: string + type: + - "string" + - "null" description: The unique booking reference in the distributor/retailer system. Usually refers to an order number or PNR. - nullable: true placeSelections: type: array items: @@ -6939,8 +6940,9 @@ components: icon: description: | Values from the [Graphics Items Code List](https://osdm.io/spec/catalog-of-code-lists/#GraphicsItems) - type: string - nullable: false + type: + - "string" + - "null" direction: $ref: '#/components/schemas/DirectionType' mounting: @@ -7600,7 +7602,6 @@ components: - "null" format: date-time documentContent: - nullable: true $ref: '#/components/schemas/DocumentContent' type: $ref: '#/components/schemas/DocumentType' @@ -8470,8 +8471,9 @@ components: items: $ref: '#/components/schemas/FulfillmentPart' contentComplete: - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false description: | Indicates whether the fulfillment has all documents or parts generated (if any needed) or they are still pending generation. @@ -8854,8 +8856,9 @@ components: Gender: description: | The gender of the passenger, which is important in the case of night trains. - type: string - nullable: true + type: + - "string" + - "null" enum: - 'MALE' - 'FEMALE' @@ -11841,7 +11844,6 @@ components: items: $ref: '#/components/schemas/RefundSpecification' minItems: 1 - nullable: false overruleCode: $ref: '#/components/schemas/OverruleCode' refundDate: @@ -12936,8 +12938,9 @@ components: isBorderPoint: description: | Indicates whether the stop is recognized by the system as a border point between two or more countries. - type: boolean - nullable: true + type: + - "boolean" + - "null" default: false StopPlace: @@ -14166,7 +14169,6 @@ components: The id of an already existing trip to change. type: string maxLength: 32768 - nullable: false origin: $ref: '#/components/schemas/PlaceRef' destination: