Entur · Schema
SupplementProduct
A SUPPLEMENT PRODUCT consisting of one or several VALIDABLE ELEMENTs, specific to a CHARGING MOMENT and FARE PRODUCT
CompanyPublic TransportJourney PlanningMobilityOpen DataNorwayTransitGraphQL
Properties
| Name | Type | Description |
|---|---|---|
| accessRightParameterAssignments | array | accessRightParameterAssignments. |
| accessRightsInProduct | array | accessRightParameterAssignments. |
| activeComparisonOperatorVariant | string | Deprecated: this parameter will be ignored |
| changed | string | Changed datetime. |
| chargingMoment | object | |
| chargingMomentType | string | ChargingMomentType. Default value is BEFORE_TRAVEL. |
| compatibleWithVersionRef | string | Compatible with version. |
| conditionSummary | object | |
| created | string | Created datetime. |
| derivedFromVersionRef | string | Derived from version. |
| description | array | Description represented in different languages. Language codes are ISO-639. |
| fareFrameRef | object | |
| fareProductRefs | array | fareProductRef. |
| fareStructureType | string | FareStructureType |
| fareTableRefs | array | Reference to information about the fare. |
| id | string | Id. |
| modification | string | Modification status. |
| name | array | Name represented in different languages. Language codes are ISO-639. |
| nameOfClass | string | Name of class. |
| operatorRef | string | The reference to the operator. |
| organisation | string | Organisation. |
| organisationId | string | Organisation related to the userProfile |
| prices | array | Fare prices. |
| pricingRuleRef | object | |
| privateCode | string | Privat code. |
| status | string | Supplement product status. |
| supplementProductType | string | The type of supplement product for which the supplement product belongs to. |
| typeOfFareProduct | object | |
| validityConditions | array | validityConditions. |
| vatGroup | string | The VAT group for the SupplementProduct. |
| version | string | Supplement product version. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/entur/main/json-schema/entur-supplement-product-schema.json",
"title": "SupplementProduct",
"description": "A SUPPLEMENT PRODUCT consisting of one or several VALIDABLE ELEMENTs, specific to a CHARGING MOMENT and FARE PRODUCT",
"x-generated": "2026-10-09",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/entur-products-openapi.yml#/components/schemas/SupplementProduct",
"required": [
"accessRightParameterAssignments",
"accessRightsInProduct",
"changed",
"chargingMoment",
"created",
"fareFrameRef",
"fareProductRefs",
"fareTableRefs",
"id",
"modification",
"nameOfClass",
"organisation",
"pricingRuleRef",
"status",
"validityConditions",
"vatGroup",
"version"
],
"type": "object",
"properties": {
"accessRightParameterAssignments": {
"type": "array",
"description": "accessRightParameterAssignments.",
"items": {
"$ref": "#/$defs/GenericParameterAssignment"
}
},
"accessRightsInProduct": {
"type": "array",
"description": "accessRightParameterAssignments.",
"items": {
"$ref": "#/$defs/AccessRightInProduct"
}
},
"activeComparisonOperatorVariant": {
"type": "string",
"description": "Deprecated: this parameter will be ignored"
},
"changed": {
"type": "string",
"description": "Changed datetime."
},
"chargingMoment": {
"$ref": "#/$defs/ChargingMoment"
},
"chargingMomentType": {
"type": "string",
"description": "ChargingMomentType. Default value is BEFORE_TRAVEL.",
"enum": [
"BEFORE_TRAVEL",
"ON_START_OF_TRAVEL",
"BEFORE_END_OF_TRAVEL",
"ON_START_THEN_ADJUST_AT_END_OF_TRAVEL",
"ON_START_THEN_ADJUST_AT_END_OF_FARE_DAY",
"ON_START_THEN_ADJUST_AT_END_OF_CHARGE_PERIOD",
"AT_END_OF_TRAVEL",
"AT_END_OF_CHARGE_PERIOD",
"FREE",
"ANY_TIME",
"OTHER"
]
},
"compatibleWithVersionRef": {
"type": "string",
"description": "Compatible with version."
},
"conditionSummary": {
"$ref": "#/$defs/ConditionSummary"
},
"created": {
"type": "string",
"description": "Created datetime."
},
"derivedFromVersionRef": {
"type": "string",
"description": "Derived from version."
},
"description": {
"type": "array",
"description": "Description represented in different languages. Language codes are ISO-639.",
"items": {
"$ref": "#/$defs/TextInLanguage"
}
},
"fareFrameRef": {
"$ref": "#/$defs/VersionOfObjectRef"
},
"fareProductRefs": {
"type": "array",
"description": "fareProductRef.",
"items": {
"$ref": "#/$defs/VersionOfObjectRef"
}
},
"fareStructureType": {
"type": "string",
"description": "FareStructureType",
"enum": [
"CAPPED_FLAT_FARE",
"CAPPED_POINT_TO_POINT_FARE",
"CAPPED_ZONAL_FARE",
"LINE_FLAT_FARE",
"NETWORK_FLAT_FARE",
"POINT_TO_POINT_FARE",
"POINT_TO_POINT_DISTANCE_FARE",
"STAGE_FARE",
"ZONE_FLAT_FARE",
"ZONE_SEQUENCE_FARE",
"ZONE_TO_ZONE_FARE",
"ZONE_COUNT_FARE",
"PENALTY_FARE",
"OTHER"
]
},
"fareTableRefs": {
"type": "array",
"description": "Reference to information about the fare.",
"items": {
"$ref": "#/$defs/VersionOfObjectRef"
}
},
"id": {
"minLength": 1,
"pattern": "^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\\-]*)$",
"type": "string",
"description": "Id."
},
"modification": {
"type": "string",
"description": "Modification status.",
"enum": [
"NEW",
"REVISE",
"DELETE"
]
},
"name": {
"type": "array",
"description": "Name represented in different languages. Language codes are ISO-639.",
"items": {
"$ref": "#/$defs/TextInLanguage"
}
},
"nameOfClass": {
"type": "string",
"description": "Name of class."
},
"operatorRef": {
"type": "string",
"description": "The reference to the operator."
},
"organisation": {
"type": "string",
"description": "Organisation."
},
"organisationId": {
"type": "string",
"description": "Organisation related to the userProfile"
},
"prices": {
"type": "array",
"description": "Fare prices.",
"items": {
"$ref": "#/$defs/FarePrice"
}
},
"pricingRuleRef": {
"$ref": "#/$defs/VersionOfObjectRef"
},
"privateCode": {
"type": "string",
"description": "Privat code."
},
"status": {
"type": "string",
"description": "Supplement product status.",
"enum": [
"DRAFT",
"PROPOSED",
"VERSIONED",
"DEPRECATED"
]
},
"supplementProductType": {
"type": "string",
"description": "The type of supplement product for which the supplement product belongs to.",
"enum": [
"SEAT_RESERVATION",
"BICYCLE",
"DOG",
"ANIMAL",
"MEAL",
"WIFI",
"EXTRA_LUGGAGE",
"PENALTY",
"UPGRADE",
"JOURNEY_EXTENSION",
"JOURNEY_ADD_ON",
"EVENT_ADD_ON",
"PARKING"
]
},
"typeOfFareProduct": {
"$ref": "#/$defs/TypeOfFareProduct"
},
"validityConditions": {
"type": "array",
"description": "validityConditions.",
"items": {
"$ref": "#/$defs/ValidityCondition"
}
},
"vatGroup": {
"type": "string",
"description": "The VAT group for the SupplementProduct.",
"enum": [
"EXCEPTION_FROM_VAT",
"GENERAL_VAT",
"FOOD_VAT",
"TRANSPORT_AND_TICKETS_VAT"
]
},
"version": {
"minLength": 1,
"pattern": "^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\\-]*)$",
"type": "string",
"description": "Supplement product version."
}
},
"$defs": {
"AccessRightInProduct": {
"required": [
"fareFrameRef",
"id",
"preassignedFareProductRef",
"validableElementRef",
"version"
],
"type": "object",
"properties": {
"accessNumber": {
"type": "integer",
"description": "The actual access number",
"format": "int32"
},
"accessNumberIsLimited": {
"type": "boolean",
"description": "Flag indicating if access number is limited"
},
"changed": {
"type": "string",
"description": "Changed datetime.",
"readOnly": true
},
"compatibleWithVersionRef": {
"type": "string",
"description": "Compatible with version."
},
"created": {
"type": "string",
"description": "Created datetime.",
"readOnly": true
},
"derivedFromVersionRef": {
"type": "string",
"description": "Derived from version."
},
"description": {
"type": "array",
"description": "Description represented in different languages. Language codes are ISO-639.",
"items": {
"$ref": "#/$defs/TextInLanguage"
}
},
"fareFrameRef": {
"$ref": "#/$defs/VersionOfObjectRef"
},
"id": {
"minLength": 1,
"pattern": "^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\\-]*)$",
"type": "string",
"description": "Id."
},
"isFirstInSequence": {
"type": "boolean",
"description": "Whether element is first in sequence"
},
"isLastInSequence": {
"type": "boolean",
"description": "Whether element is last in sequence"
},
"limitedAccessNumber": {
"type": "integer",
"description": "Flag indicating whether this rights gives an unlimited number of accesses or not",
"format": "int32"
},
"maximumAccess": {
"type": "integer",
"description": "Maximum number of times use of this element may occur in a given trip",
"format": "int32"
},
"minimumAccess": {
"type": "integer",
"description": "Minimum number of times use of this element must occur in a given trip",
"format": "int32"
},
"modification": {
"type": "string",
"description": "Modification status.",
"readOnly": true,
"enum": [
"NEW",
"REVISE",
"DELETE"
]
},
"name": {
"type": "array",
"description": "Name represented in different languages. Language codes are ISO-639.",
"items": {
"$ref": "#/$defs/TextInLanguage"
}
},
"nameOfClass": {
"type": "string",
"description": "Name of class.",
"readOnly": true
},
"orderOfElement": {
"type": "integer",
"description": "The actual order in the sequence",
"format": "int32"
},
"preassignedFareProductRef": {
"$ref": "#/$defs/VersionOfObjectRef"
},
"status": {
"type": "string",
"description": "Access right in product status.",
"readOnly": true,
"enum": [
"DRAFT",
"PROPOSED",
"VERSIONED",
"DEPRECATED"
]
},
"validableElementRef": {
"$ref": "#/$defs/VersionOfObjectRef"
},
"version": {
"minLength": 1,
"pattern": "^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\\-]*)$",
"type": "string",
"description": "Access right in product version."
}
},
"description": "A VALIDABLE ELEMENT as a part of a PRE-ASSIGNED FARE PRODUCT, including its possible order in the set of all VALIDABLE ELEMENTs grouped together to define the access right assigned to that PRE-ASSIGNED FARE PRODUCT."
},
"ChargingMoment": {
"required": [
"changed",
"created",
"fareFrameRef",
"id",
"modification",
"nameOfClass",
"status",
"version"
],
"type": "object",
"properties": {
"changed": {
"type": "string",
"description": "Changed datetime.",
"readOnly": true
},
"compatibleWithVersionRef": {
"type": "string",
"description": "Compatible with version.",
"readOnly": true
},
"created": {
"type": "string",
"description": "Created datetime.",
"readOnly": true
},
"derivedFromVersionRef": {
"type": "string",
"description": "Derived from version.",
"readOnly": true
},
"description": {
"type": "array",
"description": "Description represented in different languages. Language codes are ISO-639.",
"items": {
"$ref": "#/$defs/TextInLanguage"
}
},
"fareFrameRef": {
"$ref": "#/$defs/VersionOfObjectRef"
},
"id": {
"minLength": 1,
"pattern": "^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\\-]*)$",
"type": "string",
"description": "Id."
},
"modification": {
"type": "string",
"description": "Modification status.",
"readOnly": true,
"enum": [
"NEW",
"REVISE",
"DELETE"
]
},
"name": {
"type": "array",
"description": "Name represented in different languages. Language codes are ISO-639.",
"items": {
"$ref": "#/$defs/TextInLanguage"
}
},
"nameOfClass": {
"type": "string",
"description": "Name of class.",
"readOnly": true
},
"status": {
"type": "string",
"description": "Charging moment status.",
"readOnly": true,
"enum": [
"DRAFT",
"PROPOSED",
"VERSIONED",
"DEPRECATED"
]
},
"version": {
"minLength": 1,
"pattern": "^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\\-]*)$",
"type": "string",
"description": "Charging moment version."
}
},
"description": "A classification of FARE PRODUCTs according to the payment method and the account location: pre-payment with cancellation (throw-away), pre-payment with debit on a value card, pre-payment without consumption registration (pass), post-payment etc.",
"readOnly": true,
"deprecated": true
},
"ConditionSummary": {
"required": [
"id"
],
"type": "object",
"properties": {
"id": {
"minLength": 1,
"pattern": "^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\\-]*)$",
"type": "string",
"description": "Id."
},
"isExchangeable": {
"type": "boolean",
"description": "Whether the ticket is exchangeable."
},
"isRefundable": {
"type": "boolean",
"description": "Whether the ticket is refundable."
}
},
"description": "A summary of a condition."
},
"FarePrice": {
"required": [
"changed",
"created",
"fareFrameRef",
"id",
"modification",
"nameOfClass",
"status"
],
"type": "object",
"properties": {
"amount": {
"type": "string",
"description": "Amount"
},
"canBeCumulative": {
"type": "boolean",
"description": "canBeCumulative."
},
"changed": {
"type": "string",
"description": "Changed datetime.",
"readOnly": true
},
"compatibleWithVersionRef": {
"type": "string",
"description": "Compatible with version."
},
"created": {
"type": "string",
"description": "Created datetime.",
"readOnly": true
},
"currency": {
"type": "string",
"description": "Currency."
},
"derivedFromVersionRef": {
"type": "string",
"description": "Derived from version."
},
"discountPercentageUsed": {
"maximum": 100,
"minimum": -100,
"type": "integer",
"description": "discountPercentageUsed.",
"format": "int32"
},
"fareFrameRef": {
"$ref": "#/$defs/VersionOfObjectRef"
},
"id": {
"minLength": 1,
"type": "string",
"description": "Id."
},
"isAllowed": {
"type": "boolean",
"description": "isAllowed."
},
"limitingRule": {
"$ref": "#/$defs/LimitingRule"
},
"modification": {
"type": "string",
"description": "Modification status.",
"readOnly": true,
"enum": [
"NEW",
"REVISE",
"DELETE"
]
},
"name": {
"type": "array",
"description": "Name.",
"items": {
"$ref": "#/$defs/TextInLanguage"
}
},
"nameOfClass": {
"type": "string",
"description": "Name of class.",
"readOnly": true
},
"ranking": {
"type": "integer",
"description": "Ranking.",
"format": "int32"
},
"rounding": {
"$ref": "#/$defs/Rounding"
},
"roundingRef": {
"$ref": "#/$defs/VersionOfObjectRef"
},
"status": {
"type": "string",
"description": "Status.",
"readOnly": true,
"enum": [
"DRAFT",
"PROPOSED",
"VERSIONED",
"DEPRECATED"
]
},
"vatRegisterGroup": {
"type": "string",
"description": "vatRegisterGroup.",
"enum": [
"EXCEPTION_FROM_VAT",
"GENERAL_VAT",
"FOOD_VAT",
"TRANSPORT_AND_TICKETS_VAT"
]
},
"version": {
"type": "string",
"description": "Version.",
"readOnly": true
}
},
"description": "A description of the price and factor for a set fare"
},
"GenericParameterAssignment": {
"required": [
"changed",
"created",
"fareFrameRef",
"id",
"modification",
"nameOfClass",
"status",
"version"
],
"type": "object",
"properties": {
"canIgnoreInOffering": {
"type": "boolean",
"description": "Indicates whether gpa leaf node is supposed to be ignored when generating offer."
},
"changed": {
"type": "string",
"description": "Changed datetime."
},
"chargingBasisType": {
"type": "string",
"description": "ChargingBasisType.",
"enum": [
"FREE",
"DISCOUNTED",
"NORMAL",
"ANY"
]
},
"comparisonOperatorVariant": {
"type": "string",
"description": "Deprecated: this parameter will be ignored"
},
"compatibleWithVersionRef": {
"type": "string",
"description": "CompatibleWithVersionRef."
},
"created": {
"type": "string",
"description": "Created datetime."
},
"derivedFromVersionRef": {
"type": "string",
"description": "Derived from version."
},
"description": {
"type": "array",
"description": "Description represented in different languages. Language codes are ISO-639.",
"items": {
"$ref": "#/$defs/TextInLanguage"
}
},
"fareFrameRef": {
"$ref": "#/$defs/VersionOfObjectRef"
},
"fareProductRef": {
"$ref": "#/$defs/VersionOfObjectRef"
},
"fareStructureElementRef": {
"$ref": "#/$defs/VersionOfObjectRef"
},
"id": {
"minLength": 1,
"pattern": "^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\\-]*)$",
"type": "string",
"description": "Id."
},
"includes": {
"type": "array",
"description": "Includes genericParameterAssignments.",
"items": {
"$ref": "#/$defs/GenericParameterAssignment"
}
},
"includesGroupingType": {
"type": "string",
"description": "Includes grouping type.",
"enum": [
"AND",
"OR",
"XOR",
"NOT"
]
},
"limitationGroupingType": {
"type": "string",
"description": "Limitation grouping type.",
"enum": [
"AND",
"OR",
"XOR",
"NOT"
]
},
"limitations": {
"type": "array",
"description": "Limitations as UsageParameters.",
"items": {
"$ref": "#/$defs/VersionOfObjectRef"
}
},
"modification": {
"type": "string",
"description": "Modification status.",
"enum": [
"NEW",
"REVISE",
"DELETE"
]
},
"name": {
"type": "array",
"description": "Name represented in different languages. Language codes are ISO-639.",
"items": {
"$ref": "#/$defs/TextInLanguage"
}
},
"nameOfClass": {
"type": "string",
"description": "Name of class"
},
"parentParameterAssignmentRef": {
"$ref": "#/$defs/VersionOfObjectRef"
},
"requiredElements": {
"type": "array",
"description": "Required elements.",
"items": {
"type": "string"
}
},
"requiredInContext": {
"type": "string",
"description": "Required in context.",
"enum": [
"OFFERING",
"BOOKING",
"RESERVATION",
"SALE",
"FULFILMENT",
"ACTIVATION",
"CONSUMPTION",
"REVALIDATION"
]
},
"requiredType": {
"type": "string",
"description": "Required type.",
"enum": [
"SERVICE_JOURNEY_REF",
"TARIFF_ZONE_REF",
"PASSENGER_SEAT_REF",
"USER_PROFILE_REF",
"USAGE_VALIDITY_PERIOD_REF",
"DATED_SERVICE_JOURNEY_REF",
"DYNAMIC_DISTANCE_MATRIX_ELEMENT",
"USAGE_VALIDITY_PERIOD",
"DISTANCE_MATRIX_ELEMENT_REF",
"SCHEDULED_STOP_POINT_REF",
"GROUP_TICKET_REF",
"GROUP_TICKET",
"GROUP_OF_TARIFF_ZONES_REF",
"FARE_ZONE_REF"
]
},
"salesPackageRef": {
"$ref": "#/$defs/VersionOfObjectRef"
},
"status": {
"type": "string",
"description": "Status",
"enum": [
"DRAFT",
"PROPOSED",
"VERSIONED",
"DEPRECATED"
]
},
"temporalValidityParameters": {
"type": "array",
"description": "Temporal validity parameter.",
"items": {
"$ref": "#/$defs/TemporalValidityParameter"
}
},
"typeOfAccessRightAssignment": {
"$ref": "#/$defs/TypeOfAccessRightAssignment"
},
"validableElementRef": {
"$ref": "#/$defs/VersionOfObjectRef"
},
"validityParameterAssignmentType": {
"type": "string",
"description": "Validity parameter assignment type.",
"enum": [
"EQ",
"NE",
"GT",
"LT",
"GE",
"LE"
]
},
"validityParameterGroupingType": {
"type": "string",
"description": "Validity parameter grouping type.",
"enum": [
"AND",
"OR",
"XOR",
"NOT"
]
},
"validityParameterSetSelectionType": {
"type": "string",
"description": "Validity parameter set operator.",
"enum": [
"ONE_OF_ANY_ONE_SET",
"ONE_OF_EACH_SET",
"SOME_OF_ANY_SET",
"ALL_OF_ONE_SET",
"ALL_OF_ALL_SETS"
]
},
"validityParameters": {
"type": "array",
"description": "Validity parameters as scoping validity parameters",
"items": {
"$ref": "#/$defs/ScopingValidityParameter"
}
},
"version": {
"minLength": 1,
"pattern": "^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\\-]*)$",
"type": "string",
"description": "Version"
}
},
"description": "A GenericParameterAssignment"
},
"GroupOfTimeBands": {
"required": [
"changed",
"created",
"id",
"members",
"modification",
"nameOfClass",
"status",
"validityConditions"
],
"type": "object",
"properties": {
"changed": {
"type": "string",
"description": "Changed datetime."
},
"compatibleWithVersionRef": {
"type": "string",
"description": "Compatible with version."
},
"created": {
"type": "string",
"description": "Created datetime."
},
"derivedFromVersionRef": {
"type": "string",
"description": "Derived from version."
},
"id": {
"minLength": 1,
"pattern": "^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\\-]*)$",
"type": "string",
"description": "Id."
},
"members": {
"type": "array",
"description": "Members.",
"items": {
"$ref": "#/$defs/Timeband"
}
},
"modification": {
"type": "string",
"description": "Modification status.",
"enum": [
"NEW",
"REVISE",
"DELETE"
]
},
"nameOfClass": {
"type": "string",
"description": "Name of class."
},
"status": {
"type": "string",
"description": "Status.",
"enum": [
"DRAFT",
"PROPOSED",
"VERSIONED",
"DEPRECATED"
]
},
"validityConditions": {
"type": "array",
"description": "ValidityConditions sequence.",
"items": {
"$ref": "#/$defs/ValidityCondition"
}
},
"version": {
"minLength": 1,
"pattern": "^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\\-]*)$",
"type": "string",
"description": "Version."
}
},
"description": "A GroupOfTimeband describe during which the assignments applies"
},
"LimitingRule": {
"required": [
"changed",
"created",
"fareFrameRef",
"id",
"modification",
"nameOfClass",
"status"
],
"type": "object",
"properties": {
"canBeCumulative": {
"type": "boolean",
"description": "CanBeCumulative."
},
"changed": {
"type": "string",
"description": "Changed datetime.",
"readOnly": true
},
"compatibleWithVersionRef": {
"type": "string",
"description": "Compatible with version."
},
"created": {
"type": "string",
"description": "Created datetime.",
"readOnly": true
},
"derivedFromVersionRef": {
"type": "string",
"description": "Derived from version."
},
"description": {
"type": "array",
"description": "Description.",
"items": {
"$ref": "#/$defs/TextInLanguage"
}
},
"discountAsPercentage": {
"type": "number",
"description": "DiscountAsPercentage.",
"format": "float"
},
"discountAsValue": {
"type": "number",
"description": "DiscountAsValue.",
"format": "float"
},
"fareFrameRef": {
"$ref": "#/$defs/VersionOfObjectRef"
},
"id": {
"minLength": 1,
"pattern": "^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\\-]*)$",
"type": "string",
"description": "Id."
},
"maximumPrice": {
"type": "string",
"description": "MaximumPrice."
},
"maximumPriceAsPercentage": {
"type": "number",
"description": "MaximumPriceAsPercentage.",
"format": "double"
},
"minimumLimitPrice": {
"type": "string",
"description": "MinimumLimitPrice."
},
"minimumPrice": {
"type": "string",
"description": "MinimumPrice."
},
"modification": {
"type": "string",
"description": "Modification status.",
"readOnly": true,
"enum": [
"NEW",
"REVISE",
"DELETE"
]
},
"name": {
"type": "array",
"description": "Name.",
"items": {
"$ref": "#/$defs/TextInLanguage"
}
},
"nameOfClass": {
"type": "string",
"description": "Name of class.",
"readOnly": true
},
"status": {
"type": "string",
"description": "Status.",
"readOnly": true,
"enum": [
"DRAFT",
"PROPOSED",
"VERSIONED",
"DEPRECATED"
]
},
"version": {
"minLength": 1,
"pattern": "^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\\-]*)$",
"type": "string",
"description": "Version."
}
},
"description": "A LimitingRule"
},
"Rounding": {
"required": [
"changed",
"created",
"fareFrameRef",
"id",
"modification",
"nameOfClass",
"roundingMethod",
"status",
"version"
],
"type": "object",
"properties": {
"changed": {
"type": "string",
"description": "Changed datetime.",
"readOnly": true
},
"compatibleWithVersionRef": {
"type": "string",
"description": "Compatible with version."
},
"created": {
"type": "string",
"description": "Created datetime.",
"readOnly": true
},
"derivedFromVersionRef": {
"type": "string",
"description": "Derived from version."
},
"description": {
"type": "array",
"description": "Description.",
"items": {
"$ref": "#/$defs/TextInLanguage"
}
},
"fareFrameRef": {
"$ref": "#/$defs/VersionOfObjectRef"
},
"id": {
"minLength": 1,
"pattern": "^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\\-]*)$",
"type": "string",
"description": "Id."
},
"modification": {
"type": "string",
"description": "Modification status.",
"readOnly": true,
"enum": [
"NEW",
"REVISE",
"DELETE"
]
},
"name": {
"type": "array",
"description": "Name.",
"items": {
"$ref": "#/$defs/TextInLanguage"
}
},
"nameOfClass": {
"type": "string",
"description": "Name of class.",
"readOnly": true
},
"roundingMethod": {
"type": "string",
"description": "Type of rounding.",
"enum": [
"NONE",
"DOWN",
"UP",
"SPLIT",
"STEP_TABLE",
"FIVE",
"NINE",
"TEN",
"FORTY_NINE"
]
},
"roundingModulus": {
"type": "number",
"description": "Amount by which rounding is to be quantised, i.e. results should be quantised to nearest whole multiple of this value.",
"format": "double"
},
"status": {
"type": "string",
"description": "Rounding status.",
"readOnly": true,
"enum": [
"DRAFT",
"PROPOSED",
"VERSIONED",
"DEPRECATED"
]
},
"version": {
"minLength": 1,
"pattern": "^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\\-]*)$",
"type": "string",
"description": "Rounding version."
}
},
"description": "A description of how prices are rounded post calculation",
"deprecated": true
},
"ScopingValidityParameter": {
"required": [
"changed",
"created",
"fareFrameRef",
"genericParameterAssignmentRef",
"id",
"modification",
"nameOfClass",
"status",
"version"
],
"type": "object",
"properties": {
"authorityRef": {
"type": "string",
"description": "AuthorityRef."
},
"changed": {
"type": "string",
"description": "Changed datetime."
},
"compatibleWithVersionRef": {
"type": "string",
"description": "CompatibleWithVersionRef."
},
"created": {
"type": "string",
"description": "Created datetime."
},
"derivedFromVersionRef": {
"type": "string",
"description": "De
# --- truncated at 32 KB (52 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-supplement-product-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-supplement-product"
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.