{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/entur/main/json-schema/entur-generic-parameter-assignment-schema.json",
  "title": "GenericParameterAssignment",
  "description": "A GenericParameterAssignment",
  "x-generated": "2026-10-09",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/entur-products-openapi.yml#/components/schemas/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"
    }
  },
  "$defs": {
    "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"
    },
    "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."
    },
    "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."
    }
  }
}