Entur · Schema
OrderLine
CompanyPublic TransportJourney PlanningMobilityOpen DataNorwayTransitGraphQL
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/entur/main/json-schema/entur-order-line-schema.json",
"title": "OrderLine",
"x-generated": "2026-10-09",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/entur-order-partner-openapi.yml#/components/schemas/OrderLine",
"allOf": [
{
"required": [
"createdAt",
"id",
"status",
"version"
],
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID of OrderLine",
"format": "uuid"
},
"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
},
"status": {
"$ref": "#/$defs/WorkflowStatus"
},
"cancellation": {
"$ref": "#/$defs/CancellationReason"
},
"createdAt": {
"type": "string",
"description": "Timestamp for when the OrderLine was created.",
"format": "date-time"
},
"lastConfirmedAt": {
"type": "string",
"description": "Timestamp for when the OrderLine was last confirmed.",
"format": "date-time"
},
"refunded": {
"type": "boolean",
"description": "If true = refunded, false = cancelled, null = active"
},
"parameterSpecifications": {
"type": "array",
"items": {
"$ref": "#/$defs/PurchasedParameterSpecification"
}
},
"addedBy": {
"$ref": "#/$defs/AddedBy"
}
}
},
{
"$ref": "#/$defs/OrderLineRequest"
}
],
"$defs": {
"ActivationMeans": {
"title": "ActivationMeans",
"type": "string",
"enum": [
"AUTOMATIC_BY_TIME",
"CHECK_IN",
"NONE_REQUIRED",
"OTHER",
"USE_OF_MOBILE_DEVICE",
"USE_OF_VALIDATOR"
]
},
"AddedBy": {
"type": "object",
"properties": {
"pos": {
"type": "string",
"description": "Point-of-sale reference of request used when OrderLine was added."
},
"distributionChannelId": {
"type": "string",
"description": "Distribution channel ID of request used when OrderLine was added."
}
},
"description": "Metadata about who or what added the OrderLine."
},
"CancellationReason": {
"title": "CancellationReason",
"type": "string",
"description": "Cancellation reason for an OrderLine. OrderLines with REPLACED have been replaced with a newer version.",
"enum": [
"CANCELLED",
"REPLACED"
]
},
"CompanionProfile": {
"title": "CompanionProfile",
"required": [
"maximumNumberOfPersons",
"minimumNumberOfPersons"
],
"type": "object",
"properties": {
"minimumNumberOfPersons": {
"type": "integer"
},
"maximumNumberOfPersons": {
"type": "integer"
},
"userProfileRef": {
"$ref": "#/$defs/RefType"
}
}
},
"Distance": {
"title": "Distance",
"required": [
"unit",
"value"
],
"type": "object",
"properties": {
"value": {
"type": "number",
"description": "The distance value.",
"format": "decimal"
},
"unit": {
"$ref": "#/$defs/DistanceUnit"
}
},
"description": "A distance value with a unit."
},
"DistanceUnit": {
"title": "DistanceUnit",
"type": "string",
"description": "Unit of distance measurement.",
"enum": [
"METER",
"KILOMETER"
]
},
"DistributionDetails": {
"title": "DistributionDetails",
"type": "object",
"properties": {
"fulfillmentMethodRef": {
"$ref": "#/$defs/RefType"
},
"typeOfTravelDocumentToIssueRef": {
"$ref": "#/$defs/RefType"
},
"customerAccountRef": {
"$ref": "#/$defs/RefType"
},
"existingTravelDocumentDetails": {
"$ref": "#/$defs/TravelDocumentDetails"
},
"distributionHolderCustomerId": {
"type": "string",
"description": "Reference to a customer who will use the travel right"
}
},
"description": "Wrapper for references connected to distribution of travel rights and/or tickets"
},
"DynamicDistanceMatrixElement": {
"title": "DynamicDistanceMatrixElement",
"type": "object",
"properties": {
"startStopPointRef": {
"$ref": "#/$defs/RefType"
},
"endStopPointRef": {
"$ref": "#/$defs/RefType"
},
"startTariffZoneRef": {
"$ref": "#/$defs/RefType"
},
"endTariffZoneRef": {
"$ref": "#/$defs/RefType"
}
},
"description": ""
},
"DynamicUsageValidityPeriod": {
"title": "DynamicUsageValidityPeriod",
"type": "object",
"properties": {
"standardDuration": {
"type": "string",
"description": "Standard duration. Represented as a string formatted according to ISO-8601",
"format": "duration"
},
"startDateTime": {
"type": "string",
"description": "StartDateTime",
"format": "date-time"
},
"usageTrigger": {
"$ref": "#/$defs/UsageTrigger"
},
"endDateTime": {
"type": "string",
"description": "EndDate",
"format": "date-time"
},
"usageEnd": {
"$ref": "#/$defs/UsageEnd"
},
"activationMeans": {
"type": "array",
"description": "Activation Means. Describes how a product can be activated.",
"items": {
"$ref": "#/$defs/ActivationMeans"
},
"default": []
}
},
"description": "A dynamic UsageValidtyPeriod that is generated on the fly. Thus lacking id and version as it can not be referenced"
},
"Entitlement": {
"title": "Entitlement",
"required": [
"entitlementProductRef"
],
"type": "object",
"properties": {
"contractId": {
"type": "string",
"description": "ID of contract used by Traveller for OrderLine"
},
"entitlementProductRef": {
"$ref": "#/$defs/RefType"
},
"externalEntitlementRef": {
"$ref": "#/$defs/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": "#/$defs/CompanionProfile"
}
},
"derivedFromObjectRef": {
"type": "string",
"description": "Identity of object from which this object of ENTITY was derived. Normally the same."
},
"derivedFromVersionRef": {
"type": "string",
"description": "Version of this object from which this version of ENTITY was derived."
}
}
},
"InterchangeTo": {
"title": "InterchangeTo",
"required": [
"fromServiceJourneyRef",
"staySeated",
"toServiceJourneyRef"
],
"type": "object",
"properties": {
"staySeated": {
"type": "boolean",
"description": "Passengers should remain seated when travelling from and to ServiceJourneys referenced in this object"
},
"fromServiceJourneyRef": {
"$ref": "#/$defs/RefType"
},
"toServiceJourneyRef": {
"$ref": "#/$defs/RefType"
}
},
"description": "Connected ServiceJourneys without changing material"
},
"Limitation": {
"title": "Limitation",
"type": "object",
"properties": {
"dynamicUsageValidityPeriod": {
"$ref": "#/$defs/DynamicUsageValidityPeriod"
},
"usageValidityPeriodRef": {
"$ref": "#/$defs/RefType"
},
"userProfileRef": {
"$ref": "#/$defs/RefType"
},
"groupTicketRef": {
"$ref": "#/$defs/RefType"
},
"groupTicket": {
"$ref": "#/$defs/GroupTicket"
}
}
},
"LocalPriceWithTax": {
"required": [
"amount",
"currency",
"exchangeRate",
"taxAmount",
"taxCountry",
"taxRate"
],
"type": "object",
"properties": {
"amount": {
"type": "string",
"description": "Amount including tax amount."
},
"currency": {
"type": "string",
"description": "Currency"
},
"exchangeRate": {
"type": "string",
"description": "Exchange rate used at creation time to convert the local currency into the order's currency. It is the number of units of the order currency paid for 1 (one) unit of the local currency. Must be in valid BigDecimal format. E.g., if the order currency is NOK and the local currency is EUR, and 1 EUR = 10 NOK, then the exchange rate is 10.0000. If the order currency is NOK and the local currency is SEK, and 100 SEK = 96.21 NOK, then the exchange rate is 0.9621."
},
"taxAmount": {
"type": "string",
"description": "Tax amount"
},
"taxCountry": {
"pattern": "^[A-Z]{2}$",
"type": "string",
"description": "ISO 3166-1 alpha-2 country code"
},
"taxRate": {
"type": "string",
"description": "Tax rate. Must be in valid BigDecimal format"
}
},
"description": "The original price, with tax, in the local currency of the tax country."
},
"LogicalOperator": {
"title": "LogicalOperator",
"type": "string",
"description": "Logical operator",
"enum": [
"AND",
"OR",
"XOR",
"NOT",
"NAND",
"XNOR",
"NOR"
]
},
"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"
]
},
"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"
},
"price": {
"$ref": "#/$defs/PriceWithTax"
},
"priceContribution": {
"$ref": "#/$defs/PriceWithTax"
},
"localPrice": {
"$ref": "#/$defs/LocalPriceWithTax"
},
"salesPackageRef": {
"$ref": "#/$defs/RefType"
},
"parameters": {
"$ref": "#/$defs/PurchasedParameters"
},
"fareProducts": {
"type": "array",
"description": "The underlying FareProducts which make up this SalesPackage.",
"items": {
"$ref": "#/$defs/PurchasedFareProduct"
},
"default": []
},
"description": {
"type": "array",
"description": "Description.",
"items": {
"$ref": "#/$defs/TextInLanguage"
},
"default": []
},
"privateCode": {
"type": "string",
"description": "Private code."
},
"travelSpecification": {
"$ref": "#/$defs/TravelSpecification"
},
"travellers": {
"type": "array",
"description": "The Travellers that are to travel on this OrderLine.",
"items": {
"$ref": "#/$defs/PurchasedTraveller"
},
"default": []
},
"externalReference": {
"type": "string",
"description": "External reference to another system supplied by the client."
},
"distributionDetails": {
"$ref": "#/$defs/DistributionDetails"
},
"purchasedProperties": {
"$ref": "#/$defs/PurchasedProperties"
},
"effectiveCancellationDate": {
"type": "string",
"description": "If set, the effective date for cancellation. Overrides timestamp.",
"format": "date-time"
},
"clientProvidedData": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "A map of client provided data. No validation is performed, and no guarantee can be made about its contents."
},
"parameterSpecifications": {
"type": "array",
"items": {
"$ref": "#/$defs/PurchasedParameterSpecification"
}
},
"externalConfirmation": {
"type": "string",
"description": "External confirmation status for this OrderLine. Allowed values: PENDING, SUCCESS, FAILED."
}
}
},
"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"
},
"PointToPointValidity": {
"title": "PointToPointValidity",
"required": [
"fromPlace",
"toPlace"
],
"type": "object",
"properties": {
"fromPlace": {
"type": "string",
"description": "Valid from StopPlace"
},
"toPlace": {
"type": "string",
"description": "Valid to StopPlace"
}
},
"description": "Start and StopPlaces where the entity is valid"
},
"PriceWithTax": {
"title": "PriceWithTax",
"required": [
"amount",
"currency",
"taxAmount"
],
"type": "object",
"properties": {
"amount": {
"type": "string",
"description": "Amount including tax amount."
},
"taxAmount": {
"type": "string",
"description": "Tax amount"
},
"taxRate": {
"type": "string",
"description": "Tax rate. Must be in valid BigDecimal format"
},
"taxCode": {
"type": "string",
"description": "Tax code for this tax rate"
},
"currency": {
"type": "string",
"description": "Currency",
"default": "NOK"
}
},
"description": "Price with included tax amounts and an optional rate."
},
"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"
]
},
"PurchasedDiscountUsageParameters": {
"title": "PurchasedDiscountUsageParameters",
"required": [
"entitlementGiven",
"reserving"
],
"type": "object",
"properties": {
"reserving": {
"type": "array",
"description": "Reference to reserving parameters with price information.",
"items": {
"$ref": "#/$defs/PurchasedUsageParameter"
},
"default": []
},
"entitlementGiven": {
"type": "array",
"description": "Reference to entitlement products used when calculating price",
"items": {
"$ref": "#/$defs/PurchasedUsageParameter"
},
"default": []
}
},
"description": "Possible additional parameters for the configurations"
},
"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"
]
},
"PurchasedFareProduct": {
"title": "PurchasedFareProduct",
"required": [
"fareProductRef",
"legIds",
"price",
"priceContribution",
"validableElements"
],
"type": "object",
"properties": {
"fareProductRef": {
"$ref": "#/$defs/RefType"
},
"price": {
"$ref": "#/$defs/PriceWithTax"
},
"priceContribution": {
"$ref": "#/$defs/PriceWithTax"
},
"legIds": {
"type": "array",
"description": "The IDs of the Legs that are connected to this FareProduct.",
"items": {
"type": "string"
},
"default": []
},
"parameters": {
"$ref": "#/$defs/PurchasedParameters"
},
"validableElements": {
"type": "array",
"description": "The ValidableElement configurations which makes up this FareProduct.",
"items": {
"$ref": "#/$defs/PurchasedValidableElement"
}
},
"organisationRef": {
"$ref": "#/$defs/OrganisationRef"
},
"discountRight": {
"$ref": "#/$defs/PurchasedFareProduct"
},
"originatingFromProductId": {
"type": "string",
"description": "The ID of the entitlement product that allowed the sale discount right to be used"
},
"elementId": {
"type": "string",
"description": "Unique ID for this specific PurchasedFareProduct. Note that this ID is only for distinguishing parts of an orderLine. It has no use outside of the orderLine, and can't be found in any other service."
},
"saleDiscountRight": {
"$ref": "#/$defs/PurchasedSaleDiscountRight"
},
"purchasedProperties": {
"$ref": "#/$defs/PurchasedProperties"
},
"validityId": {
"type": "string",
"description": "Unique identifier for a purchased FareProduct with validity"
},
"amount": {
"type": "integer",
"description": "Amount of priced unit",
"format": "int32"
},
"purchasedProductType": {
"$ref": "#/$defs/PurchasedProductType"
},
"parameterSpecifications": {
"type": "array",
"items": {
"$ref": "#/$defs/PurchasedParameterSpecification"
}
},
"fareAgreementNumber": {
"type": "integer",
"description": "Fare agreement identifier",
"format": "int32"
}
},
"description": "Configuration for a purchased Fare Product"
},
"PurchasedFareProductValidity": {
"title": "PurchasedFareProductValidity",
"required": [
"validityId"
],
"type": "object",
"properties": {
"validityId": {
"type": "string",
"description": "Unique identifier for a purchased FareProduct with validity"
},
"pointToPointValidity": {
"$ref": "#/$defs/PointToPointValidity"
},
"zonalValidity": {
"$ref": "#/$defs/ZonalValidity"
}
},
"description": "The PointToPontValidity or ZonalValidity this FareProduct contains."
},
"PurchasedFareStructureElement": {
"title": "PurchasedFareStructureElement",
"required": [
"fareStructureElementRef",
"legIds",
"price",
"priceContribution"
],
"type": "object",
"properties": {
"fareStructureElementRef": {
"$ref": "#/$defs/RefType"
},
"price": {
"$ref": "#/$defs/PriceWithTax"
},
"priceContribution": {
"$ref": "#/$defs/PriceWithTax"
},
"legIds": {
"type": "array",
"description": "The Leg IDs that are connected to this FareStructureElement",
"items": {
"type": "string"
},
"default": []
},
"parameters": {
"$ref": "#/$defs/PurchasedParameters"
},
"interval": {
"$ref": "#/$defs/PurchasedGeographicalInterval"
},
"qualityStructureFactorRef": {
"$ref": "#/$defs/RefType"
},
"elementId": {
"type": "string",
"description": "Unique ID for this specific PurchasedFareStructureElement. Note that this ID is only for distinguishing parts of an orderLine. It has no use outside of the orderLine, and can't be found in any other service."
},
"purchasedProperties": {
"$ref": "#/$defs/PurchasedProperties"
},
"parameterSpecifications": {
"type": "array",
"items": {
"$ref": "#/$defs/PurchasedParameterSpecification"
}
}
},
"description": "Configuration for a FareStructureElement"
},
"PurchasedGeographicalInterval": {
"title": "PurchasedGeographicalInterval",
"required": [
"fareZones",
"geographicalIntervalRef",
"zones"
],
"type": "object",
"properties": {
"geographicalIntervalRef": {
"$ref": "#/$defs/RefType"
},
"distance": {
"type": "number",
"description": "The distance in the geographical interval.",
"format": "double"
},
"zoneCount": {
"type": "integer",
"description": "Number of zones counted for the journey.",
"format": "int32"
},
"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"
},
"default": []
},
"fareZones": {
"type": "array",
"description": "A list of fare zones that exist in this interval. Empty if not relevant.",
"items": {
"type": "string"
},
"default": []
}
},
"description": "The Geographical Interval with distance and zone data."
},
"PurchasedGroup": {
"title": "PurchasedGroup",
"required": [
"groupSummary",
"groupTicketRef",
"price",
"priceContribution",
"userProfileRefs"
],
"type": "object",
"properties": {
"groupTicketRef": {
"$ref": "#/$defs/RefType"
},
"price": {
"$ref": "#/$defs/PriceWithTax"
},
"priceContribution": {
"$ref": "#/$defs/PriceWithTax"
},
"userProfileRefs": {
"type": "array",
"description": "The UserProfile IDs that are given rights to travel with this GroupTicket.",
"items": {
"$ref": "#/$defs/RefType"
},
"default": []
},
"groupSummary": {
"type": "array",
"description": "A collection of all the different user profiles with price and tax in the group.",
"items": {
"$ref": "#/$defs/PurchasedUserProfileSummary"
},
"default": []
}
},
"description": "A representation of group product"
},
"PurchasedLeg": {
"title": "PurchasedLeg",
"required": [
"authorityRef",
"endTime",
"fromStopPlaceRef",
"id",
"mode",
"operatorRef",
"serviceJourneyRef",
"startTime",
"subMode",
"toStopPlaceRef"
],
"type": "object",
"properties": {
"id": {
"type": "string"
},
"datedServiceJourneyRef": {
"$ref": "#/$defs/RefType"
},
"originalDatedServiceJourneyRef": {
"$ref": "#/$defs/RefType"
},
"startTime": {
"type": "string",
"description": "The date and time this Leg begins.",
"format": "date-time"
},
"fromStopPlaceRef": {
"$ref": "#/$defs/RefType"
},
"endTime": {
"type": "string",
"description": "The date and time this Leg ends.",
"format": "date-time"
},
"toStopPlaceRef": {
"$ref": "#/$defs/RefType"
},
"authorityRef": {
"$ref": "#/$defs/RefType"
},
"operatorRef": {
"$ref": "#/$defs/RefType"
},
"organisationId": {
"type": "integer",
"description": "The organisation that owns the service journey on this leg, Alternative identifier to authorityRef or operatorRef.",
"format": "int64"
},
"serviceJourneyRef": {
"$ref": "#/$defs/RefType"
},
"mode": {
"$ref": "#/$defs/Mode"
},
"subMode": {
"$ref": "#/$defs/SubMode"
},
"interchangeTo": {
"$ref": "#/$defs/InterchangeTo"
},
"lineId": {
"type": "string",
"description": "Line ID"
},
"serviceJourneyPrivateCode": {
"type": "string",
"description": "Private code of the ServiceJourney"
},
"railReplacementInfo": {
"$ref": "#/$defs/RailReplacementInfo"
}
},
"description": "Part of a trip between two places."
},
"PurchasedParameterSpecification": {
"type": "object",
"properties": {
"specificationOf": {
"type": "string",
"description": "Specification of parameter id"
},
"specificParameterAssignment": {
"$ref": "#/$defs/SpecificParameterAssignment"
}
}
},
"PurchasedParameters": {
"title": "PurchasedParameters",
"required": [
"entitlementGiven",
"exchanging",
"luggageAllowance",
"replacing",
"reserving",
"roundTrip"
],
"type": "object",
"properties": {
"userProfile": {
"$ref": "#/$defs/PurchasedUserProfile"
},
"luggageAllowance": {
"type": "array",
"description": "Reference to luggage allowance parameters with price information.",
"items": {
"$ref": "#/$defs/PurchasedUsageParameter"
},
"default": []
},
"exchanging": {
"type": "array",
"description": "Reference to exchanging parameters with price information.",
"items": {
"$ref": "#/$defs/PurchasedUsageParameter"
},
"default": []
},
"reserving": {
"type": "array",
"description": "Reference to reserving parameters with price information.",
"items": {
"$ref": "#/$defs/PurchasedUsageParameter"
},
"default": []
},
"replacing": {
"type": "array",
"description": "Reference to replacing parameters with price information.",
"items": {
"$ref": "#/$defs/PurchasedUsageParameter"
},
"default": []
},
"usageValidityPeriod": {
"$ref": "#/$defs/PurchasedUsageParameter"
},
"group": {
"$ref": "#/$defs/PurchasedGroup"
},
"roundTrip": {
"type": "array",
"description": "Reference to round trip parameters with price information.",
"items": {
"$ref": "#/$defs/PurchasedUsageParameter"
},
"default": []
},
"entitlementGiven": {
"type": "array",
"description": "Reference to entitlement products used when calculating price",
"items": {
"$ref": "#/$defs/PurchasedUsageParameter"
},
"default": []
}
},
"description": "Possible additional parameters for the configurations"
},
"PurchasedProductType": {
"title": "PurchasedProductType",
"type": "string",
"description": "Type of priced unit",
"enum": [
"TRIP_CARNET",
"PASS_CARNET",
"UNIT_COUPONS",
"STORED_VALUE",
"OTHER"
]
},
"PurchasedProperties": {
"title": "PurchasedProperties",
"required": [
"purchasedAccommodations",
"purchasedFareClasses"
],
"type": "object",
"properties": {
"purchasedFareClasses": {
"type": "array",
"description": "Type of FareClass chosen by customer",
"items": {
"$ref": "#/$defs/PurchasedFareClass"
},
"default": []
},
"purchasedAccommodations": {
"type": "array",
"description": "Type of accommodation chosen by customer",
"items": {
"$ref": "#/$defs/PurchasedAccommodation"
},
"default": []
}
},
"description": "Classification of the products chosen."
},
"PurchasedSaleDiscountRight": {
"title": "PurchasedSaleDiscountRight",
"required": [
"discountRightRef",
"price",
"priceContribution"
],
"type": "object",
"properties": {
"discountRightRef": {
"$ref": "#/$defs/RefType"
},
"price": {
"$ref": "#/$defs/PriceWithTax"
},
"priceContribution": {
"$ref": "#/$defs/PriceWithTax"
},
"discountParameters": {
"$ref": "#/$defs/PurchasedDiscountUsageParameters"
},
"originatingFromProductId": {
"type": "string",
"description": "The ID of the EntitlementProduct that allowed the SaleDiscountRight to be used."
}
},
"description": "Configuration for a Discount Right"
},
"PurchasedTraveller": {
"title": "PurchasedTraveller",
"required": [
"entitlements",
"travellerId"
],
"type": "object",
"properties": {
"travellerId": {
"type": "string",
"description": "ID for Traveller",
"format": "uuid"
},
"givenConsentId": {
"type": "string"
},
"entitlements": {
"type": "array",
"description": "Entitlement information for the customer and the OrderLine",
"items": {
"$ref": "#/$defs/Entitlement"
},
"default": []
}
},
"description": "Traveller for OrderLine"
},
"PurchasedUsageParameter": {
"title": "PurchasedUsageParameter",
"required": [
"price",
"priceContribution",
"usageParameterRef"
],
"type": "object",
"properties": {
"usageParameterRef": {
"$ref": "#/$defs/RefType"
},
"price": {
"$ref": "#/$defs/PriceWithTax"
},
"priceContribution": {
"$ref": "#/$defs/PriceWithTax"
}
},
"description": "A simple representation of a UsageParameter"
},
"PurchasedUserProfile": {
"title": "PurchasedUserProfile"
# --- truncated at 32 KB (46 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-order-line-schema.json
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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/entur-order-line"
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.