{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "definitions": {
    "ColourEnum": {
      "type": "string",
      "enum": [
        "amber",
        "blue",
        "green",
        "red",
        "white",
        "whiteYellow",
        "extendedG"
      ]
    },
    "ColourEnumG": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "value": {
          "$ref": "DATEXII_3_Vms.json#/definitions/ColourEnum"
        },
        "extendedValueG": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "CompositePictogram": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "customPictogramCode": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "additionalDescription": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "pictogramFlashing": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "pictogramInInverseColour": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "viennaConventionCompliant": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "pictogramInformationType": {
          "$ref": "DATEXII_3_Vms.json#/definitions/InformationTypeEnumG"
        },
        "pictogramDescription": {
          "$ref": "DATEXII_3_Vms.json#/definitions/CompositePictogramEnumG"
        },
        "gddStructure": {
          "$ref": "DATEXII_3_Vms.json#/definitions/GddStructure"
        },
        "regularPictogram": {
          "$ref": "DATEXII_3_Vms.json#/definitions/RegularPictogram"
        },
        "vmsPictogramExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "vmsCompositePictogramExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "pictogramDescription",
        "regularPictogram"
      ]
    },
    "CompositePictogramEnum": {
      "type": "string",
      "enum": [
        "conditionOnCurrentSectionAfterNextExit",
        "conditionAtNextExit",
        "conditionOnCurrentSectionAfterSecondtExit",
        "conditionAtSecondExit",
        "restrictionOnCurrentSectionAfterNextExit",
        "restrictionAtNextExit",
        "restrictionOnCurrentSectionAfterSecondExit",
        "restrictionAtSecondtExit",
        "extendedG"
      ]
    },
    "CompositePictogramEnumG": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "value": {
          "$ref": "DATEXII_3_Vms.json#/definitions/CompositePictogramEnum"
        },
        "extendedValueG": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "DedicatedUsageEnum": {
      "type": "string",
      "enum": [
        "energyInformation",
        "inspectionArea",
        "laneControlSystem",
        "parkingInformation",
        "rampMetering",
        "tunnelManagement",
        "other",
        "extendedG"
      ]
    },
    "DedicatedUsageEnumG": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "value": {
          "$ref": "DATEXII_3_Vms.json#/definitions/DedicatedUsageEnum"
        },
        "extendedValueG": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "DisplayArea": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "sequencingCapable": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "maxNumberOfSequentialPages": {
          "$ref": "DATEXII_3_Common.json#/definitions/NonNegativeInteger"
        },
        "positionXAbsolute": {
          "$ref": "DATEXII_3_Vms.json#/definitions/PositionXAbsoluteEnumG"
        },
        "positionXRelativeToPrevious": {
          "$ref": "DATEXII_3_Vms.json#/definitions/PositionXRelativeEnumG"
        },
        "positionYAbsolute": {
          "$ref": "DATEXII_3_Vms.json#/definitions/PositionYAbsoluteEnumG"
        },
        "positionYRelativeToPrevious": {
          "$ref": "DATEXII_3_Vms.json#/definitions/PositionYRelativeEnumG"
        },
        "displayGeometry": {
          "$ref": "DATEXII_3_Vms.json#/definitions/DisplayGeometry"
        },
        "overriddenLaneAssociation": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_LocationReferencing.json#/definitions/Lane"
          },
          "minItems": 0
        },
        "vmsDisplayAreaExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      }
    },
    "DisplayAreaG": {
      "description": "Only one of the properties shall be used in an instance.",
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "vmsDisplayArea": {
          "$ref": "DATEXII_3_Vms.json#/definitions/DisplayArea"
        },
        "vmsSupplementaryPanelArea": {
          "$ref": "DATEXII_3_Vms.json#/definitions/SupplementaryPanelArea"
        },
        "vmsPictogramDisplayArea": {
          "$ref": "DATEXII_3_Vms.json#/definitions/PictogramDisplayArea"
        },
        "vmsTextDisplayArea": {
          "$ref": "DATEXII_3_Vms.json#/definitions/TextDisplayArea"
        }
      }
    },
    "DisplayAreaSettingsG": {
      "description": "Only one of the properties shall be used in an instance.",
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "vmsTextDisplay": {
          "$ref": "DATEXII_3_Vms.json#/definitions/TextDisplay"
        },
        "vmsSupplementaryPictogram": {
          "$ref": "DATEXII_3_Vms.json#/definitions/SupplementaryPictogram"
        },
        "vmsSupplementaryText": {
          "$ref": "DATEXII_3_Vms.json#/definitions/SupplementaryText"
        },
        "vmsPictogramDisplay": {
          "$ref": "DATEXII_3_Vms.json#/definitions/PictogramDisplay"
        },
        "vmsMultiPageDisplay": {
          "$ref": "DATEXII_3_Vms.json#/definitions/MultiPageDisplay"
        }
      }
    },
    "DisplayedNumericalInformation": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "numericalInformationType": {
          "$ref": "DATEXII_3_Vms.json#/definitions/DisplayedNumericalInformationTypeEnumG"
        },
        "numericValue": {
          "$ref": "DATEXII_3_Common.json#/definitions/Decimal"
        },
        "unitOfMeasure": {
          "$ref": "DATEXII_3_Vms.json#/definitions/UnitOfMeasureEnumG"
        },
        "vmsDisplayedNumericalInformationExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "numericalInformationType",
        "numericValue",
        "unitOfMeasure"
      ]
    },
    "DisplayedNumericalInformationTypeEnum": {
      "type": "string",
      "enum": [
        "distance",
        "height",
        "length",
        "rateOfIncline",
        "sectionLength",
        "speed",
        "weight",
        "weightPerAxle",
        "width",
        "extendedG"
      ]
    },
    "DisplayedNumericalInformationTypeEnumG": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "value": {
          "$ref": "DATEXII_3_Vms.json#/definitions/DisplayedNumericalInformationTypeEnum"
        },
        "extendedValueG": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "DisplayGeometry": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "pixelsAcross": {
          "$ref": "DATEXII_3_Common.json#/definitions/NonNegativeInteger"
        },
        "pixelsDown": {
          "$ref": "DATEXII_3_Common.json#/definitions/NonNegativeInteger"
        },
        "displayHeight": {
          "$ref": "DATEXII_3_Common.json#/definitions/MetresAsFloat"
        },
        "displayWidth": {
          "$ref": "DATEXII_3_Common.json#/definitions/MetresAsFloat"
        },
        "positionX": {
          "$ref": "DATEXII_3_Common.json#/definitions/MetresAsFloat"
        },
        "positionY": {
          "$ref": "DATEXII_3_Common.json#/definitions/MetresAsFloat"
        },
        "vmsDisplayGeometryExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      }
    },
    "GddPictogramAttributes": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "attributes": {
          "$ref": "DATEXII_3_Common.json#/definitions/Base64Binary"
        },
        "vmsGddPictogramAttributesExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "attributes"
      ]
    },
    "GddPictogramCategoryCode": {
      "type": "integer",
      "exclusiveMinimum": 0.0
    },
    "GddPictogramIdentification": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "country": {
          "$ref": "DATEXII_3_Common.json#/definitions/CountryCode"
        },
        "serviceCategory": {
          "$ref": "DATEXII_3_Vms.json#/definitions/GddServiceCategoryEnumG"
        },
        "pictogramCategoryCode": {
          "$ref": "DATEXII_3_Vms.json#/definitions/GddPictogramCategoryCode"
        },
        "vmsGddPictogramIdentificationExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "country",
        "pictogramCategoryCode",
        "serviceCategory"
      ]
    },
    "GddServiceCategoryEnum": {
      "type": "string",
      "enum": [
        "dangerWarning",
        "regulatory",
        "informative",
        "publicFacilities",
        "ambientConditions",
        "roadConditions",
        "extendedG"
      ]
    },
    "GddServiceCategoryEnumG": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "value": {
          "$ref": "DATEXII_3_Vms.json#/definitions/GddServiceCategoryEnum"
        },
        "extendedValueG": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "GddStructure": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "gddPictogramIdentification": {
          "$ref": "DATEXII_3_Vms.json#/definitions/GddPictogramIdentification"
        },
        "gddPictogramAttributes": {
          "$ref": "DATEXII_3_Vms.json#/definitions/GddPictogramAttributes"
        },
        "vmsGddStructureExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "gddPictogramIdentification"
      ]
    },
    "Image": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "imageData": {
          "$ref": "DATEXII_3_Common.json#/definitions/Base64Binary"
        },
        "imageFormat": {
          "$ref": "DATEXII_3_Vms.json#/definitions/ImageFormatEnumG"
        },
        "vmsImageExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "imageData",
        "imageFormat"
      ]
    },
    "ImageFormatEnum": {
      "type": "string",
      "enum": [
        "bmp",
        "gif",
        "jpeg",
        "png",
        "tiff",
        "extendedG"
      ]
    },
    "ImageFormatEnumG": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "value": {
          "$ref": "DATEXII_3_Vms.json#/definitions/ImageFormatEnum"
        },
        "extendedValueG": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "InformationTypeEnum": {
      "type": "string",
      "enum": [
        "situationInformation",
        "warning",
        "prohibition",
        "obligation",
        "destination",
        "travelTime",
        "delay",
        "location",
        "vehicleType",
        "generalInformation",
        "blank",
        "other",
        "extendedG"
      ]
    },
    "InformationTypeEnumG": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "value": {
          "$ref": "DATEXII_3_Vms.json#/definitions/InformationTypeEnum"
        },
        "extendedValueG": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "ManagedLogicalLocation": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "managedLogicalLocation": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "distanceFromLogicalLocation": {
          "$ref": "DATEXII_3_Common.json#/definitions/MetresAsNonNegativeInteger"
        },
        "managedLocation": {
          "$ref": "DATEXII_3_LocationReferencing.json#/definitions/LocationG"
        },
        "vmsManagedLogicalLocationExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      }
    },
    "MessageInformationTypeEnum": {
      "type": "string",
      "enum": [
        "campaignMessage",
        "dateTime",
        "futureInformation",
        "instructionOrMessage",
        "situationWarning",
        "temperature",
        "trafficManagement",
        "travelTime",
        "extendedG"
      ]
    },
    "MessageInformationTypeEnumG": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "value": {
          "$ref": "DATEXII_3_Vms.json#/definitions/MessageInformationTypeEnum"
        },
        "extendedValueG": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "MultiPageDisplay": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "isBlank": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "legallyBinding": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "legalBasis": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "sequenceGroupNumber": {
          "$ref": "DATEXII_3_Common.json#/definitions/NonNegativeInteger"
        },
        "displayAreaSettings": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Vms.json#/definitions/multiPageDisplayPageNumberDisplayAreaSettingsG"
          },
          "minItems": 0
        },
        "vmsDisplayAreaSettingsExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "vmsMultiPageDisplayExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      }
    },
    "multiPageDisplayPageNumberDisplayAreaSettingsG": {
      "type": "object",
      "properties": {
        "displayAreaSettings": {
          "$ref": "DATEXII_3_Vms.json#/definitions/DisplayAreaSettingsG"
        },
        "pageNumber": {
          "type": "integer"
        }
      },
      "required": [
        "displayAreaSettings",
        "pageNumber"
      ]
    },
    "PhysicalSupportEnum": {
      "type": "string",
      "enum": [
        "centralReservationMounted",
        "gantryMounted",
        "overheadBridgeMounted",
        "roadsideCantileverMounted",
        "roadsideMounted",
        "trailerMounted",
        "tunnelEntranceMounted",
        "vehicleMounted",
        "extendedG"
      ]
    },
    "PhysicalSupportEnumG": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "value": {
          "$ref": "DATEXII_3_Vms.json#/definitions/PhysicalSupportEnum"
        },
        "extendedValueG": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "PictogramDisplay": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "isBlank": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "legallyBinding": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "legalBasis": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "isPrimaryPictogram": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "pictogramDisplayUrl": {
          "$ref": "DATEXII_3_Common.json#/definitions/Url"
        },
        "pictogram": {
          "$ref": "DATEXII_3_Vms.json#/definitions/PictogramG"
        },
        "supplementaryInformationDisplay": {
          "$ref": "DATEXII_3_Vms.json#/definitions/SupplementaryInformationDisplayG"
        },
        "image": {
          "$ref": "DATEXII_3_Vms.json#/definitions/Image"
        },
        "vmsDisplayAreaSettingsExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "vmsPictogramDisplayExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "pictogram"
      ]
    },
    "PictogramDisplayArea": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "sequencingCapable": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "maxNumberOfSequentialPages": {
          "$ref": "DATEXII_3_Common.json#/definitions/NonNegativeInteger"
        },
        "positionXAbsolute": {
          "$ref": "DATEXII_3_Vms.json#/definitions/PositionXAbsoluteEnumG"
        },
        "positionXRelativeToPrevious": {
          "$ref": "DATEXII_3_Vms.json#/definitions/PositionXRelativeEnumG"
        },
        "positionYAbsolute": {
          "$ref": "DATEXII_3_Vms.json#/definitions/PositionYAbsoluteEnumG"
        },
        "positionYRelativeToPrevious": {
          "$ref": "DATEXII_3_Vms.json#/definitions/PositionYRelativeEnumG"
        },
        "pictogramCodeListIdentifier": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "pictogramNumberOfColours": {
          "$ref": "DATEXII_3_Common.json#/definitions/NonNegativeInteger"
        },
        "displayGeometry": {
          "$ref": "DATEXII_3_Vms.json#/definitions/DisplayGeometry"
        },
        "overriddenLaneAssociation": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_LocationReferencing.json#/definitions/Lane"
          },
          "minItems": 0
        },
        "vmsDisplayAreaExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "vmsPictogramDisplayAreaExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      }
    },
    "PictogramEnum": {
      "type": "string",
      "enum": [
        "blankVoid",
        "bridgeClosed",
        "carParkFull",
        "carParkSpacesAvailable",
        "corridorForEmergencyVehicleAccess",
        "curveArrowToLeft",
        "curveArrowToRight",
        "dangerOfFire",
        "doubleExitToLeft",
        "doubleExitToRight",
        "endOfAdvisorySpeed",
        "fastenChildrensSeatBelts",
        "fastenYourSeatBelt",
        "fire",
        "footballMatch",
        "hardShoulderNotRunning",
        "hardShoulderRunning",
        "horizontalDiversionToLeft",
        "horizontalDiversionToRight",
        "keepASafeDistance",
        "keepLeft",
        "keepRight",
        "lane1ClosedOf2",
        "lane2ClosedOf2",
        "lane1ClosedOf3",
        "lane3ClosedOf3",
        "lanes1And2ClosedOf3",
        "lanes2And3ClosedOf3",
        "lane1ClosedOf4",
        "lane4ClosedOf4",
        "lanes1And2ClosedOf4",
        "lanes3And4ClosedOf4",
        "lanes1And2And3ClosedOf4",
        "lanes2And3And4ClosedOf4",
        "leftHandLaneClosed",
        "narrowLanesAhead",
        "obliqueArrowToLeft",
        "obliqueArrowToRight",
        "pollutionOrSmogAlert",
        "rightHandLaneClosed",
        "singleExitToLeft",
        "singleExitToRight",
        "smoke",
        "snowPloughInAction",
        "speedCamerasInAction",
        "straightVerticalArrow",
        "trafficDeviatedToOppositeCarriagewayAhead",
        "trafficPartiallyDeviatedToOppositeCarriagewayAhead",
        "tunnelClosed",
        "verticalDiversion",
        "other",
        "extendedG"
      ]
    },
    "PictogramEnumG": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "value": {
          "$ref": "DATEXII_3_Vms.json#/definitions/PictogramEnum"
        },
        "extendedValueG": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "PictogramG": {
      "description": "Only one of the properties shall be used in an instance.",
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "vmsCompositePictogram": {
          "$ref": "DATEXII_3_Vms.json#/definitions/CompositePictogram"
        },
        "vmsRegularPictogram": {
          "$ref": "DATEXII_3_Vms.json#/definitions/RegularPictogram"
        }
      }
    },
    "PositionXAbsoluteEnum": {
      "type": "string",
      "enum": [
        "onLeft",
        "inTheMiddle",
        "onRight",
        "extendedG"
      ]
    },
    "PositionXAbsoluteEnumG": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "value": {
          "$ref": "DATEXII_3_Vms.json#/definitions/PositionXAbsoluteEnum"
        },
        "extendedValueG": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "PositionXRelativeEnum": {
      "type": "string",
      "enum": [
        "toTheLeft",
        "alignedOnTheLeftSide",
        "centred",
        "alignedOnTheRightSide",
        "toTheRight",
        "extendedG"
      ]
    },
    "PositionXRelativeEnumG": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "value": {
          "$ref": "DATEXII_3_Vms.json#/definitions/PositionXRelativeEnum"
        },
        "extendedValueG": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "PositionYAbsoluteEnum": {
      "type": "string",
      "enum": [
        "atTop",
        "inTheMiddle",
        "atBottom",
        "extendedG"
      ]
    },
    "PositionYAbsoluteEnumG": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "value": {
          "$ref": "DATEXII_3_Vms.json#/definitions/PositionYAbsoluteEnum"
        },
        "extendedValueG": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "PositionYRelativeEnum": {
      "type": "string",
      "enum": [
        "above",
        "alignedOnTheTopSide",
        "centred",
        "alignedOnTheBottomSide",
        "below",
        "extendedG"
      ]
    },
    "PositionYRelativeEnumG": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "value": {
          "$ref": "DATEXII_3_Vms.json#/definitions/PositionYRelativeEnum"
        },
        "extendedValueG": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "RegularPictogram": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "customPictogramCode": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "additionalDescription": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "pictogramFlashing": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "pictogramInInverseColour": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "viennaConventionCompliant": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "pictogramInformationType": {
          "$ref": "DATEXII_3_Vms.json#/definitions/InformationTypeEnumG"
        },
        "pictogramDescription": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Vms.json#/definitions/PictogramEnumG"
          },
          "minItems": 0
        },
        "presenceOfRedTriangle": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "gddStructure": {
          "$ref": "DATEXII_3_Vms.json#/definitions/GddStructure"
        },
        "displayedNumericalInformation": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Vms.json#/definitions/DisplayedNumericalInformation"
          },
          "minItems": 0,
          "maxItems": 2
        },
        "vmsPictogramExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "vmsRegularPictogramExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      }
    },
    "SettingReasonEnum": {
      "type": "string",
      "enum": [
        "situation",
        "operatorCreated",
        "trafficManagement",
        "travelTime",
        "campaign",
        "default",
        "extendedG"
      ]
    },
    "SettingReasonEnumG": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "value": {
          "$ref": "DATEXII_3_Vms.json#/definitions/SettingReasonEnum"
        },
        "extendedValueG": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "SituationRecordVersionedReferenceG": {
      "type": "object",
      "properties": {
        "targetClass": {
          "type": "string",
          "default": "SituationRecord"
        },
        "idG": {
          "type": "string"
        },
        "versionG": {
          "type": "string"
        }
      },
      "required": [
        "targetClass",
        "idG"
      ]
    },
    "SituationVersionedReferenceG": {
      "type": "object",
      "properties": {
        "targetClass": {
          "type": "string",
          "default": "Situation"
        },
        "idG": {
          "type": "string"
        },
        "versionG": {
          "type": "string"
        }
      },
      "required": [
        "targetClass",
        "idG"
      ]
    },
    "SupplementalPictogramEnum": {
      "type": "string",
      "enum": [
        "distanceToTheBeginningOfTheApplicationZone",
        "exceptAnyPowerDrivenVehicleDrawingTrailer",
        "exceptBus",
        "exceptGoodsVehicles",
        "exceptSemitrailer",
        "exceptVehiclesCarryingDangerousGoods",
        "inCaseOfIceOrSnow",
        "lengthOfTheApplicationZone",
        "restrictedToAnyPowerDrivenVehicleDrawingTrailer",
        "restrictedToBus",
        "restrictedToGoodsVehicles",
        "restrictedToSemiTrailer",
        "restrictedToVehiclesCarryingDangerousGoods",
        "maintenanceVehicles",
        "snowPloughs",
        "other",
        "extendedG"
      ]
    },
    "SupplementalPictogramEnumG": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "value": {
          "$ref": "DATEXII_3_Vms.json#/definitions/SupplementalPictogramEnum"
        },
        "extendedValueG": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "SupplementaryInformationDisplayG": {
      "description": "Only one of the properties shall be used in an instance.",
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "vmsSupplementaryPictogram": {
          "$ref": "DATEXII_3_Vms.json#/definitions/SupplementaryPictogram"
        },
        "vmsSupplementaryText": {
          "$ref": "DATEXII_3_Vms.json#/definitions/SupplementaryText"
        }
      }
    },
    "SupplementaryPanelArea": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "sequencingCapable": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "maxNumberOfSequentialPages": {
          "$ref": "DATEXII_3_Common.json#/definitions/NonNegativeInteger"
        },
        "positionXAbsolute": {
          "$ref": "DATEXII_3_Vms.json#/definitions/PositionXAbsoluteEnumG"
        },
        "positionXRelativeToPrevious": {
          "$ref": "DATEXII_3_Vms.json#/definitions/PositionXRelativeEnumG"
        },
        "positionYAbsolute": {
          "$ref": "DATEXII_3_Vms.json#/definitions/PositionYAbsoluteEnumG"
        },
        "positionYRelativeToPrevious": {
          "$ref": "DATEXII_3_Vms.json#/definitions/PositionYRelativeEnumG"
        },
        "supplementaryPictogramCodeListIdentifier": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "relatedPictogramArea": {
          "$ref": "DATEXII_3_Common.json#/definitions/Integer"
        },
        "displayGeometry": {
          "$ref": "DATEXII_3_Vms.json#/definitions/DisplayGeometry"
        },
        "overriddenLaneAssociation": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_LocationReferencing.json#/definitions/Lane"
          },
          "minItems": 0
        },
        "vmsDisplayAreaExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "vmsSupplementaryPanelAreaExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      }
    },
    "SupplementaryPictogram": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "isBlank": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "legallyBinding": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "legalBasis": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "pictogramDescription": {
          "$ref": "DATEXII_3_Vms.json#/definitions/SupplementalPictogramEnumG"
        },
        "pictogramCode": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "pictogramUrl": {
          "$ref": "DATEXII_3_Common.json#/definitions/Url"
        },
        "additionalDescription": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "pictogramFlashing": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "pictogramInformationType": {
          "$ref": "DATEXII_3_Vms.json#/definitions/InformationTypeEnumG"
        },
        "vmsDisplayAreaSettingsExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "vmsSupplementaryInformationDisplayExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "vmsSupplementaryPictogramExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      }
    },
    "SupplementaryText": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "isBlank": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "legallyBinding": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "legalBasis": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "textLine": {
          "$ref": "DATEXII_3_Vms.json#/definitions/TextLine"
        },
        "vmsDisplayAreaSettingsExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "vmsSupplementaryInformationDisplayExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "vmsSupplementaryTextExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "textLine"
      ]
    },
    "TextDisplay": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "isBlank": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "legallyBinding": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "legalBasis": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "textCode": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "textImageUrl": {
          "$ref": "DATEXII_3_Common.json#/definitions/Url"
        },
        "textLine": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Vms.json#/definitions/textDisplayLineIndexTextLineG"
          },
          "minItems": 0
        },
        "vmsDisplayAreaSettingsExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "vmsTextDisplayExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      }
    },
    "TextDisplayArea": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "sequencingCapable": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "maxNumberOfSequentialPages": {
          "$ref": "DATEXII_3_Common.json#/definitions/NonNegativeInteger"
        },
        "positionXAbsolute": {
          "$ref": "DATEXII_3_Vms.json#/definitions/PositionXAbsoluteEnumG"
        },
        "positionXRelativeToPrevious": {
          "$ref": "DATEXII_3_Vms.json#/definitions/PositionXRelativeEnumG"
        },
        "positionYAbsolute": {
          "$ref": "DATEXII_3_Vms.json#/definitions/PositionYAbsoluteEnumG"
        },
        "positionYRelativeToPrevious": {
          "$ref": "DATEXII_3_Vms.json#/definitions/PositionYRelativeEnumG"
        },
        "proportionalFont": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "maxNumberOfCharacters": {
          "$ref": "DATEXII_3_Common.json#/definitions/NonNegativeInteger"
        },
        "maxNumberOfRows": {
          "$ref": "DATEXII_3_Common.json#/definitions/NonNegativeInteger"
        },
        "textCodeListIdentifier": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "maxFontHeight": {
          "$ref": "DATEXII_3_Common.json#/definitions/NonNegativeInteger"
        },
        "minFontHeight": {
          "$ref": "DATEXII_3_Common.json#/definitions/NonNegativeInteger"
        },
        "maxFontWidth": {
          "$ref": "DATEXII_3_Common.json#/definitions/NonNegativeInteger"
        },
        "minFontWidth": {
          "$ref": "DATEXII_3_Common.json#/definitions/NonNegativeInteger"
        },
        "maxFontSpacing": {
          "$ref": "DATEXII_3_Common.json#/definitions/NonNegativeInteger"
        },
        "minFontSpacing": {
          "$ref": "DATEXII_3_Common.json#/definitions/NonNegativeInteger"
        },
        "displayGeometry": {
          "$ref": "DATEXII_3_Vms.json#/definitions/DisplayGeometry"
        },
        "overriddenLaneAssociation": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_LocationReferencing.json#/definitions/Lane"
          },
          "minItems": 0
        },
        "vmsDisplayAreaExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "vmsTextDisplayAreaExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      }
    },
    "textDisplayLineIndexTextLineG": {
      "type": "object",
      "properties": {
        "textLine": {
          "$ref": "DATEXII_3_Vms.json#/definitions/TextLine"
        },
        "lineIndex": {
          "type": "integer"
        }
      },
      "required": [
        "textLine",
        "lineIndex"
      ]
    },
    "TextLine": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "textLine": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "lineLanguage": {
          "$ref": "DATEXII_3_Common.json#/definitions/Language"
        },
        "lineColour": {
          "$ref": "DATEXII_3_Vms.json#/definitions/ColourEnumG"
        },
        "lineFlashing": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "lineHtml": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "isExactTextOnSign": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "textInformationType": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Vms.json#/definitions/InformationTypeEnumG"
          },
          "minItems": 0
        },
        "vmsTextLineExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "textLine"
      ]
    },
    "UnitOfMeasureEnum": {
      "type": "string",
      "enum": [
        "feet",
        "feetAndInches",
        "kilometres",
        "kilometresPerHour",
        "metres",
        "miles",
        "milesPerHour",
        "percentage",
        "tonnes",
        "yards",
        "extendedG"
      ]
    },
    "UnitOfMeasureEnumG": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "value": {
          "$ref": "DATEXII_3_Vms.json#/definitions/UnitOfMeasureEnum"
        },
        "extendedValueG": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "Vms": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "lanternsPresent": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "description": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "owner": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "physicalSupport": {
          "$ref": "DATEXII_3_Vms.json#/definitions/PhysicalSupportEnumG"
        },
        "vmsType": {
          "$ref": "DATEXII_3_Vms.json#/definitions/VmsTypeEnumG"
        },
        "vmsTypeCode": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "dynamicallyConfigurable": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "displayHeight": {
          "$ref": "DATEXII_3_Common.json#/definitions/MetresAsFloat"
        },
        "displayWidth": {
          "$ref": "DATEXII_3_Common.json#/definitions/MetresAsFloat"
        },
        "heightAboveCarriageway": {
          "$ref": "DATEXII_3_Common.json#/definitions/MetresAsFloat"
        },
        "dedicatedUsage": {
          "$ref": "DATEXII_3_Vms.json#/definitions/DedicatedUsageEnumG"
        },
        "vmsConfiguration": {
          "$ref": "DATEXII_3_Vms.json#/definitions/VmsConfiguration"
        },
        "vmsLocation": {
          "$ref": "DATEXII_3_LocationReferencing.json#/definitions/LocationG"
        },
        "managedLogicalLocation": {
          "$ref": "DATEXII_3_Vms.json#/definitions/ManagedLogicalLocation"
        },
        "imageLink": {
          "$ref": "DATEXII_3_Common.json#/definitions/UrlLink"
        },
        "vmsVmsExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "vmsConfiguration"
      ]
    },
    "VmsConfiguration": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "numberOfDisplayAreas": {
          "$ref": "DATEXII_3_Common.json#/definitions/NonNegativeInteger"
        },
        "displayArea": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Vms.json#/definitions/vmsConfigurationDisplayAreaIndexDisplayAreaG"
          },
          "minItems": 0
        },
        "vmsVmsConfigurationExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      }
    },
    "vmsConfigurationDisplayAreaIndexDisplayAreaG": {
      "type": "object",
      "properties": {
        "displayArea": {
          "$ref": "DATEXII_3_Vms.json#/definitions/DisplayAreaG"
        },
        "displayAreaIndex": {
          "type": "integer"
        }
      },
      "required": [
        "displayArea",
        "displayAreaIndex"
      ]
    },
    "VmsController": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "idG": {
          "type": "string"
        },
        "versionG": {
          "type": "string"
        },
        "numberOfVms": {
          "$ref": "DATEXII_3_Common.json#/definitions/NonNegativeInteger"
        },
        "externalIdentifier": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "ipAddress": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "electronicAddress": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "vms": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Vms.json#/definitions/vmsControllerVmsIndexVmsG"
          },
          "minItems": 0
        },
        "vmsVmsControllerExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "idG",
        "versionG"
      ]
    },
    "VmsControllerFault": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "faultIdentifier": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "faultDescription": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "faultCreationTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "faultLastUpdateTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "faultImpactSeverity": {
          "$ref": "DATEXII_3_Common.json#/definitions/FaultSeverityEnumG"
        },
        "faultUrgencyToRectify": {
          "$ref": "DATEXII_3_Common.json#/definitions/FaultUrgencyEnumG"
        },
        "manufacturerFaultCode": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "vmsControllerFault": {
          "$ref": "DATEXII_3_Vms.json#/definitions/VmsControllerFaultEnumG"
        },
        "comFaultExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "vmsVmsControllerFaultExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "faultLastUpdateTime",
        "vmsControllerFault"
      ]
    },
    "VmsControllerFaultEnum": {
      "type": "string",
      "enum": [
        "communicationsFailure",
        "powerFailure",
        "other",
        "unknown",
        "extendedG"
      ]
    },
    "VmsControllerFaultEnumG": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "value": {
          "$ref": "DATEXII_3_Vms.json#/definitions/VmsControllerFaultEnum"
        },
        "extendedValueG": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "VmsControllerStatus": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "vmsControllerTableReference": {
          "$ref": "DATEXII_3_Vms.json#/definitions/VmsControllerTableVersionedReferenceG"
        },
        "vmsControllerReference": {
          "$ref": "DATEXII_3_Vms.json#/definitions/VmsControllerVersionedReferenceG"
        },
        "statusUpdateTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "informationManagerOverride": {
          "$ref": "DATEXII_3_Common.json#/definitions/InternationalIdentifier"
        },
        "vmsStatus": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Vms.json#/definitions/vmsControllerStatusVmsIndexVmsStatusG"
          },
          "minItems": 0
        },
        "vmsControllerFault": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Vms.json#/definitions/VmsControllerFault"
          },
          "minItems": 0
        },
        "vmsVmsControllerStatusExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "vmsControllerReference",
        "vmsControllerTableReference"
      ]
    },
    "vmsControllerStatusVmsIndexVmsStatusG": {
      "type": "object",
      "properties": {
        "vmsStatus": {
          "$ref": "DATEXII_3_Vms.json#/definitions/VmsStatus"
        },
        "vmsIndex": {
          "type": "integer"
        }
      },
      "required": [
        "vmsStatus",
        "vmsIndex"
      ]
    },
    "VmsControllerTable": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "idG": {
          "type": "string"
        },
        "versionG": {
          "type": "string"
        },
        "vmsControllerTableIdentification": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "informationManager": {
          "$ref": "DATEXII_3_Common.json#/definitions/InternationalIdentifier"
        },
        "vmsController": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Vms.json#/definitions/VmsController"
          },
          "minItems": 1
        },
        "vmsVmsControllerTableExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "idG",
        "versionG",
        "vmsController"
      ]
    },
    "VmsControllerTableVersionedReferenceG": {
      "type": "object",
      "properties": {
        "targetClass": {
          "type": "string",
          "default": "VmsControllerTable"
        },
        "idG": {
          "type": "string"
        },
        "versionG": {
          "type": "string"
        }
      },
      "required": [
        "targetClass",
        "idG"
      ]
    },
    "VmsControllerVersionedReferenceG": {
      "type": "object",
      "properties": {
        "targetClass": {
          "type": "string",
          "default": "VmsController"
        },
        "idG": {
          "type": "string"
        },
        "versionG": {
          "type": "string"
        }
      },
      "required": [
        "targetClass",
        "idG"
      ]
    },
    "vmsControllerVmsIndexVmsG": {
      "type": "object",
      "properties": {
        "vms": {
          "$ref": "DATEXII_3_Vms.json#/definitions/Vms"
        },
        "vmsIndex": {
          "type": "integer"
        }
      },
      "required": [
        "vms",
        "vmsIndex"
      ]
    },
    "VmsFault": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "faultIdentifier": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "faultDescription": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "faultCreationTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "faultLastUpdateTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "faultImpactSeverity": {
          "$ref": "DATEXII_3_Common.json#/definitions/FaultSeverityEnumG"
        },
        "faultUrgencyToRectify": {
          "$ref": "DATEXII_3_Common.json#/definitions/FaultUrgencyEnumG"
        },
        "manufacturerFaultCode": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "vmsFault": {
          "$ref": "DATEXII_3_Vms.json#/definitions/VmsFaultEnumG"
        },
        "comFaultExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "vmsVmsFaultExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "faultLastUpdateTime",
        "vmsFault"
      ]
    },
    "VmsFaultEnum": {
      "type": "string",
      "enum": [
        "incorrectMessageDisplayed",
        "incorrectPictogramDisplayed",
        "outOfService",
        "unableToClearDown",
        "unknown",
        "other",
        "extendedG"
      ]
    },
    "VmsFaultEnumG": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "value": {
          "$ref": "DATEXII_3_Vms.json#/definitions/VmsFaultEnum"
        },
        "extendedValueG": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "VmsMessage": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "associatedTrafficManagementPlan": {
          "$ref": "DATEXII_3_Common.json#/definitions/String"
        },
        "messageSetBy": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "setBySystem": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "reasonForSetting": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "codedReasonForSetting": {
          "$ref": "DATEXII_3_Vms.json#/definitions/SettingReasonEnumG"
        },
        "messageInformationType": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Vms.json#/definitions/MessageInformationTypeEnumG"
          },
          "minItems": 0
        },
        "primarySetting": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "mareNostrumCompliant": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "timeLastSet": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "requestedBy": {
          "$ref": "DATEXII_3_Common.json#/definitions/MultilingualString"
        },
        "relatedSituation": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Vms.json#/definitions/SituationVersionedReferenceG"
          },
          "minItems": 0
        },
        "relatedSituationRecord": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Vms.json#/definitions/SituationRecordVersionedReferenceG"
          },
          "minItems": 0
        },
        "distanceFromClosestSituationRecord": {
          "$ref": "DATEXII_3_Common.json#/definitions/MetresAsFloat"
        },
        "sequencingInterval": {
          "$ref": "DATEXII_3_Common.json#/definitions/Seconds"
        },
        "displayAreaSettings": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Vms.json#/definitions/vmsMessageDisplayAreaIndexDisplayAreaSettingsG"
          },
          "minItems": 0
        },
        "image": {
          "$ref": "DATEXII_3_Vms.json#/definitions/Image"
        },
        "vmsVmsMessageExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "timeLastSet"
      ]
    },
    "vmsMessageDisplayAreaIndexDisplayAreaSettingsG": {
      "type": "object",
      "properties": {
        "displayAreaSettings": {
          "$ref": "DATEXII_3_Vms.json#/definitions/DisplayAreaSettingsG"
        },
        "displayAreaIndex": {
          "type": "integer"
        }
      },
      "required": [
        "displayAreaSettings",
        "displayAreaIndex"
      ]
    },
    "VmsPublication": {
      "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"
        },
        "vmsControllerStatus": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Vms.json#/definitions/VmsControllerStatus"
          },
          "minItems": 1
        },
        "comPayloadPublicationExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "vmsVmsPublicationExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "lang",
        "publicationTime",
        "publicationCreator",
        "headerInformation",
        "vmsControllerStatus"
      ]
    },
    "VmsStatus": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "flashingLightsOn": {
          "$ref": "DATEXII_3_Common.json#/definitions/Boolean"
        },
        "remainingPowerCapacity": {
          "$ref": "DATEXII_3_Common.json#/definitions/Seconds"
        },
        "statusUpdateTime": {
          "$ref": "DATEXII_3_Common.json#/definitions/DateTime"
        },
        "sequencingInterval": {
          "$ref": "DATEXII_3_Common.json#/definitions/Seconds"
        },
        "workingStatus": {
          "$ref": "DATEXII_3_Vms.json#/definitions/WorkingStatusEnumG"
        },
        "vmsDynamicConfiguration": {
          "$ref": "DATEXII_3_Vms.json#/definitions/VmsConfiguration"
        },
        "vmsMessage": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Vms.json#/definitions/vmsStatusMessageIndexVmsMessageG"
          },
          "minItems": 0
        },
        "vmsLocationOverride": {
          "$ref": "DATEXII_3_LocationReferencing.json#/definitions/LocationG"
        },
        "managedLogicalLocationOverride": {
          "$ref": "DATEXII_3_Vms.json#/definitions/ManagedLogicalLocation"
        },
        "vmsFault": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Vms.json#/definitions/VmsFault"
          },
          "minItems": 0
        },
        "vmsVmsStatusExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      }
    },
    "vmsStatusMessageIndexVmsMessageG": {
      "type": "object",
      "properties": {
        "vmsMessage": {
          "$ref": "DATEXII_3_Vms.json#/definitions/VmsMessage"
        },
        "messageIndex": {
          "type": "integer"
        }
      },
      "required": [
        "vmsMessage",
        "messageIndex"
      ]
    },
    "VmsTablePublication": {
      "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"
        },
        "vmsControllerTable": {
          "type": "array",
          "items": {
            "$ref": "DATEXII_3_Vms.json#/definitions/VmsControllerTable"
          },
          "minItems": 1
        },
        "comPayloadPublicationExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        },
        "vmsVmsTablePublicationExtensionG": {
          "$ref": "DATEXII_3_Common.json#/definitions/ExtensionTypeG"
        }
      },
      "required": [
        "lang",
        "publicationTime",
        "publicationCreator",
        "headerInformation",
        "vmsControllerTable"
      ]
    },
    "VmsTypeEnum": {
      "type": "string",
      "enum": [
        "colourGraphic",
        "rotatingPrismSign",
        "monochromeGraphic",
        "simpleMatrixSign",
        "fullMatrixSign",
        "rollerBlindSign",
        "virtualVms",
        "other",
        "extendedG"
      ]
    },
    "VmsTypeEnumG": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "value": {
          "$ref": "DATEXII_3_Vms.json#/definitions/VmsTypeEnum"
        },
        "extendedValueG": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "WorkingStatusEnum": {
      "type": "string",
      "enum": [
        "blank",
        "covered",
        "notWorking",
        "working",
        "extendedG"
      ]
    },
    "WorkingStatusEnumG": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "value": {
          "$ref": "DATEXII_3_Vms.json#/definitions/WorkingStatusEnum"
        },
        "extendedValueG": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    }
  }
}