openapi: 3.2.0
info:
title: Entur Processes API
version: 2026.10.0
contact:
name: Team Selgerintegrasjoner
url: https://github.com/entur/omsa
x-stability-level: draft
description: 'Operations tagged processes across 2 of this provider''s published API definitions: entur-omsa-openapi.json, entur-omsa-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.entur.io/omsa/v1
description: Production environment
- url: https://api.dev.entur.io/omsa/v1
description: Development environment
- url: https://api.staging.entur.io/omsa/v1
description: Staging environment
tags:
- name: processes
description: Process endpoints for creating and mutating packages, offers, and refunds.
paths:
/processes/search-offers/execute:
parameters:
- $ref: '#/components/parameters/ET-Client-Name'
- $ref: '#/components/parameters/X-Correlation-Id'
post:
tags:
- processes
summary: Search available travel offers
description: Searches for available offers based on travel and traveller criteria.
operationId: searchOfferHandler
parameters:
- $ref: '#/components/parameters/acceptLanguage'
- $ref: '#/components/parameters/authorization'
- $ref: '#/components/parameters/EnturDistributionChannelHeaderRequired'
- $ref: '#/components/parameters/EnturPOSHeaderRequired'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/bbox'
requestBody:
content:
application/json:
schema:
type: object
properties:
inputs:
$ref: '#/components/schemas/searchOfferInput'
subscriber:
$ref: '#/components/schemas/subscriber'
required: true
responses:
'200':
$ref: '#/components/responses/searchOfferResponse'
default:
$ref: '#/components/responses/errorResponse'
callbacks:
jobCompleted:
'{$request.body#/subscriber/successUri}':
post:
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/geojson'
responses:
'200':
description: Results received successfully
security:
- BearerAuth: []
- OAuth: []
- OAuthPKI: []
servers:
- url: https://api.entur.io/omsa/v1
description: Production environment
- url: https://api.dev.entur.io/omsa/v1
description: Development environment
- url: https://api.staging.entur.io/omsa/v1
description: Staging environment
/processes/select-offers/execute:
parameters:
- $ref: '#/components/parameters/ET-Client-Name'
- $ref: '#/components/parameters/X-Correlation-Id'
post:
tags:
- processes
summary: Create draft package from selected offers
description: Creates or updates a draft package from selected offer identifiers.
operationId: selectOffersHandler
parameters:
- $ref: '#/components/parameters/acceptLanguage'
- $ref: '#/components/parameters/authorization'
- $ref: '#/components/parameters/EnturDistributionChannelHeaderRequired'
- $ref: '#/components/parameters/EnturPOSHeaderRequired'
requestBody:
content:
application/json:
schema:
type: object
properties:
inputs:
$ref: '#/components/schemas/selectOffersInput'
subscriber:
$ref: '#/components/schemas/subscriber'
required: true
responses:
'200':
$ref: '#/components/responses/packageResponse'
default:
$ref: '#/components/responses/errorResponse'
callbacks:
jobCompleted:
'{$request.body#/subscriber/successUri}':
post:
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/package'
responses:
'200':
description: Results received successfully
security:
- BearerAuth: []
- OAuth: []
- OAuthPKI: []
servers:
- url: https://api.entur.io/omsa/v1
description: Production environment
- url: https://api.dev.entur.io/omsa/v1
description: Development environment
- url: https://api.staging.entur.io/omsa/v1
description: Staging environment
/processes/add-traveller/execute:
parameters:
- $ref: '#/components/parameters/ET-Client-Name'
- $ref: '#/components/parameters/X-Correlation-Id'
post:
tags:
- processes
summary: Add traveller to package
description: Adds a traveller to an existing package.
operationId: addTravellerHandler
parameters:
- $ref: '#/components/parameters/acceptLanguage'
- $ref: '#/components/parameters/authorization'
- $ref: '#/components/parameters/EnturDistributionChannelHeaderRequired'
- $ref: '#/components/parameters/EnturPOSHeaderRequired'
requestBody:
content:
application/json:
schema:
type: object
properties:
inputs:
$ref: '#/components/schemas/addTravellerInput'
subscriber:
$ref: '#/components/schemas/subscriber'
required: true
responses:
'200':
$ref: '#/components/responses/packageResponse'
default:
$ref: '#/components/responses/errorResponse'
callbacks:
jobCompleted:
'{$request.body#/subscriber/successUri}':
post:
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/package'
responses:
'200':
description: Results received successfully
security:
- BearerAuth: []
- OAuth: []
- OAuthPKI: []
servers:
- url: https://api.entur.io/omsa/v1
description: Production environment
- url: https://api.dev.entur.io/omsa/v1
description: Development environment
- url: https://api.staging.entur.io/omsa/v1
description: Staging environment
/processes/update-traveller/execute:
parameters:
- $ref: '#/components/parameters/ET-Client-Name'
- $ref: '#/components/parameters/X-Correlation-Id'
post:
tags:
- processes
summary: Update traveller in package
description: Updates traveller details in an existing package.
operationId: updateTravellerHandler
parameters:
- $ref: '#/components/parameters/acceptLanguage'
- $ref: '#/components/parameters/authorization'
- $ref: '#/components/parameters/EnturDistributionChannelHeaderRequired'
- $ref: '#/components/parameters/EnturPOSHeaderRequired'
requestBody:
content:
application/json:
schema:
type: object
properties:
inputs:
$ref: '#/components/schemas/updateTravellerInput'
subscriber:
$ref: '#/components/schemas/subscriber'
required: true
responses:
'200':
$ref: '#/components/responses/packageResponse'
default:
$ref: '#/components/responses/errorResponse'
callbacks:
jobCompleted:
'{$request.body#/subscriber/successUri}':
post:
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/package'
responses:
'200':
description: Results received successfully
security:
- BearerAuth: []
- OAuth: []
- OAuthPKI: []
servers:
- url: https://api.entur.io/omsa/v1
description: Production environment
- url: https://api.dev.entur.io/omsa/v1
description: Development environment
- url: https://api.staging.entur.io/omsa/v1
description: Staging environment
/processes/remove-traveller/execute:
parameters:
- $ref: '#/components/parameters/ET-Client-Name'
- $ref: '#/components/parameters/X-Correlation-Id'
post:
tags:
- processes
summary: Remove traveller from package
description: Removes a traveller from an existing package.
operationId: removeTravellerHandler
parameters:
- $ref: '#/components/parameters/acceptLanguage'
- $ref: '#/components/parameters/authorization'
- $ref: '#/components/parameters/EnturDistributionChannelHeaderRequired'
- $ref: '#/components/parameters/EnturPOSHeaderRequired'
requestBody:
content:
application/json:
schema:
type: object
properties:
inputs:
$ref: '#/components/schemas/removeTravellerInput'
subscriber:
$ref: '#/components/schemas/subscriber'
required: true
responses:
'200':
$ref: '#/components/responses/packageResponse'
default:
$ref: '#/components/responses/errorResponse'
callbacks:
jobCompleted:
'{$request.body#/subscriber/successUri}':
post:
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/package'
responses:
'200':
description: Results received successfully
security:
- BearerAuth: []
- OAuth: []
- OAuthPKI: []
servers:
- url: https://api.entur.io/omsa/v1
description: Production environment
- url: https://api.dev.entur.io/omsa/v1
description: Development environment
- url: https://api.staging.entur.io/omsa/v1
description: Staging environment
/processes/assign-asset/execute:
parameters:
- $ref: '#/components/parameters/ET-Client-Name'
- $ref: '#/components/parameters/X-Correlation-Id'
post:
tags:
- processes
summary: Assign asset to package leg
description: Assigns an asset to a specific package leg.
operationId: assignAssetHandler
parameters:
- $ref: '#/components/parameters/acceptLanguage'
- $ref: '#/components/parameters/authorization'
requestBody:
content:
application/json:
schema:
type: object
properties:
inputs:
$ref: '#/components/schemas/assetInput'
subscriber:
$ref: '#/components/schemas/subscriber'
required: true
responses:
'200':
$ref: '#/components/responses/packageResponse'
default:
$ref: '#/components/responses/errorResponse'
callbacks:
jobCompleted:
'{$request.body#/subscriber/successUri}':
post:
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/package'
responses:
'200':
description: Results received successfully
security:
- BearerAuth: []
- OAuth: []
- OAuthPKI: []
servers:
- url: https://api.entur.io/omsa/v1
description: Production environment
- url: https://api.dev.entur.io/omsa/v1
description: Development environment
- url: https://api.staging.entur.io/omsa/v1
description: Staging environment
/processes/assign-ancillary/execute:
parameters:
- $ref: '#/components/parameters/ET-Client-Name'
- $ref: '#/components/parameters/X-Correlation-Id'
post:
tags:
- processes
summary: Assign ancillary products to package
description: Assigns ancillary products to a package or a package leg.
operationId: assignAncillaryProcessHandler
parameters:
- $ref: '#/components/parameters/acceptLanguage'
- $ref: '#/components/parameters/authorization'
- $ref: '#/components/parameters/EnturDistributionChannelHeaderRequired'
- $ref: '#/components/parameters/EnturPOSHeaderRequired'
requestBody:
content:
application/json:
schema:
type: object
properties:
inputs:
$ref: '#/components/schemas/ancillaryInput'
subscriber:
$ref: '#/components/schemas/subscriber'
required: true
responses:
'200':
$ref: '#/components/responses/packageResponse'
default:
$ref: '#/components/responses/errorResponse'
callbacks:
jobCompleted:
'{$request.body#/subscriber/successUri}':
post:
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/package'
responses:
'200':
description: Results received successfully
security:
- BearerAuth: []
- OAuth: []
- OAuthPKI: []
servers:
- url: https://api.entur.io/omsa/v1
description: Production environment
- url: https://api.dev.entur.io/omsa/v1
description: Development environment
- url: https://api.staging.entur.io/omsa/v1
description: Staging environment
/processes/purchase-offers/execute:
parameters:
- $ref: '#/components/parameters/ET-Client-Name'
- $ref: '#/components/parameters/X-Correlation-Id'
post:
tags:
- processes
summary: Purchase selected offers directly
description: Purchases selected offers directly and returns the resulting package.
operationId: purchaseOffersProcessHandler
parameters:
- $ref: '#/components/parameters/acceptLanguage'
- $ref: '#/components/parameters/authorization'
- $ref: '#/components/parameters/EnturDistributionChannelHeaderRequired'
- $ref: '#/components/parameters/EnturPOSHeaderRequired'
requestBody:
content:
application/json:
schema:
type: object
properties:
inputs:
$ref: '#/components/schemas/purchaseOffersInput'
subscriber:
$ref: '#/components/schemas/subscriber'
required: true
responses:
'200':
$ref: '#/components/responses/packageResponse'
default:
$ref: '#/components/responses/errorResponse'
callbacks:
jobCompleted:
'{$request.body#/subscriber/successUri}':
post:
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/package'
responses:
'200':
description: Results received successfully
security:
- BearerAuth: []
- OAuth: []
- OAuthPKI: []
servers:
- url: https://api.entur.io/omsa/v1
description: Production environment
- url: https://api.dev.entur.io/omsa/v1
description: Development environment
- url: https://api.staging.entur.io/omsa/v1
description: Staging environment
/processes/purchase-package/execute:
parameters:
- $ref: '#/components/parameters/ET-Client-Name'
- $ref: '#/components/parameters/X-Correlation-Id'
post:
tags:
- processes
summary: Purchase existing package
description: Purchases a previously created package.
operationId: purchasePackageProcessHandler
parameters:
- $ref: '#/components/parameters/acceptLanguage'
- $ref: '#/components/parameters/authorization'
requestBody:
content:
application/json:
schema:
type: object
properties:
inputs:
$ref: '#/components/schemas/packageInput'
subscriber:
$ref: '#/components/schemas/subscriber'
required: true
responses:
'200':
$ref: '#/components/responses/packageResponse'
default:
$ref: '#/components/responses/errorResponse'
callbacks:
jobCompleted:
'{$request.body#/subscriber/successUri}':
post:
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/package'
responses:
'200':
description: Results received successfully
security:
- BearerAuth: []
- OAuth: []
- OAuthPKI: []
servers:
- url: https://api.entur.io/omsa/v1
description: Production environment
- url: https://api.dev.entur.io/omsa/v1
description: Development environment
- url: https://api.staging.entur.io/omsa/v1
description: Staging environment
/processes/confirm-package/execute:
parameters:
- $ref: '#/components/parameters/ET-Client-Name'
- $ref: '#/components/parameters/X-Correlation-Id'
post:
tags:
- processes
summary: Confirm package before purchase
description: Confirms a package before final purchase.
operationId: confirmPackageProcessHandler
parameters:
- $ref: '#/components/parameters/acceptLanguage'
- $ref: '#/components/parameters/authorization'
- $ref: '#/components/parameters/EnturPOSHeaderRequired'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/bbox'
requestBody:
content:
application/json:
schema:
type: object
properties:
inputs:
$ref: '#/components/schemas/packageInput'
subscriber:
$ref: '#/components/schemas/subscriber'
required: true
responses:
'200':
$ref: '#/components/responses/packageResponse'
default:
$ref: '#/components/responses/errorResponse'
callbacks:
jobCompleted:
'{$request.body#/subscriber/successUri}':
post:
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/package'
responses:
'200':
description: Results received successfully
security:
- BearerAuth: []
- OAuth: []
- OAuthPKI: []
servers:
- url: https://api.entur.io/omsa/v1
description: Production environment
- url: https://api.dev.entur.io/omsa/v1
description: Development environment
- url: https://api.staging.entur.io/omsa/v1
description: Staging environment
/processes/release-package/execute:
parameters:
- $ref: '#/components/parameters/ET-Client-Name'
- $ref: '#/components/parameters/X-Correlation-Id'
post:
tags:
- processes
summary: Release package reservation
description: Releases a package reservation.
operationId: releasePackageProcessHandler
parameters:
- $ref: '#/components/parameters/acceptLanguage'
- $ref: '#/components/parameters/authorization'
- $ref: '#/components/parameters/EnturDistributionChannelHeaderRequired'
- $ref: '#/components/parameters/EnturPOSHeaderRequired'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/bbox'
requestBody:
content:
application/json:
schema:
type: object
properties:
inputs:
$ref: '#/components/schemas/packageInput'
subscriber:
$ref: '#/components/schemas/subscriber'
required: true
responses:
'200':
$ref: '#/components/responses/packageResponse'
default:
$ref: '#/components/responses/errorResponse'
callbacks:
jobCompleted:
'{$request.body#/subscriber/successUri}':
post:
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/package'
responses:
'200':
description: Results received successfully
security:
- BearerAuth: []
- OAuth: []
- OAuthPKI: []
servers:
- url: https://api.entur.io/omsa/v1
description: Production environment
- url: https://api.dev.entur.io/omsa/v1
description: Development environment
- url: https://api.staging.entur.io/omsa/v1
description: Staging environment
/processes/extend-expiry-time/execute:
parameters:
- $ref: '#/components/parameters/ET-Client-Name'
- $ref: '#/components/parameters/X-Correlation-Id'
post:
tags:
- processes
summary: Extend package reservation expiry
description: Extends the expiry time for a reserved package.
operationId: extendExpiryTimeProcessHandler
parameters:
- $ref: '#/components/parameters/acceptLanguage'
- $ref: '#/components/parameters/authorization'
- $ref: '#/components/parameters/EnturDistributionChannelHeaderRequired'
- $ref: '#/components/parameters/EnturPOSHeaderRequired'
requestBody:
content:
application/json:
schema:
type: object
properties:
inputs:
$ref: '#/components/schemas/extendExpiryTimeInput'
subscriber:
$ref: '#/components/schemas/subscriber'
required: true
responses:
'200':
$ref: '#/components/responses/packageResponse'
default:
$ref: '#/components/responses/errorResponse'
security:
- BearerAuth: []
- OAuth: []
- OAuthPKI: []
servers:
- url: https://api.entur.io/omsa/v1
description: Production environment
- url: https://api.dev.entur.io/omsa/v1
description: Development environment
- url: https://api.staging.entur.io/omsa/v1
description: Staging environment
/processes/update-travel-document-validity/execute:
parameters:
- $ref: '#/components/parameters/ET-Client-Name'
- $ref: '#/components/parameters/X-Correlation-Id'
post:
tags:
- processes
summary: Update travel document validity start
description: Updates the validity start time for a travel document in a package.
operationId: updateTravelDocumentValidityProcessHandler
parameters:
- $ref: '#/components/parameters/acceptLanguage'
- $ref: '#/components/parameters/authorization'
- $ref: '#/components/parameters/EnturDistributionChannelHeaderRequired'
requestBody:
content:
application/json:
schema:
type: object
properties:
inputs:
$ref: '#/components/schemas/updateTravelDocumentValidityInput'
subscriber:
$ref: '#/components/schemas/subscriber'
required: true
responses:
'200':
description: Validity updated successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/updateTravelDocumentValidityResponse'
default:
$ref: '#/components/responses/errorResponse'
security:
- BearerAuth: []
- OAuth: []
- OAuthPKI: []
servers:
- url: https://api.entur.io/omsa/v1
description: Production environment
- url: https://api.dev.entur.io/omsa/v1
description: Development environment
- url: https://api.staging.entur.io/omsa/v1
description: Staging environment
/processes/cancel-package/execute:
parameters:
- $ref: '#/components/parameters/ET-Client-Name'
- $ref: '#/components/parameters/X-Correlation-Id'
post:
tags:
- processes
summary: Cancel package
description: Cancels an existing purchased or reserved package.
operationId: cancelPackageProcessHandler
parameters:
- $ref: '#/components/parameters/acceptLanguage'
- $ref: '#/components/parameters/authorization'
- $ref: '#/components/parameters/EnturDistributionChannelHeaderRequired'
- $ref: '#/components/parameters/EnturPOSHeaderRequired'
requestBody:
content:
application/json:
schema:
type: object
properties:
inputs:
$ref: '#/components/schemas/packageInput'
subscriber:
$ref: '#/components/schemas/subscriber'
required: true
responses:
'200':
$ref: '#/components/responses/packageResponse'
default:
$ref: '#/components/responses/errorResponse'
callbacks:
jobCompleted:
'{$request.body#/subscriber/successUri}':
post:
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/package'
responses:
'200':
description: Results received successfully
security:
- BearerAuth: []
- OAuth: []
- OAuthPKI: []
servers:
- url: https://api.entur.io/omsa/v1
description: Production environment
- url: https://api.dev.entur.io/omsa/v1
description: Development environment
- url: https://api.staging.entur.io/omsa/v1
description: Staging environment
/processes/claim-refund-option/execute:
parameters:
- $ref: '#/components/parameters/ET-Client-Name'
- $ref: '#/components/parameters/X-Correlation-Id'
post:
tags:
- processes
summary: Claim refund option for package
description: Claims a refund option for the selected package content.
operationId: claimRefundProcessHandler
parameters:
- $ref: '#/components/parameters/acceptLanguage'
- $ref: '#/components/parameters/authorization'
- $ref: '#/components/parameters/EnturDistributionChannelHeaderRequired'
- $ref: '#/components/parameters/EnturPOSHeaderRequired'
requestBody:
content:
application/json:
schema:
type: object
properties:
inputs:
$ref: '#/components/schemas/refundOptionInput'
subscriber:
$ref: '#/components/schemas/subscriber'
required: true
responses:
'200':
$ref: '#/components/responses/packageResponse'
default:
$ref: '#/components/responses/errorResponse'
callbacks:
jobCompleted:
'{$request.body#/subscriber/successUri}':
post:
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/package'
responses:
'200':
description: Results received successfully
security:
- BearerAuth: []
- OAuth: []
- OAuthPKI: []
servers:
- url: https://api.entur.io/omsa/v1
description: Production environment
- url: https://api.dev.entur.io/omsa/v1
description: Development environment
- url: https://api.staging.entur.io/omsa/v1
description: Staging environment
/processes/confirm-refund-option/execute:
parameters:
- $ref: '#/components/parameters/ET-Client-Name'
- $ref: '#/components/parameters/X-Correlation-Id'
post:
tags:
- processes
summary: Confirm claimed refund option
description: Confirms a previously claimed refund option.
operationId: confirmRefundClaimProcessHandler
parameters:
- $ref: '#/components/parameters/acceptLanguage'
- $ref: '#/components/parameters/authorization'
requestBody:
content:
application/json:
schema:
type: object
properties:
inputs:
$ref: '#/components/schemas/refundOptionInput'
subscriber:
$ref: '#/components/schemas/subscriber'
required: true
responses:
'200':
$ref: '#/components/responses/packageResponse'
default:
$ref: '#/components/responses/errorResponse'
callbacks:
jobCompleted:
'{$request.body#/subscriber/successUri}':
post:
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/package'
responses:
'200':
description: Results received successfully
security:
- BearerAuth: []
- OAuth: []
- OAuthPKI: []
servers:
- url: https://api.entur.io/omsa/v1
description: Production environment
- url: https://api.dev.entur.io/omsa/v1
description: Development environment
- url: https://api.staging.entur.io/omsa/v1
description: Staging environment
components:
responses:
searchOfferResponse:
description: a search offer response
headers:
Version:
$ref: '#/components/headers/version'
Content-Language:
$ref: '#/components/headers/contentLanguage'
content:
application/json:
schema:
$ref: '#/components/schemas/offerCollection'
packageResponse:
description: a geojson response, containing the package details in the main properties and the legs are represented in the features
headers:
Version:
$ref: '#/components/headers/version'
Entur-Order-Version:
$ref: '#/components/headers/enturOrderVersion'
Content-Language:
$ref: '#/components/headers/contentLanguage'
content:
application/json:
schema:
$ref: '#/components/schemas/package'
errorResponse:
description: Bad request.
headers:
Version:
$ref: '#/components/headers/version'
Content-Language:
$ref: '#/components/headers/contentLanguage'
content:
application/json:
schema:
$ref: '#/components/schemas/error'
schemas:
organisationReference:
required:
- organisationId
type: object
properties:
organisationId:
$ref: '#/components/schemas/normalString'
name:
$ref: '#/components/schemas/normalString'
dateTimeOrNow:
type: string
description: Either RFC3339 date-time (for example 2019-10-12T07:20:50Z) or the keyword NOW for server-side immediate start.
x-pattern: ^([Nn][Oo][Ww]|[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2}))$
longInt:
minimum: 0
type: integer
description: long number, for distances etc. (>1.000)
default: 0
assetSelection:
type: string
description: Whether a concrete asset, such as a seat, can be selected manually, assigned automatically, or is not available for this reservation.
enum:
- NOT_AVAILABLE
- AUTO_ASSIGNED
- MANUAL_AVAILABLE
accommodation:
type: object
properties:
type:
pattern: ^(accommodation)$
type: string
description:
$ref: '#/components/schemas/longString'
classOfUse:
$ref: '#/components/schemas/classOfUse'
name:
$ref: '#/components/schemas/shortString'
gender:
type: string
enum:
- M
- F
- X
- U
berthType:
$ref: '#/components/schemas/berthType'
nuisanceFacility:
type: array
items:
$ref: '#/components/schemas/shortString'
description: A combination of accommodation characteristics available on a service, e.g. "First Class Couchette with shower and 2 bunks".
x-tm: ACCOMODATION
extendExpiryTimeInput:
required:
- packageId
- type
type: object
properties:
packageId:
$ref: '#/components/schemas/packageReference'
type:
pattern: ^(extend_expiry_time)$
type: string
extensionReason:
pattern: ^(purchase_pending|payment_pending|other)$
type: string
description: in case operation is EXTEND_EXPIRY_TIME, the reason for extension must be supplied here.
_PURCHASE_PENDING_ - The internal purchase process on the MP side is not yet finished
_PAYMENT_PENDING_ - The customer is in the payment process
_OTHER_ - unspecified
frequencyOfUse:
required:
- id
- type
type: object
properties:
id:
$ref: '#/components/schemas/frequencyOfUseReference'
type:
pattern: ^(frequency_of_use)$
type: string
frequencyOfUseType:
$ref: '#/components/schemas/frequencyOfUseType'
minimalFrequency:
minimum: 0
type: integer
description: Minimum number of times the product can be used.
maximalFrequency:
minimum: 0
type: integer
description: Maximum number of times the product can be used.
frequencyInterval:
type: string
description: Positive ISO 8601 interval within which frequency is measured.
format: duration
x-tm: FREQUENCY OF USE
geojsonMultiPolygon:
required:
- coordinates
type: object
properties:
coordinates:
type: array
items:
type: array
items:
type: array
items:
$ref: '#/components/schemas/basePoint'
description: geojson representation of a multi polygon. See also https://geojson.org/geojson-spec.html#multipolygon
networkParameter:
required:
- type
type: object
properties:
type:
pattern: ^(network)$
type: string
location:
$ref: '#/components/schemas/placeReference'
line:
$ref: '#/components/schemas/lineReference'
zones:
type: array
items:
$ref: '#/components/schemas/zoneReference'
x-tm: NETWORK VALIDITY PARAMETERS
tripPattern:
type: array
items:
type: object
properties:
serviceJourney:
$ref: '#/components/schemas/serviceJourneyReference'
date:
$ref: '#/components/schemas/date'
from:
$ref: '#/components/schemas/placeReference'
to:
$ref: '#/components/schemas/placeReference'
licenseType:
required:
- mode
- type
type: object
properties:
type:
pattern: ^(license_type)$
type: string
modes:
type: array
items:
$ref: '#/components/schemas/mode'
licenseCode:
$ref: '#/components/schemas/shortString'
issuingCountry:
$ref: '#/components/schemas/country'
customFields:
$ref: '#/components/schemas/customProperties'
description: A category of license to use a certain asset class
x-tm: TYPE OF DRIVER PERMIT
geojsonFeature:
required:
- id
- properties
- type
type: object
properties:
type:
pattern: ^(Feature)$
type: string
geometry:
oneOf:
- $ref: '#/components/schemas/geojsonPoint'
- $ref: '#/components/schemas/geojsonLine'
- $ref: '#/components/schemas/geojsonPolygon'
- $ref: '#/components/schemas/geojsonMultiPolygon'
properties:
oneOf:
- $ref: '#/components/schemas/asset'
- $ref: '#/components/schemas/seat'
id:
$ref: '#/components/schemas/shortString'
links:
type: array
items:
$ref: '#/components/schemas/link'
reservationPolicy:
type: string
description: Reservation policy used by clients to decide whether reservation UI is hidden, optional, recommended, or required.
enum:
- NOT_POSSIBLE
- OPTIONAL
- RECOMMENDED
- COMPULSORY
normalInt:
maximum: 1000
minimum: 0
type: integer
description: default length for an integer (0-1000)
default: 0
onboardStay:
required:
- type
type: object
properties:
type:
pattern: ^(onboard_stay)$
type: string
description:
$ref: '#/components/schemas/longString'
classOfUse:
$ref: '#/components/schemas/classOfUse'
permission:
type: boolean
duration:
$ref: '#/components/schemas/shortString'
description: Permission to board early before the journey or stay on board after the journey.
x-tm: ONBOARD STAY
userProfile:
allOf:
- $ref: '#/components/schemas/travelParty'
- required:
- id
- type
type: object
properties:
id:
$ref: '#/components/schemas/userProfileReference'
type:
pattern: ^(user_profile)$
type: string
count:
$ref: '#/components/schemas/shortInt'
minimumAge:
$ref: '#/components/schemas/shortInt'
maximumAge:
$ref: '#/components/schemas/shortInt'
monthDayOnWhichAgeApplies:
$ref: '#/components/schemas/shortInt'
ageGroup:
type: string
enum:
- ANYONE
- INFANT
- CHILD
- YOUTH
- ADULT
- SENIOR
minimumHeight:
$ref: '#/components/schemas/shortInt'
maximumHeight:
$ref: '#/components/schemas/shortInt'
localResident:
type: boolean
genderLimitation:
type: boolean
x-tm: USER PROFILE
dateTime:
type: string
description: https://www.rfc-editor.org/rfc/rfc3339#section-5.6, date-time (2019-10-12T07:20:50.52Z)
format: date-time
x-pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$
travellingAsset:
required:
- id
- type
type: object
properties:
type:
pattern: ^(asset)$
type: string
id:
$ref: '#/components/schemas/assetReference'
frequencyOfUseReference:
$ref: '#/components/schemas/normalString'
classOfUse:
type: string
description: A classification of fare and other service classes by category of user entitled to use them. Use ECONOMY_CLASS for standard class products.
enum:
- FIRST_CLASS
- SECOND_CLASS
- THIRD_CLASS
- ECONOMY_CLASS
- BUSINESS_CLASS
- TURISTA
- PREFERENTE
- PREMIUM_CLASS
- ANY
- UNKNOWN
x-tm: CLASS OF USE
spotReservationParameter:
required:
- spot
- spotType
- type
type: object
properties:
type:
pattern: ^(spot_reservation)$
type: string
spotType:
type: string
enum:
- VEHICLE_SPOT
- PASSENGER_SPOT
- LUGGAGE_SPOT
deck:
$ref: '#/components/schemas/externalReference'
space:
$ref: '#/components/schemas/externalReference'
spot:
description: 'For LUGGAGE_SPOT and VEHICLE_SPOT, supported values are: HANDBAG, HAND_LUGGAGE, SMALL_SUITCASE, SUITCASE, TRUNK, OVERSIZE_ITEM, BICYCLE, SPORTING_EQUIPMENT, SKIS, MUSICAL_INSTRUMENT, PUSH_CHAIR, MOTORIZED_WHEELCHAIR, LARGE_MOTORIZED_WHEELCHAIR, WHEELCHAIR, SMALL_ANIMAL, ANIMAL, GAME, MOTORCYCLE, OTHER, GUIDE_DOG. Unknown values are ignored. Use VEHICLE_SPOT for vehicles transported as cargo (e.g. motorcycle on a ferry). For PASSENGER_SPOT, the value is an operator-specific seat identifier and is not used for requirement mapping.
'
allOf:
- $ref: '#/components/schemas/externalReference'
width:
type: number
length:
type: number
height:
type: number
fuel:
type: string
weight:
type: string
mode:
$ref: '#/components/schemas/mode'
x-tm: SEATING VALIDITY PARAMETERS
equipmentParameter:
required:
- type
type: object
properties:
type:
pattern: ^(equipment)$
type: string
id:
$ref: '#/components/schemas/equipmentReference'
name:
$ref: '#/components/schemas/shortString'
description:
$ref: '#/components/schemas/longString'
infoLink:
$ref: '#/components/schemas/url'
image:
$ref: '#/components/schemas/url'
x-tm: EQUIPMENT VALIDITY PARAMETERS
subscriber:
required:
- successUrl
type: object
properties:
successUri:
type: string
format: uri
inProgressUri:
type: string
format: uri
failedUri:
type: string
format: uri
description: 'Optional URIs for callbacks for this job.
Support for this parameter is not required and the parameter may be
removed from the API definition, if conformance class **''callback''**
is not listed in the conformance declaration under `/conformance`.'
externalDocs:
url: https://github.com/opengeospatial/ogcapi-processes/raw/refs/heads/master/openapi/schemas/processes-core/subscriber.yaml
usageValidityPeriodType:
type: string
description: NeTEx classification of a usage validity period.
enum:
- SINGLE_RIDE
- SINGLE_TRIP
- RETURN_TRIP
- CARNET
- DAY_PASS
- WEEKLY_PASS
- WEEKEND_PASS
- MONTHLY_PASS
- ANNUAL_PASS
- SEASON_TICKET
- PROFILE_MEMBERSHIP
- SUBSCRIPTION
- OPEN_ENDED
- CAP
- OTHER
assetInput:
allOf:
- $ref: '#/components/schemas/legInput'
- required:
- assetId
- type
type: object
properties:
type:
pattern: ^(asset)$
type: string
assetId:
$ref: '#/components/schemas/assetReference'
replaceAssetId:
$ref: '#/components/schemas/assetReference'
country:
maxLength: 2
minLength: 2
pattern: '[A-Z]{2}'
type: string
description: two-letter country codes according to ISO 3166-1
geojsonLine:
required:
- coordinates
type: object
properties:
coordinates:
type: array
items:
$ref: '#/components/schemas/basePoint'
description: An array of WGS84 coordinate pairs
ancillaryReference:
required:
- ancillaryId
type: object
properties:
ancillaryId:
$ref: '#/components/schemas/normalString'
name:
$ref: '#/components/schemas/normalString'
httpStatus:
maximum: 599
minimum: 100
type: integer
description: HTTP status code (100–599)
legState:
type: string
description: status of a leg
_NOT_STARTED_ the leg is not started, initial state
_PREPARING_ the _PREPARE_ operation has been received
_PREPARED_ the leg is ready to use
_IN_USE_ the travelers are on their way
_PAUSED_ the asset is paused
_ENDED_ the travelers have arrived at their destination
_ISSUE_REPORTED_ due to an issue, there is (temporarily) no progress to report, when the issue isn't solved, this is a final state
_CANCELLED_ the leg has been cancelled, before execution
_ABENDED_ the leg is abnormally ended (e.g. due to an issue)
enum:
- NOT_STARTED
- PREPARING
- PREPARED
- IN_USE
- PAUSED
- ENDED
- ISSUE_REPORTED
- CANCELLED
- ABENDED
entitlementGiven:
required:
- entitlementType
- type
type: object
properties:
id:
$ref: '#/components/schemas/shortString'
type:
pattern: ^(entitlement)$
type: string
entitlementType:
$ref: '#/components/schemas/normalString'
x-tm: ENTITLEMENT GIVEN
error:
required:
- category
- code
- detail
- hint
- status
- title
- type
type: object
properties:
type:
$ref: '#/components/schemas/url'
title:
$ref: '#/components/schemas/shortString'
status:
$ref: '#/components/schemas/httpStatus'
detail:
$ref: '#/components/schemas/longString'
instance:
$ref: '#/components/schemas/url'
links:
type: array
items:
$ref: '#/components/schemas/link'
code:
type: string
description: Stable machine-readable problem code.
category:
type: string
description: Public problem category used by curated problems.
enum:
- authorization
- validation
- downstream
- state
- resource
- availability
- server
hint:
type: string
description: Short client-facing remediation hint.
context:
type: object
additionalProperties: true
description: Safe structured context fields for the problem.
additionalProperties: true
description: JSON schema for exceptions based on RFC 7807
updateTravellerInput:
required:
- packageId
- travellerId
- type
type: object
properties:
type:
pattern: ^(traveller)$
type: string
packageId:
$ref: '#/components/schemas/packageReference'
travellerId:
$ref: '#/components/schemas/travellerReference'
individualTraveller:
$ref: '#/components/schemas/individualTraveller'
userProfile:
$ref: '#/components/schemas/userProfile'
travellingAsset:
$ref: '#/components/schemas/travellingAsset'
packageStatus:
type: string
description: The life-cycle state of the package (from NEW to ENDED)
_OFFERED_ the package is offered
_SELECTED_ the package is selected to modify
_PENDING_ the purchase of the package is not confirmed (the end user has shown intentions to purchase this offer), must be finalized with the package-confirm operation
_CONFIRMED_ a finalized package ('purchased'). Both parties agreed to deliver services in return of payment
_CANCELLED_ the package is cancelled after it is purchased. The agreement will specify whether there is a refund, or under which conditions
_EXPIRED_ the MP didn't respond on time, the package offer has been expired
_STARTED_ the package is started, the trip execution module is needed now to manage the execution of the package
_ENDED_ the package has ended, the trip has been executed
_RELEASED_ for internal archiving, the package has not been purchased.
enum:
- OFFERED
- SELECTED
- PENDING
- CONFIRMED
- RELEASED
- EXPIRED
- CANCELLED
- REFUND_CLAIMED
- REFUNDED
- STARTED
- ENDED
x-tm: CUSTOMER PURCHASE STATUS
currencyCode:
maxLength: 3
minLength: 3
pattern: '[a-zA-Z]{3}'
type: string
description: ISO 4217 currency code
asset:
properties:
type:
pattern: ^(asset)$
type: string
id:
$ref: '#/components/schemas/assetReference'
visualId:
$ref: '#/components/schemas/shortString'
product:
$ref: '#/components/schemas/productReference'
mode:
$ref: '#/components/schemas/mode'
subMode:
$ref: '#/components/schemas/normalString'
equipment:
maxItems: 100
type: array
description: list of external references
items:
$ref: '#/components/schemas/equipmentReference'
description: the asset that can by applied to execute a leg.
x-tm: VEHICLE, PARKING BAY, CYCLE STORAGE EQUIPMENT, VEHICLE CHARGING EQUIPMENT
berthType:
type: string
enum:
- SLEEPER
- COUCHETTE
- SEAT
- OTHER
guarantee:
type: object
properties:
id:
$ref: '#/components/schemas/shortString'
type:
$ref: '#/components/schemas/normalString'
amountOfMoney:
required:
- amount
type: object
properties:
amount:
type: number
description: This should be in the base unit as defined by the ISO 4217 currency code with the appropriate number of decimal places and omitting the currency symbol. e.g. if the price is in US Dollars the price would be 9.95. This is inclusive VAT
format: float
taxPercentageUsed:
$ref: '#/components/schemas/float'
currencyCode:
$ref: '#/components/schemas/currencyCode'
vatCountryCode:
$ref: '#/components/schemas/country'
description: an amount of money, usable in fares, fare calculations or in extra costs.
x-tm:
- concept: FARE PRICE
travellerReference:
$ref: '#/components/schemas/normalString'
commercialProfile:
required:
- type
type: object
properties:
id:
$ref: '#/components/schemas/shortString'
type:
pattern: ^(commercial_profile)$
type: string
code:
$ref: '#/components/schemas/shortString'
name:
$ref: '#/components/schemas/normalString'
x-tm: COMMERCIAL PROFILE
product:
type: object
properties:
type:
pattern: ^(product)$
type: string
productId:
$ref: '#/components/schemas/productReference'
productName:
$ref: '#/components/schemas/normalString'
guarantees:
type: array
description: references to products that are contained in this product (to facilitate e.g. travel through) If his combined product is named in a package, the referenced packages must be enlisted as well.
items:
$ref: '#/components/schemas/guarantee'
service:
type: array
description: Service characteristics covered by this product, such as service journey, class of use, asset, or accommodation.
items:
$ref: '#/components/schemas/serviceParameter'
reservationRequirements:
type: array
description: Reservation rules carried by this product.
items:
$ref: '#/components/schemas/reservationRequirement'
x-tm: FARE PRODUCT
cancellationParameter:
required:
- type
type: object
properties:
type:
pattern: ^(cancel)$
type: string
cancellationAllowed:
type: boolean
description: is it possible to cancel this package?
cancellationFee:
$ref: '#/components/schemas/amountOfMoney'
cancellationFeePercentage:
maximum: 100
minimum: 0
type: number
description: percentage of the offered price you have to pay when you cancel this purchased package
description: conditions regarding cancellation of a purchased package
x-tm:
- concept: CANCELLING
- cancellationFee: lacking
- cancellationAllowed: cancellationAllowed
- cancellationFeePercentage: lacking
float:
minimum: 0
type: number
description: the travelled distance. Only if applicable.
format: float
zoneReference:
required:
- zoneId
type: object
properties:
zoneId:
$ref: '#/components/schemas/normalString'
name:
$ref: '#/components/schemas/normalString'
geojsonPolygon:
required:
- coordinates
type: object
properties:
coordinates:
type: array
items:
type: array
items:
$ref: '#/components/schemas/basePoint'
description: geojson representation of a polygon. First and last point must be equal. See also https://geojson.org/geojson-spec.html#polygon and example https://geojson.org/geojson-spec.html#id4. The order should be lon, lat [[[lon1, lat1], [lon2,lat2], [lon3,lat3], [lon1,lat1]]], the first point should match the last point.
date:
type: string
description: https://www.rfc-editor.org/rfc/rfc3339#section-5.6, full-date (2019-10-12)
format: full-date
x-pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$
activationMeans:
type: string
description: Means used to activate the usage validity period.
enum:
- NONE_REQUIRED
- CHECK_IN
- USE_OF_VALIDATOR
- USE_OF_MOBILE_DEVICE
- AUTOMATIC_BY_TIME
- AUTOMATIC_BY_PROXIMITY
- ACCESS_CODE
- OTHER
searchOfferFilter:
discriminator:
propertyName: type
mapping:
service: '#/components/schemas/serviceFilter'
organisational: '#/components/schemas/organisationalFilter'
oneOf:
- $ref: '#/components/schemas/serviceFilter'
- $ref: '#/components/schemas/organisationalFilter'
placeDefinitions:
type: object
properties:
placeDefinitions:
maxItems: 3
minItems: 0
type: array
description: Places that are not specified in an external data source (like a home address)
items:
$ref: '#/components/schemas/postalAddress'
productReference:
required:
- name
- productId
type: object
properties:
productId:
$ref: '#/components/schemas/normalString'
name:
$ref: '#/components/schemas/normalString'
assetReference:
$ref: '#/components/schemas/normalString'
mode:
type: string
description: These classes are taken from the NeTeX standard, but ALL and UNKNOWN are removed. On the other hand OTHER and PARKING are added.
enum:
- AIR
- BUS
- TROLLEYBUS
- TRAM
- COACH
- RAIL
- INTERCITYRAIL
- URBANRAIL
- METRO
- WATER
- CABLEWAY
- FUNICULAR
- TAXI
- SELFDRIVE
- FOOT
- BICYCLE
- MOTORCYCLE
- CAR
- SHUTTLE
- OTHER
- PARKING
- MOPED
- STEP
- FERRY
x-tm:
- concept: MODE
basePoint:
maxItems: 2
minItems: 2
type: array
items:
minimum: 0
type: number
format: float
enturRecommendationType:
type: string
description: Entur Offers recommendation category.
enum:
- FLEXIBLE
- SEMI_FLEXIBLE
- NON_FLEXIBLE
- CHEAPEST
userProfileReference:
$ref: '#/components/schemas/normalString'
serviceParameter:
required:
- type
type: object
properties:
type:
pattern: ^(service)$
type: string
product:
$ref: '#/components/schemas/productReference'
asset:
$ref: '#/components/schemas/assetReference'
serviceJourney:
$ref: '#/components/schemas/serviceJourneyReference'
userNeeds:
type: array
items:
$ref: '#/components/schemas/userNeedReference'
class:
$ref: '#/components/schemas/classOfUse'
onboardStay:
type: array
items:
$ref: '#/components/schemas/onboardStay'
accommodations:
type: array
items:
$ref: '#/components/schemas/accommodation'
x-tm: SERVICE VALIDITY PARAMETERS
placeReference:
required:
- placeId
type: object
properties:
placeId:
maxLength: 200
pattern: ^(GPS:|NSR:StopPlace:|P:)
type: string
description: this string references to information that can be found in the `data sources`. Enlist all prefixes (=rel) from the /collections/datasources/items that apply to a place/location. Default it matches already with 'GPS' (no entry required in the datasources). In case of a custom place (like home address), you can use the 'P:' prefix and add the address to the **placeDefinitions** list of the request.
x-example-format: ^(GPS:|GBFS:stations:)
name:
$ref: '#/components/schemas/normalString'
equipmentReference:
required:
- equipmentId
type: object
properties:
equipmentId:
$ref: '#/components/schemas/normalString'
name:
$ref: '#/components/schemas/normalString'
travelPartyRequirements:
type: object
properties:
organisational:
type: array
items:
$ref: '#/components/schemas/organisationalParameter'
spotReservations:
type: array
items:
$ref: '#/components/schemas/spotReservationParameter'
distribution:
type: array
items:
$ref: '#/components/schemas/distributionParameter'
network:
type: array
items:
$ref: '#/components/schemas/networkParameter'
routing:
type: array
items:
$ref: '#/components/schemas/routingParameter'
service:
type: array
items:
$ref: '#/components/schemas/serviceParameter'
temporal:
type: array
items:
$ref: '#/components/schemas/temporalParameter'
equipment:
type: array
items:
$ref: '#/components/schemas/equipmentParameter'
cancellation:
type: array
items:
$ref: '#/components/schemas/cancellationParameter'
purchase:
type: array
items:
$ref: '#/components/schemas/purchaseParameter'
externalReference:
$ref: '#/components/schemas/normalString'
blackoutUse:
type: string
description: How the validity period interacts with blackout periods.
enum:
- MAY_TRAVEL_ANYTIME
- NO_TRAVEL_WITHIN_PERIOD
- NO_TRAVEL_WITHIN_TIMEBAND
- MAY_COMPLETE_IF_STARTED_BEFORE
refundOptionInput:
required:
- type
type: object
properties:
type:
pattern: ^(claim_refund_option|confirm_refund_option)$
type: string
optionId:
$ref: '#/components/schemas/uuid'
searchOfferInput:
required:
- type
type: object
properties:
type:
pattern: ^(search_offer)
type: string
specification:
allOf:
- $ref: '#/components/schemas/travelSpecification'
- $ref: '#/components/schemas/placeDefinitions'
filters:
type: array
description: Request-wide predicates that every returned offer must satisfy.
items:
$ref: '#/components/schemas/searchOfferFilter'
pattern:
$ref: '#/components/schemas/tripPattern'
packageToExchange:
$ref: '#/components/schemas/packageReference'
travellers:
maxItems: 10
minItems: 1
type: array
items:
$ref: '#/components/schemas/individualTraveller'
profiles:
minItems: 1
type: array
items:
$ref: '#/components/schemas/userProfile'
travellingAssets:
type: array
items:
$ref: '#/components/schemas/travellingAsset'
entur:
$ref: '#/components/schemas/enturSearchOfferInput'
description: A package planning request, resulting in package options
anyOf:
- required:
- travellers
- required:
- profiles
ancillary:
allOf:
- $ref: '#/components/schemas/ancillaryReference'
- type: object
properties:
type:
pattern: ^(ancillary)$
type: string
price:
$ref: '#/components/schemas/amountOfMoney'
description:
type: string
description: A user-friendly description of the ancillary (e.g. 'Reserved seat for bike').
available:
type: integer
description: Number of items available in stock (inventory). Useful for creating urgency in GUI.
service:
type: array
description: Service characteristics covered by this ancillary, such as service journey, class of use, asset, or accommodation.
items:
$ref: '#/components/schemas/serviceParameter'
reservationRequirements:
type: array
description: Reservation rules carried by this ancillary.
items:
$ref: '#/components/schemas/reservationRequirement'
links:
type: array
items:
$ref: '#/components/schemas/link'
x-tm: ANCILLARY
customProperties:
maxProperties: 20
type: object
additionalProperties: true
description: dictionary for extra fields (bilatural agreements)
offer:
required:
- properties
type: object
properties:
id:
$ref: '#/components/schemas/shortString'
type:
pattern: ^(offer)$
type: string
properties:
type: object
properties:
legs:
type: array
items:
$ref: '#/components/schemas/leg'
usageValidityPeriods:
type: array
description: Usage validity periods referenced by the offer's legs.
items:
$ref: '#/components/schemas/usageValidityPeriod'
frequenciesOfUse:
type: array
description: Frequency-of-use parameters referenced by the offer's legs.
items:
$ref: '#/components/schemas/frequencyOfUse'
ancillaries:
type: array
items:
$ref: '#/components/schemas/ancillary'
products:
type: array
items:
$ref: '#/components/schemas/product'
price:
$ref: '#/components/schemas/amountOfMoney'
summary:
type: object
additionalProperties: true
description: "Flexible summary metadata for the offer. Known keys include:\n - `name`: offer display name\n - `description`: human-readable offer description\n - `isRefundable`: whether included products are refundable\n - `isExchangeable`: whether included products are exchangeable\n - `geographicalValidity`: zonal validity details, including labeled `fareZones` and `groups`\n - `recommendationType`: recommendation category from Offers (for example `CHEAPEST`)\n - `recommendationGroup`: 1-based recommendation index in Offers response order\n - `recommendationRank`: 1-based `offersToBuy` index within a recommendation\n"
guarantees:
type: array
items:
$ref: '#/components/schemas/guarantee'
expiryTime:
$ref: '#/components/schemas/dateTime'
links:
type: array
items:
$ref: '#/components/schemas/link'
x-tm: SALES OFFER PACKAGE
serviceFilter:
minProperties: 2
required:
- type
type: object
properties:
type:
pattern: ^(service)$
type: string
productId:
$ref: '#/components/schemas/normalString'
serviceJourney:
$ref: '#/components/schemas/serviceJourneyReference'
class:
$ref: '#/components/schemas/classOfUse'
berthTypes:
minItems: 1
uniqueItems: true
type: array
items:
$ref: '#/components/schemas/berthType'
additionalProperties: false
description: Service characteristics that every returned offer must satisfy.
card:
required:
- cardNumber
- type
type: object
properties:
type:
pattern: ^(card)$
type: string
cardType:
$ref: '#/components/schemas/cardType'
cardNumber:
$ref: '#/components/schemas/shortString'
description:
$ref: '#/components/schemas/shortString'
additionalNumber:
$ref: '#/components/schemas/shortString'
endValidity:
$ref: '#/components/schemas/date'
country:
$ref: '#/components/schemas/country'
description: Any kind of card that isn't a license, only provide the cards that are required
x-tm: CUSTOMER PAYMENT MEANS, MEDIUM APPLICATION INSTANCE
travelParty:
type: object
properties:
type:
type: string
entitlements:
type: object
properties:
commercialProfiles:
type: array
items:
$ref: '#/components/schemas/commercialProfile'
entitlementsGiven:
type: array
items:
$ref: '#/components/schemas/entitlementGiven'
cardTypes:
type: array
items:
$ref: '#/components/schemas/cardType'
cards:
type: array
items:
$ref: '#/components/schemas/card'
licenseTypes:
type: array
items:
$ref: '#/components/schemas/licenseType'
licenses:
type: array
items:
$ref: '#/components/schemas/license'
requirements:
$ref: '#/components/schemas/travelPartyRequirements'
x-tm: ACCESS RIGHT PARAMETER ASSIGNMENT
usageStartConstraintType:
type: string
description: Constraint applied to the start of the usage validity period.
enum:
- VARIABLE
- FIXED
- FIXED_WINDOW
longString:
maxLength: 10000
type: string
description: long string, memos etc (length 0-10.000)
ancillaryInput:
allOf:
- $ref: '#/components/schemas/legInput'
- required:
- ancillaryId
- type
type: object
properties:
type:
pattern: ^(ancillary)$
type: string
ancillaryId:
$ref: '#/components/schemas/ancillaryReference'
replaceAncillaryId:
$ref: '#/components/schemas/ancillaryReference'
shortString:
maxLength: 75
type: string
description: short string, display names (length 0-75)
leg:
allOf:
- $ref: '#/components/schemas/travelSpecification'
- required:
- id
- type
type: object
properties:
id:
$ref: '#/components/schemas/legReference'
type:
pattern: ^(leg)$
type: string
sequenceNumber:
$ref: '#/components/schemas/shortInt'
traveller:
$ref: '#/components/schemas/travellerReference'
state:
$ref: '#/components/schemas/legState'
price:
$ref: '#/components/schemas/amountOfMoney'
products:
type: array
description: a reference to a product in the 'products' collection of the offer
items:
$ref: '#/components/schemas/shortString'
ancillaries:
type: array
description: additional products that can be assigned to this leg, references to 'ancillaries' collection
items:
$ref: '#/components/schemas/shortString'
usageValidityPeriods:
type: array
description: References to usage validity periods in the offer's usageValidityPeriods collection.
items:
$ref: '#/components/schemas/usageValidityPeriodReference'
frequenciesOfUse:
type: array
description: References to frequency-of-use parameters in the offer's frequenciesOfUse collection.
items:
$ref: '#/components/schemas/frequencyOfUseReference'
mode:
$ref: '#/components/schemas/mode'
assets:
type: array
description: The physical asset(s) used for the execution of the leg
items:
$ref: '#/components/schemas/assetReference'
reservationRequirement:
$ref: '#/components/schemas/reservationRequirement'
operator:
$ref: '#/components/schemas/organisationReference'
description: A (planned) consumption of a product within a package
x-tm: LEG
geojsonPoint:
required:
- coordinates
type: object
properties:
coordinates:
$ref: '#/components/schemas/basePoint'
description: Geojson Coordinate
packageInput:
required:
- packageId
- type
type: object
properties:
packageId:
$ref: '#/components/schemas/packageReference'
type:
pattern: ^(package)
type: string
seat:
type: object
properties:
type:
pattern: ^(seat)$
type: string
id:
$ref: '#/components/schemas/externalReference'
deck:
$ref: '#/components/schemas/shortString'
space:
$ref: '#/components/schemas/shortString'
row:
$ref: '#/components/schemas/shortInt'
seatNumber:
$ref: '#/components/schemas/shortInt'
facing:
type: string
enum:
- FRONT
- REAR
- LEFT
- RIGHT
- OTHER
byWindow:
type: boolean
legSpace:
$ref: '#/components/schemas/shortInt'
byAisle:
type: boolean
hasArmRest:
type: boolean
hasTray:
type: boolean
hasAirco:
type: boolean
hasEnergySupply:
type: boolean
hasLight:
type: boolean
geojson:
type: object
properties:
type:
pattern: ^(FeatureCollection)$
type: string
features:
type: array
items:
$ref: '#/components/schemas/geojsonFeature'
properties:
type: object
crs:
type: object
properties:
type:
type: string
properties:
type: object
properties:
name:
type: string
numberMatched:
type: integer
numberReturned:
type: integer
links:
type: array
description: actions that can be performed on this package, but also alternative (rel=alternative+1, alternative+2) offers or references to other resources In case it is an alternative, specify clearly in the description what the financial consequences are.
items:
$ref: '#/components/schemas/link'
packageReference:
$ref: '#/components/schemas/normalString'
removeTravellerInput:
required:
- packageId
- travellerId
- type
type: object
properties:
type:
pattern: ^(traveller)$
type: string
travellerId:
$ref: '#/components/schemas/travellerReference'
packageId:
$ref: '#/components/schemas/packageReference'
enturSearchOfferInput:
type: object
properties:
recommendationControl:
$ref: '#/components/schemas/enturRecommendationControl'
description: Entur-specific OMSA extensions for search-offers input.
selectOffersInput:
required:
- offerIds
- type
type: object
properties:
offerIds:
type: array
items:
$ref: '#/components/schemas/offerReference'
type:
pattern: ^(select_offers)
type: string
customer:
$ref: '#/components/schemas/customerRef'
contact:
$ref: '#/components/schemas/customerRef'
externalReference:
$ref: '#/components/schemas/externalReference'
organisationalParameter:
required:
- id
- type
type: object
properties:
id:
$ref: '#/components/schemas/shortString'
type:
pattern: ^(organisational)$
type: string
name:
$ref: '#/components/schemas/normalString'
legalName:
$ref: '#/components/schemas/normalString'
x-tm: ORGANISATIONAL VALIDITY PARAMETERS
uuid:
type: string
description: https://en.wikipedia.org/wiki/Universally_unique_identifier see also https://www.ietf.org/rfc/rfc4122.txt (ae76f51c-a1a6-46af-b9ab-8233564adcae)
x-preferred-pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
tinyString:
maxLength: 10
type: string
description: real short string, codes (length 0-10)
cardType:
required:
- id
- type
type: object
properties:
id:
$ref: '#/components/schemas/shortString'
type:
pattern: ^(card_type)$
type: string
cardCategory:
type: string
description: The category of card
DISCOUNT - discount card, can be applied in the purchase process to get rebate
TRAVEL - (external) travel card, possibly paid for in other context, but also monthly, weekly or day-cards
BANK - bank card
CREDIT - credit card
ID - identification card, like an ID card
PASSPORT - passport to identify yourself
OTHER - unspecified, use 'subCategory' to specify the category of card
enum:
- DISCOUNT
- TRAVEL
- BANK
- CREDIT
- ID
- PASSPORT
- OTHER
subCategory:
$ref: '#/components/schemas/shortString'
relatedProduct:
$ref: '#/components/schemas/productReference'
transportOrganisations:
maxItems: 15
type: array
description: references to accepting parties, only if applicable
items:
$ref: '#/components/schemas/organisationReference'
customFields:
$ref: '#/components/schemas/customProperties'
description: A generic description of a CARD
x-tm: TYPE OF PAYMENT METHOD, MEDIUM ACCESS DEVICE
shortInt:
maximum: 100
minimum: 0
type: integer
description: a bit short integer (0-100)
default: 0
enturRecommendationControl:
type: object
properties:
enabled:
type: boolean
description: Enable recommendation-driven bundling based on Offers `recommendations` and `offersToBuy`.
default: false
types:
minItems: 1
type: array
description: 'Entur recommendation categories to request when `enabled` is true.
If omitted, the API defaults to `["CHEAPEST", "NON_FLEXIBLE", "SEMI_FLEXIBLE", "FLEXIBLE"]`.
'
items:
$ref: '#/components/schemas/enturRecommendationType'
stripDuplicates:
type: boolean
description: 'Deduplicate recommendation-driven plans by provider offer + traveller groups + ancillary selections + quantity.
'
default: false
description: 'Entur recommendation behavior control for Offers.
If omitted, the API defaults to raw mode (recommendation-driven bundling disabled).
'
legReference:
$ref: '#/components/schemas/normalString'
routingParameter:
required:
- journeyPattern
- type
type: object
properties:
type:
pattern: ^(routing)$
type: string
journeyPattern:
type: array
items:
$ref: '#/components/schemas/externalReference'
x-tm: ROUTING VALIDITY PARAMETERS
addTravellerInput:
required:
- packageId
- type
type: object
properties:
type:
pattern: ^(traveller)$
type: string
packageId:
$ref: '#/components/schemas/packageReference'
individualTraveller:
$ref: '#/components/schemas/individualTraveller'
userProfile:
$ref: '#/components/schemas/userProfile'
travellingAsset:
$ref: '#/components/schemas/travellingAsset'
temporalParameter:
required:
- type
type: object
properties:
type:
pattern: ^(temporal)$
type: string
startTime:
$ref: '#/components/schemas/dateTime'
endTime:
$ref: '#/components/schemas/dateTime'
duration:
$ref: '#/components/schemas/normalInt'
dayType:
$ref: '#/components/schemas/day'
x-tm: TEMPORAL VALIDITY PARAMETERS
lineReference:
$ref: '#/components/schemas/normalString'
organisationalFilter:
required:
- organisationId
- type
type: object
properties:
type:
pattern: ^(organisational)$
type: string
organisationId:
$ref: '#/components/schemas/normalString'
additionalProperties: false
description: Organisation or operator that every returned offer must reference.
customerReference:
$ref: '#/components/schemas/normalString'
individualTraveller:
allOf:
- $ref: '#/components/schemas/travelParty'
- required:
- id
- type
type: object
properties:
id:
$ref: '#/components/schemas/travellerReference'
type:
pattern: ^(individual_traveller)$
type: string
isValidated:
type: boolean
description: Whether this traveler's identity and properties have been verified by the MaaS provider
age:
$ref: '#/components/schemas/shortInt'
gender:
type: string
enum:
- M
- F
- X
- U
fullName:
$ref: '#/components/schemas/normalString'
customerReference:
$ref: '#/components/schemas/customerReference'
customFields:
$ref: '#/components/schemas/customProperties'
description: A generic description of a traveler, not including any identifying information
x-tm: INDIVIDUAL TRAVELLER
url:
type: string
description: valid URL
format: uri
normalString:
maxLength: 200
type: string
description: default string, full names etc (length 0-200)
updateTravelDocumentValidityResponse:
required:
- newTravelDocumentId
- previousTravelDocumentId
type: object
properties:
previousTravelDocumentId:
type: string
description: The travel document id that was replaced
newTravelDocumentId:
type: string
description: The new travel document id with updated validity
legInput:
required:
- legId
- packageId
- type
type: object
properties:
packageId:
$ref: '#/components/schemas/packageReference'
type:
type: string
offerId:
$ref: '#/components/schemas/offerReference'
legId:
$ref: '#/components/schemas/legReference'
location:
$ref: '#/components/schemas/placeReference'
day:
type: string
enum:
- MON
- TUE
- WED
- THU
- FRI
- SAT
- SUN
x-tm: DAY OF WEEK
purchaseParameter:
required:
- type
type: object
properties:
type:
pattern: ^(purchase)$
type: string
maximumPeriodBeforeDeparture:
$ref: '#/components/schemas/longInt'
requiredLicenseTypes:
maxItems: 5
type: array
description: ONE of these licenses is required to operate the asset
items:
$ref: '#/components/schemas/licenseType'
description: specify required information to complete a purchase
x-tm:
- concept: PURCHASE WINDOW
- maximumPeriodBeforeDeparture: MaximumPeriodBeforeDeparture
- requiredLicenseTypes: ENTITLEMENT REQUIRED
offerReference:
$ref: '#/components/schemas/normalString'
updateTravelDocumentValidityInput:
required:
- newStartTime
- packageId
- travelDocumentId
- type
type: object
properties:
packageId:
$ref: '#/components/schemas/packageReference'
type:
pattern: ^(update_travel_document_validity)$
type: string
travelDocumentId:
type: string
description: The id of the travel document to update
newStartTime:
$ref: '#/components/schemas/dateTimeOrNow'
usageValidityPeriod:
required:
- id
- type
type: object
properties:
id:
$ref: '#/components/schemas/usageValidityPeriodReference'
type:
pattern: ^(usage_validity_period)$
type: string
validityPeriodType:
$ref: '#/components/schemas/usageValidityPeriodType'
usageTrigger:
$ref: '#/components/schemas/usageTrigger'
usageEnd:
$ref: '#/components/schemas/usageEnd'
standardDuration:
type: string
description: Positive ISO 8601 duration of the usage validity period, for example PT168H.
format: duration
activationMeans:
$ref: '#/components/schemas/activationMeans'
startDate:
$ref: '#/components/schemas/date'
startTime:
type: string
format: time
endDate:
$ref: '#/components/schemas/date'
endTime:
type: string
format: time
usageStartConstraintType:
$ref: '#/components/schemas/usageStartConstraintType'
blackoutUse:
$ref: '#/components/schemas/blackoutUse'
x-tm: USAGE VALIDITY PERIOD
package:
allOf:
- $ref: '#/components/schemas/travelSpecification'
- $ref: '#/components/schemas/placeDefinitions'
- required:
- offers
- price
- status
- type
type: object
properties:
type:
pattern: ^(package)$
type: string
id:
type: string
externalReference:
$ref: '#/components/schemas/externalReference'
status:
$ref: '#/components/schemas/packageStatus'
price:
$ref: '#/components/schemas/amountOfMoney'
offers:
type: array
items:
$ref: '#/components/schemas/offer'
guarantees:
type: array
items:
$ref: '#/components/schemas/externalReference'
travellers:
type: array
items:
oneOf:
- $ref: '#/components/schemas/individualTraveller'
- $ref: '#/components/schemas/userProfile'
- $ref: '#/components/schemas/travellingAsset'
links:
type: array
items:
$ref: '#/components/schemas/link'
description: a purchased package is a registration of an agreement between end user and TO, to execute a package (=set of legs) according a specification, including all conditions
x-tm: TRAVEL OFFER PACKAGE, CUSTOMER PURCHASE PACKAGE
offerCollection:
required:
- type
type: object
properties:
type:
pattern: ^(OfferCollection)$
type: string
offers:
type: array
items:
$ref: '#/components/schemas/offer'
numberMatched:
type: integer
numberReturned:
type: integer
links:
type: array
description: actions that can be performed on this package, but also alternative (rel=alternative+1, alternative+2) offers or references to other resources In case it is an alternative, specify clearly in the description what the financial consequences are.
items:
$ref: '#/components/schemas/link'
travelSpecification:
type: object
properties:
from:
$ref: '#/components/schemas/placeReference'
via:
maxItems: 3
minItems: 0
type: array
description: use an ID contained in the **placeDefinitions** field, or from an external source, when using coordinates, please use the prefix 'gps:'
items:
$ref: '#/components/schemas/placeReference'
to:
$ref: '#/components/schemas/placeReference'
startTime:
$ref: '#/components/schemas/dateTime'
endTime:
$ref: '#/components/schemas/dateTime'
x-tm: TRAVEL SPECIFICATION
purchaseOffersInput:
required:
- offerIds
- type
type: object
properties:
offerIds:
type: array
items:
$ref: '#/components/schemas/offerReference'
type:
pattern: ^(purchase_offers)$
type: string
customer:
$ref: '#/components/schemas/customerRef'
contact:
$ref: '#/components/schemas/customerRef'
externalReference:
$ref: '#/components/schemas/externalReference'
usageValidityPeriodReference:
$ref: '#/components/schemas/normalString'
license:
required:
- number
- type
type: object
properties:
type:
pattern: ^(license)$
type: string
licenseType:
$ref: '#/components/schemas/licenseType'
licenseNumber:
$ref: '#/components/schemas/shortString'
endValidity:
$ref: '#/components/schemas/date'
description: driver or usage license for a specific user. Contains the number and the assetType you're allowed to operate (e.g. driver license for CAR)
x-tm: ACCEPTED DRIVER PERMIT
usageEnd:
type: string
description: Event that ends the usage validity period.
enum:
- STANDARD_DURATION
- END_OF_CALENDAR_PERIOD
- END_OF_RIDE
- END_OF_TRIP
- END_OF_FARE_DAY
- END_OF_FARE_PERIOD
- PRODUCT_EXPIRY
- PROFILE_EXPIRY
- DEREGISTRATION
- OTHER
userNeedReference:
required:
- id
type: object
properties:
id:
$ref: '#/components/schemas/normalString'
name:
$ref: '#/components/schemas/normalString'
postalAddress:
required:
- addressLine1
- addressLine2
type: object
properties:
placeId:
$ref: '#/components/schemas/placeReference'
addressLine1:
$ref: '#/components/schemas/longString'
addressLine2:
$ref: '#/components/schemas/longString'
street:
$ref: '#/components/schemas/normalString'
houseNumber:
$ref: '#/components/schemas/normalInt'
houseNumberAddition:
$ref: '#/components/schemas/tinyString'
postalCode:
$ref: '#/components/schemas/shortString'
city:
$ref: '#/components/schemas/shortString'
province:
$ref: '#/components/schemas/shortString'
state:
$ref: '#/components/schemas/shortString'
country:
$ref: '#/components/schemas/country'
additionalInfo:
$ref: '#/components/schemas/longString'
additionalProperties: false
description: address parts, where addressLine1 and 2 should contain the complete address, matches Content-Language
x-tm: POSTAL ADDRESS
distributionParameter:
required:
- type
type: object
properties:
type:
pattern: ^(distribution)$
type: string
fulfilmentMethod:
$ref: '#/components/schemas/normalString'
distributionChannel:
$ref: '#/components/schemas/normalString'
x-tm: DISTRIBUTION VALIDITY PARAMETERS
link:
required:
- href
- rel
type: object
properties:
rel:
type: string
description: the action that can be performed OR part of the URI allowed values include the 'processId's, prefixes for the referenced data sources, prefixes for deeplinks ('apple' and 'android'), OGC compliant ones (alternative, next, etc)
href:
$ref: '#/components/schemas/url'
type:
$ref: '#/components/schemas/shortString'
method:
type: string
description: to indicate the http method.
enum:
- POST
- GET
- PUT
- DELETE
- PATCH
description:
type: string
description: the description of the external data source
body:
type: object
description: the (prefilled) body for the request
headers:
type: object
additionalProperties:
type: string
isMandatory:
type: boolean
description: is this link informative, or must it be used?
hash:
type: string
description: to validate that the content of the link hasn't been changed.
validity:
$ref: '#/components/schemas/temporalParameter'
additionalProperties: false
x-externalDocs:
url: https://github.com/opengeospatial/ogcapi-processes/raw/refs/heads/master/openapi/schemas/common-core/link.yaml
frequencyOfUseType:
type: string
description: NeTEx classification of a frequency-of-use parameter.
enum:
- NONE
- UNLIMITED
- LIMITED
- TWICE_A_DAY
- SINGLE
reservationRequirement:
required:
- reservationPolicy
- spotType
- type
type: object
properties:
type:
pattern: ^(reservation_requirement)$
type: string
spotType:
type: string
description: The kind of spot the reservation rule applies to.
enum:
- VEHICLE_SPOT
- PASSENGER_SPOT
- LUGGAGE_SPOT
reservationPolicy:
$ref: '#/components/schemas/reservationPolicy'
sourceReservationPolicy:
type: string
description: Raw reservation policy from the upstream provider, when available.
assetSelection:
$ref: '#/components/schemas/assetSelection'
serviceJourney:
$ref: '#/components/schemas/serviceJourneyReference'
fulfilledByAncillaries:
type: array
description: Ancillaries that can fulfill this reservation requirement when reservation is sold as a separate product.
items:
$ref: '#/components/schemas/ancillaryReference'
x-tm: SEATING RESERVATION REQUIREMENT
customerRef:
required:
- id
type: object
properties:
id:
$ref: '#/components/schemas/normalString'
description: Reference to an existing customer by id.
x-tm: TRANSPORT CUSTOMER
serviceJourneyReference:
$ref: '#/components/schemas/normalString'
usageTrigger:
type: string
description: Event that starts the usage validity period.
enum:
- ENROLMENT
- RESERVATION
- PURCHASE
- FULFILMENT
- ACTIVATION
- SPECIFIED_START_DATE
- START_OUTBOUND_RIDE
- END_OUTBOUND_RIDE
- START_RETURN_RIDE
- START_OF_PERIOD
- DAY_OFFSET_BEFORE_CALENDAR_PERIOD
headers:
contentLanguage:
description: The language/localization of user-facing content, One IETF BCP 47 (RFC 5646) language tag (nl-NL)
required: true
style: simple
explode: false
schema:
pattern: ^[a-zA-Z]+-[a-zA-Z]+$
type: string
enturOrderVersion:
description: order version from Entur Orders API for the returned package
required: false
style: simple
explode: false
schema:
minimum: 1
type: integer
version:
description: the version used to format the response
required: true
style: simple
explode: false
schema:
type: string
parameters:
authorization:
name: authorization
in: header
description: Header field, JWT must be supplied
required: true
style: simple
explode: false
schema:
type: string
ET-Client-Name:
name: ET-Client-Name
in: header
description: 'Entur Client Header.
It is required that all consumers identify themselves by using this header.
Entur will deploy strict rate-limiting policies on API-consumers who do not identify with a header and reserves the right to block unidentified consumers.
The structure of ET-Client-Name should be: `-`.'
required: false
style: simple
explode: false
schema:
type: string
limit:
name: limit
in: query
description: 'The optional limit parameter limits the number of items that are presented in the response document.
Only items are counted that are on the first level of the collection in the response document.
Nested objects contained within the explicitly requested items shall not be counted. Minimum = 1. Maximum = 10000. Default = 100.'
required: false
style: form
explode: false
schema:
maximum: 10000
minimum: 1
type: integer
default: 100
X-Correlation-Id:
name: X-Correlation-Id
in: header
description: Correlation id
required: false
style: simple
explode: false
schema:
type: string
EnturPOSHeaderRequired:
name: Entur-POS
in: header
description: Point-of-sale identifier used by downstream sales and ticket distribution services.
required: true
style: simple
explode: false
schema:
type: string
offset:
name: offset
in: query
description: 'The optional offset parameter representing the starting index of the returned collection.
Only items are counted that are on the first level of the collection in the response document.
Nested objects contained within the explicitly requested items shall not be counted.
Default = 0.'
required: false
style: form
explode: false
schema:
minimum: 0
type: integer
default: 0
acceptLanguage:
name: Accept-Language
in: header
required: true
style: simple
explode: false
schema:
$ref: '#/components/schemas/shortString'
x-externalDocs:
description: A comma-separated list of BCP 47 (RFC 5646) language tags and optional weights as described in IETF RFC7231 section 5.3.5. A list of the languages/localizations the user would like to see the results in. For user privacy and ease of use on the TO side, this list should be kept as short as possible
bbox:
name: bbox
in: query
description: 'Only features that have a geometry that intersects the bounding box are selected. The bounding box is provided as four or six numbers, depending on whether the coordinate reference system includes a vertical axis (height or depth): * Lower left corner, coordinate axis 1 * Lower left corner, coordinate axis 2 * Minimum value, coordinate axis 3 (optional) * Upper right corner, coordinate axis 1 * Upper right corner, coordinate axis 2 * Maximum value, coordinate axis 3 (optional)
If the value consists of four numbers, the coordinate reference system is WGS 84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84)
unless a different coordinate reference system is specified in the parameter `bbox-crs`.
If the value consists of six numbers, the coordinate reference system is WGS 84 longitude/latitude/ellipsoidal height (http://www.opengis.net/def/crs/OGC/0/CRS84h) unless a different coordinate reference system is specified in the parameter `bbox-crs`.
The query parameter `bbox-crs` is specified in OGC API - Features - Part 2: Coordinate Reference Systems by Reference.
For WGS 84 longitude/latitude the values are in most cases the sequence of minimum longitude, minimum latitude, maximum longitude and maximum latitude.
However, in cases where the box spans the antimeridian the first value (west-most box edge) is larger than the third value (east-most box edge).
If the vertical axis is included, the third and the sixth number are the bottom and the top of the 3-dimensional bounding box.
If a feature has multiple spatial geometry properties, it is the decision of the server whether only a single spatial geometry property is used to determine the extent or all relevant geometries.'
required: false
style: form
explode: false
schema:
type: array
items:
type: number
EnturDistributionChannelHeaderRequired:
name: Entur-Distribution-Channel
in: header
description: Distribution channel identifier used by downstream sales and ticket distribution services.
required: true
style: simple
explode: false
schema:
type: string
securitySchemes:
OpenData:
type: http
description: this data set is open. If it is one of the options, it is up to the implementing party whether it is open or not.
scheme: none
BearerAuth:
type: http
description: This authentication is the basic one. If you have obtained a JWT (somewhere), you can use this token to identify you at endpoints.
scheme: bearer
bearerFormat: JWT
OAuth:
type: oauth2
description: This flow facilitates to get access tokens based on username/password. These can be obtained by the owner of the service, look at the landing page to find out how to contact it.
flows:
authorizationCode:
authorizationUrl: /
tokenUrl: /oauth/token
scopes:
processes: Access to /processes/
OAuthPKI:
type: oauth2
description: OAuth 2.0 with PKI and mutual TLS for client authentication The client sends its X.509 during the handshake. The server validates and accepts the certificate. The call to the /oauth/token can use the provided credentials (O or CN) to provide a access_token (JWT).
flows:
clientCredentials:
tokenUrl: /oauth/token
scopes:
processes: Access to /processes/
x-refined-from:
- entur-omsa-openapi.json
- entur-omsa-openapi.yml