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.
View JSON Schema on GitHub

JSON Schema

entur-supplement-product-schema.json Raw ↑
{
  "$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.
All 92 tools →

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.