{ "$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": "Derived from version." }, "distributionChannelRef": { "type": "string", "description": "Distribution channel ref." }, "facilitySetRef": { "type": "string", "description": "facilitySetRef." }, "fareClasses": { "type": "array", "description": "FareClasses. Enum as string with the following values: FIRST_CLASS, SECOND_CLASS, THIRD_CLASS, ECONOMY_CLASS, BUSINESS_CLASS, TURISTA, PREFERENTE, STANDARD_CLASS, PREMIUM_CLASS, ANY, UNKNOWN", "items": { "type": "string" } }, "fareFrameRef": { "$ref": "#/$defs/VersionOfObjectRef" }, "fareSectionRef": { "type": "string", "description": "Fare section ref." }, "fareZoneRef": { "type": "string", "description": "FareZoneRef." }, "genericParameterAssignmentRef": { "$ref": "#/$defs/VersionOfObjectRef" }, "groupOfLinesRef": { "type": "string", "description": "Group of Lines ref." }, "groupOfTariffZonesRef": { "type": "string", "description": "Group of Tariff Zones ref." }, "id": { "minLength": 1, "pattern": "^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\\-]*)$", "type": "string", "description": "Id." }, "lineRef": { "type": "string", "description": "LineRef." }, "lineType": { "type": "string", "description": "LineType.", "enum": [ "LOCAL", "URBAN", "LONG_DISTANCE", "EXPRESS", "SEASONAL", "REPLACEMENT", "FLEXIBLE", "CORRIDOR_SERVICE", "MAIN_ROUTE_WITH_FLEXIBLE_ENDS", "FLEXIBLE_AREAS_ONLY", "HAIL_AND_RIDE_SECTIONS", "FIXED_STOP_AREA_WIDE", "FREE_AREA_AREA_WIDE", "MIXED_FLEXIBLE", "MIXED_FLEXIBLE_AND_FIXED", "FIXED", "OTHER" ] }, "modification": { "type": "string", "description": "Modification status.", "enum": [ "NEW", "REVISE", "DELETE" ] }, "nameOfClass": { "type": "string", "description": "Name of class." }, "operatorRef": { "type": "string", "description": "Operator referance." }, "placeUse": { "type": "string", "description": "PlaceUse", "enum": [ "START_AT", "END_AT", "VIA", "RESTRICT_TO", "OTHER" ] }, "scheduledStopPointRef": { "type": "string", "description": "Scheduled stop Point ref." }, "status": { "type": "string", "description": "Status", "enum": [ "DRAFT", "PROPOSED", "VERSIONED", "DEPRECATED" ] }, "tariffZoneRef": { "type": "string", "description": "TariffZoneRef. This field is deprecated, please use the field FareZoneRef.", "deprecated": true }, "topographicPlaceRef": { "type": "string", "description": "TopographicPlaceRef" }, "transportSubmode": { "type": "string", "description": "TransportSubmode.", "enum": [ "unknown", "undefined", "internationalFlight", "domesticFlight", "intercontinentalFlight", "domesticScheduledFlight", "shuttleFlight", "intercontinentalCharterFlight", "internationalCharterFlight", "roundTripCharterFlight", "sightseeingFlight", "helicopterService", "domesticCharterFlight", "SchengenAreaFlight", "airshipService", "shortHaulInternationalFlight", "canalBarge", "localBus", "regionalBus", "expressBus", "nightBus", "postBus", "specialNeedsBus", "mobilityBus", "mobilityBusForRegisteredDisabled", "sightseeingBus", "shuttleBus", "highFrequencyBus", "dedicatedLaneBus", "schoolBus", "schoolAndPublicServiceBus", "railReplacementBus", "demandAndResponseBus", "airportLinkBus", "internationalCoach", "nationalCoach", "shuttleCoach", "regionalCoach", "specialCoach", "schoolCoach", "sightseeingCoach", "touristCoach", "commuterCoach", "funicular", "streetCableCar", "allFunicularServices", "undefinedFunicular", "metro", "tube", "urbanRailway", "cityTram", "localTram", "regionalTram", "sightseeingTram", "shuttleTram", "trainTram", "telecabin", "cableCar", "lift", "chairLift", "dragLift", "telecabinLink", "local", "highSpeedRail", "suburbanRailway", "regionalRail", "interregionalRail", "longDistance", "international", "sleeperRailService", "nightRail", "carTransportRailService", "touristRailway", "airportLinkRail", "railShuttle", "replacementRailService", "specialTrain", "crossCountryRail", "rackAndPinionRailway", "internationalCarFerry", "nationalCarFerry", "regionalCarFerry", "localCarFerry", "internationalPassengerFerry", "nationalPassengerFerry", "regionalPassengerFerry", "localPassengerFerry", "postBoat", "trainFerry", "roadFerryLink", "airportBoatLink", "highSpeedVehicleService", "highSpeedPassengerService", "sightseeingService", "schoolBoat", "cableFerry", "riverBus", "scheduledFerry", "shuttleFerryService", "communalTaxi", "charterTaxi", "waterTaxi", "railTaxi", "bikeTaxi", "blackCab", "miniCab", "allTaxiServices", "hireCar", "hireVan", "hireMotorbike", "hireCycle", "allHireVehicles" ] }, "vehicleMode": { "type": "string", "description": "VehicleModeRef.", "enum": [ "AIR", "BUS", "COACH", "CABLE_WAY", "WATER", "FUNICULAR", "LIFT", "RAIL", "METRO", "TAXI", "TRAM", "UNKNOWN" ] }, "version": { "minLength": 1, "pattern": "^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\\-]*)$", "type": "string", "description": "Version" } }, "description": "A ScopingValidityParameter" }, "TemporalValidityParameter": { "required": [ "changed", "created", "genericParameterAssignmentRef", "id", "modification", "nameOfClass", "status", "version" ], "type": "object", "properties": { "changed": { "type": "string", "description": "Changed datetime.", "readOnly": true }, "compatibleWithVersionRef": { "type": "string", "description": "CompatibleWithVersionRef" }, "created": { "type": "string", "description": "Created datetime.", "readOnly": true }, "dayType": { "$ref": "#/$defs/VersionOfObjectRef" }, "derivedFromVersionRef": { "type": "string", "description": "Derived from version." }, "genericParameterAssignmentRef": { "$ref": "#/$defs/VersionOfObjectRef" }, "groupOfTimeBands": { "$ref": "#/$defs/GroupOfTimeBands" }, "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" ] }, "nameOfClass": { "type": "string", "description": "Name of class." }, "status": { "type": "string", "description": "Status", "readOnly": true, "enum": [ "DRAFT", "PROPOSED", "VERSIONED", "DEPRECATED" ] }, "validityCondition": { "$ref": "#/$defs/ValidityCondition" }, "validityConditionRef": { "$ref": "#/$defs/VersionOfObjectRef" }, "version": { "minLength": 1, "pattern": "^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\\-]*)$", "type": "string", "description": "Version" } }, "description": "A TemporalValidityParameter" }, "TextInLanguage": { "required": [ "lang", "value" ], "type": "object", "properties": { "lang": { "minLength": 1, "type": "string", "description": "Language code." }, "value": { "minLength": 1, "type": "string", "description": "The text." } }, "description": "Text in a specific language." }, "Timeband": { "required": [ "changed", "created", "dayOffset", "description", "endTime", "fareFrameRef", "id", "modification", "name", "nameOfClass", "startTime", "status" ], "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 }, "dayOffset": { "type": "integer", "description": "Days offset. This will determine if endTime is x number of days from today. ie. 1 is tomorrow 0 is today.", "format": "int32" }, "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" } }, "endTime": { "type": "string", "description": "End time." }, "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": "The name of the luggage allowance represented in different languages. Language codes are ISO-639", "items": { "$ref": "#/$defs/TextInLanguage" } }, "nameOfClass": { "type": "string", "description": "Name of class.", "readOnly": true }, "startTime": { "type": "string", "description": "Start time." }, "status": { "type": "string", "description": "Status.", "readOnly": true, "enum": [ "DRAFT", "PROPOSED", "VERSIONED", "DEPRECATED" ] }, "timeZone": { "type": "string", "description": "Time zone.", "default": "Europe/Oslo" }, "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": "The TimeBand describe during which the assignment applies" }, "TypeOfAccessRightAssignment": { "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." }, "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." }, "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": "Type of access right assignment 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": "Type of access right assignment version." } }, "description": "A classification of Access Right Assignments." }, "TypeOfFareProduct": { "required": [ "changed", "created", "fareFrameRef", "id", "nameOfClass", "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 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": "Type of fare product 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": "Type of fare product version." } }, "description": "A classification of FARE PRODUCTs." }, "ValidityCondition": { "required": [ "changed", "created", "id", "modification", "nameOfClass", "status", "version" ], "type": "object", "properties": { "changed": { "type": "string", "description": "Changed datetime.", "readOnly": true }, "created": { "type": "string", "description": "Created datetime.", "readOnly": true }, "fromDate": { "type": "string", "description": "From Date." }, "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" ] }, "nameOfClass": { "type": "string", "description": "Name of class.", "readOnly": true }, "status": { "type": "string", "description": "Status.", "readOnly": true, "enum": [ "DRAFT", "PROPOSED", "VERSIONED", "DEPRECATED" ] }, "toDate": { "type": "string", "description": "To Date." }, "version": { "minLength": 1, "pattern": "^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\\-]*)$", "type": "string", "description": "Version." } }, "description": "A condition of the validity of the priceable object" }, "VersionOfObjectRef": { "required": [ "nameOfClass", "ref", "version" ], "type": "object", "properties": { "nameOfClass": { "minLength": 1, "type": "string", "description": "Name of class." }, "ref": { "minLength": 1, "pattern": "^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\\-]*)$", "type": "string", "description": "The netex id reference to the object." }, "version": { "type": "string", "description": "Version." } }, "description": "Fare frame ref." } } }