Entur Reserve Offers API

Add regular products to order through offer.

Operations 3

POST /v1/reserve-offers Add reservable offers to an order #
POST /v1/update-order Update order lines in an order with reservable offers #
POST /v1/update-order/supplement-products Update order lines in an order with additional supplement products #

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-partner-dataset-rpt-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-partner-dataset-download-job-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-partner-settlement-import-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-partner-settlement-import-response-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-given-consent-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-consent-crm-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-consent-base-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-given-consent-bulk-update-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-given-consent-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-consent-base-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-customer-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-temporary-customer-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-customer-post-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-customer-put-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-ecard-ownership-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-temporary-customer-post-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-result-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-quota-request-v1-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-quota-configuration-response-v1-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-quota-response-v1-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-reservation-response-v1-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-quota-configuration-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-multi-stock-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-search-geo-location-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-search-authority-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-search-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-search-trip-pattern-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-collection-info-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-customer-input-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-search-offer-input-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-subscriber-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-extend-expiry-time-input-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-update-traveller-input-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-order-note-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-order-note-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-page-of-order-note-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-order-line-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-order-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-fee-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-order-create-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-order-line-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-order-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-payment-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-transaction-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-credit-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-transaction-import-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-transaction-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-terminal-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-program-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-transaction-by-order-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-current-level-summary-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-current-level-summary-query-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-point-period-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-customer-membership-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-employee-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-imported-employee-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-imported-employee-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-contract-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-imported-employee-merge-patch-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-entitlement-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-zonal-stop-place-distance-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-fare-zone-distance-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-fare-zone-distance-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-coordinate-distance-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-distance-calculation-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-fare-table-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-fare-table-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-version-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-version-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-purchase-window-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-purchase-window-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-purchase-window-list-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-supplement-product-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-supplement-product-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-sales-offer-package-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-sales-offer-package-publication-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-sales-offer-package-assignment-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-supplement-product-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-generic-parameter-assignment-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-exchanging-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-amount-of-price-unit-product-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-capped-discount-right-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-sale-discount-right-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-netex-import-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-send-receipt-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-user-receipt-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-receipt-type-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-refund-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-refund-option-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-dry-run-refund-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-compensation-operation-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-refund-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-compensation-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-change-order-lines-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-order-line-ids-and-reservation-ids-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-reserve-offers-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-add-supplement-products-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-reserve-third-party-products-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-reserve-third-party-products-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-seating-offer-debug-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-rebooked-reservation-response-v1-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-rebooked-reservation-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-reservation-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-seating-offer-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-reservation-line-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-reserve-specific-seats-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-map-string-string-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-seq-cancel-seat-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-seq-companion-for-seat-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-seq-journey-query-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-seq-product-attribute-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-asset-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-booking-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-support-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-one-stop-booking-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-one-stop-booking-event-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-notification-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-post-skoleskyss-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-post-skoleskyss-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-delete-skoleskyss-response-schema.json

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/entur:entur-reserve-offers-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

entur-reserve-offers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Entur Reserve Offers API
  version: 2026.07.0
  description: 'Operations tagged Reserve Offers across 2 of this provider''s published API definitions: entur-reserve-offers-partner-openapi.json, entur-reserve-offers-partner-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
security:
- authHeader: []
tags:
- name: Reserve Offers
  description: Add regular products to order through offer.
