From a3542951652e672eb7b409bb4199ac1045d10eb9 Mon Sep 17 00:00:00 2001 From: Jonas Franz Date: Wed, 2 Mar 2022 17:01:31 +0100 Subject: [PATCH] Add response for train list --- openapi.yaml | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) diff --git a/openapi.yaml b/openapi.yaml index 50e7ace..296d3c0 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -7,6 +7,7 @@ servers: paths: /stations: get: + operationId: getStations tags: - station summary: List all stations @@ -25,6 +26,7 @@ paths: $ref: '#/components/schemas/GetStationsResponse' /stations/nearest: get: + operationId: getNearestStation tags: - station summary: List nearest stations @@ -61,13 +63,18 @@ paths: get: tags: - train + operationId: getTrainList summary: Find train connections for a specific route + description: This operation uses the v2-Version of the API. Please update the baseUrl accordingly. To get a correct result, you have to specify at least one passenger. + servers: + - url: https://wsmr.renfe.es/wsmRestApi/v2/ parameters: - $ref: '#/components/parameters/app' - $ref: '#/components/parameters/appVersion' - $ref: '#/components/parameters/osName' - $ref: '#/components/parameters/osVersion' - $ref: '#/components/parameters/language' + - $ref: '#/components/parameters/businessFlow' - in: query name: outwardStation required: true @@ -132,8 +139,23 @@ paths: responses: '200': description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/GetTrainListResponse' components: parameters: + businessFlow: + name: businessFlow + required: false + in: header + schema: + type: string + enum: + - PURCHASE + - DETAIL + - CHANGE + - CANCELATION app: name: app required: true @@ -170,6 +192,24 @@ components: type: string example: 'en' schemas: + GetTrainListResponse: + type: object + required: + - trainProductsDiscountsOutward + - trainProductsDiscountsReturn + properties: + trainProductsDiscountsOutward: + type: boolean + trainProductsDiscountsReturn: + type: boolean + trainListOutward: + type: array + items: + $ref: '#/components/schemas/Train' + trainListReturn: + type: array + items: + $ref: '#/components/schemas/Train' GetStationsResponse: type: object required: @@ -184,6 +224,79 @@ components: format: 'date-time' pattern: /([0-9]{4})-(?:[0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2}).([0-9]{3})/ example: "2022-03-01 01:06:25.034" + Train: + type: object + properties: + originDate: + type: string + format: date + pattern: /([0-9]{2}-[0-9]{2}-[0-9]{4}/ + example: 10-04-2022 + originTime: + type: string + format: time + example: 06:35 + arrivalDate: + type: string + format: date + pattern: /([0-9]{2}-[0-9]{2}-[0-9]{4}/ + example: 10-04-2022 + arrivalTime: + type: string + format: time + example: 09:20 + trainCode: + type: string + example: 06302 + trainDescription: + type: string + example: AVLO + trainOperator: + type: string + example: LC + trainProductCode: + type: string + example: 112 + travelDuration: + type: string + example: 2 h. 45 min. + availableForSale: + type: boolean + blocked: + type: boolean + completed: + type: boolean + trainGroupCodeForm: + type: boolean + travelException: + type: boolean + datosLargoPlazo: + type: object + properties: + rsvLargoPlazo: + type: boolean + originStation: + $ref: '#/components/schemas/TrainStation' + arrivalStation: + $ref: '#/components/schemas/TrainStation' + trainProductsDiscounts: + type: boolean + TrainStation: + type: object + properties: + stationCode: + type: string + example: 71801 + stationDescription: + type: string + example: BCN-SANTS + largeDescription: + type: string + example: BARCELONA-SANTS + saleEnabled: + type: boolean + enabled: + type: boolean Station: type: object properties: