Entur · Schema

EntitlementResponse

Entitlement containing information about contract, product, contract holder and ticker order

CompanyPublic TransportJourney PlanningMobilityOpen DataNorwayTransitGraphQL

Properties

Name Type Description
productId string Id of the product connected to the contracts loyalty program
displayName array Display name for loyalty program
productVersion string Version of the product connected to the contracts loyalty program
contractUUID string Contract UUID, used to identify a contract
contractExternalRef string External contract reference if set.
contractOwnerCustomerNumber integer Contract owner customer number
contractOwnerDisplayName string Contract owners first and last name
contractOwnerBirthDate object
contractValidFrom string Contract consumable from date
contractValidTo string Contract expiration date
contractParent string If present, contract UUID of the parent contract. This field is usually set if the contract is created by a coupon usage, whereas this contract has a time constraint and the parent has a coupon constr
remainingCoupons integer Remaining coupons connected to the contract
couponsLimit integer How many coupons the contract has. Default is cascaded from Loyalty Program Version. If set, the contract will be blocked for usage when all coupons are used. Coupons are registered via an OrderLineEv
ticketOrderId string If present, a ticket is included in this right. It may be distributed or redistributed to this device.
isSeniorCitizen boolean Whether the contract owner is considered a senior citizen
passengerCategory string Passenger category.
View JSON Schema on GitHub

JSON Schema

entur-entitlement-response-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/entur/main/json-schema/entur-entitlement-response-schema.json",
  "title": "EntitlementResponse",
  "description": "Entitlement containing information about contract, product, contract holder and ticker order",
  "x-generated": "2026-10-09",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/entur-personnel-tickets-openapi.yml#/components/schemas/EntitlementResponse",
  "required": [
    "contractOwnerCustomerNumber",
    "contractOwnerDisplayName",
    "contractUUID",
    "contractValidFrom",
    "isSeniorCitizen",
    "passengerCategory",
    "productId",
    "productVersion"
  ],
  "type": "object",
  "properties": {
    "productId": {
      "type": "string",
      "description": "Id of the product connected to the contracts loyalty program"
    },
    "displayName": {
      "type": "array",
      "description": "Display name for loyalty program",
      "items": {
        "$ref": "#/$defs/LocalizedText"
      }
    },
    "productVersion": {
      "type": "string",
      "description": "Version of the product connected to the contracts loyalty program"
    },
    "contractUUID": {
      "type": "string",
      "description": "Contract UUID, used to identify a contract"
    },
    "contractExternalRef": {
      "type": "string",
      "description": "External contract reference if set."
    },
    "contractOwnerCustomerNumber": {
      "type": "integer",
      "description": "Contract owner customer number",
      "format": "int64"
    },
    "contractOwnerDisplayName": {
      "type": "string",
      "description": "Contract owners first and last name"
    },
    "contractOwnerBirthDate": {
      "$ref": "#/$defs/LocalDateResponse"
    },
    "contractValidFrom": {
      "type": "string",
      "description": "Contract consumable from date"
    },
    "contractValidTo": {
      "type": "string",
      "description": "Contract expiration date"
    },
    "contractParent": {
      "type": "string",
      "description": "If present, contract UUID of the parent contract. This field is usually set if the contract is created by a coupon usage, whereas this contract has a time constraint and the parent has a coupon constraint."
    },
    "remainingCoupons": {
      "type": "integer",
      "description": "Remaining coupons connected to the contract",
      "format": "int64"
    },
    "couponsLimit": {
      "type": "integer",
      "description": "How many coupons the contract has. Default is cascaded from Loyalty Program Version. If set, the contract will be blocked for usage when all coupons are used. Coupons are registered via an OrderLineEvent.",
      "format": "int64"
    },
    "ticketOrderId": {
      "type": "string",
      "description": "If present, a ticket is included in this right. It may be distributed or redistributed to this device."
    },
    "isSeniorCitizen": {
      "type": "boolean",
      "description": "Whether the contract owner is considered a senior citizen",
      "deprecated": true
    },
    "passengerCategory": {
      "type": "string",
      "description": "Passenger category.",
      "enum": [
        "STUDENT",
        "SENIOR_CITIZEN",
        "ADULT"
      ]
    }
  },
  "$defs": {
    "LocalDateResponse": {
      "required": [
        "day",
        "month",
        "year"
      ],
      "type": "object",
      "properties": {
        "day": {
          "type": "integer",
          "format": "int32"
        },
        "month": {
          "type": "integer",
          "format": "int32"
        },
        "year": {
          "type": "integer",
          "format": "int32"
        }
      },
      "description": "Contract owners birth day"
    },
    "LocalizedText": {
      "required": [
        "description",
        "languageCode",
        "text"
      ],
      "type": "object",
      "properties": {
        "languageCode": {
          "type": "string",
          "description": "Language code according to ISO 639-3"
        },
        "text": {
          "type": "string",
          "description": "Text localized to the language given in languageCode"
        },
        "description": {
          "type": "string",
          "description": "Loyalty program description. Supports any kind of text"
        }
      },
      "description": "Localized text with language code"
    }
  }
}

Work with this as data

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

MCP server

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

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/entur-entitlement-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

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

Get an API key

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

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