{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "definitions": {
    "ActionByReference": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "versionTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "actionReference": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/ActionDefinitionVersionedReferenceG"
        },
        "tmpActionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "tmpActionByReferenceExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "versionTime",
        "actionReference"
      ]
    },
    "ActionDefinition": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "idG": {
          "type": "string"
        },
        "versionG": {
          "type": "string"
        },
        "versionTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "externalIdentification": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "description": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "actionImplementer": {
          "$ref": "DATEXII_3_Common.json#/definitions/InternationalIdentifier"
        },
        "operatorActionDefinition": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/OperatorActionDefinitionG"
        },
        "activationDelay": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/ActivationDelay"
        },
        "tmpActionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "tmpActionDefinitionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "idG",
        "versionG",
        "versionTime",
        "description"
      ]
    },
    "ActionDefinitionVersionedReferenceG": {
      "type": "object",
      "properties": {
        "targetClass": {
          "type": "string",
          "default": "ActionDefinition"
        },
        "idG": {
          "type": "string"
        },
        "versionG": {
          "type": "string"
        }
      },
      "required": [
        "targetClass",
        "idG"
      ]
    },
    "ActionG": {
      "description": "Only one of the properties shall be used in an instance.",
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "tmpActionByReference": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/ActionByReference"
        },
        "tmpActionDefinition": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/ActionDefinition"
        }
      }
    },
    "ActivationConditions": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "automaticallyApproved": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "automaticallyImplemented": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "automaticallyDeactivated": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "activationDelay": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/ActivationDelay"
        },
        "activationTrigger": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/ConditionG"
        },
        "deactivationTrigger": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/ConditionG"
        },
        "tmpActivationConditionsExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      }
    },
    "ActivationDelay": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "activationDelay": {
          "$ref": "DATEXII_3_Common.json#/definitions/Seconds"
        },
        "deactivationDelay": {
          "$ref": "DATEXII_3_Common.json#/definitions/Seconds"
        },
        "tmpActivationDelayExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "activationDelay",
        "deactivationDelay"
      ]
    },
    "CompositeMeasure": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "idG": {
          "type": "string"
        },
        "versionG": {
          "type": "string"
        },
        "versionTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "measure": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/MeasureG"
          },
          "minItems": 2
        },
        "tmpMeasureExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "tmpCompositeMeasureExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "idG",
        "versionG",
        "versionTime",
        "measure"
      ]
    },
    "ConditionG": {
      "description": "Only one of the properties shall be used in an instance.",
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "tmpTriggerCondition": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/TriggerCondition"
        },
        "tmpConditionSet": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/ConditionSet"
        }
      }
    },
    "ConditionOperator": {
      "type": "string",
      "enum": [
        "and",
        "or",
        "xor",
        "extendedG"
      ]
    },
    "ConditionOperatorG": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "value": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/ConditionOperator"
        },
        "extendedValueG": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "ConditionSet": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "negate": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "operator": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/ConditionOperatorG"
        },
        "condition": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/ConditionG"
          },
          "minItems": 1
        },
        "tmpConditionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "tmpConditionSetExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "operator",
        "condition"
      ]
    },
    "GeneralInstructionOrMessageToRoadUsersDefinition": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "complianceOption": {
          "$ref": "DATEXII_3_Situation.json#/definitions/ComplianceOptionEnumG"
        },
        "applicableForTrafficDirection": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_LocationReferencing.json#/definitions/DirectionEnumG"
          },
          "minItems": 0
        },
        "applicableForTrafficType": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Situation.json#/definitions/TrafficTypeEnumG"
          },
          "minItems": 0
        },
        "placesAtWhichApplicable": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Situation.json#/definitions/PlacesEnumG"
          },
          "minItems": 0
        },
        "automaticallyInitiated": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "generalInstructionToRoadUsersType": {
          "$ref": "DATEXII_3_Situation.json#/definitions/GeneralInstructionToRoadUsersTypeEnumG"
        },
        "generalMessageToRoadUsers": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "targetLocation": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_LocationReferencing.json#/definitions/LocationReferenceG"
          },
          "minItems": 0
        },
        "forVehiclesWithCharacteristicsOf": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Common.json#/definitions/VehicleCharacteristics"
          },
          "minItems": 0
        },
        "tmpOperatorActionDefinitionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "tmpNetworkManagementDefinitionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "tmpGeneralInstructionOrMessageToRoadUsersDefinitionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "complianceOption"
      ]
    },
    "GeneralNetworkManagementDefinition": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "complianceOption": {
          "$ref": "DATEXII_3_Situation.json#/definitions/ComplianceOptionEnumG"
        },
        "applicableForTrafficDirection": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_LocationReferencing.json#/definitions/DirectionEnumG"
          },
          "minItems": 0
        },
        "applicableForTrafficType": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Situation.json#/definitions/TrafficTypeEnumG"
          },
          "minItems": 0
        },
        "placesAtWhichApplicable": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Situation.json#/definitions/PlacesEnumG"
          },
          "minItems": 0
        },
        "automaticallyInitiated": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "generalNetworkManagementType": {
          "$ref": "DATEXII_3_Situation.json#/definitions/GeneralNetworkManagementTypeEnumG"
        },
        "trafficManuallyDirectedBy": {
          "$ref": "DATEXII_3_Situation.json#/definitions/PersonCategoryEnumG"
        },
        "targetLocation": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_LocationReferencing.json#/definitions/LocationReferenceG"
          },
          "minItems": 0
        },
        "forVehiclesWithCharacteristicsOf": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Common.json#/definitions/VehicleCharacteristics"
          },
          "minItems": 0
        },
        "tmpOperatorActionDefinitionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "tmpNetworkManagementDefinitionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "tmpGeneralNetworkManagementDefinitionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "complianceOption",
        "generalNetworkManagementType"
      ]
    },
    "ImpactKind": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "capacityReduced": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "impactDetail": {
          "$ref": "DATEXII_3_Situation.json#/definitions/Impact"
        },
        "tmpImpactKindExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      }
    },
    "MeasureByReference": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "versionTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "measureReference": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/MeasureDefinitionVersionedReferenceG"
        },
        "tmpMeasureExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "tmpMeasureByReferenceExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "versionTime",
        "measureReference"
      ]
    },
    "MeasureDefinition": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "idG": {
          "type": "string"
        },
        "versionG": {
          "type": "string"
        },
        "versionTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "externalIdentification": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "description": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "responsibleRoadOperator": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/OrganisationReferenceG"
        },
        "shortName": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "action": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/ActionG"
          },
          "minItems": 1
        },
        "responseType": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/ResponseType"
        },
        "activationConditions": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/ActivationConditions"
        },
        "tmpMeasureExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "tmpMeasureDefinitionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "idG",
        "versionG",
        "versionTime",
        "description",
        "responsibleRoadOperator",
        "action"
      ]
    },
    "MeasureDefinitionVersionedReferenceG": {
      "type": "object",
      "properties": {
        "targetClass": {
          "type": "string",
          "default": "MeasureDefinition"
        },
        "idG": {
          "type": "string"
        },
        "versionG": {
          "type": "string"
        }
      },
      "required": [
        "targetClass",
        "idG"
      ]
    },
    "MeasureG": {
      "description": "Only one of the properties shall be used in an instance.",
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "tmpMeasureDefinition": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/MeasureDefinition"
        },
        "tmpCompositeMeasure": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/CompositeMeasure"
        },
        "tmpMeasureByReference": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/MeasureByReference"
        }
      }
    },
    "NetworkManagementDefinitionG": {
      "description": "Only one of the properties shall be used in an instance.",
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "tmpSignSettingDefinition": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/SignSettingDefinition"
        },
        "tmpGeneralInstructionOrMessageToRoadUsersDefinition": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/GeneralInstructionOrMessageToRoadUsersDefinition"
        },
        "tmpTrafficSignalSettingDefinition": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/TrafficSignalSettingDefinition"
        },
        "tmpGeneralNetworkManagementDefinition": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/GeneralNetworkManagementDefinition"
        },
        "tmpRoadOrCarriagewayOrLaneManagementDefinition": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/RoadOrCarriagewayOrLaneManagementDefinition"
        },
        "tmpWinterDrivingManagementDefinition": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/WinterDrivingManagementDefinition"
        },
        "tmpSpeedManagementDefinition": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/SpeedManagementDefinition"
        },
        "tmpReroutingManagementDefinition": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/ReroutingManagementDefinition"
        }
      }
    },
    "NonPredefinedAction": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "nonPredefinedActionDescription": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "nonPredefinedActionId": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "actionImplementingSituationRecord": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/SituationRecordVersionedReferenceG"
        },
        "internationalIdentifier": {
          "$ref": "DATEXII_3_Common.json#/definitions/InternationalIdentifier"
        },
        "operatorActionDefinition": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/OperatorActionDefinitionG"
        },
        "tmpNonPredefinedActionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "nonPredefinedActionDescription",
        "internationalIdentifier"
      ]
    },
    "NonPredefinedTmplanOperation": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "idG": {
          "type": "string"
        },
        "versionG": {
          "type": "string"
        },
        "creationTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "expiryTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "status": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/TmplanOperationStatusEnumG"
        },
        "statusReason": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "versionTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "involvedRoadOperatorConsensusRate": {
          "$ref": "DATEXII_3_Common.json#/definitions/Percentage"
        },
        "nonPredefinedScenarioDescription": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "nonPredefinedScenarioId": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "nonPredefinedStrategyDescription": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "nonPredefinedStrategyId": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "headerInformation": {
          "$ref": "DATEXII_3_Common.json#/definitions/HeaderInformation"
        },
        "nonPredefinedAction": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/NonPredefinedAction"
          },
          "minItems": 1
        },
        "tmpTmplanOperationExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "tmpNonPredefinedTmplanOperationExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "idG",
        "versionG",
        "creationTime",
        "status",
        "versionTime",
        "nonPredefinedScenarioDescription",
        "nonPredefinedStrategyDescription",
        "headerInformation",
        "nonPredefinedAction"
      ]
    },
    "OperatorActionDefinitionG": {
      "description": "Only one of the properties shall be used in an instance.",
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "tmpSignSettingDefinition": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/SignSettingDefinition"
        },
        "tmpGeneralInstructionOrMessageToRoadUsersDefinition": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/GeneralInstructionOrMessageToRoadUsersDefinition"
        },
        "tmpTrafficSignalSettingDefinition": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/TrafficSignalSettingDefinition"
        },
        "tmpGeneralNetworkManagementDefinition": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/GeneralNetworkManagementDefinition"
        },
        "tmpRoadOrCarriagewayOrLaneManagementDefinition": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/RoadOrCarriagewayOrLaneManagementDefinition"
        },
        "tmpWinterDrivingManagementDefinition": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/WinterDrivingManagementDefinition"
        },
        "tmpSpeedManagementDefinition": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/SpeedManagementDefinition"
        },
        "tmpReroutingManagementDefinition": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/ReroutingManagementDefinition"
        },
        "tmpRoadsideAssistanceDefinition": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/RoadsideAssistanceDefinition"
        }
      }
    },
    "OperatorActionExtendedTmplan": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "tmplanImplementingAction": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/TmplanImplementingAction"
        }
      }
    },
    "OrganisationReferenceG": {
      "type": "object",
      "properties": {
        "targetClass": {
          "type": "string",
          "default": "Organisation"
        },
        "idG": {
          "type": "string"
        }
      },
      "required": [
        "targetClass",
        "idG"
      ]
    },
    "PredefinedAction": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "actionImplementingSituationRecord": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/SituationRecordVersionedReferenceG"
        },
        "predefinedActionReference": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/ActionDefinitionVersionedReferenceG"
        },
        "tmpPredefinedActionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "predefinedActionReference"
      ]
    },
    "PredefinedMeasureSelected": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "predefinedMeasureReference": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/MeasureDefinitionVersionedReferenceG"
        },
        "predefinedAction": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/PredefinedAction"
          },
          "minItems": 0
        },
        "tmpPredefinedMeasureSelectedExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "predefinedMeasureReference"
      ]
    },
    "PredefinedTmplanOperation": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "idG": {
          "type": "string"
        },
        "versionG": {
          "type": "string"
        },
        "creationTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "expiryTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "status": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/TmplanOperationStatusEnumG"
        },
        "statusReason": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "versionTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "involvedRoadOperatorConsensusRate": {
          "$ref": "DATEXII_3_Common.json#/definitions/Percentage"
        },
        "tmplanTableReference": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/TmplanTableVersionedReferenceG"
        },
        "predefinedScenarioReference": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/ScenarioVersionedReferenceG"
        },
        "predefinedStrategyReference": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/StrategyVersionedReferenceG"
        },
        "headerInformation": {
          "$ref": "DATEXII_3_Common.json#/definitions/HeaderInformation"
        },
        "predefinedMeasureSelected": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/PredefinedMeasureSelected"
        },
        "problemLocationOverride": {
          "$ref": "DATEXII_3_LocationReferencing.json#/definitions/LocationReferenceG"
        },
        "tmpTmplanOperationExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "tmpPredefinedTmplanOperationExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "idG",
        "versionG",
        "creationTime",
        "status",
        "versionTime",
        "tmplanTableReference",
        "headerInformation"
      ]
    },
    "ReroutingManagementDefinition": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "complianceOption": {
          "$ref": "DATEXII_3_Situation.json#/definitions/ComplianceOptionEnumG"
        },
        "applicableForTrafficDirection": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_LocationReferencing.json#/definitions/DirectionEnumG"
          },
          "minItems": 0
        },
        "applicableForTrafficType": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Situation.json#/definitions/TrafficTypeEnumG"
          },
          "minItems": 0
        },
        "placesAtWhichApplicable": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Situation.json#/definitions/PlacesEnumG"
          },
          "minItems": 0
        },
        "automaticallyInitiated": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "name": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "type": {
          "$ref": "DATEXII_3_ReroutingManagementEnhanced.json#/definitions/ReroutingTypeEnumG"
        },
        "bindingTrafficRegulation": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "preventiveMeasure": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "targetLocation": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_LocationReferencing.json#/definitions/LocationReferenceG"
          },
          "minItems": 0
        },
        "forVehiclesWithCharacteristicsOf": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Common.json#/definitions/VehicleCharacteristics"
          },
          "minItems": 0
        },
        "routingOrigin": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_LocationReferencing.json#/definitions/LocationG"
          },
          "minItems": 0
        },
        "routingThrough": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_LocationReferencing.json#/definitions/LocationG"
          },
          "minItems": 0
        },
        "routingDestination": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_LocationReferencing.json#/definitions/LocationG"
          },
          "minItems": 0
        },
        "originalRoute": {
          "$ref": "DATEXII_3_ReroutingManagementEnhanced.json#/definitions/RouteDescription"
        },
        "alternativeRoute": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_ReroutingManagementEnhanced.json#/definitions/RouteDescription"
          },
          "minItems": 0
        },
        "tmpOperatorActionDefinitionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "tmpNetworkManagementDefinitionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "tmpReroutingManagementDefinitionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "complianceOption"
      ]
    },
    "ResponseEffectTypeEnum": {
      "type": "string",
      "enum": [
        "capacityIncrease",
        "inflowReduction",
        "outflowIncrease",
        "prewarning",
        "rerouting",
        "extendedG"
      ]
    },
    "ResponseEffectTypeEnumG": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "value": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/ResponseEffectTypeEnum"
        },
        "extendedValueG": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "ResponseStageEnum": {
      "type": "string",
      "enum": [
        "basic",
        "prewarning",
        "trafficCondition",
        "extendedG"
      ]
    },
    "ResponseStageEnumG": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "value": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/ResponseStageEnum"
        },
        "extendedValueG": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "ResponseType": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "effect": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/ResponseEffectTypeEnumG"
        },
        "stage": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/ResponseStageEnumG"
        },
        "tmpResponseTypeExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "effect"
      ]
    },
    "RoadOrCarriagewayOrLaneManagementDefinition": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "complianceOption": {
          "$ref": "DATEXII_3_Situation.json#/definitions/ComplianceOptionEnumG"
        },
        "applicableForTrafficDirection": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_LocationReferencing.json#/definitions/DirectionEnumG"
          },
          "minItems": 0
        },
        "applicableForTrafficType": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Situation.json#/definitions/TrafficTypeEnumG"
          },
          "minItems": 0
        },
        "placesAtWhichApplicable": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Situation.json#/definitions/PlacesEnumG"
          },
          "minItems": 0
        },
        "automaticallyInitiated": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "roadOrCarriagewayOrLaneManagementType": {
          "$ref": "DATEXII_3_Situation.json#/definitions/RoadOrCarriagewayOrLaneManagementTypeEnumG"
        },
        "minimumCarOccupancy": {
          "$ref": "DATEXII_3_Common.json#/definitions/NonNegativeInteger"
        },
        "targetLocation": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_LocationReferencing.json#/definitions/LocationReferenceG"
          },
          "minItems": 0
        },
        "forVehiclesWithCharacteristicsOf": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Common.json#/definitions/VehicleCharacteristics"
          },
          "minItems": 0
        },
        "tmpOperatorActionDefinitionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "tmpNetworkManagementDefinitionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "tmpRoadOrCarriagewayOrLaneManagementDefinitionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "complianceOption",
        "roadOrCarriagewayOrLaneManagementType"
      ]
    },
    "RoadsideAssistanceDefinition": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "roadsideAssistanceType": {
          "$ref": "DATEXII_3_Situation.json#/definitions/RoadsideAssistanceTypeEnumG"
        },
        "targetLocation": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_LocationReferencing.json#/definitions/LocationReferenceG"
          },
          "minItems": 0
        },
        "tmpOperatorActionDefinitionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "tmpRoadsideAssistanceDefinitionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "roadsideAssistanceType"
      ]
    },
    "Scenario": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "idG": {
          "type": "string"
        },
        "versionG": {
          "type": "string"
        },
        "externalIdentification": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "versionTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "description": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "situationType": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Situation.json#/definitions/CauseTypeEnumG"
          },
          "minItems": 0
        },
        "emergencyServicesAccessibility": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "name": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "scenarioDirector": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/OrganisationReferenceG"
        },
        "situationFilter": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Common.json#/definitions/String"
          },
          "minItems": 0
        },
        "strategy": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/StrategyG"
          },
          "minItems": 0
        },
        "impactKind": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/ImpactKind"
        },
        "problemLocation": {
          "$ref": "DATEXII_3_LocationReferencing.json#/definitions/LocationReferenceG"
        },
        "scheduledScenarioValidity": {
          "$ref": "DATEXII_3_Common.json#/definitions/OverallPeriod"
        },
        "situationTypeDetail": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Situation.json#/definitions/DetailedCauseType"
          },
          "minItems": 0
        },
        "tmpScenarioExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "idG",
        "versionG",
        "versionTime"
      ]
    },
    "ScenarioVersionedReferenceG": {
      "type": "object",
      "properties": {
        "targetClass": {
          "type": "string",
          "default": "Scenario"
        },
        "idG": {
          "type": "string"
        },
        "versionG": {
          "type": "string"
        }
      },
      "required": [
        "targetClass",
        "idG"
      ]
    },
    "SignSetting": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "signSettingDefinition": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/SignSettingDefinition"
        }
      },
      "required": [
        "signSettingDefinition"
      ]
    },
    "SignSettingDefinition": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "complianceOption": {
          "$ref": "DATEXII_3_Situation.json#/definitions/ComplianceOptionEnumG"
        },
        "applicableForTrafficDirection": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_LocationReferencing.json#/definitions/DirectionEnumG"
          },
          "minItems": 0
        },
        "applicableForTrafficType": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Situation.json#/definitions/TrafficTypeEnumG"
          },
          "minItems": 0
        },
        "placesAtWhichApplicable": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Situation.json#/definitions/PlacesEnumG"
          },
          "minItems": 0
        },
        "automaticallyInitiated": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "targetLocation": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_LocationReferencing.json#/definitions/LocationReferenceG"
          },
          "minItems": 0
        },
        "forVehiclesWithCharacteristicsOf": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Common.json#/definitions/VehicleCharacteristics"
          },
          "minItems": 0
        },
        "setting": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Vms.json#/definitions/VmsControllerStatus"
          },
          "minItems": 0
        },
        "tmpOperatorActionDefinitionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "tmpNetworkManagementDefinitionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "tmpSignSettingDefinitionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "complianceOption"
      ]
    },
    "SituationRecordVersionedReferenceG": {
      "type": "object",
      "properties": {
        "targetClass": {
          "type": "string",
          "default": "SituationRecord"
        },
        "idG": {
          "type": "string"
        },
        "versionG": {
          "type": "string"
        }
      },
      "required": [
        "targetClass",
        "idG"
      ]
    },
    "SpeedManagementDefinition": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "complianceOption": {
          "$ref": "DATEXII_3_Situation.json#/definitions/ComplianceOptionEnumG"
        },
        "applicableForTrafficDirection": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_LocationReferencing.json#/definitions/DirectionEnumG"
          },
          "minItems": 0
        },
        "applicableForTrafficType": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Situation.json#/definitions/TrafficTypeEnumG"
          },
          "minItems": 0
        },
        "placesAtWhichApplicable": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Situation.json#/definitions/PlacesEnumG"
          },
          "minItems": 0
        },
        "automaticallyInitiated": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "speedManagementType": {
          "$ref": "DATEXII_3_Situation.json#/definitions/SpeedManagementTypeEnumG"
        },
        "temporarySpeedLimit": {
          "$ref": "DATEXII_3_Common.json#/definitions/KilometresPerHour"
        },
        "targetLocation": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_LocationReferencing.json#/definitions/LocationReferenceG"
          },
          "minItems": 0
        },
        "forVehiclesWithCharacteristicsOf": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Common.json#/definitions/VehicleCharacteristics"
          },
          "minItems": 0
        },
        "tmpOperatorActionDefinitionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "tmpNetworkManagementDefinitionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "tmpSpeedManagementDefinitionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "complianceOption",
        "speedManagementType"
      ]
    },
    "StrategyByReference": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "versionTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "strategyReference": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/StrategyDefinitionVersionedReferenceG"
        },
        "tmpStrategyExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "tmpStrategyByReferenceExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "versionTime",
        "strategyReference"
      ]
    },
    "StrategyDefinition": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "idG": {
          "type": "string"
        },
        "versionG": {
          "type": "string"
        },
        "versionTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "externalIdentification": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "description": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "shortName": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "priority": {
          "$ref": "DATEXII_3_Common.json#/definitions/Integer"
        },
        "strategyMeasure": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/StrategyMeasure"
          },
          "minItems": 1
        },
        "responseType": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/ResponseType"
        },
        "overallActivation": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/ActivationConditions"
        },
        "tmpStrategyExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "tmpStrategyDefinitionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "idG",
        "versionG",
        "versionTime",
        "description",
        "strategyMeasure"
      ]
    },
    "StrategyDefinitionVersionedReferenceG": {
      "type": "object",
      "properties": {
        "targetClass": {
          "type": "string",
          "default": "StrategyDefinition"
        },
        "idG": {
          "type": "string"
        },
        "versionG": {
          "type": "string"
        }
      },
      "required": [
        "targetClass",
        "idG"
      ]
    },
    "StrategyG": {
      "description": "Only one of the properties shall be used in an instance.",
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "tmpStrategyByReference": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/StrategyByReference"
        },
        "tmpStrategyDefinition": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/StrategyDefinition"
        }
      }
    },
    "StrategyMeasure": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "processingIndex": {
          "$ref": "DATEXII_3_Common.json#/definitions/Integer"
        },
        "essentialForStrategy": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "activationConditions": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/ActivationConditions"
        },
        "measure": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/MeasureG"
        },
        "tmpStrategyMeasureExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "measure"
      ]
    },
    "StrategyVersionedReferenceG": {
      "type": "object",
      "properties": {
        "targetClass": {
          "type": "string",
          "default": "Strategy"
        },
        "idG": {
          "type": "string"
        },
        "versionG": {
          "type": "string"
        }
      },
      "required": [
        "targetClass",
        "idG"
      ]
    },
    "TmplanImplementingAction": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "nonPredefinedActionIdReference": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "predefinedActionReference": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/ActionDefinitionVersionedReferenceG"
        },
        "predefinedMeasureReference": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/MeasureDefinitionVersionedReferenceG"
        },
        "predefinedStrategyReference": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/StrategyDefinitionVersionedReferenceG"
        },
        "tmpTmplanImplementingActionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      }
    },
    "TmplanOperationG": {
      "description": "Only one of the properties shall be used in an instance.",
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "tmpNonPredefinedTmplanOperation": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/NonPredefinedTmplanOperation"
        },
        "tmpPredefinedTmplanOperation": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/PredefinedTmplanOperation"
        }
      }
    },
    "TmplanOperationPublication": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "lang": {
          "$ref": "DATEXII_3_Common.json#/definitions/Language"
        },
        "feedDescription": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "feedType": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "publicationTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "publicationCreator": {
          "$ref": "DATEXII_3_Common.json#/definitions/InternationalIdentifier"
        },
        "tmplanOperation": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/TmplanOperationG"
          },
          "minItems": 1
        },
        "comPayloadPublicationExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "tmpTmplanOperationPublicationExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "lang",
        "publicationTime",
        "publicationCreator",
        "tmplanOperation"
      ]
    },
    "TmplanOperationStatusEnum": {
      "type": "string",
      "enum": [
        "scheduled",
        "schedulingAborted",
        "schedulingRejected",
        "schedulingRequested",
        "extendedG"
      ]
    },
    "TmplanOperationStatusEnumG": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "value": {
          "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/TmplanOperationStatusEnum"
        },
        "extendedValueG": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "TmplanTable": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "idG": {
          "type": "string"
        },
        "versionG": {
          "type": "string"
        },
        "externalIdentification": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "versionTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "description": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "scenario": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/Scenario"
          },
          "minItems": 0
        },
        "measure": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/MeasureG"
          },
          "minItems": 0
        },
        "action": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/ActionG"
          },
          "minItems": 0
        },
        "tmpTmplanTableExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "idG",
        "versionG",
        "versionTime"
      ]
    },
    "TmplanTablePublication": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "lang": {
          "$ref": "DATEXII_3_Common.json#/definitions/Language"
        },
        "feedDescription": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "feedType": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "publicationTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "publicationCreator": {
          "$ref": "DATEXII_3_Common.json#/definitions/InternationalIdentifier"
        },
        "headerInformation": {
          "$ref": "DATEXII_3_Common.json#/definitions/HeaderInformation"
        },
        "tmplanTable": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_TrafficManagementPlan.json#/definitions/TmplanTable"
          },
          "minItems": 1
        },
        "comPayloadPublicationExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "tmpTmplanTablePublicationExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "lang",
        "publicationTime",
        "publicationCreator",
        "headerInformation",
        "tmplanTable"
      ]
    },
    "TmplanTableVersionedReferenceG": {
      "type": "object",
      "properties": {
        "targetClass": {
          "type": "string",
          "default": "TmplanTable"
        },
        "idG": {
          "type": "string"
        },
        "versionG": {
          "type": "string"
        }
      },
      "required": [
        "targetClass",
        "idG"
      ]
    },
    "TrafficSignalSettingDefinition": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "complianceOption": {
          "$ref": "DATEXII_3_Situation.json#/definitions/ComplianceOptionEnumG"
        },
        "applicableForTrafficDirection": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_LocationReferencing.json#/definitions/DirectionEnumG"
          },
          "minItems": 0
        },
        "applicableForTrafficType": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Situation.json#/definitions/TrafficTypeEnumG"
          },
          "minItems": 0
        },
        "placesAtWhichApplicable": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Situation.json#/definitions/PlacesEnumG"
          },
          "minItems": 0
        },
        "automaticallyInitiated": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "setting": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "targetLocation": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_LocationReferencing.json#/definitions/LocationReferenceG"
          },
          "minItems": 0
        },
        "forVehiclesWithCharacteristicsOf": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Common.json#/definitions/VehicleCharacteristics"
          },
          "minItems": 0
        },
        "tmpOperatorActionDefinitionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "tmpNetworkManagementDefinitionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "tmpTrafficSignalSettingDefinitionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "complianceOption",
        "setting"
      ]
    },
    "TriggerCondition": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "negate": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "triggerDefinition": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "description": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "tmpConditionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "tmpTriggerConditionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "triggerDefinition"
      ]
    },
    "WinterDrivingManagementDefinition": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "complianceOption": {
          "$ref": "DATEXII_3_Situation.json#/definitions/ComplianceOptionEnumG"
        },
        "applicableForTrafficDirection": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_LocationReferencing.json#/definitions/DirectionEnumG"
          },
          "minItems": 0
        },
        "applicableForTrafficType": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Situation.json#/definitions/TrafficTypeEnumG"
          },
          "minItems": 0
        },
        "placesAtWhichApplicable": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Situation.json#/definitions/PlacesEnumG"
          },
          "minItems": 0
        },
        "automaticallyInitiated": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "winterEquipmentManagementType": {
          "$ref": "DATEXII_3_Common.json#/definitions/WinterEquipmentManagementTypeEnumG"
        },
        "targetLocation": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_LocationReferencing.json#/definitions/LocationReferenceG"
          },
          "minItems": 0
        },
        "forVehiclesWithCharacteristicsOf": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Common.json#/definitions/VehicleCharacteristics"
          },
          "minItems": 0
        },
        "tmpOperatorActionDefinitionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "tmpNetworkManagementDefinitionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "tmpWinterDrivingManagementDefinitionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "complianceOption",
        "winterEquipmentManagementType"
      ]
    }
  }
}