paths:
  /v1/reserve-offers:
    parameters:
    - $ref: '#/components/parameters/dciHeader'
    - $ref: '#/components/parameters/posHeader'
    - $ref: '#/components/parameters/ET-Client-Name'
    - $ref: '#/components/parameters/X-Correlation-Id'
    post:
      tags:
      - Reserve Offers
      summary: Add reservable offers to an order
      description: Takes a set of offerIds which might need reservations, performs reservations where applicable and adds the offers as orderlines to an existing order
      operationId: reserveOffers
      requestBody:
        description: request
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReserveOffersRequest'
            examples:
              default:
                value:
                  offerConfigurations:
                  - offerId: 5d3e9d2c-f9ab-4dd0-a735-100886278e0b
                    selectableProductIds:
                    - frt567
                    selectedTravellerIds:
                    - 37a07da0-c972-4e8f-b5f3-553856da49d9
                    customers:
                    - customerId: '12345678'
                      entitlements:
                      - entitlementProductRef:
                          id: ABC:Entitlement:abcd1234-ab12-cd34-ef56-abcdef123456
                        contractId: 33370312-aa00-4d22-8ffb-704418d77484
                    distributionDetails:
                      fulfillmentMethodRef:
                        id: ENT:FulfilmentMethod:Electronic
                      customerAccountRef:
                        id: ABC:CustomerAccount:dcf4df02-aa15-4062-a694-3426dc27d03f
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderLineIdsAndReservationIds'
              examples:
                default:
                  value:
                    orderId: ABCD1234
                    orderLineIds:
                    - fc93f175-5518-4a72-9618-43ae68804d4a
                    reservationIds:
                    - e9729837-375b-4369-991f-54adf35dd2fd
                    replacedByOrderLineIds: []
        '400':
          $ref: '#/components/responses/badRequest'
        '403':
          $ref: '#/components/responses/forbidden'
        '404':
          $ref: '#/components/responses/notFound'
        '409':
          $ref: '#/components/responses/conflict'
        '500':
          $ref: '#/components/responses/internalServerError'
    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/update-order:
    parameters:
    - $ref: '#/components/parameters/dciHeader'
    - $ref: '#/components/parameters/posHeader'
    - $ref: '#/components/parameters/ET-Client-Name'
    - $ref: '#/components/parameters/X-Correlation-Id'
    post:
      tags:
      - Reserve Offers
      summary: Update order lines in an order with reservable offers
      description: Updates a set of order lines on an order with new offer and traveller details
      operationId: updateOrderLinesInOrder
      requestBody:
        description: request
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChangeOrderLinesRequest'
            examples:
              default:
                value:
                  orderId: ABCD1234
                  offerConfigurations:
                  - offerId: 6b166022-bfca-4b92-b093-34a54ab2063e
                    orderLineId: fc93f175-5518-4a72-9618-43ae68804d4a
                    selectableProductIds:
                    - gjk956
                    selectedTravellerIds:
                    - 2e761c3f-ce97-4305-a01c-6aef40daafa2
                  refundPriceDifference: false
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderLineIdsAndReservationIds'
              examples:
                default:
                  value:
                    orderId: ABCD1234
                    orderLineIds:
                    - fc93f175-5518-4a72-9618-43ae68804d4a
                    reservationIds:
                    - deeb861c-e732-4689-b148-f575f8ca71c1
                    replacedByOrderLineIds: []
        '400':
          $ref: '#/components/responses/badRequest'
        '403':
          $ref: '#/components/responses/forbidden'
        '404':
          $ref: '#/components/responses/notFound'
        '409':
          $ref: '#/components/responses/conflict'
        '500':
          $ref: '#/components/responses/internalServerError'
    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/update-order/supplement-products:
    parameters:
    - $ref: '#/components/parameters/dciHeader'
    - $ref: '#/components/parameters/posHeader'
    - $ref: '#/components/parameters/ET-Client-Name'
    - $ref: '#/components/parameters/X-Correlation-Id'
    post:
      tags:
      - Reserve Offers
      summary: Update order lines in an order with additional supplement products
      description: Updates a set of order lines on an order with additional supplement products. Only products which does not modify current seating are currently supported.
      operationId: addSupplementProductsToOrder
      requestBody:
        description: request
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddSupplementProductsRequest'
            examples:
              default:
                value:
                  orderId: ABCD1234
                  offerConfigurations:
                  - offerId: 6b166022-bfca-4b92-b093-34a54ab2063e
                    orderLineId: fc93f175-5518-4a72-9618-43ae68804d4a
                    selectedProductsConfiguration:
                    - selectedProductId: ybe287
                      count: 2
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderLineIdsAndReservationIds'
              examples:
                default:
                  value:
                    orderId: ABCD1234
                    orderLineIds:
                    - fc93f175-5518-4a72-9618-43ae68804d4a
                    reservationIds:
                    - deeb861c-e732-4689-b148-f575f8ca71c1
                    replacedByOrderLineIds: []
        '400':
          $ref: '#/components/responses/badRequest'
        '403':
          $ref: '#/components/responses/forbidden'
        '404':
          $ref: '#/components/responses/notFound'
        '409':
          $ref: '#/components/responses/conflict'
        '500':
          $ref: '#/components/responses/internalServerError'
    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
