openapi: 3.2.0 info: title: Entur Orders API version: 2026.09.0 description: 'Operations tagged Orders across 4 of this provider''s published API definitions: entur-order-partner-openapi.json, entur-personalisation-client-openapi.json, entur-order-partner-openapi.yml, entur-personalisation-client-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://api.staging.entur.io/sales description: Staging test environment - url: https://api.dev.entur.io/sales description: Development test environment - url: https://api.entur.io/sales description: Production environment - url: https://api.entur.io/personalisation tags: - name: Orders description: Top level services for order paths: /v1/orders: parameters: - $ref: '#/components/parameters/ET-Client-Name' - $ref: '#/components/parameters/X-Correlation-Id' get: tags: - Orders summary: Get Orders description: 'Get Orders by specifying multiple filter query parameters. Each value(s) must be prefixed with a valid search operator [eq, ne, gt, gte, lt, lte, in, nin, sw]. Supported operators vary per query parameter. See examples in some query parameters.' operationId: getOrders parameters: - name: balance in: query description: Filter by balance required: false style: form explode: true schema: type: array items: type: string - name: contact in: query description: Filter by contact info contact required: false style: form explode: true schema: type: array items: type: string - name: createdAt in: query description: Filter by created at required: false style: form explode: true schema: type: array items: type: string - name: createdBy in: query description: Filter by contact info created by required: false style: form explode: true schema: type: array items: type: string examples: default: value: - in:1234567,7654321 - name: currency in: query description: Filter by currency required: false style: form explode: true schema: type: array items: type: string - name: datedServiceJourneyId in: query description: Filter by Leg with Dated Service Journey ID required: false style: form explode: true schema: type: array items: type: string - name: distributionChannelId in: query description: Filter by Distribution Channel used when Order was created required: false style: form explode: true schema: type: array items: type: string - name: endTime in: query description: Filter by the endTime of one of the Legs on the Order required: false style: form explode: true schema: type: array items: type: string examples: default: value: - lte:2019-01-11T00:00:00Z - name: externalReference in: query description: 'Filter by external reference. Supports exact match (eq, ne, in, nin) and prefix match with sw. Several prefixes can be combined in one value, e.g. `sw:BRY321,POSTMA` — an order matches if the reference starts with any of them.' required: false style: form explode: true schema: type: array items: type: string examples: default: value: - sw:BRY321 - name: fromStopPlaceId in: query description: Filter by Leg with from Stop Place ID required: false style: form explode: true schema: type: array items: type: string - name: id in: query description: Filter by order ID required: false style: form explode: true schema: type: array items: type: string examples: default: value: - eq:3N7URR0X - name: lastConfirmedAt in: query description: Filter by when an Order was last confirmed required: false style: form explode: true schema: type: array items: type: string - name: orderBy in: query description: Sorts the result based on a field in the Order objects required: false style: form explode: true schema: type: string examples: default: value: totalAmount - name: orderLineExternalReference in: query description: Filter by order lines external reference required: false style: form explode: true schema: type: array items: type: string - name: orderLineId in: query description: Filter by OrderLine ID required: false style: form explode: true schema: type: array items: type: string - name: organisationId in: query description: Filter by Organisation ID required: false style: form explode: true schema: type: array items: type: string - name: originalDatedServiceJourneyId in: query description: Filter by Leg with Original Dated Service Journey ID required: false style: form explode: true schema: type: array items: type: string - $ref: '#/components/parameters/paginationPageParam' - $ref: '#/components/parameters/paginationPerPageParam' - name: pos in: query description: Filter by POS header used when Order was created required: false style: form explode: true schema: type: array items: type: string - name: reservationId in: query description: Filter by Reservation ID on OrderLines required: false style: form explode: true schema: type: array items: type: string - name: salesPackageId in: query description: Filter by Sales Package ID required: false style: form explode: true schema: type: array items: type: string - name: salesPackageVersion in: query description: Filter by Sales Package version required: false style: form explode: true schema: type: array items: type: string - name: fareProductId in: query description: Filter by Fare Product ID required: false style: form explode: true schema: type: array items: type: string examples: default: value: - eq:ENT:PurchasedFareProduct:12345678 - name: fareProductVersion in: query description: Filter by Fare Product version required: false style: form explode: true schema: type: array items: type: string examples: default: value: - eq:ENT:Version:1 - name: serviceJourneyId in: query description: Filter by Leg with Service Journey ID required: false style: form explode: true schema: type: array items: type: string - name: sortBy in: query description: Sorts the result ascending or descending required: false style: form explode: true schema: type: string default: ASC enum: - ASC - DESC examples: default: value: DESC - name: startTime in: query description: Filter by the startTime of one of the Legs on the Order required: false style: form explode: true schema: type: array items: type: string examples: default: value: - gt:2019-01-09T00:00:00Z - name: status in: query description: Filter by Workflow Status required: false style: form explode: true schema: type: array items: type: string - name: toStopPlaceId in: query description: Filter by Leg with to Stop Place ID required: false style: form explode: true schema: type: array items: type: string - name: totalAmount in: query description: Filter by total amount required: false style: form explode: true schema: type: array items: type: string - name: totalTaxAmount in: query description: Filter by total tax amount required: false style: form explode: true schema: type: array items: type: string - name: version in: query description: Optional version query required: false style: form explode: true schema: type: array items: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PageOfOrder' '400': $ref: '#/components/responses/badRequest' '500': $ref: '#/components/responses/internalServerError' '503': $ref: '#/components/responses/serviceUnavailable' security: - authHeader: [] post: tags: - Orders summary: Create an empty Order, and return the Order object description: By calling this endpoint, a new, empty Order will be created. The Order ID can then be used to modify the Order to add journeys, etc. operationId: createOrder parameters: - $ref: '#/components/parameters/dciHeader' - $ref: '#/components/parameters/posHeader' - $ref: '#/components/parameters/onBehalfOfHeader' requestBody: description: Order content: application/json: schema: $ref: '#/components/schemas/OrderCreateRequest' required: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Order' '400': $ref: '#/components/responses/badRequest' '403': $ref: '#/components/responses/forbidden' '409': $ref: '#/components/responses/conflict' '500': $ref: '#/components/responses/internalServerError' '503': $ref: '#/components/responses/serviceUnavailable' security: - authHeader: [] servers: - url: https://api.staging.entur.io/sales description: Staging test environment - url: https://api.dev.entur.io/sales description: Development test environment - url: https://api.entur.io/sales description: Production environment /v1/orders/{orderId}: parameters: - $ref: '#/components/parameters/orderIdPathParam' - $ref: '#/components/parameters/ET-Client-Name' - $ref: '#/components/parameters/X-Correlation-Id' get: tags: - Orders summary: Get Order with ID in latest version description: Get the latest versioned Order. Earlier versions with status CONFIRMED can be retrieved by specifying version=. operationId: getOrder parameters: - name: version in: query description: Optional version query required: false style: form explode: true schema: minimum: 1 type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Order' '404': $ref: '#/components/responses/notFound' '500': $ref: '#/components/responses/internalServerError' security: - authHeader: [] put: tags: - Orders summary: Update an Order description: Update one or multiple values on an Order. operationId: updateOrder parameters: - $ref: '#/components/parameters/dciHeader' - $ref: '#/components/parameters/posHeader' requestBody: description: Order content: application/json: schema: $ref: '#/components/schemas/OrderRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Order' '400': $ref: '#/components/responses/badRequest' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '500': $ref: '#/components/responses/internalServerError' '503': $ref: '#/components/responses/serviceUnavailable' security: - authHeader: [] servers: - url: https://api.staging.entur.io/sales description: Staging test environment - url: https://api.dev.entur.io/sales description: Development test environment - url: https://api.entur.io/sales description: Production environment /v1/orders/{orderId}/unlock: parameters: - $ref: '#/components/parameters/dciHeader' - $ref: '#/components/parameters/posHeader' - $ref: '#/components/parameters/orderIdPathParam' - $ref: '#/components/parameters/ET-Client-Name' - $ref: '#/components/parameters/X-Correlation-Id' post: tags: - Orders summary: Unlock Order description: Unlock order if it is locked. operationId: unlockOrder responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Order' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '500': $ref: '#/components/responses/internalServerError' '503': $ref: '#/components/responses/serviceUnavailable' security: - authHeader: [] servers: - url: https://api.staging.entur.io/sales description: Staging test environment - url: https://api.dev.entur.io/sales description: Development test environment - url: https://api.entur.io/sales description: Production environment /v1/orders/{orderId}/fail: parameters: - $ref: '#/components/parameters/dciHeader' - $ref: '#/components/parameters/posHeader' - $ref: '#/components/parameters/orderIdPathParam' - $ref: '#/components/parameters/ET-Client-Name' - $ref: '#/components/parameters/X-Correlation-Id' post: tags: - Orders summary: Fail Order description: Fail the order and order lines that have externalConfirmation=PENDING. An OrderFailed event is emitted and the order transitions to CONFIRMED with failed=true. Returns 200 with the current order state, including if the order is already confirmed or failed. operationId: failOrder requestBody: content: application/json: schema: $ref: '#/components/schemas/FailOrderRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Order' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '500': $ref: '#/components/responses/internalServerError' '503': $ref: '#/components/responses/serviceUnavailable' security: - authHeader: [] servers: - url: https://api.staging.entur.io/sales description: Staging test environment - url: https://api.dev.entur.io/sales description: Development test environment - url: https://api.entur.io/sales description: Production environment /v1/orders/{orderId}/confirm: parameters: - $ref: '#/components/parameters/dciHeader' - $ref: '#/components/parameters/posHeader' - $ref: '#/components/parameters/orderIdPathParam' - $ref: '#/components/parameters/ET-Client-Name' - $ref: '#/components/parameters/X-Correlation-Id' post: tags: - Orders summary: Confirm Order description: Manually confirm Orders where the balance is equal to 0.00 operationId: confirmOrder responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Order' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '500': $ref: '#/components/responses/internalServerError' '503': $ref: '#/components/responses/serviceUnavailable' security: - authHeader: [] servers: - url: https://api.staging.entur.io/sales description: Staging test environment - url: https://api.dev.entur.io/sales description: Development test environment - url: https://api.entur.io/sales description: Production environment /v1/orders/{orderId}/reset: parameters: - $ref: '#/components/parameters/dciHeader' - $ref: '#/components/parameters/posHeader' - $ref: '#/components/parameters/orderIdPathParam' - $ref: '#/components/parameters/ET-Client-Name' - $ref: '#/components/parameters/X-Correlation-Id' post: tags: - Orders summary: Reset Order to the latest confirmed version, or initial state if it has never… description: This can be used when customers spend too much time placing an Order with a seat Reservation. By using reset, the application will free up space so that the seats can be reserved by others. operationId: resetOrder responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Order' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '500': $ref: '#/components/responses/internalServerError' '503': $ref: '#/components/responses/serviceUnavailable' security: - authHeader: [] servers: - url: https://api.staging.entur.io/sales description: Staging test environment - url: https://api.dev.entur.io/sales description: Development test environment - url: https://api.entur.io/sales description: Production environment /v1/programs/{programId}/deferred-registration: parameters: - $ref: '#/components/parameters/ET-Client-Name' - $ref: '#/components/parameters/X-Correlation-Id' post: tags: - Orders summary: Deferred registration description: 'Replays the events for a given order ID and order line ID to manually register potential points for a given customer ID. Returns `422 Unprocessable Entity` if no points could be given to the customer. Returns `200 OK` with details about the points given if successful.' operationId: deferredRegistrationForProgram parameters: - name: programId in: path required: true style: simple explode: false schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/DeferredRegistration' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PointsGivenResult' '400': $ref: '#/components/responses/Error400' '401': $ref: '#/components/responses/Error401' '403': $ref: '#/components/responses/Error403' '404': $ref: '#/components/responses/Error404' '422': description: Unprocessable Content content: application/json: schema: $ref: '#/components/schemas/NoPointsGivenResult' '500': $ref: '#/components/responses/Error500' x-entur-permissions: value: personalisation-customerdata-global:endre security: - jwt: [] servers: - url: https://api.entur.io/personalisation /v1/transactions: parameters: - $ref: '#/components/parameters/ET-Client-Name' - $ref: '#/components/parameters/X-Correlation-Id' get: tags: - Orders summary: Get all transactions for orderId description: Get all transactions created by an order ID in all available programs. operationId: findTransactionsByOrderId parameters: - name: orderId in: query required: true style: form explode: true schema: type: string responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/TransactionByOrder' '400': $ref: '#/components/responses/Error400' '401': $ref: '#/components/responses/Error401' '403': $ref: '#/components/responses/Error403' '404': $ref: '#/components/responses/Error404' '500': $ref: '#/components/responses/Error500' x-entur-permissions: value: any: - personalisation-customerdata:les - personalisation-customerdata-global:les security: - jwt: [] servers: - url: https://api.entur.io/personalisation components: schemas: Distance: title: Distance required: - unit - value type: object properties: value: type: number description: The distance value. format: decimal examples: - 12.5 unit: $ref: '#/components/schemas/DistanceUnit' description: A distance value with a unit. SetSelection: title: SetSelection type: string description: Set selection type for a group containing multiple elements enum: - ONE_OF_ANY_ONE_SET - ONE_OF_EACH_SET - SOME_OF_ANY_SET - ALL_OF_ONE_SET - ALL_OF_ALL_SETS DistanceUnit: title: DistanceUnit type: string description: Unit of distance measurement. enum: - METER - KILOMETER FailOrderRequest: title: FailOrderRequest required: - orderLineIds type: object properties: orderLineIds: type: array description: IDs of order lines that failed external confirmation. Must be order lines with externalConfirmation=PENDING. items: type: string format: uuid Limitation: title: Limitation type: object properties: dynamicUsageValidityPeriod: $ref: '#/components/schemas/DynamicUsageValidityPeriod' usageValidityPeriodRef: $ref: '#/components/schemas/RefType' userProfileRef: $ref: '#/components/schemas/RefType' groupTicketRef: $ref: '#/components/schemas/RefType' groupTicket: $ref: '#/components/schemas/GroupTicket' TextInLanguage: title: TextInLanguage required: - lang - value type: object properties: lang: type: string description: Language code according to ISO 639-3 examples: - nob value: type: string description: A text to describe the contents of this OrderLine examples: - Tekstlige detaljer om ordrelinjen TravelDocumentDistributionAction: title: TravelDocumentDistributionAction type: string enum: - ATTACH_FARE_CONTRACT_AND_ACTIVATE OrderCreateRequest: title: OrderCreateRequest type: object properties: contactInfo: $ref: '#/components/schemas/ContactInfo' currency: type: string description: The currency for this Order. default: NOK externalReference: type: string description: External reference for Orders examples: - 3N7URR0X expireAt: type: string description: Any changes not confirmed before this point in time will be discarded. Default is 20 minutes from the last operation. Cannot be in the past, or further into the future than six months. format: date-time examples: - '2020-05-13T07:19:30.389Z' organisationOverride: type: string description: Deprecated. Use header Entur-On-Behalf-Of instead. If present, the Order will be created on behalf of the given organisation ID, rather than the organisation associated with the token. Requires special agreements before use is allowed. deprecated: true examples: - '2' description: Optional configuration to use when creating an Order examples: - contactInfo: createdBy: id: '12345678' contact: id: '12345678' externalReference: some-external-ref-123 expireAt: '2030-05-13T07:19:30.389Z' PurchasedFareProductValidity: title: PurchasedFareProductValidity required: - validityId type: object properties: validityId: type: string description: Unique identifier for a purchased FareProduct with validity pointToPointValidity: $ref: '#/components/schemas/PointToPointValidity' zonalValidity: $ref: '#/components/schemas/ZonalValidity' description: The PointToPontValidity or ZonalValidity this FareProduct contains. PurchasedUsageParameter: title: PurchasedUsageParameter required: - price - priceContribution - usageParameterRef type: object properties: usageParameterRef: $ref: '#/components/schemas/RefType' price: $ref: '#/components/schemas/PriceWithTax' priceContribution: $ref: '#/components/schemas/PriceWithTax' description: A simple representation of a UsageParameter PurchasedAccommodation: title: PurchasedAccommodation type: string description: Type of accommodation chosen by customer enum: - SLEEPER - SEATING - DOUBLE_SLEEPER - SINGLE_SLEEPER - SPECIAL_SLEEPER - COUCHETTE - SINGLE_COUCHETTE - DOUBLE_COUCHETTE - RECLINING_SEAT - BABY_COMPARTMENT - FAMILY_COMPARTMENT - PANORAMA_COACH - PULLMAN_COACH - STANDING - ANY_FACILITY_SET UsageEnd: title: UsageEnd type: string 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 - NO_TEMPORAL_VALIDITY PurchasedUserProfile: title: PurchasedUserProfile required: - price - priceContribution - userProfileRef type: object properties: userProfileRef: $ref: '#/components/schemas/RefType' price: $ref: '#/components/schemas/PriceWithTax' priceContribution: $ref: '#/components/schemas/PriceWithTax' typeOfConcession: type: string description: The type of concession for this UserProfile examples: - SENIOR description: A representation of a user profile CancellationReason: title: CancellationReason type: string description: Cancellation reason for an OrderLine. OrderLines with REPLACED have been replaced with a newer version. enum: - CANCELLED - REPLACED FeeRequest: title: FeeRequest required: - orderLineIds - price - reason - type type: object properties: price: $ref: '#/components/schemas/PriceWithTax' type: type: string description: 'Type of Fee. Valid types: MANUAL, REFUNDING, ONBOARD, CHANGE, INVOICE, CHANGE_NON_REFUNDABLE, PENALTY, BOOKING, REDUCTION' examples: - REFUND externalRef: $ref: '#/components/schemas/RefType' reason: type: string description: Explanatory text describing the reason for the Fee, if applicable default: '' examples: - VYB:Refunding:HalfRefunded orderLineIds: type: array description: References to the OrderLines this Fee refers to, if applicable. If empty, the fee refers to all order lines items: type: string format: uuid examples: - dd3e1d71-1c96-4b88-a683-538a8724ee0d default: [] orderVersion: type: integer description: The version of the Order this Fee is added to format: int32 examples: - 2 linkedByExtRef: $ref: '#/components/schemas/RefType' description: Fee related to one or more OrderLines examples: - price: amount: '50.00' taxAmount: '10.00' currency: NOK type: REFUND reason: ABC:Refunding:HalfRefunded orderLineIds: - dd3e1d71-1c96-4b88-a683-538a8724ee0d orderVersion: 2 RefType: title: RefType required: - id type: object properties: id: type: string description: ID of the resources examples: - ENT:Resource:12345 version: type: string description: A specific version of the resource if applicable examples: - '1' description: Reference to a resource available in a different APIs OrderLine: title: OrderLine allOf: - required: - createdAt - id - status - version type: object properties: id: type: string description: ID of OrderLine format: uuid examples: - dd3e1d71-1c96-4b88-a683-538a8724ee0d version: type: integer description: Version of this OrderLine. This is iterated when the OrderLine is updated, but not when it is replaced. format: int32 default: 1 examples: - 1 status: $ref: '#/components/schemas/WorkflowStatus' cancellation: $ref: '#/components/schemas/CancellationReason' createdAt: type: string description: Timestamp for when the OrderLine was created. format: date-time lastConfirmedAt: type: string description: Timestamp for when the OrderLine was last confirmed. format: date-time refunded: type: boolean description: If true = refunded, false = cancelled, null = active parameterSpecifications: type: array items: $ref: '#/components/schemas/PurchasedParameterSpecification' addedBy: $ref: '#/components/schemas/AddedBy' - $ref: '#/components/schemas/OrderLineRequest' PurchasedFareClass: title: PurchasedFareClass type: string description: Type of FareClass chosen by customer enum: - FIRST_CLASS - SECOND_CLASS - THIRD_CLASS - ECONOMY_CLASS - BUSINESS_CLASS - TURISTA - PREFERENTE - STANDARD_CLASS - PREMIUM_CLASS - ANY - UNKNOWN SpecialOrderCause: title: SpecialOrderCause required: - causeCode type: object properties: causeCode: type: string description: The cause code for issuing the Order. examples: - DELAY organisationId: type: string description: The organisation responsible for the cause. Eg. the Operator responsible for the delay causing a zero ticket to be issued. Should not be confused with the organisationId of the Order, as this has no correlation. examples: - '1' description: Holder for fields used to explain why an Order has been issued. Used for zero tickets. PurchasedDiscountUsageParameters: title: PurchasedDiscountUsageParameters required: - entitlementGiven - reserving type: object properties: reserving: type: array description: Reference to reserving parameters with price information. items: $ref: '#/components/schemas/PurchasedUsageParameter' default: [] entitlementGiven: type: array description: Reference to entitlement products used when calculating price items: $ref: '#/components/schemas/PurchasedUsageParameter' default: [] description: Possible additional parameters for the configurations Order: title: Order type: object description: A purchase Order for one or more Travellers allOf: - required: - balance - createdAt - currency - failed - fees - id - orderLines - organisationId - paymentRefs - reservations - status - totalAmount - totalTaxAmount - travellers - version type: object properties: id: type: string description: ID of Order. examples: - 3N7URR0X version: type: integer description: 'The system increments an Order’s version number whenever some change occurs that causes the Order’s status to go from CONFIRMED to DRAFT. The user has to perform an action that causes the status to go from DRAFT to CONFIRMED (such as paying for the Order) before the time given in expireAt. If the Order is not confirmed within this time, the system will scrap all changes (including the incremented version) and return the Order to its last confirmed version.' format: int32 default: 1 examples: - 2 status: $ref: '#/components/schemas/WorkflowStatus' totalAmount: type: string description: The total amount due for this Order. default: '0.00' balance: type: string description: The balance amount for this Order. default: '0.00' totalTaxAmount: type: string description: The total tax amount for this Order. default: '0.00' currency: type: string description: The currency for this Order. default: NOK orderLines: type: array description: OrderLines in the given Order. items: $ref: '#/components/schemas/OrderLine' default: [] paymentRefs: type: array description: Payment references used on this Order. items: $ref: '#/components/schemas/PaymentRef' default: [] reservations: type: array description: Seating Reservations connected to this Order. items: $ref: '#/components/schemas/PurchasedReservation' default: [] travellers: type: array description: Unique Travellers in this Order. items: $ref: '#/components/schemas/Traveller' default: [] organisationId: type: integer description: ID of the organisation which created/sold this Order. format: int64 examples: - 1 createdAt: type: string description: Timestamp for when Order was created. format: date-time examples: - '2020-05-13T07:19:30.389Z' lastConfirmedAt: type: string description: Timestamp for when Order was last confirmed. format: date-time examples: - '2020-05-13T07:19:30.389Z' fees: type: array description: Fees contained in the Order. items: $ref: '#/components/schemas/Fee' default: [] pos: type: string description: Point-of-sale reference of request used when Order was created examples: - POS-123 distributionChannelId: type: string description: Distribution channel ID of request used when Order was created examples: - ENT:DistributionChannel:Sor failed: type: boolean description: Indicates that the order version has failed and needs to be credited. default: false - $ref: '#/components/schemas/OrderRequest' WorkflowStatus: title: WorkflowStatus type: string description: Status of this Order or OrderLine. Every Order starts out with the status DRAFT, and can only be changed to CONFIRMED when it is balanced - when balance is '0.00'. All OrderLines that are have the status DRAFT at that point in time can also be changed to CONFIRMED. default: DRAFT enum: - DRAFT - CONFIRMED examples: - CONFIRMED PointToPointValidity: title: PointToPointValidity required: - fromPlace - toPlace type: object properties: fromPlace: type: string description: Valid from StopPlace toPlace: type: string description: Valid to StopPlace description: Start and StopPlaces where the entity is valid TravelDocumentDetails: title: TravelDocumentDetails required: - distributionAction - travelDocumentRef type: object properties: travelDocumentRef: $ref: '#/components/schemas/RefType' distributionAction: $ref: '#/components/schemas/TravelDocumentDistributionAction' ApiError: title: ApiError required: - error - exception - message - path - status - timestamp - title type: object properties: title: type: string description: Short, human-readable summary of the problem timestamp: type: string format: date-time status: type: integer format: int32 error: type: string exception: type: string message: type: string path: type: string examples: - timestamp: '2025-05-13T07:19:30.389Z' status: 404 error: Not Found title: Not Found exception: NotFoundException message: The requested resource was not found. path: /orders/ABDC1234 UsageTrigger: title: UsageTrigger type: string 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 ContactInfo: title: ContactInfo type: object properties: createdBy: $ref: '#/components/schemas/CustomerRef' contact: $ref: '#/components/schemas/CustomerRef' description: Contact information related to different aspects in the lifecycle of an Order. PurchasedLeg: title: PurchasedLeg required: - authorityRef - endTime - fromStopPlaceRef - id - mode - operatorRef - serviceJourneyRef - startTime - subMode - toStopPlaceRef type: object properties: id: type: string examples: - '123' datedServiceJourneyRef: $ref: '#/components/schemas/RefType' originalDatedServiceJourneyRef: $ref: '#/components/schemas/RefType' startTime: type: string description: The date and time this Leg begins. format: date-time examples: - '2023-10-12T14:30:00Z' fromStopPlaceRef: $ref: '#/components/schemas/RefType' endTime: type: string description: The date and time this Leg ends. format: date-time examples: - '2023-10-12T15:00:00Z' toStopPlaceRef: $ref: '#/components/schemas/RefType' authorityRef: $ref: '#/components/schemas/RefType' operatorRef: $ref: '#/components/schemas/RefType' organisationId: type: integer description: The organisation that owns the service journey on this leg, Alternative identifier to authorityRef or operatorRef. format: int64 examples: - 1234 serviceJourneyRef: $ref: '#/components/schemas/RefType' mode: $ref: '#/components/schemas/Mode' subMode: $ref: '#/components/schemas/SubMode' interchangeTo: $ref: '#/components/schemas/InterchangeTo' lineId: type: string description: Line ID examples: - ENT:Line:1 serviceJourneyPrivateCode: type: string description: Private code of the ServiceJourney examples: - ENT-1234 railReplacementInfo: $ref: '#/components/schemas/RailReplacementInfo' description: Part of a trip between two places. PurchasedGeographicalInterval: title: PurchasedGeographicalInterval required: - fareZones - geographicalIntervalRef - zones type: object properties: geographicalIntervalRef: $ref: '#/components/schemas/RefType' distance: type: number description: The distance in the geographical interval. format: double examples: - 12.5 zoneCount: type: integer description: Number of zones counted for the journey. format: int32 examples: - 3 zones: type: array description: The Zones for which the journey passes through. Deprecated. This list will be empty when tariff zones are fully replaced by fare zones. deprecated: true items: type: string examples: - ENT:TariffZone:1 default: [] fareZones: type: array description: A list of fare zones that exist in this interval. Empty if not relevant. items: type: string examples: - INN:FareZone:1 default: [] description: The Geographical Interval with distance and zone data. TravelSpecification: title: TravelSpecification required: - validities type: object properties: legs: type: array description: The Legs of a planned travel route. Only Legs which are rides are expected to be added. items: $ref: '#/components/schemas/PurchasedLeg' placesInJourney: type: array description: The StopPlaces the product is valid between. The first element in this array will be the StopPlace the Traveller is travelling from, and the second element will be the StopPlace the Traveller is travelling to. There will never be more than two elements in this array. items: $ref: '#/components/schemas/RefType' validities: type: array description: The FareProductValidities for a product. items: $ref: '#/components/schemas/PurchasedFareProductValidity' default: [] aimedStartTime: type: string description: Timestamp used when determining the beginning of the ticket's validity. Taken from the offer used by the end user when ordering the ticket. Note that the fallback timestamp is the timestamp at which the orderLine was added to the Order. format: date-time examples: - '2023-10-12T14:30:00Z' aimedEndTime: type: string description: Timestamp used when determining the end of the ticket's validity. Taken from the offer used by the end user when ordering the ticket. No fallback, null if not available on offer. format: date-time examples: - '2023-10-12T15:30:00Z' travelDistance: $ref: '#/components/schemas/Distance' PurchasedFareProduct: title: PurchasedFareProduct required: - fareProductRef - legIds - price - priceContribution - validableElements type: object properties: fareProductRef: $ref: '#/components/schemas/RefType' price: $ref: '#/components/schemas/PriceWithTax' priceContribution: $ref: '#/components/schemas/PriceWithTax' legIds: type: array description: The IDs of the Legs that are connected to this FareProduct. items: type: string examples: - '123' default: [] parameters: $ref: '#/components/schemas/PurchasedParameters' validableElements: type: array description: The ValidableElement configurations which makes up this FareProduct. items: $ref: '#/components/schemas/PurchasedValidableElement' organisationRef: $ref: '#/components/schemas/OrganisationRef' discountRight: $ref: '#/components/schemas/PurchasedFareProduct' originatingFromProductId: type: string description: The ID of the entitlement product that allowed the sale discount right to be used elementId: type: string description: Unique ID for this specific PurchasedFareProduct. Note that this ID is only for distinguishing parts of an orderLine. It has no use outside of the orderLine, and can't be found in any other service. examples: - e3d13c4f-3f0e-4b2e-9f4a-5b8c7e2d6a1b saleDiscountRight: $ref: '#/components/schemas/PurchasedSaleDiscountRight' purchasedProperties: $ref: '#/components/schemas/PurchasedProperties' validityId: type: string description: Unique identifier for a purchased FareProduct with validity amount: type: integer description: Amount of priced unit format: int32 purchasedProductType: $ref: '#/components/schemas/PurchasedProductType' parameterSpecifications: type: array items: $ref: '#/components/schemas/PurchasedParameterSpecification' fareAgreementNumber: type: integer description: Fare agreement identifier format: int32 description: Configuration for a purchased Fare Product PurchasedProperties: title: PurchasedProperties required: - purchasedAccommodations - purchasedFareClasses type: object properties: purchasedFareClasses: type: array description: Type of FareClass chosen by customer items: $ref: '#/components/schemas/PurchasedFareClass' default: [] purchasedAccommodations: type: array description: Type of accommodation chosen by customer items: $ref: '#/components/schemas/PurchasedAccommodation' default: [] description: Classification of the products chosen. PurchasedProductType: title: PurchasedProductType type: string description: Type of priced unit enum: - TRIP_CARNET - PASS_CARNET - UNIT_COUPONS - STORED_VALUE - OTHER PurchasedSaleDiscountRight: title: PurchasedSaleDiscountRight required: - discountRightRef - price - priceContribution type: object properties: discountRightRef: $ref: '#/components/schemas/RefType' price: $ref: '#/components/schemas/PriceWithTax' priceContribution: $ref: '#/components/schemas/PriceWithTax' discountParameters: $ref: '#/components/schemas/PurchasedDiscountUsageParameters' originatingFromProductId: type: string description: The ID of the EntitlementProduct that allowed the SaleDiscountRight to be used. examples: - ENT:EntitlementProduct:1 description: Configuration for a Discount Right OrderLineRequest: title: OrderLineRequest required: - description - fareProducts - price - priceContribution - travellers type: object properties: id: type: string description: Id for an OrderLine, required when updating orderLines format: uuid examples: - dd3e1d71-1c96-4b88-a683-538a8724ee0d price: $ref: '#/components/schemas/PriceWithTax' priceContribution: $ref: '#/components/schemas/PriceWithTax' localPrice: $ref: '#/components/schemas/LocalPriceWithTax' salesPackageRef: $ref: '#/components/schemas/RefType' parameters: $ref: '#/components/schemas/PurchasedParameters' fareProducts: type: array description: The underlying FareProducts which make up this SalesPackage. items: $ref: '#/components/schemas/PurchasedFareProduct' default: [] description: type: array description: Description. items: $ref: '#/components/schemas/TextInLanguage' default: [] privateCode: type: string description: Private code. travelSpecification: $ref: '#/components/schemas/TravelSpecification' travellers: type: array description: The Travellers that are to travel on this OrderLine. items: $ref: '#/components/schemas/PurchasedTraveller' default: [] externalReference: type: string description: External reference to another system supplied by the client. examples: - 3N7URR0X distributionDetails: $ref: '#/components/schemas/DistributionDetails' purchasedProperties: $ref: '#/components/schemas/PurchasedProperties' effectiveCancellationDate: type: string description: If set, the effective date for cancellation. Overrides timestamp. format: date-time examples: - '2020-05-13T07:19:30.389Z' clientProvidedData: type: object additionalProperties: type: string description: A map of client provided data. No validation is performed, and no guarantee can be made about its contents. parameterSpecifications: type: array items: $ref: '#/components/schemas/PurchasedParameterSpecification' externalConfirmation: type: string description: 'External confirmation status for this OrderLine. Allowed values: PENDING, SUCCESS, FAILED.' examples: - salesPackageRef: id: ABC:SalesPackage:CompanyTicket version: ABC:Version:1 fareProducts: - fareProductRef: id: ENT:FareProduct:12345 privateCode: 67890 price: amount: '399.00' taxAmount: '36.27' currency: NOK priceContribution: amount: '0.00' taxAmount: '0.00' taxRate: '0.12' taxCode: '06' currency: NOK organisationRef: id: ABC:Authority:1 privateCode: 1234 parameters: userProfile: userProfileRef: id: ABC:UserProfile:Adult price: amount: '200.00' taxAmount: '18.15' currency: NOK priceContribution: amount: '200.00' taxAmount: '18.15' currency: NOK reserving: - usageParameterRef: id: ABC:Reserving:CompulsoryRes price: amount: '0.00' taxAmount: '0.00' currency: NOK priceContribution: amount: '0.00' taxAmount: '0.00' currency: NOK validableElements: - validableElementRef: id: ABC:ValidableElement:54321 version: ABC:Version:VE-1 price: amount: '399.00' taxAmount: '36.27' currency: NOK priceContribution: amount: '0.00' taxAmount: '0.00' currency: NOK parameters: usageValidityPeriod: usageValidityPeriodRef: id: ABC:UsageValidityPeriod:SingleUse elementId: a1b2c3d4-e5f6-7g8h-9i0j-k1l2m3n4o5p6 legIds: - leg-1 fareStructureElements: - fareStructureElementRef: id: ABC:FareStructureElement:98765 version: ABC:Version:FSE-1 price: amount: '399.00' taxAmount: '36.27' currency: NOK priceContribution: amount: '0.00' taxAmount: '0.00' currency: NOK legIds: - leg-1 legIds: - leg-1 price: amount: '399.00' taxAmount: '36.27' currency: NOK priceContribution: amount: '0.00' taxAmount: '0.00' currency: NOK distributionDetails: fulfillmentMethodRef: id: ENT:FulfilmentMethod:Electronic distributionHolderCustomerId: '98765432' travellers: - travellerRef: id: 464b76b9-ad08-47d3-9888-63f36b07f38a travelSpecification: aimedStartTime: '2025-11-07T08:00:00Z' legs: - id: leg-1 startTime: '2025-11-07T08:00:00Z' endTime: '2025-11-07T09:30:00Z' fromStopPlaceRef: id: NSR:StopPlace:12345 toStopPlaceRef: id: NSR:StopPlace:67890 mode: RAIL subMode: REGIONAL_RAIL serviceJourneyRef: id: ABC:ServiceJourney:123 datedServiceJourneyRef: id: ABC:DatedServiceJourney:333 authorityRef: id: ABC:Authority:1 operatorRef: id: ABC:Operator:1 CompanionProfile: title: CompanionProfile required: - maximumNumberOfPersons - minimumNumberOfPersons type: object properties: minimumNumberOfPersons: type: integer examples: - 1 maximumNumberOfPersons: type: integer examples: - 6 userProfileRef: $ref: '#/components/schemas/RefType' PurchasedFareStructureElement: title: PurchasedFareStructureElement required: - fareStructureElementRef - legIds - price - priceContribution type: object properties: fareStructureElementRef: $ref: '#/components/schemas/RefType' price: $ref: '#/components/schemas/PriceWithTax' priceContribution: $ref: '#/components/schemas/PriceWithTax' legIds: type: array description: The Leg IDs that are connected to this FareStructureElement items: type: string default: [] parameters: $ref: '#/components/schemas/PurchasedParameters' interval: $ref: '#/components/schemas/PurchasedGeographicalInterval' qualityStructureFactorRef: $ref: '#/components/schemas/RefType' elementId: type: string description: Unique ID for this specific PurchasedFareStructureElement. Note that this ID is only for distinguishing parts of an orderLine. It has no use outside of the orderLine, and can't be found in any other service. purchasedProperties: $ref: '#/components/schemas/PurchasedProperties' parameterSpecifications: type: array items: $ref: '#/components/schemas/PurchasedParameterSpecification' description: Configuration for a FareStructureElement PageOfOrder: title: PageOfOrder required: - items - totalItems - totalPages type: object properties: items: type: array description: Items on a specific page items: $ref: '#/components/schemas/Order' default: [] totalItems: type: integer description: Total number of items format: int64 examples: - 72 totalPages: type: integer description: Total number of pages available to browse format: int64 examples: - 9 description: Page displays a subset of a list of entities Fee: title: Fee description: Fee related to one or more OrderLines allOf: - required: - id type: object properties: id: type: string description: ID used to uniquely identify Fee if deletion is necessary format: uuid examples: - dd3e1d71-1c96-4b88-a683-538a8724ee0d - $ref: '#/components/schemas/FeeRequest' Entitlement: title: Entitlement required: - entitlementProductRef type: object properties: contractId: type: string description: ID of contract used by Traveller for OrderLine examples: - 598db4f3-ffcc-437c-82a9-d7239ec1ca3f entitlementProductRef: $ref: '#/components/schemas/RefType' externalEntitlementRef: $ref: '#/components/schemas/RefType' description: Information about the product and contract used when generating offer PurchasedReservation: title: PurchasedReservation required: - datedServiceJourneyRef - reservationId type: object properties: reservationId: type: string description: ID and version of the Reservation. format: uuid examples: - de3299ae-b54c-4747-b915-d8536e1a9741 datedServiceJourneyRef: $ref: '#/components/schemas/RefType' ZonalValidity: title: ZonalValidity required: - fareZones - groupOfTariffZones - zones type: object properties: zones: type: array description: Valid in zones. Deprecated. This list will be empty when tariff zones are fully replaced by fare zones. deprecated: true items: type: string examples: - ENT:Zone:1 default: [] fareZones: type: array description: Valid in fare zones items: type: string examples: - ENT:FareZone:1 default: [] groupOfTariffZones: type: array description: Reference to a group of tariff zones. All zones in the group are valid. items: type: string examples: - ENT:GroupOfTariffZones:1 default: [] description: Zones where the product is valid PriceWithTax: title: PriceWithTax required: - amount - currency - taxAmount type: object properties: amount: type: string description: Amount including tax amount. examples: - '399.00' taxAmount: type: string description: Tax amount examples: - '36.27' taxRate: type: string description: Tax rate. Must be in valid BigDecimal format examples: - '12.00' taxCode: type: string description: Tax code for this tax rate examples: - '33' currency: type: string description: Currency default: NOK examples: - NOK description: Price with included tax amounts and an optional rate. PurchasedParameters: title: PurchasedParameters required: - entitlementGiven - exchanging - luggageAllowance - replacing - reserving - roundTrip type: object properties: userProfile: $ref: '#/components/schemas/PurchasedUserProfile' luggageAllowance: type: array description: Reference to luggage allowance parameters with price information. items: $ref: '#/components/schemas/PurchasedUsageParameter' default: [] exchanging: type: array description: Reference to exchanging parameters with price information. items: $ref: '#/components/schemas/PurchasedUsageParameter' default: [] reserving: type: array description: Reference to reserving parameters with price information. items: $ref: '#/components/schemas/PurchasedUsageParameter' default: [] replacing: type: array description: Reference to replacing parameters with price information. items: $ref: '#/components/schemas/PurchasedUsageParameter' default: [] usageValidityPeriod: $ref: '#/components/schemas/PurchasedUsageParameter' group: $ref: '#/components/schemas/PurchasedGroup' roundTrip: type: array description: Reference to round trip parameters with price information. items: $ref: '#/components/schemas/PurchasedUsageParameter' default: [] entitlementGiven: type: array description: Reference to entitlement products used when calculating price items: $ref: '#/components/schemas/PurchasedUsageParameter' default: [] description: Possible additional parameters for the configurations DistributionDetails: title: DistributionDetails type: object properties: fulfillmentMethodRef: $ref: '#/components/schemas/RefType' typeOfTravelDocumentToIssueRef: $ref: '#/components/schemas/RefType' customerAccountRef: $ref: '#/components/schemas/RefType' existingTravelDocumentDetails: $ref: '#/components/schemas/TravelDocumentDetails' distributionHolderCustomerId: type: string description: Reference to a customer who will use the travel right examples: - '12345' description: Wrapper for references connected to distribution of travel rights and/or tickets OrderRequest: title: OrderRequest type: object properties: contactInfo: $ref: '#/components/schemas/ContactInfo' externalReference: type: string description: External reference for Orders examples: - 3N7URR0X expireAt: type: string description: Any changes not confirmed before this point in time will be discarded. Default is 20 minutes from the last operation. Cannot be in the past, or further into the future than six months. format: date-time examples: - '2020-05-13T07:19:30.389Z' specialOrderCause: $ref: '#/components/schemas/SpecialOrderCause' description: A purchase Order for one or more Travellers examples: - contactInfo: createdBy: id: '12345678' contact: id: '12345678' externalReference: some-external-ref-123 expireAt: '2030-05-13T07:19:30.389Z' specialOrderCause: causeCode: DELAY description: Train was delayed. RailReplacementInfo: required: - originalFromStopPlaceRef - originalToStopPlaceRef type: object properties: originalFromStopPlaceRef: type: string description: The stop place ref of the original train station where the passenger would have boarded. originalToStopPlaceRef: type: string description: The stop place ref of the original train station where the passenger would have alighted. description: Present only when this leg is a rail replacement bus service. Contains the original train station stop place references that were used for pricing. PurchasedUserProfileSummary: title: PurchasedUserProfileSummary required: - count - price - priceContribution - userProfileRef type: object properties: userProfileRef: $ref: '#/components/schemas/RefType' count: type: integer description: The number of travellers with given user profile. examples: - 3 price: $ref: '#/components/schemas/PriceWithTax' priceContribution: $ref: '#/components/schemas/PriceWithTax' description: A representation of a user profile to summarize parts of a purchased group. Multiply `count` with `priceContribution` to get sum of all user profiles of same type. CustomerRef: title: CustomerRef required: - id type: object properties: id: type: string description: ID for Customer examples: - '12345' description: Customer reference. LogicalOperator: title: LogicalOperator type: string description: Logical operator enum: - AND - OR - XOR - NOT - NAND - XNOR - NOR PurchasedTraveller: title: PurchasedTraveller required: - entitlements - travellerId type: object properties: travellerId: type: string description: ID for Traveller format: uuid givenConsentId: type: string entitlements: type: array description: Entitlement information for the customer and the OrderLine items: $ref: '#/components/schemas/Entitlement' default: [] description: Traveller for OrderLine ValidityParameter: type: object properties: serviceJourneyRef: $ref: '#/components/schemas/RefType' datedServiceJourneyRef: $ref: '#/components/schemas/RefType' tariffZoneRef: $ref: '#/components/schemas/RefType' fareZoneRef: $ref: '#/components/schemas/RefType' passengerSeatRef: $ref: '#/components/schemas/RefType' groupOfTariffZonesRef: $ref: '#/components/schemas/RefType' description: ValidityParameter object. InterchangeTo: title: InterchangeTo required: - fromServiceJourneyRef - staySeated - toServiceJourneyRef type: object properties: staySeated: type: boolean description: Passengers should remain seated when travelling from and to ServiceJourneys referenced in this object fromServiceJourneyRef: $ref: '#/components/schemas/RefType' toServiceJourneyRef: $ref: '#/components/schemas/RefType' description: Connected ServiceJourneys without changing material DynamicDistanceMatrixElement: title: DynamicDistanceMatrixElement type: object properties: startStopPointRef: $ref: '#/components/schemas/RefType' endStopPointRef: $ref: '#/components/schemas/RefType' startTariffZoneRef: $ref: '#/components/schemas/RefType' endTariffZoneRef: $ref: '#/components/schemas/RefType' description: '' PaymentRef: title: PaymentRef required: - amount - completedAt - currency - orderVersion type: object properties: orderVersion: type: integer description: Order version number this Payment confirmed. format: int32 examples: - 2 paymentId: type: integer description: Reference to the Payment. format: int64 examples: - 12352 creditId: type: integer description: Reference to the Credit. format: int64 examples: - 2321 amount: type: string description: 'The Payment amount. Maximum (totalDigits: 18, fractionDigits: 5) according to ISO 20022.' examples: - '129.5' currency: type: string default: NOK examples: - NOK completedAt: type: string description: Timestamp for when Payment was completed format: date-time examples: - '2018-09-02T07:36:00Z' settlementId: type: integer description: Supplied to the client by an external system for handling settlements. For Internal Entur Clients this is Entur’s Electronic Journal. format: int64 examples: - 18332 description: References to Payments OrganisationRef: title: OrganisationRef required: - id - privateCode type: object properties: id: type: string description: ID for an Organisation privateCode: type: integer description: Private code used to reference an Organisation format: int64 description: The Organisation that owns the FareProduct PurchasedGroup: title: PurchasedGroup required: - groupSummary - groupTicketRef - price - priceContribution - userProfileRefs type: object properties: groupTicketRef: $ref: '#/components/schemas/RefType' price: $ref: '#/components/schemas/PriceWithTax' priceContribution: $ref: '#/components/schemas/PriceWithTax' userProfileRefs: type: array description: The UserProfile IDs that are given rights to travel with this GroupTicket. items: $ref: '#/components/schemas/RefType' default: [] groupSummary: type: array description: A collection of all the different user profiles with price and tax in the group. items: $ref: '#/components/schemas/PurchasedUserProfileSummary' default: [] description: A representation of group product SubMode: type: string description: The transport sub mode (e.g., localBus or expressBus) used when traversing this leg. Null if leg is not a ride default: UNDEFINED enum: - UNKNOWN - UNDEFINED - INTERNATIONAL_FLIGHT - DOMESTIC_FLIGHT - INTERCONTINENTAL_FLIGHT - DOMESTIC_SCHEDULED_FLIGHT - SHUTTLE_FLIGHT - INTERCONTINENTAL_CHARTER_FLIGHT - INTERNATIONAL_CHARTER_FLIGHT - ROUND_TRIP_CHARTER_FLIGHT - SIGHTSEEING_FLIGHT - HELICOPTER_SERVICE - DOMESTIC_CHARTER_FLIGHT - SCHENGEN_AREA_FLIGHT - AIRSHIP_SERVICE - SHORT_HAUL_INTERNATIONAL_FLIGHT - CANAL_BARGE - LOCAL_BUS - REGIONAL_BUS - EXPRESS_BUS - NIGHT_BUS - POST_BUS - SPECIAL_NEEDS_BUS - MOBILITY_BUS - MOBILITY_BUS_FOR_REGISTERED_DISABLED - SIGHTSEEING_BUS - SHUTTLE_BUS - HIGH_FREQUENCY_BUS - DEDICATED_LANE_BUS - SCHOOL_BUS - SCHOOL_AND_PUBLIC_SERVICE_BUS - RAIL_REPLACEMENT_BUS - DEMAND_AND_RESPONSE_BUS - AIRPORT_LINK_BUS - INTERNATIONAL_COACH - NATIONAL_COACH - SHUTTLE_COACH - REGIONAL_COACH - SPECIAL_COACH - SCHOOL_COACH - SIGHTSEEING_COACH - TOURIST_COACH - COMMUTER_COACH - FUNICULAR - STREET_CABLE_CAR - ALL_FUNICULAR_SERVICES - UNDEFINED_FUNICULAR - METRO - TUBE - URBAN_RAILWAY - CITY_TRAM - LOCAL_TRAM - REGIONAL_TRAM - SIGHTSEEING_TRAM - SHUTTLE_TRAM - TRAIN_TRAM - TELECABIN - CABLE_CAR - LIFT - CHAIR_LIFT - DRAG_LIFT - TELECABIN_LINK - LOCAL - HIGH_SPEED_RAIL - SUBURBAN_RAILWAY - REGIONAL_RAIL - INTERREGIONAL_RAIL - LONG_DISTANCE - INTERNATIONAL - SLEEPER_RAIL_SERVICE - NIGHT_RAIL - CAR_TRANSPORT_RAIL_SERVICE - TOURIST_RAILWAY - AIRPORT_LINK_RAIL - RAIL_SHUTTLE - REPLACEMENT_RAIL_SERVICE - SPECIAL_TRAIN - CROSS_COUNTRY_RAIL - RACK_AND_PINION_RAILWAY - INTERNATIONAL_CAR_FERRY - NATIONAL_CAR_FERRY - REGIONAL_CAR_FERRY - LOCAL_CAR_FERRY - INTERNATIONAL_PASSENGER_FERRY - NATIONAL_PASSENGER_FERRY - REGIONAL_PASSENGER_FERRY - LOCAL_PASSENGER_FERRY - POST_BOAT - TRAIN_FERRY - ROAD_FERRY_LINK - AIRPORT_BOAT_LINK - HIGH_SPEED_VEHICLE_SERVICE - HIGH_SPEED_PASSENGER_SERVICE - SIGHTSEEING_SERVICE - SCHOOL_BOAT - CABLE_FERRY - RIVER_BUS - SCHEDULED_FERRY - SHUTTLE_FERRY_SERVICE - COMMUNAL_TAXI - CHARTER_TAXI - WATER_TAXI - RAIL_TAXI - BIKE_TAXI - BLACK_CAB - MINI_CAB - ALL_TAXI_SERVICES - HIRE_CAR - HIRE_VAN - HIRE_MOTORBIKE - HIRE_CYCLE - ALL_HIRE_VEHICLES examples: - LOCAL AddedBy: type: object properties: pos: type: string description: Point-of-sale reference of request used when OrderLine was added. examples: - POS-123 distributionChannelId: type: string description: Distribution channel ID of request used when OrderLine was added. examples: - ENT:DistributionChannel:Sor description: Metadata about who or what added the OrderLine. examples: - pos: '123' distributionChannelId: ABC:DistributionChannel:MyCompany PurchasedValidableElement: title: PurchasedValidableElement required: - fareStructureElements - legIds - price - priceContribution - validableElementRef type: object properties: validableElementRef: $ref: '#/components/schemas/RefType' price: $ref: '#/components/schemas/PriceWithTax' priceContribution: $ref: '#/components/schemas/PriceWithTax' legIds: type: array description: The Leg IDs that are connected to this ValidableElement. items: type: string default: [] parameters: $ref: '#/components/schemas/PurchasedParameters' fareStructureElements: type: array description: The underlying FareStructureElement configurations which makes up this ValidableElement items: $ref: '#/components/schemas/PurchasedFareStructureElement' elementId: type: string description: Unique ID for this specific PurchasedValidableElement. Note that this ID is only for distinguishing parts of an orderLine. It has no use outside of the orderLine, and can't be found in any other service. examples: - a1b2c3d4-e5f6-7g8h-9i0j-k1l2m3n4o5p6 purchasedProperties: $ref: '#/components/schemas/PurchasedProperties' occurs: type: integer description: The number of instances of this particular type of ValidableElement that is collected in this FareProduct format: int32 parameterSpecifications: type: array items: $ref: '#/components/schemas/PurchasedParameterSpecification' description: Configuration for a ValidableElement Mode: title: Mode type: string description: Travel mode for Leg. enum: - AIR - BICYCLE - BUS - CABLEWAY - CAR - WATER - FUNICULAR - LIFT - LINKSWITCH - RAIL - METRO - TRAM - TRANSIT - FOOT - COACH SpecificParameterAssignment: type: object properties: distanceMatrixElementRef: $ref: '#/components/schemas/RefType' dynamicDistanceMatrixElement: $ref: '#/components/schemas/DynamicDistanceMatrixElement' includesGroupingType: $ref: '#/components/schemas/LogicalOperator' validityParameters: type: array description: Validity parameters items: $ref: '#/components/schemas/ValidityParameter' typeOfAccessRightAssignmentRef: $ref: '#/components/schemas/RefType' validityParameterGroupingType: $ref: '#/components/schemas/LogicalOperator' limitationGroupingType: $ref: '#/components/schemas/LogicalOperator' includes: type: array description: Included SpecificParameterAssignments items: $ref: '#/components/schemas/SpecificParameterAssignment' limitations: type: array description: Limitations items: $ref: '#/components/schemas/Limitation' validityParameterSetSelectionType: $ref: '#/components/schemas/SetSelection' ActivationMeans: title: ActivationMeans type: string enum: - AUTOMATIC_BY_TIME - CHECK_IN - NONE_REQUIRED - OTHER - USE_OF_MOBILE_DEVICE - USE_OF_VALIDATOR PurchasedParameterSpecification: type: object properties: specificationOf: type: string description: Specification of parameter id specificParameterAssignment: $ref: '#/components/schemas/SpecificParameterAssignment' DynamicUsageValidityPeriod: title: DynamicUsageValidityPeriod type: object properties: standardDuration: type: string description: Standard duration. Represented as a string formatted according to ISO-8601 format: duration examples: - PT1H startDateTime: type: string description: StartDateTime format: date-time examples: - '2020-05-13T07:19:30.389Z' usageTrigger: $ref: '#/components/schemas/UsageTrigger' endDateTime: type: string description: EndDate format: date-time examples: - '2020-05-13T07:19:30.389Z' usageEnd: $ref: '#/components/schemas/UsageEnd' activationMeans: type: array description: Activation Means. Describes how a product can be activated. items: $ref: '#/components/schemas/ActivationMeans' default: [] description: A dynamic UsageValidtyPeriod that is generated on the fly. Thus lacking id and version as it can not be referenced TravellerRequest: title: TravellerRequest type: object properties: ref: $ref: '#/components/schemas/CustomerRef' description: A Traveller object which might hold a reference to a Customer LocalPriceWithTax: required: - amount - currency - exchangeRate - taxAmount - taxCountry - taxRate type: object properties: amount: type: string description: Amount including tax amount. examples: - '372.90' currency: type: string description: Currency examples: - SEK exchangeRate: type: string description: Exchange rate used at creation time to convert the local currency into the order's currency. It is the number of units of the order currency paid for 1 (one) unit of the local currency. Must be in valid BigDecimal format. E.g., if the order currency is NOK and the local currency is EUR, and 1 EUR = 10 NOK, then the exchange rate is 10.0000. If the order currency is NOK and the local currency is SEK, and 100 SEK = 96.21 NOK, then the exchange rate is 0.9621. examples: - '0.9621' taxAmount: type: string description: Tax amount examples: - '22.37' taxCountry: pattern: ^[A-Z]{2}$ type: string description: ISO 3166-1 alpha-2 country code examples: - SE taxRate: type: string description: Tax rate. Must be in valid BigDecimal format examples: - '6.00' description: The original price, with tax, in the local currency of the tax country. Traveller: title: Traveller type: object description: A Traveller object which might hold a reference to a Customer allOf: - required: - id type: object properties: id: type: string format: uuid - $ref: '#/components/schemas/TravellerRequest' GroupTicket: title: GroupTicket required: - companionProfiles type: object properties: companionProfiles: type: array items: $ref: '#/components/schemas/CompanionProfile' derivedFromObjectRef: type: string description: Identity of object from which this object of ENTITY was derived. Normally the same. examples: - ENT:groupTicket:12345 derivedFromVersionRef: type: string description: Version of this object from which this version of ENTITY was derived. examples: - '2' Error: required: - correlationId - message - status - title type: object properties: status: type: integer description: The http status code. format: int32 examples: - 400 title: type: string examples: - An error occurred detail: type: - string - 'null' description: The main error message. examples: - An error occurred message: type: string description: The main error message. examples: - An error occurred correlationId: type: string description: The unique correlation id for the request. examples: - b5d4960d-7ab2-43d6-a8f3-113da042a288 errors: type: - array - 'null' description: Validation error on a specific field. items: $ref: '#/components/schemas/FieldError' FieldError: required: - field - message type: object properties: field: type: string message: type: string description: Validation error on a specific field. NoPointsGivenResult: required: - reason - status - title type: object properties: reason: type: string description: Reason why no points were given enum: - ORDER_DOES_NOT_BELONG_TO_CUSTOMER - CONDITIONS_NOT_SATISFIED - CUSTOMER_NOT_MEMBER - CUSTOMER_ID_NOT_FOUND_IN_EVENT - MEMBER_SUSPENDED - TICKET_CANCELLED - AMOUNT_EVALUATED_TO_ZERO - ORDER_ALREADY_REGISTERED examples: - ORDER_DOES_NOT_BELONG_TO_CUSTOMER status: type: integer description: The http status code. format: int32 examples: - 400 title: type: string examples: - An error occurred description: Result of deferred registration where no points were given PointsGivenResult: required: - pointsGiven type: object properties: pointsGiven: type: array description: List of points given per point definition items: $ref: '#/components/schemas/PointsGiven' description: Points given to a customer as a result of deferred registration PointsGiven: required: - amount - pointDefinitionReference type: object properties: transactionId: type: - integer - 'null' description: The ID of the transaction for the given points. Null if the points given amount is 0. format: int64 amount: type: number description: The amount of points given pointDefinitionReference: type: string description: Reference to the point definition given point for pointPeriodId: type: - integer - 'null' description: The ID of the point period the points were given in, if applicable format: int64 description: List of points given per point definition DeferredRegistration: required: - customerId - orderId - orderLineId type: object properties: customerId: type: string description: The customer ID for which to register the order orderId: type: string description: The order ID for which to register orderLineId: type: string description: The order line ID for which to register description: Request deferred registration for a customer ID and order ID TransactionByOrder: required: - amount - createdAt - id - memberId - pointDefinitionId - programId - validFrom type: object properties: id: type: integer description: Generated identifier format: int64 examples: - 1 programId: type: integer description: The id of the program this transaction belongs to format: int64 memberId: type: integer description: The ID of the member in the program this transaction belongs to format: int64 amount: type: number description: The number of points of the definition this transaction gives pointDefinitionId: type: integer description: The id of the point definition this transaction gives points of format: int64 pointDefinitionReference: type: - string - 'null' description: The reference of the point definition this transaction gives points of pointPeriodId: type: - integer - 'null' description: The id of the point period this transaction belongs to, if applicable format: int64 createdAt: type: string description: The date and time when the transaction was created format: date-time updatedAt: type: - string - 'null' description: The date and time when the transaction was last updated format: date-time expireAt: type: - string - 'null' description: The date and time when the transaction expires. If null, the transaction never expires. format: date-time cancelledAt: type: - string - 'null' description: The date and time when the transaction was cancelled. If not null, the transaction is valid until this time. format: date-time validFrom: type: string description: The date and time the transaction is valid from. format: date-time metadata: type: - object - 'null' additionalProperties: true description: Metadata for the transaction description: A transaction parameters: 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 paginationPageParam: name: page in: query description: Selects a specific page in the collection required: false style: form explode: true schema: type: integer format: int32 default: 1 dciHeader: name: Entur-Distribution-Channel in: header description: A header containing the distribution channel ID. required: true style: simple explode: false schema: type: string onBehalfOfHeader: name: Entur-On-Behalf-Of in: header description: The organisationId of the organisation the order is created on behalf of, instead of the organisation associated with the token. Must be an organisationId, not an authorityId or any other identifier. Requires either an agreement with the target organisation or the sales-and-payment.onBehalfOf-global business capability. required: false style: simple explode: false schema: type: string examples: - '2' X-Correlation-Id: name: X-Correlation-Id in: header description: Correlation id required: false style: simple explode: false schema: type: string paginationPerPageParam: name: perPage in: query description: Selects the number of elements per page required: false style: form explode: true schema: type: integer format: int32 default: 30 orderIdPathParam: name: orderId in: path description: Order ID required: true style: simple explode: false schema: type: string posHeader: name: Entur-Pos in: header description: Point-of-sale identifier. required: true style: simple explode: false schema: type: string responses: badRequest: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiError' conflict: description: Conflict content: application/json: schema: $ref: '#/components/schemas/ApiError' forbidden: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ApiError' internalServerError: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ApiError' serviceUnavailable: description: Service unavailable content: application/json: schema: $ref: '#/components/schemas/ApiError' notFound: description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' Error404: description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' Error400: description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' Error500: description: Internal server error content: application/json: schema: $ref: '#/components/schemas/Error' Error401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' Error403: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' securitySchemes: jwt: type: http scheme: bearer bearerFormat: JWT externalDocs: description: Entur Developer Documentation url: https://developer.entur.org/pages-personalisation-docs-personalisation-client-integration-guide x-refined-from: - entur-order-partner-openapi.json - entur-personalisation-client-openapi.json - entur-order-partner-openapi.yml - entur-personalisation-client-openapi.yml