{
  "openapi": "3.1.1",
  "info": {
    "title": "Orders",
    "description": "The Order API provides services to create and manage orders in Entur sales platform. It allows clients to create orders, add and change order lines, apply fees, manage connected reservations, and handle traveller information.",
    "version": "2026.06.0"
  },
  "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": "Orders",
      "description": "Top level services for order"
    },
    {
      "name": "Order lines",
      "description": "Services related to order lines on order."
    },
    {
      "name": "Fees",
      "description": "Services related to fees on order."
    },
    {
      "name": "Reservations",
      "description": "Services related to reservations on order."
    },
    {
      "name": "Travellers",
      "description": "Services related to travellers on order."
    }
  ],
  "paths": {
    "/v1/orders": {
      "get": {
        "tags": [
          "Orders"
        ],
        "summary": "Get Orders",
        "description": "Get Orders by specifying multiple filter query parameters.\n\nEach value(s) must be prefixed with a valid search operator [eq, ne, gt, gte, lt, lte, in, nin]. 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",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "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"
              }
            }
          },
          {
            "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
            }
          },
          {
            "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
            }
          },
          {
            "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"
          }
        }
      },
      "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": [
          {
            "name": "Entur-Distribution-Channel",
            "in": "header",
            "description": "A header containing the distribution channel ID.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Entur-Pos",
            "in": "header",
            "description": "Point-of-sale identifier.",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "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"
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/ET-Client-Name"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-Id"
        }
      ]
    },
    "/v1/orders/{orderId}": {
      "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=<desired version, minimum 1>.",
        "operationId": "getOrder",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "Order ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "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"
          }
        }
      },
      "put": {
        "tags": [
          "Orders"
        ],
        "summary": "Update an Order.",
        "description": "Update one or multiple values on an Order.",
        "operationId": "updateOrder",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "Order ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Entur-Distribution-Channel",
            "in": "header",
            "description": "A header containing the distribution channel ID.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Entur-Pos",
            "in": "header",
            "description": "Point-of-sale identifier.",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "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"
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/ET-Client-Name"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-Id"
        }
      ]
    },
    "/v1/orders/{orderId}/fail": {
      "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",
        "parameters": [
          {
            "name": "Entur-Distribution-Channel",
            "in": "header",
            "description": "A header containing the distribution channel ID.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Entur-Pos",
            "in": "header",
            "description": "Point-of-sale identifier.",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "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"
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/ET-Client-Name"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-Id"
        }
      ]
    },
    "/v1/orders/{orderId}/fees": {
      "post": {
        "tags": [
          "Fees"
        ],
        "summary": "Add Fee to Order",
        "description": "Add Fee to specified Order",
        "operationId": "addFeeToOrder",
        "parameters": [
          {
            "name": "Entur-Distribution-Channel",
            "in": "header",
            "description": "A header containing the distribution channel ID.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Entur-Pos",
            "in": "header",
            "description": "Point-of-sale identifier.",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Fee",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FeeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Fee"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/badRequest"
          },
          "404": {
            "$ref": "#/components/responses/notFound"
          },
          "409": {
            "$ref": "#/components/responses/conflict"
          },
          "500": {
            "$ref": "#/components/responses/internalServerError"
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/ET-Client-Name"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-Id"
        }
      ]
    },
    "/v1/orders/{orderId}/reset": {
      "post": {
        "tags": [
          "Orders"
        ],
        "summary": "Reset Order to the latest confirmed version, or initial state if it has never been confirmed",
        "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",
        "parameters": [
          {
            "name": "Entur-Distribution-Channel",
            "in": "header",
            "description": "A header containing the distribution channel ID.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Entur-Pos",
            "in": "header",
            "description": "Point-of-sale identifier.",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "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"
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/ET-Client-Name"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-Id"
        }
      ]
    },
    "/v1/orders/{orderId}/unlock": {
      "post": {
        "tags": [
          "Orders"
        ],
        "summary": "Unlock Order",
        "description": "Unlock order if it is locked.",
        "operationId": "unlockOrder",
        "parameters": [
          {
            "name": "Entur-Distribution-Channel",
            "in": "header",
            "description": "A header containing the distribution channel ID.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Entur-Pos",
            "in": "header",
            "description": "Point-of-sale identifier.",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "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"
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/ET-Client-Name"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-Id"
        }
      ]
    },
    "/v1/orders/{orderId}/confirm": {
      "post": {
        "tags": [
          "Orders"
        ],
        "summary": "Confirm Order",
        "description": "Manually confirm Orders where the balance is equal to 0.00",
        "operationId": "confirmOrder",
        "parameters": [
          {
            "name": "Entur-Distribution-Channel",
            "in": "header",
            "description": "A header containing the distribution channel ID.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Entur-Pos",
            "in": "header",
            "description": "Point-of-sale identifier.",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "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"
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/ET-Client-Name"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-Id"
        }
      ]
    },
    "/v1/orders/{orderId}/orderlines": {
      "put": {
        "tags": [
          "Order lines"
        ],
        "summary": "Update OrderLines on an Order",
        "description": "This endpoint updates OrderLines on the specified Order, and returns the updated representations",
        "operationId": "updateOrderLines",
        "parameters": [
          {
            "name": "Entur-Distribution-Channel",
            "in": "header",
            "description": "A header containing the distribution channel ID.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Entur-Pos",
            "in": "header",
            "description": "Point-of-sale identifier.",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "OrderLines",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrderLineRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderLine"
                  }
                }
              }
            }
          },
          "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"
          },
          "503": {
            "$ref": "#/components/responses/serviceUnavailable"
          }
        }
      },
      "post": {
        "tags": [
          "Order lines"
        ],
        "summary": "Add OrderLines to Order",
        "description": "This endpoint adds a list of OrderLines to the specified Order, and returns a List<OrderLine> of the OrderLines added. If the Order does not exist it will throw an exception.",
        "operationId": "addOrderLines",
        "parameters": [
          {
            "name": "Entur-Distribution-Channel",
            "in": "header",
            "description": "A header containing the distribution channel ID.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Entur-Pos",
            "in": "header",
            "description": "Point-of-sale identifier.",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "orderLines",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrderLineRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderLine"
                  }
                }
              }
            }
          },
          "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"
          },
          "503": {
            "$ref": "#/components/responses/serviceUnavailable"
          }
        }
      },
      "delete": {
        "tags": [
          "Order lines"
        ],
        "summary": "Delete OrderLines from Order",
        "description": "This endpoint removes a list of OrderLines from the specified Order. This is equivalent of running multiple DELETE /v1/orders/{orderId}/orderlines/{orderLineId}",
        "operationId": "deleteOrderLines",
        "parameters": [
          {
            "name": "Entur-Distribution-Channel",
            "in": "header",
            "description": "A header containing the distribution channel ID.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Entur-Pos",
            "in": "header",
            "description": "Point-of-sale identifier.",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderLineIds",
            "in": "query",
            "description": "List of order line IDs to delete",
            "required": false,
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid"
              }
            }
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/components/responses/noContent"
          },
          "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"
          },
          "503": {
            "$ref": "#/components/responses/serviceUnavailable"
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/ET-Client-Name"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-Id"
        }
      ]
    },
    "/v1/orders/{orderId}/travellers": {
      "post": {
        "tags": [
          "Travellers"
        ],
        "summary": "Add Traveller to Order",
        "description": "Deprecated. Please use POST /v1/orders/{orderId}/travellers/bulk.",
        "operationId": "addTravellerToOrder",
        "parameters": [
          {
            "name": "Entur-Distribution-Channel",
            "in": "header",
            "description": "A header containing the distribution channel ID.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Entur-Pos",
            "in": "header",
            "description": "Point-of-sale identifier.",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "traveller",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TravellerRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Traveller"
                }
              }
            }
          },
          "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"
          }
        },
        "deprecated": true
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/ET-Client-Name"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-Id"
        }
      ]
    },
    "/v1/orders/{orderId}/fees/{feeId}": {
      "delete": {
        "tags": [
          "Fees"
        ],
        "summary": "Delete Fee from Order",
        "description": "Delete Fee with specified ID from Order with specified ID",
        "operationId": "deleteFeeFromOrder",
        "parameters": [
          {
            "name": "Entur-Distribution-Channel",
            "in": "header",
            "description": "A header containing the distribution channel ID.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Entur-Pos",
            "in": "header",
            "description": "Point-of-sale identifier.",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "feeId",
            "in": "path",
            "description": "Fee ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/components/responses/noContent"
          },
          "404": {
            "$ref": "#/components/responses/notFound"
          },
          "409": {
            "$ref": "#/components/responses/conflict"
          },
          "500": {
            "$ref": "#/components/responses/internalServerError"
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/ET-Client-Name"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-Id"
        }
      ]
    },
    "/v1/orders/{orderId}/reservations": {
      "post": {
        "tags": [
          "Reservations"
        ],
        "summary": "Add seat Reservation references",
        "description": "Add seat Reservation references to the specified Order. Reservation ID is an UUID",
        "operationId": "addReservationToOrder",
        "parameters": [
          {
            "name": "Entur-Distribution-Channel",
            "in": "header",
            "description": "A header containing the distribution channel ID.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Entur-Pos",
            "in": "header",
            "description": "Point-of-sale identifier.",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "purchasedReservations",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PurchasedReservation"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PurchasedReservation"
                  }
                }
              }
            }
          },
          "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"
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/ET-Client-Name"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-Id"
        }
      ]
    },
    "/v1/orders/{orderId}/travellers/bulk": {
      "post": {
        "tags": [
          "Travellers"
        ],
        "summary": "Add list of Traveller to Order",
        "description": "This endpoint adds a list of Traveller to the specified Order, and returns the List<Traveller> that was added. If the Order does not exist, it will throw an exception.",
        "operationId": "addTravellersToOrder",
        "parameters": [
          {
            "name": "Entur-Distribution-Channel",
            "in": "header",
            "description": "A header containing the distribution channel ID.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Entur-Pos",
            "in": "header",
            "description": "Point-of-sale identifier.",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "travellers",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TravellerRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Traveller"
                  }
                }
              }
            }
          },
          "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"
          }
        }
      },
      "delete": {
        "tags": [
          "Travellers"
        ],
        "summary": "Remove list of travellers from Order",
        "description": "This endpoint removes the list of travellerIds from the specified Order.",
        "operationId": "removeTravellersFromOrder",
        "parameters": [
          {
            "name": "Entur-Distribution-Channel",
            "in": "header",
            "description": "A header containing the distribution channel ID.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Entur-Pos",
            "in": "header",
            "description": "Point-of-sale identifier.",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "travellerIds",
            "in": "query",
            "description": "List of traveller IDs to remove from order",
            "required": false,
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid"
              }
            }
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/components/responses/noContent"
          },
          "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"
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/ET-Client-Name"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-Id"
        }
      ]
    },
    "/v1/orders/{orderId}/orderlines/cancel": {
      "post": {
        "tags": [
          "Order lines"
        ],
        "summary": "Cancel OrderLines in an Order",
        "description": "The cost of the OrderLine will be removed from the Order total, and the field `cancellation` will be set to `CANCELLED`. Only to be used for CONFIRMED OrderLines. Typical usage: refunding.",
        "operationId": "cancelOrderLines",
        "parameters": [
          {
            "name": "Entur-Distribution-Channel",
            "in": "header",
            "description": "A header containing the distribution channel ID.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Entur-Pos",
            "in": "header",
            "description": "Point-of-sale identifier.",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderLineIds",
            "in": "query",
            "description": "Use request body",
            "required": false,
            "deprecated": true,
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid"
              }
            }
          },
          {
            "name": "effectiveCancellationDate",
            "in": "query",
            "description": "This parameter is used to override cancellation date from current timestamp. This will be applied to every order line in the request. Separate requests are required per cancellation date.",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "examples": [
                "2018-09-02T07:36:00Z"
              ]
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "title": "orderLineIds",
                "type": "array",
                "description": "Cancel all included order lines",
                "items": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "description": "The cancelled OrderLines",
                  "items": {
                    "$ref": "#/components/schemas/OrderLine"
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/notFound"
          },
          "409": {
            "$ref": "#/components/responses/conflict"
          },
          "500": {
            "$ref": "#/components/responses/internalServerError"
          },
          "503": {
            "$ref": "#/components/responses/serviceUnavailable"
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/ET-Client-Name"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-Id"
        }
      ]
    },
    "/v1/orders/{orderId}/orderlines/confirm": {
      "post": {
        "tags": [
          "Order lines"
        ],
        "summary": "Confirm pending OrderLines",
        "description": "Confirm OrderLines that have externalConfirmation=PENDING. If all pending OrderLines are confirmed, an OrderConfirmed event is emitted and the order transitions to CONFIRMED. Otherwise, an OrderPartiallyConfirmed event is emitted and the order remains in DRAFT. Returns 200 with the current order state, including if the order is already confirmed.",
        "operationId": "confirmOrderLines",
        "parameters": [
          {
            "name": "Entur-Distribution-Channel",
            "in": "header",
            "description": "A header containing the distribution channel ID.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Entur-Pos",
            "in": "header",
            "description": "Point-of-sale identifier.",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmOrderLinesRequest"
              }
            }
          },
          "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"
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/ET-Client-Name"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-Id"
        }
      ]
    },
    "/v1/orders/{orderId}/orderlines/{orderLineId}": {
      "put": {
        "tags": [
          "Order lines"
        ],
        "summary": "Deprecated. Please use PUT `/v1/orders/{orderId}/orderlines`",
        "description": "This endpoint updates a OrderLine on the specified Order, and returns an updated representation",
        "operationId": "updateOrderLine",
        "parameters": [
          {
            "name": "Entur-Distribution-Channel",
            "in": "header",
            "description": "A header containing the distribution channel ID.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Entur-Pos",
            "in": "header",
            "description": "Point-of-sale identifier.",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderLineId",
            "in": "path",
            "description": "OrderLine ID to given Order",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "orderLine",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrderLineRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderLine"
                }
              }
            }
          },
          "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"
          },
          "503": {
            "$ref": "#/components/responses/serviceUnavailable"
          }
        },
        "deprecated": true
      },
      "delete": {
        "tags": [
          "Order lines"
        ],
        "summary": "Deprecated. Please use DELETE `/v1/orders/{orderId}/orderlines?orderLineIds={orderLineId}`",
        "description": "This endpoint removes an OrderLine from the specified Order. Note that this should only be used for non-confirmed OrderLines. If the OrderLine has been confirmed, it needs to be cancelled instead. Typical usage: customer has decided not to purchase the OrderLine.",
        "operationId": "removeOrderLine",
        "parameters": [
          {
            "name": "Entur-Distribution-Channel",
            "in": "header",
            "description": "A header containing the distribution channel ID.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Entur-Pos",
            "in": "header",
            "description": "Point-of-sale identifier.",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderLineId",
            "in": "path",
            "description": "OrderLine ID to given Order",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/components/responses/noContent"
          },
          "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"
          }
        },
        "deprecated": true
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/ET-Client-Name"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-Id"
        }
      ]
    },
    "/v1/orders/{orderId}/travellers/{travellerId}": {
      "put": {
        "tags": [
          "Travellers"
        ],
        "summary": "Update Traveller",
        "description": "This endpoint updates a Traveller for the specified Order, and returns the Traveller that was updated. If either the Order or the Traveller does not exist, it will throw an exception.",
        "operationId": "updateTravellerOnOrder",
        "parameters": [
          {
            "name": "Entur-Distribution-Channel",
            "in": "header",
            "description": "A header containing the distribution channel ID.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Entur-Pos",
            "in": "header",
            "description": "Point-of-sale identifier.",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "travellerId",
            "in": "path",
            "description": "Traveller ID associated with Order",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "traveller",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TravellerRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Traveller"
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/notFound"
          },
          "500": {
            "$ref": "#/components/responses/internalServerError"
          },
          "503": {
            "$ref": "#/components/responses/serviceUnavailable"
          }
        }
      },
      "delete": {
        "tags": [
          "Travellers"
        ],
        "summary": "Remove Traveller from Order",
        "description": "Deprecated. Please use DELETE /v1/orders/{orderId}/travellers/bulk",
        "operationId": "removeTravellerFromOrder",
        "parameters": [
          {
            "name": "Entur-Distribution-Channel",
            "in": "header",
            "description": "A header containing the distribution channel ID.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Entur-Pos",
            "in": "header",
            "description": "Point-of-sale identifier.",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "travellerId",
            "in": "path",
            "description": "Traveller ID associated with Order",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {}
          },
          "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"
          }
        },
        "deprecated": true
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/ET-Client-Name"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-Id"
        }
      ]
    },
    "/v1/orders/{orderId}/reservations/{reservationId}": {
      "put": {
        "tags": [
          "Reservations"
        ],
        "summary": "Update seat Reservation reference",
        "description": "Update seat Reservation reference",
        "operationId": "updateReservationOnOrder",
        "parameters": [
          {
            "name": "Entur-Distribution-Channel",
            "in": "header",
            "description": "A header containing the distribution channel ID.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Entur-Pos",
            "in": "header",
            "description": "Point-of-sale identifier.",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "reservationId",
            "in": "path",
            "description": "Reservation ID associated with Order",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "purchasedReservation",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PurchasedReservation"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PurchasedReservation"
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/notFound"
          },
          "500": {
            "$ref": "#/components/responses/internalServerError"
          }
        }
      },
      "delete": {
        "tags": [
          "Reservations"
        ],
        "summary": "Remove seat Reservation reference",
        "description": "Remove seat Reservation reference",
        "operationId": "removeReservationFromOrder",
        "parameters": [
          {
            "name": "Entur-Distribution-Channel",
            "in": "header",
            "description": "A header containing the distribution channel ID.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Entur-Pos",
            "in": "header",
            "description": "Point-of-sale identifier.",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "reservationId",
            "in": "path",
            "description": "Reservation ID associated with Order",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/components/responses/noContent"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/notFound"
          },
          "500": {
            "$ref": "#/components/responses/internalServerError"
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/ET-Client-Name"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-Id"
        }
      ]
    },
    "/v1/orders/{orderId}/orderlines/{orderLineId}/cancel": {
      "post": {
        "tags": [
          "Order lines"
        ],
        "summary": "Deprecated. Please use POST `/v1/orders/{orderId}/orderlines/cancel?orderLineIds={orderLineId}`",
        "description": "The cost of the OrderLine will be removed from the Order total, and the field `cancellation` will be set to `CANCELLED`. Only to be used for CONFIRMED OrderLines. Typical usage: refunding.",
        "operationId": "cancelOrderLine",
        "parameters": [
          {
            "name": "Entur-Distribution-Channel",
            "in": "header",
            "description": "A header containing the distribution channel ID.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Entur-Pos",
            "in": "header",
            "description": "Point-of-sale identifier.",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order ID",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderLineId",
            "in": "path",
            "description": "OrderLine ID to given Order",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "effectiveCancellationDate",
            "in": "query",
            "description": "This parameter is used to override cancellation date from current timestamp.",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "examples": [
                "2018-09-02T07:36:00Z"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderLine"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/notFound"
          },
          "409": {
            "$ref": "#/components/responses/conflict"
          },
          "500": {
            "$ref": "#/components/responses/internalServerError"
          },
          "503": {
            "$ref": "#/components/responses/serviceUnavailable"
          }
        },
        "deprecated": true
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/ET-Client-Name"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-Id"
        }
      ]
    }
  },
  "components": {
    "schemas": {
      "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"
          }
        ]
      },
      "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"
        ]
      },
      "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"
                ]
              },
              "pos": {
                "type": "string",
                "description": "Point-of-sale reference of request used when Order was created",
                "examples": [
                  "POS-123"
                ]
              },
              "fees": {
                "type": "array",
                "description": "Fees contained in the Order.",
                "items": {
                  "$ref": "#/components/schemas/Fee"
                },
                "default": []
              },
              "failed": {
                "type": "boolean",
                "description": "Indicates that the order version has failed and needs to be credited.",
                "default": false
              },
              "status": {
                "$ref": "#/components/schemas/WorkflowStatus"
              },
              "balance": {
                "type": "string",
                "description": "The balance amount for this Order.",
                "default": "0.00"
              },
              "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.\nThe 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
                ]
              },
              "currency": {
                "type": "string",
                "description": "The currency for this Order.",
                "default": "NOK"
              },
              "createdAt": {
                "type": "string",
                "description": "Timestamp for when Order was created.",
                "format": "date-time",
                "examples": [
                  "2020-05-13T07:19:30.389Z"
                ]
              },
              "orderLines": {
                "type": "array",
                "description": "OrderLines in the given Order.",
                "items": {
                  "$ref": "#/components/schemas/OrderLine"
                },
                "default": []
              },
              "travellers": {
                "type": "array",
                "description": "Unique Travellers in this Order.",
                "items": {
                  "$ref": "#/components/schemas/Traveller"
                },
                "default": []
              },
              "paymentRefs": {
                "type": "array",
                "description": "Payment references used on this Order.",
                "items": {
                  "$ref": "#/components/schemas/PaymentRef"
                },
                "default": []
              },
              "totalAmount": {
                "type": "string",
                "description": "The total amount due for this Order.",
                "default": "0.00"
              },
              "reservations": {
                "type": "array",
                "description": "Seating Reservations connected to this Order.",
                "items": {
                  "$ref": "#/components/schemas/PurchasedReservation"
                },
                "default": []
              },
              "organisationId": {
                "type": "integer",
                "description": "ID of the organisation which created/sold this Order.",
                "format": "int64",
                "examples": [
                  1
                ]
              },
              "totalTaxAmount": {
                "type": "string",
                "description": "The total tax amount for this Order.",
                "default": "0.00"
              },
              "lastConfirmedAt": {
                "type": "string",
                "description": "Timestamp for when Order was last confirmed.",
                "format": "date-time",
                "examples": [
                  "2020-05-13T07:19:30.389Z"
                ]
              },
              "distributionChannelId": {
                "type": "string",
                "description": "Distribution channel ID of request used when Order was created",
                "examples": [
                  "ENT:DistributionChannel:Sor"
                ]
              }
            }
          },
          {
            "$ref": "#/components/schemas/OrderRequest"
          }
        ]
      },
      "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"
          }
        ]
      },
      "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"
      },
      "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"
        ]
      },
      "ApiError": {
        "title": "ApiError",
        "required": [
          "error",
          "exception",
          "message",
          "path",
          "status",
          "timestamp",
          "title"
        ],
        "type": "object",
        "properties": {
          "path": {
            "type": "string"
          },
          "error": {
            "type": "string"
          },
          "title": {
            "type": "string",
            "description": "Short, human-readable summary of the problem"
          },
          "status": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string"
          },
          "exception": {
            "type": "string"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          }
        },
        "examples": [
          {
            "path": "/orders/ABDC1234",
            "error": "Not Found",
            "title": "Not Found",
            "status": 404,
            "message": "The requested resource was not found.",
            "exception": "NotFoundException",
            "timestamp": "2025-05-13T07:19:30.389Z"
          }
        ]
      },
      "Distance": {
        "title": "Distance",
        "required": [
          "unit",
          "value"
        ],
        "type": "object",
        "properties": {
          "unit": {
            "$ref": "#/components/schemas/DistanceUnit"
          },
          "value": {
            "type": "number",
            "description": "The distance value.",
            "format": "decimal",
            "examples": [
              12.5
            ]
          }
        },
        "description": "A distance value with a unit."
      },
      "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"
        ]
      },
      "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"
                ]
              },
              "status": {
                "$ref": "#/components/schemas/WorkflowStatus"
              },
              "addedBy": {
                "$ref": "#/components/schemas/AddedBy"
              },
              "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
                ]
              },
              "refunded": {
                "type": "boolean",
                "description": "If true = refunded, false = cancelled, null = active"
              },
              "createdAt": {
                "type": "string",
                "description": "Timestamp for when the OrderLine was created.",
                "format": "date-time"
              },
              "cancellation": {
                "$ref": "#/components/schemas/CancellationReason"
              },
              "lastConfirmedAt": {
                "type": "string",
                "description": "Timestamp for when the OrderLine was last confirmed.",
                "format": "date-time"
              },
              "parameterSpecifications": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PurchasedParameterSpecification"
                }
              }
            }
          },
          {
            "$ref": "#/components/schemas/OrderLineRequest"
          }
        ]
      },
      "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"
          }
        ]
      },
      "FeeRequest": {
        "title": "FeeRequest",
        "required": [
          "orderLineIds",
          "price",
          "reason",
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Type of Fee. Valid types: MANUAL, REFUNDING, ONBOARD, CHANGE, INVOICE, CHANGE_NON_REFUNDABLE, PENALTY, BOOKING, REDUCTION",
            "examples": [
              "REFUND"
            ]
          },
          "price": {
            "$ref": "#/components/schemas/PriceWithTax"
          },
          "reason": {
            "type": "string",
            "description": "Explanatory text describing the reason for the Fee, if applicable",
            "default": "",
            "examples": [
              "VYB:Refunding:HalfRefunded"
            ]
          },
          "externalRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "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": [
          {
            "type": "REFUND",
            "price": {
              "amount": "50.00",
              "currency": "NOK",
              "taxAmount": "10.00"
            },
            "reason": "ABC:Refunding:HalfRefunded",
            "orderLineIds": [
              "dd3e1d71-1c96-4b88-a683-538a8724ee0d"
            ],
            "orderVersion": 2
          }
        ]
      },
      "Limitation": {
        "title": "Limitation",
        "type": "object",
        "properties": {
          "groupTicket": {
            "$ref": "#/components/schemas/GroupTicket"
          },
          "groupTicketRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "userProfileRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "usageValidityPeriodRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "dynamicUsageValidityPeriod": {
            "$ref": "#/components/schemas/DynamicUsageValidityPeriod"
          }
        }
      },
      "PaymentRef": {
        "title": "PaymentRef",
        "required": [
          "amount",
          "completedAt",
          "currency",
          "orderVersion"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "type": "string",
            "description": "The Payment amount. Maximum (totalDigits: 18, fractionDigits: 5) according to ISO 20022.",
            "examples": [
              "129.5"
            ]
          },
          "creditId": {
            "type": "integer",
            "description": "Reference to the Credit.",
            "format": "int64",
            "examples": [
              2321
            ]
          },
          "currency": {
            "type": "string",
            "default": "NOK",
            "examples": [
              "NOK"
            ]
          },
          "paymentId": {
            "type": "integer",
            "description": "Reference to the Payment.",
            "format": "int64",
            "examples": [
              12352
            ]
          },
          "completedAt": {
            "type": "string",
            "description": "Timestamp for when Payment was completed",
            "format": "date-time",
            "examples": [
              "2018-09-02T07:36:00Z"
            ]
          },
          "orderVersion": {
            "type": "integer",
            "description": "Order version number this Payment confirmed.",
            "format": "int32",
            "examples": [
              2
            ]
          },
          "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"
      },
      "ContactInfo": {
        "title": "ContactInfo",
        "type": "object",
        "properties": {
          "contact": {
            "$ref": "#/components/schemas/CustomerRef"
          },
          "createdBy": {
            "$ref": "#/components/schemas/CustomerRef"
          }
        },
        "description": "Contact information related to different aspects in the lifecycle of an Order."
      },
      "CustomerRef": {
        "title": "CustomerRef",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID for Customer",
            "examples": [
              "12345"
            ]
          }
        },
        "description": "Customer reference."
      },
      "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"
      },
      "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"
            ]
          }
        }
      },
      "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"
      },
      "DistanceUnit": {
        "title": "DistanceUnit",
        "type": "string",
        "description": "Unit of distance measurement.",
        "enum": [
          "METER",
          "KILOMETER"
        ]
      },
      "OrderRequest": {
        "title": "OrderRequest",
        "type": "object",
        "properties": {
          "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"
            ]
          },
          "contactInfo": {
            "$ref": "#/components/schemas/ContactInfo"
          },
          "externalReference": {
            "type": "string",
            "description": "External reference for Orders",
            "examples": [
              "3N7URR0X"
            ]
          },
          "specialOrderCause": {
            "$ref": "#/components/schemas/SpecialOrderCause"
          }
        },
        "description": "A purchase Order for one or more Travellers",
        "examples": [
          {
            "expireAt": "2030-05-13T07:19:30.389Z",
            "contactInfo": {
              "contact": {
                "id": "12345678"
              },
              "createdBy": {
                "id": "12345678"
              }
            },
            "externalReference": "some-external-ref-123",
            "specialOrderCause": {
              "causeCode": "DELAY",
              "description": "Train was delayed."
            }
          }
        ]
      },
      "PriceWithTax": {
        "title": "PriceWithTax",
        "required": [
          "amount",
          "currency",
          "taxAmount"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "type": "string",
            "description": "Amount including tax amount.",
            "examples": [
              "399.00"
            ]
          },
          "taxCode": {
            "type": "string",
            "description": "Tax code for this tax rate",
            "examples": [
              "33"
            ]
          },
          "taxRate": {
            "type": "string",
            "description": "Tax rate. Must be in valid BigDecimal format",
            "examples": [
              "12.00"
            ]
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "default": "NOK",
            "examples": [
              "NOK"
            ]
          },
          "taxAmount": {
            "type": "string",
            "description": "Tax amount",
            "examples": [
              "36.27"
            ]
          }
        },
        "description": "Price with included tax amounts and an optional rate."
      },
      "PurchasedLeg": {
        "title": "PurchasedLeg",
        "required": [
          "authorityRef",
          "endTime",
          "fromStopPlaceRef",
          "id",
          "mode",
          "operatorRef",
          "serviceJourneyRef",
          "startTime",
          "subMode",
          "toStopPlaceRef"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "examples": [
              "123"
            ]
          },
          "mode": {
            "$ref": "#/components/schemas/Mode"
          },
          "lineId": {
            "type": "string",
            "description": "Line ID",
            "examples": [
              "ENT:Line:1"
            ]
          },
          "endTime": {
            "type": "string",
            "description": "The date and time this Leg ends.",
            "format": "date-time",
            "examples": [
              "2023-10-12T15:00:00Z"
            ]
          },
          "subMode": {
            "$ref": "#/components/schemas/SubMode"
          },
          "startTime": {
            "type": "string",
            "description": "The date and time this Leg begins.",
            "format": "date-time",
            "examples": [
              "2023-10-12T14:30:00Z"
            ]
          },
          "operatorRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "authorityRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "interchangeTo": {
            "$ref": "#/components/schemas/InterchangeTo"
          },
          "organisationId": {
            "type": "integer",
            "description": "The organisation that owns the service journey on this leg, Alternative identifier to authorityRef or operatorRef.",
            "format": "int64",
            "examples": [
              1234
            ]
          },
          "toStopPlaceRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "fromStopPlaceRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "serviceJourneyRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "railReplacementInfo": {
            "$ref": "#/components/schemas/RailReplacementInfo"
          },
          "datedServiceJourneyRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "serviceJourneyPrivateCode": {
            "type": "string",
            "description": "Private code of the ServiceJourney",
            "examples": [
              "ENT-1234"
            ]
          },
          "originalDatedServiceJourneyRef": {
            "$ref": "#/components/schemas/RefType"
          }
        },
        "description": "Part of a trip between two places."
      },
      "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"
        ]
      },
      "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"
        ]
      },
      "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"
          },
          "toServiceJourneyRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "fromServiceJourneyRef": {
            "$ref": "#/components/schemas/RefType"
          }
        },
        "description": "Connected ServiceJourneys without changing material"
      },
      "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"
      },
      "PurchasedGroup": {
        "title": "PurchasedGroup",
        "required": [
          "groupSummary",
          "groupTicketRef",
          "price",
          "priceContribution",
          "userProfileRefs"
        ],
        "type": "object",
        "properties": {
          "price": {
            "$ref": "#/components/schemas/PriceWithTax"
          },
          "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": []
          },
          "groupTicketRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "userProfileRefs": {
            "type": "array",
            "description": "The UserProfile IDs that are given rights to travel with this GroupTicket.",
            "items": {
              "$ref": "#/components/schemas/RefType"
            },
            "default": []
          },
          "priceContribution": {
            "$ref": "#/components/schemas/PriceWithTax"
          }
        },
        "description": "A representation of group product"
      },
      "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"
            ]
          }
        }
      },
      "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"
        ]
      },
      "ActivationMeans": {
        "title": "ActivationMeans",
        "type": "string",
        "enum": [
          "AUTOMATIC_BY_TIME",
          "CHECK_IN",
          "NONE_REQUIRED",
          "OTHER",
          "USE_OF_MOBILE_DEVICE",
          "USE_OF_VALIDATOR"
        ]
      },
      "LogicalOperator": {
        "title": "LogicalOperator",
        "type": "string",
        "description": "Logical operator",
        "enum": [
          "AND",
          "OR",
          "XOR",
          "NOT",
          "NAND",
          "XNOR",
          "NOR"
        ]
      },
      "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"
      },
      "CompanionProfile": {
        "title": "CompanionProfile",
        "required": [
          "maximumNumberOfPersons",
          "minimumNumberOfPersons"
        ],
        "type": "object",
        "properties": {
          "userProfileRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "maximumNumberOfPersons": {
            "type": "integer",
            "examples": [
              6
            ]
          },
          "minimumNumberOfPersons": {
            "type": "integer",
            "examples": [
              1
            ]
          }
        }
      },
      "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"
            }
          }
        }
      },
      "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"
          },
          "parameters": {
            "$ref": "#/components/schemas/PurchasedParameters"
          },
          "travellers": {
            "type": "array",
            "description": "The Travellers that are to travel on this OrderLine.",
            "items": {
              "$ref": "#/components/schemas/PurchasedTraveller"
            },
            "default": []
          },
          "description": {
            "type": "array",
            "description": "Description.",
            "items": {
              "$ref": "#/components/schemas/TextInLanguage"
            },
            "default": []
          },
          "privateCode": {
            "type": "string",
            "description": "Private code."
          },
          "fareProducts": {
            "type": "array",
            "description": "The underlying FareProducts which make up this SalesPackage.",
            "items": {
              "$ref": "#/components/schemas/PurchasedFareProduct"
            },
            "default": []
          },
          "salesPackageRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "externalReference": {
            "type": "string",
            "description": "External reference to another system supplied by the client.",
            "examples": [
              "3N7URR0X"
            ]
          },
          "priceContribution": {
            "$ref": "#/components/schemas/PriceWithTax"
          },
          "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."
          },
          "distributionDetails": {
            "$ref": "#/components/schemas/DistributionDetails"
          },
          "purchasedProperties": {
            "$ref": "#/components/schemas/PurchasedProperties"
          },
          "travelSpecification": {
            "$ref": "#/components/schemas/TravelSpecification"
          },
          "externalConfirmation": {
            "type": "string",
            "description": "External confirmation status for this OrderLine. Allowed values: PENDING, SUCCESS, FAILED."
          },
          "parameterSpecifications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PurchasedParameterSpecification"
            }
          },
          "effectiveCancellationDate": {
            "type": "string",
            "description": "If set, the effective date for cancellation. Overrides timestamp.",
            "format": "date-time",
            "examples": [
              "2020-05-13T07:19:30.389Z"
            ]
          }
        },
        "examples": [
          {
            "price": {
              "amount": "399.00",
              "currency": "NOK",
              "taxAmount": "36.27"
            },
            "travellers": [
              {
                "travellerRef": {
                  "id": "464b76b9-ad08-47d3-9888-63f36b07f38a"
                }
              }
            ],
            "fareProducts": [
              {
                "price": {
                  "amount": "399.00",
                  "currency": "NOK",
                  "taxAmount": "36.27"
                },
                "legIds": [
                  "leg-1"
                ],
                "parameters": {
                  "reserving": [
                    {
                      "price": {
                        "amount": "0.00",
                        "currency": "NOK",
                        "taxAmount": "0.00"
                      },
                      "priceContribution": {
                        "amount": "0.00",
                        "currency": "NOK",
                        "taxAmount": "0.00"
                      },
                      "usageParameterRef": {
                        "id": "ABC:Reserving:CompulsoryRes"
                      }
                    }
                  ],
                  "userProfile": {
                    "price": {
                      "amount": "200.00",
                      "currency": "NOK",
                      "taxAmount": "18.15"
                    },
                    "userProfileRef": {
                      "id": "ABC:UserProfile:Adult"
                    },
                    "priceContribution": {
                      "amount": "200.00",
                      "currency": "NOK",
                      "taxAmount": "18.15"
                    }
                  }
                },
                "fareProductRef": {
                  "id": "ENT:FareProduct:12345",
                  "privateCode": 67890
                },
                "organisationRef": {
                  "id": "ABC:Authority:1",
                  "privateCode": 1234
                },
                "priceContribution": {
                  "amount": "0.00",
                  "taxCode": "06",
                  "taxRate": "0.12",
                  "currency": "NOK",
                  "taxAmount": "0.00"
                },
                "validableElements": [
                  {
                    "price": {
                      "amount": "399.00",
                      "currency": "NOK",
                      "taxAmount": "36.27"
                    },
                    "legIds": [
                      "leg-1"
                    ],
                    "elementId": "a1b2c3d4-e5f6-7g8h-9i0j-k1l2m3n4o5p6",
                    "parameters": {
                      "usageValidityPeriod": {
                        "usageValidityPeriodRef": {
                          "id": "ABC:UsageValidityPeriod:SingleUse"
                        }
                      }
                    },
                    "priceContribution": {
                      "amount": "0.00",
                      "currency": "NOK",
                      "taxAmount": "0.00"
                    },
                    "validableElementRef": {
                      "id": "ABC:ValidableElement:54321",
                      "version": "ABC:Version:VE-1"
                    },
                    "fareStructureElements": [
                      {
                        "price": {
                          "amount": "399.00",
                          "currency": "NOK",
                          "taxAmount": "36.27"
                        },
                        "legIds": [
                          "leg-1"
                        ],
                        "priceContribution": {
                          "amount": "0.00",
                          "currency": "NOK",
                          "taxAmount": "0.00"
                        },
                        "fareStructureElementRef": {
                          "id": "ABC:FareStructureElement:98765",
                          "version": "ABC:Version:FSE-1"
                        }
                      }
                    ]
                  }
                ]
              }
            ],
            "salesPackageRef": {
              "id": "ABC:SalesPackage:CompanyTicket",
              "version": "ABC:Version:1"
            },
            "priceContribution": {
              "amount": "0.00",
              "currency": "NOK",
              "taxAmount": "0.00"
            },
            "distributionDetails": {
              "fulfillmentMethodRef": {
                "id": "ENT:FulfilmentMethod:Electronic"
              },
              "distributionHolderCustomerId": "98765432"
            },
            "travelSpecification": {
              "legs": [
                {
                  "id": "leg-1",
                  "mode": "RAIL",
                  "endTime": "2025-11-07T09:30:00Z",
                  "subMode": "REGIONAL_RAIL",
                  "startTime": "2025-11-07T08:00:00Z",
                  "operatorRef": {
                    "id": "ABC:Operator:1"
                  },
                  "authorityRef": {
                    "id": "ABC:Authority:1"
                  },
                  "toStopPlaceRef": {
                    "id": "NSR:StopPlace:67890"
                  },
                  "fromStopPlaceRef": {
                    "id": "NSR:StopPlace:12345"
                  },
                  "serviceJourneyRef": {
                    "id": "ABC:ServiceJourney:123"
                  },
                  "datedServiceJourneyRef": {
                    "id": "ABC:DatedServiceJourney:333"
                  }
                }
              ],
              "aimedStartTime": "2025-11-07T08:00:00Z"
            }
          }
        ]
      },
      "TravellerRequest": {
        "title": "TravellerRequest",
        "type": "object",
        "properties": {
          "ref": {
            "$ref": "#/components/schemas/CustomerRef"
          }
        },
        "description": "A Traveller object which might hold a reference to a Customer"
      },
      "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."
      },
      "ValidityParameter": {
        "type": "object",
        "properties": {
          "fareZoneRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "tariffZoneRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "passengerSeatRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "serviceJourneyRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "groupOfTariffZonesRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "datedServiceJourneyRef": {
            "$ref": "#/components/schemas/RefType"
          }
        },
        "description": "ValidityParameter object."
      },
      "CancellationReason": {
        "title": "CancellationReason",
        "type": "string",
        "description": "Cancellation reason for an OrderLine. OrderLines with REPLACED have been replaced with a newer version.",
        "enum": [
          "CANCELLED",
          "REPLACED"
        ]
      },
      "OrderCreateRequest": {
        "title": "OrderCreateRequest",
        "type": "object",
        "properties": {
          "currency": {
            "type": "string",
            "description": "The currency for this Order.",
            "default": "NOK"
          },
          "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"
            ]
          },
          "contactInfo": {
            "$ref": "#/components/schemas/ContactInfo"
          },
          "externalReference": {
            "type": "string",
            "description": "External reference for Orders",
            "examples": [
              "3N7URR0X"
            ]
          },
          "organisationOverride": {
            "type": "string",
            "description": "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.",
            "examples": [
              "2"
            ]
          }
        },
        "description": "Optional configuration to use when creating an Order",
        "examples": [
          {
            "expireAt": "2030-05-13T07:19:30.389Z",
            "contactInfo": {
              "contact": {
                "id": "12345678"
              },
              "createdBy": {
                "id": "12345678"
              }
            },
            "externalReference": "some-external-ref-123",
            "organisationOverride": "2"
          }
        ]
      },
      "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"
        ]
      },
      "PurchasedTraveller": {
        "title": "PurchasedTraveller",
        "required": [
          "entitlements",
          "travellerId"
        ],
        "type": "object",
        "properties": {
          "travellerId": {
            "type": "string",
            "description": "ID for Traveller",
            "format": "uuid"
          },
          "entitlements": {
            "type": "array",
            "description": "Entitlement information for the customer and the OrderLine",
            "items": {
              "$ref": "#/components/schemas/Entitlement"
            },
            "default": []
          },
          "givenConsentId": {
            "type": "string"
          }
        },
        "description": "Traveller for OrderLine"
      },
      "DistributionDetails": {
        "title": "DistributionDetails",
        "type": "object",
        "properties": {
          "customerAccountRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "fulfillmentMethodRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "distributionHolderCustomerId": {
            "type": "string",
            "description": "Reference to a customer who will use the travel right",
            "examples": [
              "12345"
            ]
          },
          "existingTravelDocumentDetails": {
            "$ref": "#/components/schemas/TravelDocumentDetails"
          },
          "typeOfTravelDocumentToIssueRef": {
            "$ref": "#/components/schemas/RefType"
          }
        },
        "description": "Wrapper for references connected to distribution of travel rights and/or tickets"
      },
      "PurchasedParameters": {
        "title": "PurchasedParameters",
        "required": [
          "entitlementGiven",
          "exchanging",
          "luggageAllowance",
          "replacing",
          "reserving",
          "roundTrip"
        ],
        "type": "object",
        "properties": {
          "group": {
            "$ref": "#/components/schemas/PurchasedGroup"
          },
          "replacing": {
            "type": "array",
            "description": "Reference to replacing 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": []
          },
          "roundTrip": {
            "type": "array",
            "description": "Reference to round trip 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": []
          },
          "userProfile": {
            "$ref": "#/components/schemas/PurchasedUserProfile"
          },
          "entitlementGiven": {
            "type": "array",
            "description": "Reference to entitlement products used when calculating price",
            "items": {
              "$ref": "#/components/schemas/PurchasedUsageParameter"
            },
            "default": []
          },
          "luggageAllowance": {
            "type": "array",
            "description": "Reference to luggage allowance parameters with price information.",
            "items": {
              "$ref": "#/components/schemas/PurchasedUsageParameter"
            },
            "default": []
          },
          "usageValidityPeriod": {
            "$ref": "#/components/schemas/PurchasedUsageParameter"
          }
        },
        "description": "Possible additional parameters for the configurations"
      },
      "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."
      },
      "RailReplacementInfo": {
        "required": [
          "originalFromStopPlaceRef",
          "originalToStopPlaceRef"
        ],
        "type": "object",
        "properties": {
          "originalToStopPlaceRef": {
            "type": "string",
            "description": "The stop place ref of the original train station where the passenger would have alighted."
          },
          "originalFromStopPlaceRef": {
            "type": "string",
            "description": "The stop place ref of the original train station where the passenger would have boarded."
          }
        },
        "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."
      },
      "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"
            }
          },
          "validities": {
            "type": "array",
            "description": "The FareProductValidities for a product.",
            "items": {
              "$ref": "#/components/schemas/PurchasedFareProductValidity"
            },
            "default": []
          },
          "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"
            ]
          },
          "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"
            ]
          },
          "travelDistance": {
            "$ref": "#/components/schemas/Distance"
          },
          "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"
            }
          }
        }
      },
      "PointToPointValidity": {
        "title": "PointToPointValidity",
        "required": [
          "fromPlace",
          "toPlace"
        ],
        "type": "object",
        "properties": {
          "toPlace": {
            "type": "string",
            "description": "Valid to StopPlace"
          },
          "fromPlace": {
            "type": "string",
            "description": "Valid from StopPlace"
          }
        },
        "description": "Start and StopPlaces where the entity is valid"
      },
      "PurchasedFareProduct": {
        "title": "PurchasedFareProduct",
        "required": [
          "fareProductRef",
          "legIds",
          "price",
          "priceContribution",
          "validableElements"
        ],
        "type": "object",
        "properties": {
          "price": {
            "$ref": "#/components/schemas/PriceWithTax"
          },
          "amount": {
            "type": "integer",
            "description": "Amount of priced unit",
            "format": "int32"
          },
          "legIds": {
            "type": "array",
            "description": "The IDs of the Legs that are connected to this FareProduct.",
            "items": {
              "type": "string",
              "examples": [
                "123"
              ]
            },
            "default": []
          },
          "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"
            ]
          },
          "parameters": {
            "$ref": "#/components/schemas/PurchasedParameters"
          },
          "validityId": {
            "type": "string",
            "description": "Unique identifier for a purchased FareProduct with validity"
          },
          "discountRight": {
            "$ref": "#/components/schemas/PurchasedFareProduct"
          },
          "fareProductRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "organisationRef": {
            "$ref": "#/components/schemas/OrganisationRef"
          },
          "priceContribution": {
            "$ref": "#/components/schemas/PriceWithTax"
          },
          "saleDiscountRight": {
            "$ref": "#/components/schemas/PurchasedSaleDiscountRight"
          },
          "validableElements": {
            "type": "array",
            "description": "The ValidableElement configurations which makes up this FareProduct.",
            "items": {
              "$ref": "#/components/schemas/PurchasedValidableElement"
            }
          },
          "fareAgreementNumber": {
            "type": "integer",
            "description": "Fare agreement identifier",
            "format": "int32"
          },
          "purchasedProperties": {
            "$ref": "#/components/schemas/PurchasedProperties"
          },
          "purchasedProductType": {
            "$ref": "#/components/schemas/PurchasedProductType"
          },
          "parameterSpecifications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PurchasedParameterSpecification"
            }
          },
          "originatingFromProductId": {
            "type": "string",
            "description": "The ID of the entitlement product that allowed the sale discount right to be used"
          }
        },
        "description": "Configuration for a purchased Fare Product"
      },
      "PurchasedProductType": {
        "title": "PurchasedProductType",
        "type": "string",
        "description": "Type of priced unit",
        "enum": [
          "TRIP_CARNET",
          "PASS_CARNET",
          "UNIT_COUPONS",
          "STORED_VALUE",
          "OTHER"
        ]
      },
      "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"
          }
        }
      },
      "PurchasedUserProfile": {
        "title": "PurchasedUserProfile",
        "required": [
          "price",
          "priceContribution",
          "userProfileRef"
        ],
        "type": "object",
        "properties": {
          "price": {
            "$ref": "#/components/schemas/PriceWithTax"
          },
          "userProfileRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "typeOfConcession": {
            "type": "string",
            "description": "The type of concession for this UserProfile",
            "examples": [
              "SENIOR"
            ]
          },
          "priceContribution": {
            "$ref": "#/components/schemas/PriceWithTax"
          }
        },
        "description": "A representation of a user profile"
      },
      "TravelDocumentDetails": {
        "title": "TravelDocumentDetails",
        "required": [
          "distributionAction",
          "travelDocumentRef"
        ],
        "type": "object",
        "properties": {
          "travelDocumentRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "distributionAction": {
            "$ref": "#/components/schemas/TravelDocumentDistributionAction"
          }
        }
      },
      "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"
        ]
      },
      "PurchasedUsageParameter": {
        "title": "PurchasedUsageParameter",
        "required": [
          "price",
          "priceContribution",
          "usageParameterRef"
        ],
        "type": "object",
        "properties": {
          "price": {
            "$ref": "#/components/schemas/PriceWithTax"
          },
          "priceContribution": {
            "$ref": "#/components/schemas/PriceWithTax"
          },
          "usageParameterRef": {
            "$ref": "#/components/schemas/RefType"
          }
        },
        "description": "A simple representation of a UsageParameter"
      },
      "ConfirmOrderLinesRequest": {
        "title": "ConfirmOrderLinesRequest",
        "required": [
          "orderLineIds"
        ],
        "type": "object",
        "properties": {
          "orderLineIds": {
            "type": "array",
            "description": "IDs of order lines to confirm. Must be order lines with externalConfirmation=PENDING.",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          }
        }
      },
      "PurchasedValidableElement": {
        "title": "PurchasedValidableElement",
        "required": [
          "fareStructureElements",
          "legIds",
          "price",
          "priceContribution",
          "validableElementRef"
        ],
        "type": "object",
        "properties": {
          "price": {
            "$ref": "#/components/schemas/PriceWithTax"
          },
          "legIds": {
            "type": "array",
            "description": "The Leg IDs that are connected to this ValidableElement.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "occurs": {
            "type": "integer",
            "description": "The number of instances of this particular type of ValidableElement that is collected in this FareProduct",
            "format": "int32"
          },
          "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"
            ]
          },
          "parameters": {
            "$ref": "#/components/schemas/PurchasedParameters"
          },
          "priceContribution": {
            "$ref": "#/components/schemas/PriceWithTax"
          },
          "purchasedProperties": {
            "$ref": "#/components/schemas/PurchasedProperties"
          },
          "validableElementRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "fareStructureElements": {
            "type": "array",
            "description": "The underlying FareStructureElement configurations which makes up this ValidableElement",
            "items": {
              "$ref": "#/components/schemas/PurchasedFareStructureElement"
            }
          },
          "parameterSpecifications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PurchasedParameterSpecification"
            }
          }
        },
        "description": "Configuration for a ValidableElement"
      },
      "DynamicUsageValidityPeriod": {
        "title": "DynamicUsageValidityPeriod",
        "type": "object",
        "properties": {
          "usageEnd": {
            "$ref": "#/components/schemas/UsageEnd"
          },
          "endDateTime": {
            "type": "string",
            "description": "EndDate",
            "format": "date-time",
            "examples": [
              "2020-05-13T07:19:30.389Z"
            ]
          },
          "usageTrigger": {
            "$ref": "#/components/schemas/UsageTrigger"
          },
          "startDateTime": {
            "type": "string",
            "description": "StartDateTime",
            "format": "date-time",
            "examples": [
              "2020-05-13T07:19:30.389Z"
            ]
          },
          "activationMeans": {
            "type": "array",
            "description": "Activation Means. Describes how a product can be activated.",
            "items": {
              "$ref": "#/components/schemas/ActivationMeans"
            },
            "default": []
          },
          "standardDuration": {
            "type": "string",
            "description": "Standard duration. Represented as a string formatted according to ISO-8601",
            "format": "duration",
            "examples": [
              "PT1H"
            ]
          }
        },
        "description": "A dynamic UsageValidtyPeriod that is generated on the fly. Thus lacking id and version as it can not be referenced"
      },
      "PurchasedSaleDiscountRight": {
        "title": "PurchasedSaleDiscountRight",
        "required": [
          "discountRightRef",
          "price",
          "priceContribution"
        ],
        "type": "object",
        "properties": {
          "price": {
            "$ref": "#/components/schemas/PriceWithTax"
          },
          "discountRightRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "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"
      },
      "PurchasedUserProfileSummary": {
        "title": "PurchasedUserProfileSummary",
        "required": [
          "count",
          "price",
          "priceContribution",
          "userProfileRef"
        ],
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "The number of travellers with given user profile.",
            "examples": [
              3
            ]
          },
          "price": {
            "$ref": "#/components/schemas/PriceWithTax"
          },
          "userProfileRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "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."
      },
      "SpecificParameterAssignment": {
        "type": "object",
        "properties": {
          "includes": {
            "type": "array",
            "description": "Included SpecificParameterAssignments",
            "items": {
              "$ref": "#/components/schemas/SpecificParameterAssignment"
            }
          },
          "limitations": {
            "type": "array",
            "description": "Limitations",
            "items": {
              "$ref": "#/components/schemas/Limitation"
            }
          },
          "validityParameters": {
            "type": "array",
            "description": "Validity parameters",
            "items": {
              "$ref": "#/components/schemas/ValidityParameter"
            }
          },
          "includesGroupingType": {
            "$ref": "#/components/schemas/LogicalOperator"
          },
          "limitationGroupingType": {
            "$ref": "#/components/schemas/LogicalOperator"
          },
          "distanceMatrixElementRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "dynamicDistanceMatrixElement": {
            "$ref": "#/components/schemas/DynamicDistanceMatrixElement"
          },
          "validityParameterGroupingType": {
            "$ref": "#/components/schemas/LogicalOperator"
          },
          "typeOfAccessRightAssignmentRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "validityParameterSetSelectionType": {
            "$ref": "#/components/schemas/SetSelection"
          }
        }
      },
      "DynamicDistanceMatrixElement": {
        "title": "DynamicDistanceMatrixElement",
        "type": "object",
        "properties": {
          "endStopPointRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "endTariffZoneRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "startStopPointRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "startTariffZoneRef": {
            "$ref": "#/components/schemas/RefType"
          }
        },
        "description": ""
      },
      "PurchasedFareProductValidity": {
        "title": "PurchasedFareProductValidity",
        "required": [
          "validityId"
        ],
        "type": "object",
        "properties": {
          "validityId": {
            "type": "string",
            "description": "Unique identifier for a purchased FareProduct with validity"
          },
          "zonalValidity": {
            "$ref": "#/components/schemas/ZonalValidity"
          },
          "pointToPointValidity": {
            "$ref": "#/components/schemas/PointToPointValidity"
          }
        },
        "description": "The PointToPontValidity or ZonalValidity this FareProduct contains."
      },
      "PurchasedFareStructureElement": {
        "title": "PurchasedFareStructureElement",
        "required": [
          "fareStructureElementRef",
          "legIds",
          "price",
          "priceContribution"
        ],
        "type": "object",
        "properties": {
          "price": {
            "$ref": "#/components/schemas/PriceWithTax"
          },
          "legIds": {
            "type": "array",
            "description": "The Leg IDs that are connected to this FareStructureElement",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "interval": {
            "$ref": "#/components/schemas/PurchasedGeographicalInterval"
          },
          "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."
          },
          "parameters": {
            "$ref": "#/components/schemas/PurchasedParameters"
          },
          "priceContribution": {
            "$ref": "#/components/schemas/PriceWithTax"
          },
          "purchasedProperties": {
            "$ref": "#/components/schemas/PurchasedProperties"
          },
          "fareStructureElementRef": {
            "$ref": "#/components/schemas/RefType"
          },
          "parameterSpecifications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PurchasedParameterSpecification"
            }
          },
          "qualityStructureFactorRef": {
            "$ref": "#/components/schemas/RefType"
          }
        },
        "description": "Configuration for a FareStructureElement"
      },
      "PurchasedGeographicalInterval": {
        "title": "PurchasedGeographicalInterval",
        "required": [
          "fareZones",
          "geographicalIntervalRef",
          "zones"
        ],
        "type": "object",
        "properties": {
          "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": []
          },
          "distance": {
            "type": "number",
            "description": "The distance in the geographical interval.",
            "format": "double",
            "examples": [
              12.5
            ]
          },
          "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": []
          },
          "zoneCount": {
            "type": "integer",
            "description": "Number of zones counted for the journey.",
            "format": "int32",
            "examples": [
              3
            ]
          },
          "geographicalIntervalRef": {
            "$ref": "#/components/schemas/RefType"
          }
        },
        "description": "The Geographical Interval with distance and zone data."
      },
      "PurchasedParameterSpecification": {
        "type": "object",
        "properties": {
          "specificationOf": {
            "type": "string",
            "description": "Specification of parameter id"
          },
          "specificParameterAssignment": {
            "$ref": "#/components/schemas/SpecificParameterAssignment"
          }
        }
      },
      "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"
      },
      "TravelDocumentDistributionAction": {
        "title": "TravelDocumentDistributionAction",
        "type": "string",
        "enum": [
          "ATTACH_FARE_CONTRACT_AND_ACTIVATE"
        ]
      }
    },
    "responses": {
      "conflict": {
        "description": "Conflict",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ApiError"
            }
          }
        }
      },
      "notFound": {
        "description": "Not Found",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ApiError"
            }
          }
        }
      },
      "forbidden": {
        "description": "Forbidden",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ApiError"
            }
          }
        }
      },
      "noContent": {
        "description": "No Content"
      },
      "badRequest": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ApiError"
            }
          }
        }
      },
      "serviceUnavailable": {
        "description": "Service unavailable",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ApiError"
            }
          }
        }
      },
      "internalServerError": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ApiError"
            }
          }
        }
      }
    },
    "parameters": {
      "dciHeader": {
        "name": "Entur-Distribution-Channel",
        "in": "header",
        "description": "A header containing the distribution channel ID.",
        "required": false,
        "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"
        }
      },
      "orderIdPathParam": {
        "name": "orderId",
        "in": "path",
        "description": "Order ID",
        "required": true,
        "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
        }
      },
      "orderLineIdPathParam": {
        "name": "orderLineId",
        "in": "path",
        "description": "OrderLine ID to given Order",
        "required": true,
        "style": "simple",
        "explode": false,
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      "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
        }
      },
      "ET-Client-Name": {
        "in": "header",
        "name": "ET-Client-Name",
        "description": "\nEntur Client Header.\nIt is required that all consumers identify themselves by using this header.\nEntur will deploy strict rate-limiting policies on API-consumers who do not identify with a header and reserves the right to block unidentified consumers.\nThe structure of ET-Client-Name should be: `<company>-<application>` for companies, and `<personal name>-<application>` for individuals.",
        "schema": {
          "type": "string"
        }
      },
      "X-Correlation-Id": {
        "in": "header",
        "name": "X-Correlation-Id",
        "description": "Correlation id",
        "schema": {
          "type": "string"
        }
      }
    }
  }
}