{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "definitions": {
    "ActivationStatusG": {
      "description": "Only one of the properties shall be used in an instance.",
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "czPredefinedConditionActivation": {
          "$ref": "DATEXII_3_ControlledZone.json#/definitions/PredefinedConditionActivation"
        },
        "czNonPredefinedConditionActivation": {
          "$ref": "DATEXII_3_ControlledZone.json#/definitions/NonPredefinedConditionActivation"
        },
        "czTrafficRegulationActivation": {
          "$ref": "DATEXII_3_ControlledZone.json#/definitions/TrafficRegulationActivation"
        },
        "czControlledZoneActivation": {
          "$ref": "DATEXII_3_ControlledZone.json#/definitions/ControlledZoneActivation"
        }
      }
    },
    "ActivationTypeEnum": {
      "type": "string",
      "enum": [
        "dynamicallyActivated",
        "permanent",
        "extendedG"
      ]
    },
    "ActivationTypeEnumG": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "value": {
          "$ref": "DATEXII_3_ControlledZone.json#/definitions/ActivationTypeEnum"
        },
        "extendedValueG": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "AlternativeMobilityOptions": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "description": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "url": {
          "$ref": "DATEXII_3_Common.json#/definitions/Url"
        },
        "czAlternativeMobilityOptionsExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      }
    },
    "ConditionTypeEnum": {
      "type": "string",
      "enum": [
        "accessCondition",
        "driverCondition",
        "locationCondition",
        "nonVehicularRoadUserCondition",
        "occupantConditions",
        "other",
        "permitCondition",
        "registrationCondition",
        "retrofittingCondition",
        "roadCondition",
        "stickerCondition",
        "validityCondition",
        "vehicleCondition",
        "extendedG"
      ]
    },
    "ConditionTypeEnumG": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "value": {
          "$ref": "DATEXII_3_ControlledZone.json#/definitions/ConditionTypeEnum"
        },
        "extendedValueG": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "ControlledZone": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "idG": {
          "type": "string"
        },
        "versionG": {
          "type": "string"
        },
        "name": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "controlledZoneType": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_ControlledZone.json#/definitions/ControlledZoneTypeEnumG"
          },
          "minItems": 0
        },
        "description": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "recordVersionTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "activationType": {
          "$ref": "DATEXII_3_ControlledZone.json#/definitions/ActivationTypeEnumG"
        },
        "status": {
          "$ref": "DATEXII_3_TrafficRegulation.json#/definitions/ActivationStatusEnumG"
        },
        "dynamicActivationPublicationSource": {
          "$ref": "DATEXII_3_ControlledZone.json#/definitions/ControlledZoneTablePublicationVersionedReferenceG"
        },
        "controlledZoneSummary": {
          "$ref": "DATEXII_3_ControlledZone.json#/definitions/ControlledZoneSummary"
        },
        "trafficRegulationOrder": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_TrafficRegulation.json#/definitions/TrafficRegulationOrderG"
          },
          "minItems": 0
        },
        "controlledZoneRegulation": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_ControlledZone.json#/definitions/ControlledZoneRegulation"
          },
          "minItems": 0
        },
        "tariffInformation": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Facilities.json#/definitions/RatesG"
          },
          "minItems": 0
        },
        "alternativeMobilityOptions": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_ControlledZone.json#/definitions/AlternativeMobilityOptions"
          },
          "minItems": 0
        },
        "czControlledZoneExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "idG",
        "versionG",
        "recordVersionTime",
        "status"
      ]
    },
    "ControlledZoneActivation": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "idG": {
          "type": "string"
        },
        "versionG": {
          "type": "string"
        },
        "activationTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "activationVersionTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "controlledZoneReference": {
          "$ref": "DATEXII_3_ControlledZone.json#/definitions/ControlledZoneVersionedReferenceG"
        },
        "validity": {
          "$ref": "DATEXII_3_Common.json#/definitions/Validity"
        },
        "czActivationStatusExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "czControlledZoneActivationExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "idG",
        "versionG",
        "activationTime",
        "activationVersionTime",
        "controlledZoneReference",
        "validity"
      ]
    },
    "ControlledZoneRegulation": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "idG": {
          "type": "string"
        },
        "versionG": {
          "type": "string"
        },
        "status": {
          "$ref": "DATEXII_3_TrafficRegulation.json#/definitions/ActivationStatusEnumG"
        },
        "enforcementMethodType": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_ControlledZone.json#/definitions/EnforcementMethodTypeEnumG"
          },
          "minItems": 0
        },
        "roadSign": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_TrafficRegulation.json#/definitions/RoadSignG"
          },
          "minItems": 0
        },
        "typeOfRegulation": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_TrafficRegulation.json#/definitions/TypeOfRegulationG"
          },
          "minItems": 0
        },
        "condition": {
          "$ref": "DATEXII_3_TrafficRegulation.json#/definitions/ConditionG"
        },
        "permitInformation": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_TrafficRegulation.json#/definitions/PermitInformation"
          },
          "minItems": 0
        },
        "penalty": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_ControlledZone.json#/definitions/Penalty"
          },
          "minItems": 0
        },
        "troTrafficRegulationExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "czControlledZoneRegulationExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "idG",
        "versionG"
      ]
    },
    "ControlledZoneSummary": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "cityName": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "informalName": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "urlForFurtherInformation": {
          "$ref": "DATEXII_3_Common.json#/definitions/Url"
        },
        "locationForDisplay": {
          "$ref": "DATEXII_3_LocationReferencing.json#/definitions/PointCoordinates"
        },
        "czControlledZoneSummaryExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      }
    },
    "ControlledZoneTable": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "controlledZoneTableName": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "tableVersionTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "informationManager": {
          "$ref": "DATEXII_3_Common.json#/definitions/InternationalIdentifier"
        },
        "controlledZone": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_ControlledZone.json#/definitions/ControlledZone"
          },
          "minItems": 0
        },
        "uvarZone": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_ControlledZone.json#/definitions/ControlledZone"
          },
          "minItems": 0
        },
        "czControlledZoneTableExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "tableVersionTime"
      ]
    },
    "ControlledZoneTablePublication": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "idG": {
          "type": "string"
        },
        "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"
        },
        "predefinedConditionPublicationReference": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_ControlledZone.json#/definitions/PredefinedConditionPublicationVersionedReferenceG"
          },
          "minItems": 0
        },
        "publicationCreator": {
          "$ref": "DATEXII_3_Common.json#/definitions/InternationalIdentifier"
        },
        "headerInformation": {
          "$ref": "DATEXII_3_Common.json#/definitions/HeaderInformation"
        },
        "controlledZoneTable": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_ControlledZone.json#/definitions/ControlledZoneTable"
          },
          "minItems": 1
        },
        "comPayloadPublicationExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "czControlledZoneTablePublicationExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "idG",
        "lang",
        "publicationTime",
        "publicationCreator",
        "headerInformation",
        "controlledZoneTable"
      ]
    },
    "ControlledZoneTablePublicationVersionedReferenceG": {
      "type": "object",
      "properties": {
        "targetClass": {
          "type": "string",
          "default": "ControlledZoneTablePublication"
        },
        "idG": {
          "type": "string"
        },
        "versionG": {
          "type": "string"
        }
      },
      "required": [
        "targetClass",
        "idG"
      ]
    },
    "ControlledZoneTypeEnum": {
      "type": "string",
      "enum": [
        "limitedTrafficZone",
        "lowEmissionZone",
        "pedestrianZone",
        "restrictedParkingZone",
        "zeroEmissionZone",
        "extendedG"
      ]
    },
    "ControlledZoneTypeEnumG": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "value": {
          "$ref": "DATEXII_3_ControlledZone.json#/definitions/ControlledZoneTypeEnum"
        },
        "extendedValueG": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "ControlledZoneVersionedReferenceG": {
      "type": "object",
      "properties": {
        "targetClass": {
          "type": "string",
          "default": "ControlledZone"
        },
        "idG": {
          "type": "string"
        },
        "versionG": {
          "type": "string"
        }
      },
      "required": [
        "targetClass",
        "idG"
      ]
    },
    "DynamicActivationStatusPublication": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "idG": {
          "type": "string"
        },
        "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"
        },
        "predefinedConditionPublicationReference": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_ControlledZone.json#/definitions/PredefinedConditionPublicationVersionedReferenceG"
          },
          "minItems": 0
        },
        "publicationCreator": {
          "$ref": "DATEXII_3_Common.json#/definitions/InternationalIdentifier"
        },
        "headerInformation": {
          "$ref": "DATEXII_3_Common.json#/definitions/HeaderInformation"
        },
        "activationStatus": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_ControlledZone.json#/definitions/ActivationStatusG"
          },
          "minItems": 0
        },
        "comPayloadPublicationExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "czDynamicActivationStatusPublicationExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "idG",
        "lang",
        "publicationTime",
        "publicationCreator",
        "headerInformation"
      ]
    },
    "EnforcementMethodTypeEnum": {
      "type": "string",
      "enum": [
        "camera",
        "manualStickerInspection",
        "checkingVehiclePapers",
        "mobileLicensePlateControls",
        "other",
        "extendedG"
      ]
    },
    "EnforcementMethodTypeEnumG": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "value": {
          "$ref": "DATEXII_3_ControlledZone.json#/definitions/EnforcementMethodTypeEnum"
        },
        "extendedValueG": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "NonCodableCondition": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "negate": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "active": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "condition": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "type": {
          "$ref": "DATEXII_3_ControlledZone.json#/definitions/ConditionTypeEnumG"
        },
        "legalBasis": {
          "$ref": "DATEXII_3_TrafficRegulation.json#/definitions/LegalBasis"
        },
        "troConditionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "czNonCodableConditionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "type"
      ]
    },
    "NonPredefinedConditionActivation": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "idG": {
          "type": "string"
        },
        "versionG": {
          "type": "string"
        },
        "activationTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "activationVersionTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "controlledZoneReference": {
          "$ref": "DATEXII_3_ControlledZone.json#/definitions/ControlledZoneVersionedReferenceG"
        },
        "validity": {
          "$ref": "DATEXII_3_Common.json#/definitions/Validity"
        },
        "condition": {
          "$ref": "DATEXII_3_TrafficRegulation.json#/definitions/ConditionG"
        },
        "czActivationStatusExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "czNonPredefinedConditionActivationExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "idG",
        "versionG",
        "activationTime",
        "activationVersionTime",
        "controlledZoneReference",
        "validity",
        "condition"
      ]
    },
    "Penalty": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "amountDue": {
          "$ref": "DATEXII_3_TrafficRegulation.json#/definitions/AmountOfMoney"
        },
        "penaltyDescription": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "czPenaltyExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "amountDue"
      ]
    },
    "PeriodCondition": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "negate": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "active": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "legalBasis": {
          "$ref": "DATEXII_3_TrafficRegulation.json#/definitions/LegalBasis"
        },
        "period": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Common.json#/definitions/Period"
          },
          "minItems": 1
        },
        "troConditionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "czPeriodConditionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "period"
      ]
    },
    "PredefinedConditionActivation": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "idG": {
          "type": "string"
        },
        "versionG": {
          "type": "string"
        },
        "activationTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "activationVersionTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "controlledZoneReference": {
          "$ref": "DATEXII_3_ControlledZone.json#/definitions/ControlledZoneVersionedReferenceG"
        },
        "predefinedConditionReference": {
          "$ref": "DATEXII_3_ControlledZone.json#/definitions/PredefinedConditionVersionedReferenceG"
        },
        "validity": {
          "$ref": "DATEXII_3_Common.json#/definitions/Validity"
        },
        "czActivationStatusExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "czPredefinedConditionActivationExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "idG",
        "versionG",
        "activationTime",
        "activationVersionTime",
        "controlledZoneReference",
        "predefinedConditionReference",
        "validity"
      ]
    },
    "PredefinedConditionPublicationVersionedReferenceG": {
      "type": "object",
      "properties": {
        "targetClass": {
          "type": "string",
          "default": "PredefinedConditionPublication"
        },
        "idG": {
          "type": "string"
        },
        "versionG": {
          "type": "string"
        }
      },
      "required": [
        "targetClass",
        "idG"
      ]
    },
    "PredefinedConditionVersionedReferenceG": {
      "type": "object",
      "properties": {
        "targetClass": {
          "type": "string",
          "default": "PredefinedCondition"
        },
        "idG": {
          "type": "string"
        },
        "versionG": {
          "type": "string"
        }
      },
      "required": [
        "targetClass",
        "idG"
      ]
    },
    "RetrofittingCondition": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "negate": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "active": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "retrofittingPossible": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "urlForFurtherInformation": {
          "$ref": "DATEXII_3_Common.json#/definitions/Url"
        },
        "legalBasis": {
          "$ref": "DATEXII_3_TrafficRegulation.json#/definitions/LegalBasis"
        },
        "troConditionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "czRetrofittingConditionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "retrofittingPossible"
      ]
    },
    "TariffCondition": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "negate": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "active": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "tariffPaid": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "legalBasis": {
          "$ref": "DATEXII_3_TrafficRegulation.json#/definitions/LegalBasis"
        },
        "troConditionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "czTariffConditionExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "tariffPaid"
      ]
    },
    "TrafficRegulationActivation": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "idG": {
          "type": "string"
        },
        "versionG": {
          "type": "string"
        },
        "activationTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "activationVersionTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "trafficRegulationReference": {
          "$ref": "DATEXII_3_ControlledZone.json#/definitions/TrafficRegulationVersionedReferenceG"
        },
        "validity": {
          "$ref": "DATEXII_3_Common.json#/definitions/Validity"
        },
        "czActivationStatusExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "czTrafficRegulationActivationExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "idG",
        "versionG",
        "activationTime",
        "activationVersionTime",
        "trafficRegulationReference",
        "validity"
      ]
    },
    "TrafficRegulationVersionedReferenceG": {
      "type": "object",
      "properties": {
        "targetClass": {
          "type": "string",
          "default": "TrafficRegulation"
        },
        "idG": {
          "type": "string"
        },
        "versionG": {
          "type": "string"
        }
      },
      "required": [
        "targetClass",
        "idG"
      ]
    }
  }
}