components:
  responses:
    notFound:
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    forbidden:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    badRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    internalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    conflict:
      description: Conflict
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
  schemas:
    ChangeOrderLinesRequest:
      title: ChangeOrderLinesRequest
      required:
      - offerConfigurations
      - orderId
      - refundPriceDifference
      type: object
      properties:
        orderId:
          type: string
          description: The order to add the offer(s) to
          examples:
          - ABCD1234
        offerConfigurations:
          type: array
          description: A list of change offer configurations selected for purchase
          items:
            $ref: '#/components/schemas/ChangeOrderLinesConfiguration'
        refundPriceDifference:
          type: boolean
          description: Experimental value that is used to refund the price difference between the original purchase and the change, if the change is cheaper than the original product.
          default: false
      description: The holder for a change offer configuration.
    AddSupplementProductsConfiguration:
      title: AddSupplementProductsConfiguration
      required:
      - offerId
      - orderLineId
      - selectedProductsConfiguration
      type: object
      properties:
        customers:
          type: array
          description: Customers with optional entitlement data; used to link travellers to order line and when offers are created with entitlements
          items:
            $ref: '#/components/schemas/Customer'
          default: []
        offerId:
          type: string
          description: The id of the offer that is used
          format: uuid
          examples:
          - 5d3e9d2c-f9ab-4dd0-a735-100886278e0b
        orderLineId:
          type: string
          description: The id of the order line to add supplement products to
          examples:
          - 5d3e9d2c-f9ab-4dd0-a735-100886278e0b
        selectedProductsConfiguration:
          type: array
          description: A list of ids and counts for selected supplement product configurations. Count is only considered for fare products.
          items:
            $ref: '#/components/schemas/SelectedProductConfiguration'
          default: []
      description: The configuration-holder for an offer configuration
    AddSupplementProductsRequest:
      title: AddSupplementProductsRequest
      required:
      - offerConfigurations
      - orderId
      type: object
      properties:
        offerConfigurations:
          type: array
          description: A list of supplement product configurations selected for purchase
          items:
            $ref: '#/components/schemas/AddSupplementProductsConfiguration'
        orderId:
          type: string
          description: The order to add the supplement product(s) to
          examples:
          - ABCD1234
      description: The holder for an add supplement product configuration.
    ReplacedOrderLineIds:
      title: ReplacedOrderLineIds
      required:
      - originalOrderLineIds
      - replacedByOrderLineIds
      type: object
      properties:
        originalOrderLineIds:
          type: array
          items:
            type: string
          examples:
          - - 5d3e9d2c-f9ab-4dd0-a735-100886278e0b
        replacedByOrderLineIds:
          type: array
          items:
            type: string
          examples:
          - - 818d3ef9-925e-493f-bc21-8763314749ec
            - 79006e6b-6c72-48b6-a9e6-ddadec19cbca
      description: A holder that combines orginal order line ids with those that replaces them
    ReserveOffersRequest:
      title: ReserveOffersRequest
      required:
      - offerConfigurations
      type: object
      properties:
        offerConfigurations:
          type: array
          description: A list of offer configurations selected for purchase
          items:
            $ref: '#/components/schemas/OfferConfiguration'
        orderId:
          type: string
          description: The offer to add the order to. If no orderId is specified, a new order is created
          examples:
          - ABCD1234
      description: The input-holder for reserving offers and add them to an existing order.
    CustomerEntitlement:
      title: CustomerEntitlement
      required:
      - entitlementProductRef
      type: object
      properties:
        contractId:
          type: string
          description: The id of a benefit-contract that gives a customer an entitlement
          format: uuid
          examples:
          - 5d3e9d2c-f9ab-4dd0-a735-100886278e0b
        entitlementProductRef:
          $ref: '#/components/schemas/IdAndVersionRef'
        externalEntitlementRef:
          $ref: '#/components/schemas/IdAndVersionRef'
      description: A holder for a customers entitlements
    OrderLineIdsAndReservationIds:
      title: OrderLineIdsAndReservationIds
      required:
      - orderId
      - orderLineIds
      - replacedByOrderLineIds
      - reservationIds
      type: object
      properties:
        orderId:
          type: string
          examples:
          - ABCD1234
        orderLineIds:
          type: array
          items:
            type: string
          examples:
          - - b0c85195-d932-4cb3-88c8-4674a315954a
        reservationIds:
          type: array
          items:
            type: string
          examples:
          - - e9dcef93-984c-4b49-a244-7c9fdfb60f6f
        replacedByOrderLineIds:
          type: array
          items:
            $ref: '#/components/schemas/ReplacedOrderLineIds'
          default: []
      description: A wrapper that holds the resulting ids for newly created order lines, reservations and possible replacement order lines
    SelectedProductConfiguration:
      title: SelectedProductConfiguration
      required:
      - count
      - selectedProductId
      type: object
      properties:
        selectedProductId:
          type: string
          description: A selectable product id.
        count:
          type: integer
          description: The number of times to add said product. Count will only be considered on a fare product level. Default 1
          format: int32
          default: 1
      description: Configuration for a selectable product from an offer
    OfferConfiguration:
      title: OfferConfiguration
      required:
      - offerId
      type: object
      properties:
        count:
          type: integer
          description: 'Deprecated: Please use either selectedTravellerIds or multiple offer configurations, depending on your use case. Old description: The number of instances of the salespackage(s), represented in the offer, and customer combination one would like to purchase. Default value = 1. If set to anything other than 1 when orderLineId is set, the endpoint will return 400 bad request.'
          format: int32
          deprecated: true
          default: 1
        customerEntitlement:
          $ref: '#/components/schemas/CustomerEntitlement'
        customerIds:
          type: array
          description: 'Deprecated: Use customers to supply customer ids'
          deprecated: true
          items:
            type: string
          default: []
        customers:
          type: array
          description: Customers with optional entitlement data; used to link travellers to order line and when offers are created with entitlements
          items:
            $ref: '#/components/schemas/Customer'
          default: []
        distributionDetails:
          $ref: '#/components/schemas/DistributionDetails'
        externalReference:
          type: string
          description: External reference to an order line. Only used by external operators to identify order lines created by OfferConfigurations
        offerId:
          type: string
          description: The id of the offer that is used
          format: uuid
          examples:
          - 5d3e9d2c-f9ab-4dd0-a735-100886278e0b
        orderLineId:
          type: string
          description: Please use /change-order-line instead. If replacing an order line, this is the id of the order line to replace
          deprecated: true
        selectableProductIds:
          type: array
          description: A list of ids for selected products. Duplicates are only supported for SupplementProducts which does not modify seating assignments for the PreassignedFareProduct
          items:
            type: string
          default: []
        selectedTravellerIds:
          type: array
          description: This field is used to specify which travellers will be included in the use of this offer. This field cannot be used in combination with count. It is validated against the travellers identified in the travellerMappings property of the selected Offer, as well as the legal number of UserProfiles per compartment when reserving a group product. When reserving a group product, validation is performed against the valid number of UserProfiles per compartment. When reserving regular products, a number of order lines will be made, corresponding to the number of selectedTravellerIds. Each order line will have one of the selectedTravellerIds.
          items:
            type: string
          default: []
      description: The configuration-holder for an offer configuration
    ApiError:
      title: ApiError
      required:
      - error
      - exception
      - message
      - path
      - status
      - timestamp
      - title
      type: object
      properties:
        timestamp:
          type: string
          format: date-time
          examples:
          - '2025-01-01T12:00:00Z'
        status:
          type: integer
          format: int32
          examples:
          - 500
        title:
          type: string
          description: Short, human-readable summary of the problem
        error:
          type: string
        exception:
          type: string
        message:
          type: string
        path:
          type: string
    ChangeOrderLinesConfiguration:
      title: ChangeOrderLinesConfiguration
      required:
      - offerId
      - orderLineId
      type: object
      properties:
        customers:
          type: array
          description: Customers with optional entitlement data; used to link travellers to order line and when offers are created with entitlements
          items:
            $ref: '#/components/schemas/Customer'
          default: []
        distributionDetails:
          $ref: '#/components/schemas/DistributionDetails'
        externalReference:
          type: string
          description: External reference to an order line. Only used by external operators to identify order lines created by OfferConfigurations
        offerId:
          type: string
          description: The id of the offer that is used
          format: uuid
          examples:
          - 5d3e9d2c-f9ab-4dd0-a735-100886278e0b
        orderLineId:
          type: string
          description: The id of the OrderLine to replace. Multiple offer configurations may contain the same orderLineId if replacing the OrderLine with multiple offer configurations. In that case, selectedOrderLineIds must also be equal.
          examples:
          - 5d3e9d2c-f9ab-4dd0-a735-100886278e0b
        selectableProductIds:
          type: array
          description: A list of ids for selected products. Duplicates are only supported for SupplementProducts which does not modify seating assignments for the PreassignedFareProduct
          items:
            type: string
          default: []
        selectedTravellerIds:
          type: array
          description: This field is used to specify which travellers will be included in the use of this offer. It is validated against the travellers identified in the travellerMappings property of the selected Offer, as well as the legal number of UserProfiles per compartment when reserving a group product. When reserving a group product, validation is performed against the valid number of UserProfiles per compartment. When reserving regular products, a number of order lines will be made, corresponding to the number of selectedTravellerIds. Each order line will have one of the selectedTravellerIds.
          items:
            type: string
          default: []
        selectedOrderLineIds:
          type: array
          items:
            type: string
          default: []
          examples:
          - - 5d3e9d2c-f9ab-4dd0-a735-100886278e0b
      description: The configuration-holder for an offer configuration
    Customer:
      title: Customer
      required:
      - customerId
      - entitlements
      type: object
      properties:
        customerId:
          type: string
          description: Customer id that will be linked to the order line created from the offer specified
          examples:
          - '1234567'
        entitlements:
          type: array
          description: The entitlement data for a customer; used if the the offer is created with entitlements
          items:
            $ref: '#/components/schemas/CustomerEntitlement'
          default: []
      description: A holder for a customer and entitlements used by the customer for the offer
    RefType:
      required:
      - id
      type: object
      properties:
        id:
          type: string
          description: Value to identify a given resource
        version:
          type: string
          description: Optional version for a given resource
      description: Versioned Reference to a resource
    DistributionDetails:
      title: DistributionDetails
      type: object
      properties:
        fulfillmentMethodRef:
          $ref: '#/components/schemas/RefType'
        typeOfTravelDocumentToIssueRef:
          $ref: '#/components/schemas/RefType'
        customerAccountRef:
          $ref: '#/components/schemas/RefType'
        distributionHolderCustomerId:
          type: string
          description: The Entur customer id that will be linked to the distribution of the order line created
          examples:
          - '1234556'
      description: Wrapper for references connected to distribution of travel rights and/or tickets
    IdAndVersionRef:
      title: IdAndVersionRef
      required:
      - id
      type: object
      properties:
        id:
          type: string
          description: Id reference to an external entity
        version:
          type: string
          description: Optional version reference to an external entity
      description: A holder for an id and version combination
  parameters:
    X-Correlation-Id:
      name: X-Correlation-Id
      in: header
      description: Correlation id
      required: false
      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: `<company>-<application>`.'
      required: false
      style: simple
      explode: false
      schema:
        type: string
    dciHeader:
      name: Entur-Distribution-Channel
      in: header
      description: A header containing the distribution channel 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
x-refined-from:
- entur-reserve-offers-partner-openapi.json
- entur-reserve-offers-partner-openapi.yml