<?xml version="1.0" encoding="utf-8" standalone="no"?>
<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:D2LogicalModel="http://datex2.eu/schema/2/2_0" version="2.3" targetNamespace="http://datex2.eu/schema/2/2_0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:complexType name="_AreaExtensionType">
    <xs:sequence>
      <xs:element name="areaExtended" type="D2LogicalModel:AreaExtended" minOccurs="0" />
      <xs:element name="openlrExtendedArea" type="D2LogicalModel:OpenlrExtendedArea" minOccurs="0" />
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="_ChargeBandVersionedReference">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:VersionedReference">
        <xs:attribute name="targetClass" use="required" fixed="ChargeBand" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_ContactDetailsVersionedReference">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:VersionedReference">
        <xs:attribute name="targetClass" use="required" fixed="ContactDetails" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_ExtensionType">
    <xs:sequence>
      <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="_GenericPublicationExtensionType">
    <xs:sequence>
      <xs:element name="parkingTablePublication" type="D2LogicalModel:ParkingTablePublication" minOccurs="0" />
      <xs:element name="parkingVehiclesPublication" type="D2LogicalModel:ParkingVehiclesPublication" minOccurs="0" />
      <xs:element name="parkingStatusPublication" type="D2LogicalModel:ParkingStatusPublication" minOccurs="0" />
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="_GroupOfParkingSpaces">
    <xs:sequence>
      <xs:element name="parkingSpaceBasics" type="D2LogicalModel:ParkingSpaceBasics" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="groupIndex" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_GroupOfParkingSpacesParkingSpaceIndexParkingSpace">
    <xs:sequence>
      <xs:element name="parkingSpace" type="D2LogicalModel:ParkingSpace" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="parkingSpaceIndex" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_IntermediatePointOnLinearElement">
    <xs:sequence>
      <xs:element name="referent" type="D2LogicalModel:Referent" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="index" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_LinearExtensionType">
    <xs:sequence>
      <xs:element name="openlrExtendedLinear" type="D2LogicalModel:OpenlrExtendedLinear" minOccurs="0" />
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="_LocationContainedInItinerary">
    <xs:sequence>
      <xs:element name="location" type="D2LogicalModel:Location" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="index" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_MeasurementSiteRecordIndexMeasurementSpecificCharacteristics">
    <xs:sequence>
      <xs:element name="measurementSpecificCharacteristics" type="D2LogicalModel:MeasurementSpecificCharacteristics" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="index" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_MeasurementSiteRecordVersionedReference">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:VersionedReference">
        <xs:attribute name="targetClass" use="required" fixed="MeasurementSiteRecord" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_MeasurementSiteTableVersionedReference">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:VersionedReference">
        <xs:attribute name="targetClass" use="required" fixed="MeasurementSiteTable" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_ParkingAccessReference">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Reference">
        <xs:attribute name="targetClass" use="required" fixed="ParkingAccess" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_ParkingRecordEquipmentOrServiceFacilityIndexParkingEquipmentOrServiceFacility">
    <xs:sequence>
      <xs:element name="parkingEquipmentOrServiceFacility" type="D2LogicalModel:ParkingEquipmentOrServiceFacility" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="equipmentOrServiceFacilityIndex" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_ParkingRecordStatusEquipmentOrServiceFacilityIndexParkingEquipmentOrServiceFacilityStatus">
    <xs:sequence>
      <xs:element name="parkingEquipmentOrServiceFacilityStatus" type="D2LogicalModel:ParkingEquipmentOrServiceFacilityStatus" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="equipmentOrServiceFacilityIndex" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_ParkingRecordStatusGroupIndexGroupOfParkingSpacesStatus">
    <xs:sequence>
      <xs:element name="groupOfParkingSpacesStatus" type="D2LogicalModel:GroupOfParkingSpacesStatus" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="groupIndex" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_ParkingRecordStatusParkingSpaceIndexParkingSpaceStatus">
    <xs:sequence>
      <xs:element name="parkingSpaceStatus" type="D2LogicalModel:ParkingSpaceStatus" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="parkingSpaceIndex" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_ParkingRecordStatusScenarioIndexParkingUsageScenarioStatus">
    <xs:sequence>
      <xs:element name="parkingUsageScenarioStatus" type="D2LogicalModel:ParkingUsageScenarioStatus" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="scenarioIndex" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_ParkingRecordVersionedReference">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:VersionedReference">
        <xs:attribute name="targetClass" use="required" fixed="ParkingRecord" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_ParkingRouteDetailsVersionedReference">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:VersionedReference">
        <xs:attribute name="targetClass" use="required" fixed="ParkingRouteDetails" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_ParkingSiteScenarioIndexParkingUsageScenario">
    <xs:sequence>
      <xs:element name="parkingUsageScenario" type="D2LogicalModel:ParkingUsageScenario" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="scenarioIndex" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_ParkingSpace">
    <xs:sequence>
      <xs:element name="parkingSpaceBasics" type="D2LogicalModel:ParkingSpaceBasics" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="parkingSpaceIndex" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_ParkingSpaceBasicsEquipmentOrServiceFacilityIndexParkingEquipmentOrServiceFacility">
    <xs:sequence>
      <xs:element name="parkingEquipmentOrServiceFacility" type="D2LogicalModel:ParkingEquipmentOrServiceFacility" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="equipmentOrServiceFacilityIndex" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_ParkingSpaceBasicsScenarioIndexParkingUsageScenario">
    <xs:sequence>
      <xs:element name="parkingUsageScenario" type="D2LogicalModel:ParkingUsageScenario" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="scenarioIndex" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_ParkingTableVersionedReference">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:VersionedReference">
        <xs:attribute name="targetClass" use="required" fixed="ParkingTable" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_PeriodExtensionType">
    <xs:sequence>
      <xs:element name="periodExtended" type="D2LogicalModel:PeriodExtended" minOccurs="0" />
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="_PointExtensionType">
    <xs:sequence>
      <xs:element name="pointExtended" type="D2LogicalModel:PointExtended" minOccurs="0" />
      <xs:element name="openlrExtendedPoint" type="D2LogicalModel:OpenlrExtendedPoint" minOccurs="0" />
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="_PolygonAreaIndexPointCoordinates">
    <xs:sequence>
      <xs:element name="pointCoordinates" type="D2LogicalModel:PointCoordinates" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="index" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_PredefinedItineraryIndexPredefinedLocation">
    <xs:sequence>
      <xs:element name="predefinedLocation" type="D2LogicalModel:PredefinedLocation" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="index" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_PredefinedItineraryVersionedReference">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:VersionedReference">
        <xs:attribute name="targetClass" use="required" fixed="PredefinedItinerary" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_PredefinedLocationVersionedReference">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:VersionedReference">
        <xs:attribute name="targetClass" use="required" fixed="PredefinedLocation" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_PredefinedNonOrderedLocationGroupVersionedReference">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:VersionedReference">
        <xs:attribute name="targetClass" use="required" fixed="PredefinedNonOrderedLocationGroup" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_SiteMeasurementsIndexMeasuredValue">
    <xs:sequence>
      <xs:element name="measuredValue" type="D2LogicalModel:MeasuredValue" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="index" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_SituationRecordExtensionType">
    <xs:sequence>
      <xs:element name="situationRecordExtendedApproved" type="D2LogicalModel:SituationRecordExtendedApproved" minOccurs="0" />
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="_SituationRecordVersionedReference">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:VersionedReference">
        <xs:attribute name="targetClass" use="required" fixed="SituationRecord" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_SituationVersionedReference">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:VersionedReference">
        <xs:attribute name="targetClass" use="required" fixed="Situation" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_TextPage">
    <xs:sequence>
      <xs:element name="vmsText" type="D2LogicalModel:VmsText" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="pageNumber" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_VehicleCharacteristicsExtensionType">
    <xs:sequence>
      <xs:element name="vehicleCharacteristicsExtended" type="D2LogicalModel:VehicleCharacteristicsExtended" minOccurs="0" />
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="_VmsDynamicCharacteristicsPictogramDisplayAreaIndexVmsPictogramDisplayCharacteristics">
    <xs:sequence>
      <xs:element name="vmsPictogramDisplayCharacteristics" type="D2LogicalModel:VmsPictogramDisplayCharacteristics" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="pictogramDisplayAreaIndex" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_VmsMessageIndexVmsMessage">
    <xs:sequence>
      <xs:element name="vmsMessage" type="D2LogicalModel:VmsMessage" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="messageIndex" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_VmsMessagePictogramDisplayAreaIndexVmsPictogramDisplayArea">
    <xs:sequence>
      <xs:element name="vmsPictogramDisplayArea" type="D2LogicalModel:VmsPictogramDisplayArea" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="pictogramDisplayAreaIndex" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_VmsPictogramDisplayAreaIndexPictogramDisplayAreaSettings">
    <xs:sequence>
      <xs:element name="pictogramDisplayAreaSettings" type="D2LogicalModel:PictogramDisplayAreaSettings" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="pictogramDisplayAreaIndex" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_VmsPictogramDisplayAreaPictogramSequencingIndexVmsPictogram">
    <xs:sequence>
      <xs:element name="vmsPictogram" type="D2LogicalModel:VmsPictogram" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="pictogramSequencingIndex" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_VmsRecordPictogramDisplayAreaIndexVmsPictogramDisplayCharacteristics">
    <xs:sequence>
      <xs:element name="vmsPictogramDisplayCharacteristics" type="D2LogicalModel:VmsPictogramDisplayCharacteristics" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="pictogramDisplayAreaIndex" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_VmsTextLineIndexVmsTextLine">
    <xs:sequence>
      <xs:element name="vmsTextLine" type="D2LogicalModel:VmsTextLine" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="lineIndex" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_VmsUnitRecordVersionedReference">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:VersionedReference">
        <xs:attribute name="targetClass" use="required" fixed="VmsUnitRecord" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_VmsUnitRecordVmsIndexVmsRecord">
    <xs:sequence>
      <xs:element name="vmsRecord" type="D2LogicalModel:VmsRecord" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="vmsIndex" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_VmsUnitTableVersionedReference">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:VersionedReference">
        <xs:attribute name="targetClass" use="required" fixed="VmsUnitTable" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_VmsUnitVmsIndexVms">
    <xs:sequence>
      <xs:element name="vms" type="D2LogicalModel:Vms" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="vmsIndex" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="AbnormalTraffic">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TrafficElement">
        <xs:sequence>
          <xs:element name="abnormalTrafficType" type="D2LogicalModel:AbnormalTrafficTypeEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="numberOfVehiclesWaiting" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
          <xs:element name="queueLength" type="D2LogicalModel:MetresAsNonNegativeInteger" minOccurs="0" maxOccurs="1" />
          <xs:element name="relativeTrafficFlow" type="D2LogicalModel:RelativeTrafficFlowEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="trafficFlowCharacteristics" type="D2LogicalModel:TrafficFlowCharacteristicsEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="trafficTrendType" type="D2LogicalModel:TrafficTrendTypeEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="abnormalTrafficExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="AbnormalTrafficTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="stationaryTraffic" />
      <xs:enumeration value="queuingTraffic" />
      <xs:enumeration value="slowTraffic" />
      <xs:enumeration value="heavyTraffic" />
      <xs:enumeration value="unspecifiedAbnormalTraffic" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="AcceptedPaymentCards">
    <xs:sequence>
      <xs:element name="paymentCards" type="D2LogicalModel:PaymentCardTypesEnum" minOccurs="1" maxOccurs="unbounded" />
      <xs:element name="otherPaymentCards" type="D2LogicalModel:String" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="paymentCardBrands" type="D2LogicalModel:PaymentCardBrandsEnum" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="otherPaymentCardBrands" type="D2LogicalModel:String" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="acceptedPaymentCardsExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="AccessCategoryEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="vehicleEntranceAndExit" />
      <xs:enumeration value="vehicleEntrance" />
      <xs:enumeration value="vehicleExit" />
      <xs:enumeration value="pedestrianEntranceAndExit" />
      <xs:enumeration value="pedestrianEntrance" />
      <xs:enumeration value="pedestrianExit" />
      <xs:enumeration value="rentalCarReturn" />
      <xs:enumeration value="bicycles" />
      <xs:enumeration value="emergencyExit" />
      <xs:enumeration value="unspecified" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="AccessEquipmentEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="barrier" />
      <xs:enumeration value="trafficSignal" />
      <xs:enumeration value="ticketButtonMachine" />
      <xs:enumeration value="ticketCardMachine" />
      <xs:enumeration value="payAndExitMachine" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="AccessibilityEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="barrierFreeAccessible" />
      <xs:enumeration value="handicappedAccessible" />
      <xs:enumeration value="wheelChairAccessible" />
      <xs:enumeration value="handicappedEasements" />
      <xs:enumeration value="orientationSystemForBlindPeople" />
      <xs:enumeration value="handicappedMarked" />
      <xs:enumeration value="none" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Accident">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TrafficElement">
        <xs:sequence>
          <xs:element name="accidentCause" type="D2LogicalModel:AccidentCauseEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="accidentType" type="D2LogicalModel:AccidentTypeEnum" minOccurs="1" maxOccurs="unbounded" />
          <xs:element name="totalNumberOfPeopleInvolved" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
          <xs:element name="totalNumberOfVehiclesInvolved" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
          <xs:element name="vehicleInvolved" type="D2LogicalModel:Vehicle" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="groupOfVehiclesInvolved" type="D2LogicalModel:GroupOfVehiclesInvolved" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="groupOfPeopleInvolved" type="D2LogicalModel:GroupOfPeopleInvolved" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="accidentExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="AccidentCauseEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="avoidanceOfObstacles" />
      <xs:enumeration value="driverDistraction" />
      <xs:enumeration value="driverDrugAbuse" />
      <xs:enumeration value="driverIllness" />
      <xs:enumeration value="exceedingSpeedsLimits" />
      <xs:enumeration value="excessAlcohol" />
      <xs:enumeration value="excessiveDriverTiredness" />
      <xs:enumeration value="impermissibleManoeuvre" />
      <xs:enumeration value="limitedVisibility" />
      <xs:enumeration value="notKeepingASafeDistance" />
      <xs:enumeration value="onTheWrongSideOfTheRoad" />
      <xs:enumeration value="pedestrianInRoad" />
      <xs:enumeration value="poorLaneAdherence" />
      <xs:enumeration value="poorMergeEntryOrExitJudgement" />
      <xs:enumeration value="poorRoadSurfaceCondition" />
      <xs:enumeration value="poorSurfaceAdherence" />
      <xs:enumeration value="undisclosed" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="vehicleFailure" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="AccidentTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="accident" />
      <xs:enumeration value="accidentInvolvingBicycles" />
      <xs:enumeration value="accidentInvolvingBuses" />
      <xs:enumeration value="accidentInvolvingHazardousMaterials" />
      <xs:enumeration value="accidentInvolvingHeavyLorries" />
      <xs:enumeration value="accidentInvolvingMassTransitVehicle" />
      <xs:enumeration value="accidentInvolvingMopeds" />
      <xs:enumeration value="accidentInvolvingMotorcycles" />
      <xs:enumeration value="accidentInvolvingRadioactiveMaterial" />
      <xs:enumeration value="accidentInvolvingTrain" />
      <xs:enumeration value="chemicalSpillageAccident" />
      <xs:enumeration value="collision" />
      <xs:enumeration value="collisionWithAnimal" />
      <xs:enumeration value="collisionWithObstruction" />
      <xs:enumeration value="collisionWithPerson" />
      <xs:enumeration value="earlierAccident" />
      <xs:enumeration value="fuelSpillageAccident" />
      <xs:enumeration value="headOnCollision" />
      <xs:enumeration value="headOnOrSideCollision" />
      <xs:enumeration value="jackknifedArticulatedLorry" />
      <xs:enumeration value="jackknifedCaravan" />
      <xs:enumeration value="jackknifedTrailer" />
      <xs:enumeration value="multipleVehicleCollision" />
      <xs:enumeration value="multivehicleAccident" />
      <xs:enumeration value="oilSpillageAccident" />
      <xs:enumeration value="overturnedHeavyLorry" />
      <xs:enumeration value="overturnedTrailer" />
      <xs:enumeration value="overturnedVehicle" />
      <xs:enumeration value="rearCollision" />
      <xs:enumeration value="secondaryAccident" />
      <xs:enumeration value="seriousAccident" />
      <xs:enumeration value="sideCollision" />
      <xs:enumeration value="vehicleOffRoad" />
      <xs:enumeration value="vehicleSpunAround" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Activity" abstract="true">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TrafficElement">
        <xs:sequence>
          <xs:element name="mobilityOfActivity" type="D2LogicalModel:Mobility" minOccurs="0" />
          <xs:element name="activityExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="AffectedCarriagewayAndLanes">
    <xs:sequence>
      <xs:element name="carriageway" type="D2LogicalModel:CarriagewayEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="lane" type="D2LogicalModel:LaneEnum" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="footpath" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="lengthAffected" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1" />
      <xs:element name="affectedCarriagewayAndLanesExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AlertCArea">
    <xs:sequence>
      <xs:element name="alertCLocationCountryCode" type="D2LogicalModel:String" minOccurs="1" maxOccurs="1" />
      <xs:element name="alertCLocationTableNumber" type="D2LogicalModel:String" minOccurs="1" maxOccurs="1" />
      <xs:element name="alertCLocationTableVersion" type="D2LogicalModel:String" minOccurs="1" maxOccurs="1" />
      <xs:element name="areaLocation" type="D2LogicalModel:AlertCLocation" />
      <xs:element name="alertCAreaExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AlertCDirection">
    <xs:sequence>
      <xs:element name="alertCDirectionCoded" type="D2LogicalModel:AlertCDirectionEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="alertCDirectionNamed" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="alertCDirectionSense" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="alertCDirectionExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="AlertCDirectionEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="both" />
      <xs:enumeration value="negative" />
      <xs:enumeration value="positive" />
      <xs:enumeration value="unknown" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="AlertCLinear" abstract="true">
    <xs:sequence>
      <xs:element name="alertCLocationCountryCode" type="D2LogicalModel:String" minOccurs="1" maxOccurs="1" />
      <xs:element name="alertCLocationTableNumber" type="D2LogicalModel:String" minOccurs="1" maxOccurs="1" />
      <xs:element name="alertCLocationTableVersion" type="D2LogicalModel:String" minOccurs="1" maxOccurs="1" />
      <xs:element name="alertCLinearExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AlertCLinearByCode">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:AlertCLinear">
        <xs:sequence>
          <xs:element name="alertCDirection" type="D2LogicalModel:AlertCDirection" />
          <xs:element name="locationCodeForLinearLocation" type="D2LogicalModel:AlertCLocation" />
          <xs:element name="alertCLinearByCodeExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="AlertCLocation">
    <xs:sequence>
      <xs:element name="alertCLocationName" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="specificLocation" type="D2LogicalModel:AlertCLocationCode" minOccurs="1" maxOccurs="1" />
      <xs:element name="alertCLocationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="AlertCLocationCode">
    <xs:restriction base="D2LogicalModel:NonNegativeInteger" />
  </xs:simpleType>
  <xs:complexType name="AlertCMethod2Linear">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:AlertCLinear">
        <xs:sequence>
          <xs:element name="alertCDirection" type="D2LogicalModel:AlertCDirection" />
          <xs:element name="alertCMethod2PrimaryPointLocation" type="D2LogicalModel:AlertCMethod2PrimaryPointLocation" />
          <xs:element name="alertCMethod2SecondaryPointLocation" type="D2LogicalModel:AlertCMethod2SecondaryPointLocation" />
          <xs:element name="alertCMethod2LinearExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="AlertCMethod2Point">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:AlertCPoint">
        <xs:sequence>
          <xs:element name="alertCDirection" type="D2LogicalModel:AlertCDirection" />
          <xs:element name="alertCMethod2PrimaryPointLocation" type="D2LogicalModel:AlertCMethod2PrimaryPointLocation" />
          <xs:element name="alertCMethod2PointExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="AlertCMethod2PrimaryPointLocation">
    <xs:sequence>
      <xs:element name="alertCLocation" type="D2LogicalModel:AlertCLocation" />
      <xs:element name="alertCMethod2PrimaryPointLocationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AlertCMethod2SecondaryPointLocation">
    <xs:sequence>
      <xs:element name="alertCLocation" type="D2LogicalModel:AlertCLocation" />
      <xs:element name="alertCMethod2SecondaryPointLocationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AlertCMethod4Linear">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:AlertCLinear">
        <xs:sequence>
          <xs:element name="alertCDirection" type="D2LogicalModel:AlertCDirection" />
          <xs:element name="alertCMethod4PrimaryPointLocation" type="D2LogicalModel:AlertCMethod4PrimaryPointLocation" />
          <xs:element name="alertCMethod4SecondaryPointLocation" type="D2LogicalModel:AlertCMethod4SecondaryPointLocation" />
          <xs:element name="alertCMethod4LinearExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="AlertCMethod4Point">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:AlertCPoint">
        <xs:sequence>
          <xs:element name="alertCDirection" type="D2LogicalModel:AlertCDirection" />
          <xs:element name="alertCMethod4PrimaryPointLocation" type="D2LogicalModel:AlertCMethod4PrimaryPointLocation" />
          <xs:element name="alertCMethod4PointExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="AlertCMethod4PrimaryPointLocation">
    <xs:sequence>
      <xs:element name="alertCLocation" type="D2LogicalModel:AlertCLocation" />
      <xs:element name="offsetDistance" type="D2LogicalModel:OffsetDistance" />
      <xs:element name="alertCMethod4PrimaryPointLocationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AlertCMethod4SecondaryPointLocation">
    <xs:sequence>
      <xs:element name="alertCLocation" type="D2LogicalModel:AlertCLocation" />
      <xs:element name="offsetDistance" type="D2LogicalModel:OffsetDistance" />
      <xs:element name="alertCMethod4SecondaryPointLocationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AlertCPoint" abstract="true">
    <xs:sequence>
      <xs:element name="alertCLocationCountryCode" type="D2LogicalModel:String" minOccurs="1" maxOccurs="1" />
      <xs:element name="alertCLocationTableNumber" type="D2LogicalModel:String" minOccurs="1" maxOccurs="1" />
      <xs:element name="alertCLocationTableVersion" type="D2LogicalModel:String" minOccurs="1" maxOccurs="1" />
      <xs:element name="alertCPointExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="AmountOfMoney">
    <xs:restriction base="D2LogicalModel:Decimal">
      <xs:totalDigits value="8" />
      <xs:fractionDigits value="2" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="Ampere">
    <xs:restriction base="D2LogicalModel:Float" />
  </xs:simpleType>
  <xs:simpleType name="AngleInDegrees">
    <xs:restriction base="D2LogicalModel:NonNegativeInteger" />
  </xs:simpleType>
  <xs:complexType name="AnimalPresenceObstruction">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Obstruction">
        <xs:sequence>
          <xs:element name="alive" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
          <xs:element name="animalPresenceType" type="D2LogicalModel:AnimalPresenceTypeEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="animalPresenceObstructionExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="AnimalPresenceTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="animalsOnTheRoad" />
      <xs:enumeration value="herdOfAnimalsOnTheRoad" />
      <xs:enumeration value="largeAnimalsOnTheRoad" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ApplicationRateValue">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:DataValue">
        <xs:sequence>
          <xs:element name="applicationRate" type="D2LogicalModel:IntensityKilogramsPerSquareMetre" minOccurs="1" maxOccurs="1" />
          <xs:element name="applicationRateValueExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Area">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Location">
        <xs:sequence>
          <xs:element name="alertCArea" type="D2LogicalModel:AlertCArea" minOccurs="0" />
          <xs:element name="tpegAreaLocation" type="D2LogicalModel:TpegAreaLocation" minOccurs="0" />
          <xs:element name="areaExtension" type="D2LogicalModel:_AreaExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="AreaDestination">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Destination">
        <xs:sequence>
          <xs:element name="area" type="D2LogicalModel:Area" />
          <xs:element name="areaDestinationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="AreaExtended">
    <xs:sequence>
      <xs:element name="namedArea" type="D2LogicalModel:NamedArea" minOccurs="0" />
      <xs:element name="polygonArea" type="D2LogicalModel:PolygonArea" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="AreaOfInterestEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="continentWide" />
      <xs:enumeration value="national" />
      <xs:enumeration value="neighbouringCountries" />
      <xs:enumeration value="notSpecified" />
      <xs:enumeration value="regional" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="AuthorityOperation">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Activity">
        <xs:sequence>
          <xs:element name="authorityOperationType" type="D2LogicalModel:AuthorityOperationTypeEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="authorityOperationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="AuthorityOperationTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="accidentInvestigationWork" />
      <xs:enumeration value="bombSquadInAction" />
      <xs:enumeration value="civilEmergency" />
      <xs:enumeration value="customsOperation" />
      <xs:enumeration value="juridicalReconstruction" />
      <xs:enumeration value="policeCheckPoint" />
      <xs:enumeration value="policeInvestigation" />
      <xs:enumeration value="roadOperatorCheckPoint" />
      <xs:enumeration value="survey" />
      <xs:enumeration value="transportOfVip" />
      <xs:enumeration value="undefinedAuthorityActivity" />
      <xs:enumeration value="vehicleInspectionCheckPoint" />
      <xs:enumeration value="vehicleWeighing" />
      <xs:enumeration value="weighInMotion" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="AvailabilityEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="available" />
      <xs:enumeration value="notAvailable" />
      <xs:enumeration value="unknown" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="AxleFlowValue">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:DataValue">
        <xs:sequence>
          <xs:element name="axleFlowRate" type="D2LogicalModel:AxlesPerHour" minOccurs="1" maxOccurs="1" />
          <xs:element name="axleFlowValueExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="AxleSpacing">
    <xs:sequence>
      <xs:element name="axleSpacing" type="D2LogicalModel:MetresAsFloat" minOccurs="1" maxOccurs="1" />
      <xs:element name="axleSpacingSequenceIdentifier" type="D2LogicalModel:NonNegativeInteger" minOccurs="1" maxOccurs="1" />
      <xs:element name="axleSpacingExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="AxlesPerHour">
    <xs:restriction base="D2LogicalModel:NonNegativeInteger" />
  </xs:simpleType>
  <xs:complexType name="AxleWeight">
    <xs:sequence>
      <xs:element name="axlePositionIdentifier" type="D2LogicalModel:NonNegativeInteger" minOccurs="1" maxOccurs="1" />
      <xs:element name="axleWeight" type="D2LogicalModel:Tonnes" minOccurs="0" maxOccurs="1" />
      <xs:element name="maximumPermittedAxleWeight" type="D2LogicalModel:Tonnes" minOccurs="0" maxOccurs="1" />
      <xs:element name="axleWeightExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="BasicData" abstract="true">
    <xs:sequence>
      <xs:element name="measurementOrCalculationPeriod" type="D2LogicalModel:Seconds" minOccurs="0" maxOccurs="1" />
      <xs:element name="measurementOrCalculationTime" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1" />
      <xs:element name="pertinentLocation" type="D2LogicalModel:GroupOfLocations" minOccurs="0" />
      <xs:element name="basicDataExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="measurementOrCalculatedTimePrecision" type="D2LogicalModel:TimePrecisionEnum" use="optional" />
  </xs:complexType>
  <xs:simpleType name="Boolean">
    <xs:restriction base="xs:boolean" />
  </xs:simpleType>
  <xs:simpleType name="CarParkConfigurationEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="multiStorey" />
      <xs:enumeration value="parkAndRide" />
      <xs:enumeration value="singleLevel" />
      <xs:enumeration value="underground" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="CarParks">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:NonRoadEventInformation">
        <xs:sequence>
          <xs:element name="carParkConfiguration" type="D2LogicalModel:CarParkConfigurationEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="carParkIdentity" type="D2LogicalModel:String" minOccurs="1" maxOccurs="1" />
          <xs:element name="carParkOccupancy" type="D2LogicalModel:Percentage" minOccurs="0" maxOccurs="1" />
          <xs:element name="carParkStatus" type="D2LogicalModel:CarParkStatusEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="exitRate" type="D2LogicalModel:VehiclesPerHour" minOccurs="0" maxOccurs="1" />
          <xs:element name="fillRate" type="D2LogicalModel:VehiclesPerHour" minOccurs="0" maxOccurs="1" />
          <xs:element name="numberOfVacantParkingSpaces" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
          <xs:element name="occupiedSpaces" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
          <xs:element name="queuingTime" type="D2LogicalModel:Seconds" minOccurs="0" maxOccurs="1" />
          <xs:element name="totalCapacity" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
          <xs:element name="carParksExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="CarParkStatusEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="carParkClosed" />
      <xs:enumeration value="allCarParksFull" />
      <xs:enumeration value="carParkFacilityFaulty" />
      <xs:enumeration value="carParkFull" />
      <xs:enumeration value="carParkStatusUnknown" />
      <xs:enumeration value="enoughSpacesAvailable" />
      <xs:enumeration value="multiStoryCarParksFull" />
      <xs:enumeration value="noMoreParkingSpacesAvailable" />
      <xs:enumeration value="noParkAndRideInformation" />
      <xs:enumeration value="noParkingAllowed" />
      <xs:enumeration value="noParkingInformationAvailable" />
      <xs:enumeration value="normalParkingRestrictionsLifted" />
      <xs:enumeration value="onlyAFewSpacesAvailable" />
      <xs:enumeration value="parkAndRideServiceNotOperating" />
      <xs:enumeration value="parkAndRideServiceOperating" />
      <xs:enumeration value="specialParkingRestrictionsInForce" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="CarriagewayEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="connectingCarriageway" />
      <xs:enumeration value="entrySlipRoad" />
      <xs:enumeration value="exitSlipRoad" />
      <xs:enumeration value="flyover" />
      <xs:enumeration value="leftHandFeederRoad" />
      <xs:enumeration value="leftHandParallelCarriageway" />
      <xs:enumeration value="mainCarriageway" />
      <xs:enumeration value="oppositeCarriageway" />
      <xs:enumeration value="parallelCarriageway" />
      <xs:enumeration value="rightHandFeederRoad" />
      <xs:enumeration value="rightHandParallelCarriageway" />
      <xs:enumeration value="roundabout" />
      <xs:enumeration value="serviceRoad" />
      <xs:enumeration value="slipRoads" />
      <xs:enumeration value="underpass" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="CatalogueReference">
    <xs:sequence>
      <xs:element name="keyCatalogueReference" type="D2LogicalModel:String" minOccurs="1" maxOccurs="1" />
      <xs:element name="catalogueReferenceExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Cause" abstract="true">
    <xs:sequence>
      <xs:element name="causeExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="CauseTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="accident" />
      <xs:enumeration value="congestion" />
      <xs:enumeration value="earlierAccident" />
      <xs:enumeration value="earlierEvent" />
      <xs:enumeration value="earlierIncident" />
      <xs:enumeration value="equipmentFailure" />
      <xs:enumeration value="excessiveHeat" />
      <xs:enumeration value="frost" />
      <xs:enumeration value="holidayTraffic" />
      <xs:enumeration value="infrastructureFailure" />
      <xs:enumeration value="largeNumbersOfVisitors" />
      <xs:enumeration value="obstruction" />
      <xs:enumeration value="pollutionAlert" />
      <xs:enumeration value="poorWeather" />
      <xs:enumeration value="problemsAtBorderPost" />
      <xs:enumeration value="problemsAtCustomPost" />
      <xs:enumeration value="problemsOnLocalRoads" />
      <xs:enumeration value="radioactiveLeakAlert" />
      <xs:enumeration value="roadsideEvent" />
      <xs:enumeration value="rubberNecking" />
      <xs:enumeration value="securityIncident" />
      <xs:enumeration value="shearWeightOfTraffic" />
      <xs:enumeration value="technicalProblems" />
      <xs:enumeration value="terrorism" />
      <xs:enumeration value="toxicCloudAlert" />
      <xs:enumeration value="vandalism" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ChangedFlagEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="catalogue" />
      <xs:enumeration value="filter" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Charge">
    <xs:sequence>
      <xs:element name="charge" type="D2LogicalModel:AmountOfMoney" minOccurs="1" maxOccurs="1" />
      <xs:element name="chargeInterval" type="D2LogicalModel:Seconds" minOccurs="0" maxOccurs="1" />
      <xs:element name="chargeType" type="D2LogicalModel:ChargeTypeEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="chargeTypeDescription" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="maxIterationsOfCharge" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="minIterationsOfCharge" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="chargeOrderIndex" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="timePeriodOfDay" type="D2LogicalModel:TimePeriodOfDay" minOccurs="0" />
      <xs:element name="chargeExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ChargeBand">
    <xs:sequence>
      <xs:element name="chargeCurrency" type="D2LogicalModel:CurrencyEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="maximumDuration" type="D2LogicalModel:Seconds" minOccurs="0" maxOccurs="1" />
      <xs:element name="chargeBandName" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="applicableForUser" type="D2LogicalModel:UserTypeEnum" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="charge" type="D2LogicalModel:Charge" maxOccurs="unbounded" />
      <xs:element name="applicableForPeriod" type="D2LogicalModel:OverallPeriod" minOccurs="0" />
      <xs:element name="applicableForVehicles" type="D2LogicalModel:VehicleCharacteristics" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingPermit" type="D2LogicalModel:ParkingPermit" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="chargeBandExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="id" type="xs:string" use="required" />
    <xs:attribute name="version" type="xs:string" use="required" />
  </xs:complexType>
  <xs:complexType name="ChargeBandByReference">
    <xs:sequence>
      <xs:element name="chargeBandReference" type="D2LogicalModel:_ChargeBandVersionedReference" minOccurs="1" maxOccurs="1" />
      <xs:element name="chargeBandByReferenceExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ChargeTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="minimum" />
      <xs:enumeration value="maximum" />
      <xs:enumeration value="additionalIntervalPrice" />
      <xs:enumeration value="seasonTicket" />
      <xs:enumeration value="temporaryPrice" />
      <xs:enumeration value="firstIntervalPrice" />
      <xs:enumeration value="freeParking" />
      <xs:enumeration value="flat" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ChargingStationUsageTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="electricVehicle" />
      <xs:enumeration value="motorhomeOrCaravanSupply" />
      <xs:enumeration value="electricBikeOrMotorcycle" />
      <xs:enumeration value="lorryPowerConsumption" />
      <xs:enumeration value="electricalDevices" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="CodedReasonForSettingMessageEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="situation" />
      <xs:enumeration value="operatorCreated" />
      <xs:enumeration value="trafficManagement" />
      <xs:enumeration value="travelTime" />
      <xs:enumeration value="campaign" />
      <xs:enumeration value="default" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ColourEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="amber" />
      <xs:enumeration value="blue" />
      <xs:enumeration value="green" />
      <xs:enumeration value="red" />
      <xs:enumeration value="white" />
      <xs:enumeration value="whiteYellow" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Comment">
    <xs:sequence>
      <xs:element name="comment" type="D2LogicalModel:MultilingualString" minOccurs="1" maxOccurs="1" />
      <xs:element name="commentDateTime" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1" />
      <xs:element name="commentType" type="D2LogicalModel:CommentTypeEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="commentExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="CommentTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="abnormalLoadMovementNote" />
      <xs:enumeration value="dataProcessingNote" />
      <xs:enumeration value="description" />
      <xs:enumeration value="internalNote" />
      <xs:enumeration value="locationDescriptor" />
      <xs:enumeration value="warning" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ComparisonOperatorEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="equalTo" />
      <xs:enumeration value="greaterThan" />
      <xs:enumeration value="greaterThanOrEqualTo" />
      <xs:enumeration value="lessThan" />
      <xs:enumeration value="lessThanOrEqualTo" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ComplianceOptionEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="advisory" />
      <xs:enumeration value="mandatory" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ComputationMethodEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="arithmeticAverageOfSamplesBasedOnAFixedNumberOfSamples" />
      <xs:enumeration value="arithmeticAverageOfSamplesInATimePeriod" />
      <xs:enumeration value="harmonicAverageOfSamplesInATimePeriod" />
      <xs:enumeration value="medianOfSamplesInATimePeriod" />
      <xs:enumeration value="movingAverageOfSamples" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ConcentrationKilogramsPerCubicMetre">
    <xs:restriction base="D2LogicalModel:Float" />
  </xs:simpleType>
  <xs:simpleType name="ConcentrationMicrogramsPerCubicMetre">
    <xs:restriction base="D2LogicalModel:Float" />
  </xs:simpleType>
  <xs:complexType name="ConcentrationOfVehiclesValue">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:DataValue">
        <xs:sequence>
          <xs:element name="concentrationOfVehicles" type="D2LogicalModel:ConcentrationVehiclesPerKilometre" minOccurs="1" maxOccurs="1" />
          <xs:element name="concentrationOfVehiclesValueExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ConcentrationVehiclesPerKilometre">
    <xs:restriction base="D2LogicalModel:NonNegativeInteger" />
  </xs:simpleType>
  <xs:complexType name="Conditions">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TrafficElement">
        <xs:sequence>
          <xs:element name="drivingConditionType" type="D2LogicalModel:DrivingConditionTypeEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="conditionsExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ConfidentialityValueEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="internalUse" />
      <xs:enumeration value="noRestriction" />
      <xs:enumeration value="restrictedToAuthorities" />
      <xs:enumeration value="restrictedToAuthoritiesAndTrafficOperators" />
      <xs:enumeration value="restrictedToAuthoritiesTrafficOperatorsAndPublishers" />
      <xs:enumeration value="restrictedToAuthoritiesTrafficOperatorsAndVms" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ConstructionWorks">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Roadworks">
        <xs:sequence>
          <xs:element name="constructionWorkType" type="D2LogicalModel:ConstructionWorkTypeEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="constructionWorksExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ConstructionWorkTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="blastingWork" />
      <xs:enumeration value="constructionWork" />
      <xs:enumeration value="demolitionWork" />
      <xs:enumeration value="roadImprovementOrUpgrading" />
      <xs:enumeration value="roadWideningWork" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Contact">
    <xs:sequence>
      <xs:element name="contactUnknown" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="contactNotDefined" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="validityOfContact" type="D2LogicalModel:OverallPeriod" minOccurs="0" />
      <xs:element name="contactExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ContactByReference">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Contact">
        <xs:sequence>
          <xs:element name="contactReference" type="D2LogicalModel:_ContactDetailsVersionedReference" minOccurs="1" maxOccurs="1" />
          <xs:element name="contactByReferenceExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ContactDetails">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Contact">
        <xs:sequence>
          <xs:element name="contactOrganisationName" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
          <xs:element name="contactPersonName" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
          <xs:element name="contactPersonFirstName" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
          <xs:element name="contactPersonPosition" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
          <xs:element name="contactDetailsLanguage" type="D2LogicalModel:Language" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="contactDetailsAddress" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
          <xs:element name="contactDetailsStreet" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
          <xs:element name="contactDetailsHouseNumber" type="D2LogicalModel:String" minOccurs="0" maxOccurs="2" />
          <xs:element name="contactDetailsPostcode" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
          <xs:element name="contactDetailsCity" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
          <xs:element name="country" type="D2LogicalModel:CountryEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="contactDetailsTelephoneNumber" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
          <xs:element name="contactDetailsFax" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
          <xs:element name="contactDetailsEMail" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
          <xs:element name="urlLinkAddress" type="D2LogicalModel:Url" minOccurs="0" maxOccurs="1" />
          <xs:element name="contactDetailsLogoUrl" type="D2LogicalModel:Url" minOccurs="0" maxOccurs="1" />
          <xs:element name="available24hours" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
          <xs:element name="contactDetailsResponsibility" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="contactDetailsMoreInfo" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="publishingAgreement" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
          <xs:element name="contactDetailsOwnership" type="D2LogicalModel:OwnershipTypeEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="groupOfLocations" type="D2LogicalModel:GroupOfLocations" minOccurs="0" />
          <xs:element name="contactDetailsExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required" />
        <xs:attribute name="version" type="xs:string" use="required" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="CountryEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="at" />
      <xs:enumeration value="be" />
      <xs:enumeration value="bg" />
      <xs:enumeration value="ch" />
      <xs:enumeration value="cs" />
      <xs:enumeration value="cy" />
      <xs:enumeration value="cz" />
      <xs:enumeration value="de" />
      <xs:enumeration value="dk" />
      <xs:enumeration value="ee" />
      <xs:enumeration value="es" />
      <xs:enumeration value="fi" />
      <xs:enumeration value="fo" />
      <xs:enumeration value="fr" />
      <xs:enumeration value="gb" />
      <xs:enumeration value="gg" />
      <xs:enumeration value="gi" />
      <xs:enumeration value="gr" />
      <xs:enumeration value="hr" />
      <xs:enumeration value="hu" />
      <xs:enumeration value="ie" />
      <xs:enumeration value="im" />
      <xs:enumeration value="is" />
      <xs:enumeration value="it" />
      <xs:enumeration value="je" />
      <xs:enumeration value="li" />
      <xs:enumeration value="lt" />
      <xs:enumeration value="lu" />
      <xs:enumeration value="lv" />
      <xs:enumeration value="ma" />
      <xs:enumeration value="mc" />
      <xs:enumeration value="mk" />
      <xs:enumeration value="mt" />
      <xs:enumeration value="nl" />
      <xs:enumeration value="no" />
      <xs:enumeration value="pl" />
      <xs:enumeration value="pt" />
      <xs:enumeration value="ro" />
      <xs:enumeration value="se" />
      <xs:enumeration value="si" />
      <xs:enumeration value="sk" />
      <xs:enumeration value="sm" />
      <xs:enumeration value="tr" />
      <xs:enumeration value="va" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="CubicMetres">
    <xs:restriction base="D2LogicalModel:Float" />
  </xs:simpleType>
  <xs:simpleType name="CurrencyEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="eur" />
      <xs:enumeration value="all" />
      <xs:enumeration value="amd" />
      <xs:enumeration value="azn" />
      <xs:enumeration value="bam" />
      <xs:enumeration value="bgn" />
      <xs:enumeration value="byr" />
      <xs:enumeration value="chf" />
      <xs:enumeration value="czk" />
      <xs:enumeration value="dkk" />
      <xs:enumeration value="gbp" />
      <xs:enumeration value="gel" />
      <xs:enumeration value="hrk" />
      <xs:enumeration value="huf" />
      <xs:enumeration value="isk" />
      <xs:enumeration value="ltl" />
      <xs:enumeration value="mdl" />
      <xs:enumeration value="mkd" />
      <xs:enumeration value="nok" />
      <xs:enumeration value="pln" />
      <xs:enumeration value="ron" />
      <xs:enumeration value="rsd" />
      <xs:enumeration value="rub" />
      <xs:enumeration value="sek" />
      <xs:enumeration value="try" />
      <xs:enumeration value="uah" />
      <xs:enumeration value="usd" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="d2LogicalModel" type="D2LogicalModel:D2LogicalModel">
    <xs:unique name="_d2LogicalModelParkingAccessConstraint">
      <xs:selector xpath=".//D2LogicalModel:parkingAccess" />
      <xs:field xpath="@id" />
    </xs:unique>
    <xs:unique name="_d2LogicalModelSituationRecordConstraint">
      <xs:selector xpath=".//D2LogicalModel:situationRecord" />
      <xs:field xpath="@id" />
      <xs:field xpath="@version" />
    </xs:unique>
    <xs:unique name="_d2LogicalModelLinearTrafficViewConstraint">
      <xs:selector xpath=".//D2LogicalModel:linearTrafficView" />
      <xs:field xpath="@id" />
    </xs:unique>
    <xs:unique name="_d2LogicalModelTrafficViewRecordConstraint">
      <xs:selector xpath=".//D2LogicalModel:trafficViewRecord" />
      <xs:field xpath="@id" />
    </xs:unique>
    <xs:unique name="_d2LogicalModelParkingRecordConstraint">
      <xs:selector xpath=".//D2LogicalModel:parkingRecord" />
      <xs:field xpath="@id" />
      <xs:field xpath="@version" />
    </xs:unique>
    <xs:unique name="_d2LogicalModelParkingVehicleConstraint">
      <xs:selector xpath=".//D2LogicalModel:parkingVehicle" />
      <xs:field xpath="@id" />
      <xs:field xpath="@version" />
    </xs:unique>
    <xs:unique name="_d2LogicalModelSituationConstraint">
      <xs:selector xpath=".//D2LogicalModel:situation" />
      <xs:field xpath="@id" />
      <xs:field xpath="@version" />
    </xs:unique>
    <xs:unique name="_d2LogicalModelMeasurementSiteRecordConstraint">
      <xs:selector xpath=".//D2LogicalModel:measurementSiteRecord" />
      <xs:field xpath="@id" />
      <xs:field xpath="@version" />
    </xs:unique>
    <xs:unique name="_d2LogicalModelParkingTableConstraint">
      <xs:selector xpath=".//D2LogicalModel:parkingTable" />
      <xs:field xpath="@id" />
      <xs:field xpath="@version" />
    </xs:unique>
    <xs:unique name="_d2LogicalModelParkingRouteDetailsConstraint">
      <xs:selector xpath=".//D2LogicalModel:parkingRouteDetails" />
      <xs:field xpath="@id" />
      <xs:field xpath="@version" />
    </xs:unique>
    <xs:unique name="_d2LogicalModelPredefinedNonOrderedLocationGroupConstraint">
      <xs:selector xpath=".//D2LogicalModel:predefinedNonOrderedLocationGroup" />
      <xs:field xpath="@id" />
      <xs:field xpath="@version" />
    </xs:unique>
    <xs:unique name="_d2LogicalModelPredefinedLocationConstraint">
      <xs:selector xpath=".//D2LogicalModel:predefinedLocation" />
      <xs:field xpath="@id" />
      <xs:field xpath="@version" />
    </xs:unique>
    <xs:unique name="_d2LogicalModelContactDetailsConstraint">
      <xs:selector xpath=".//D2LogicalModel:contactDetails" />
      <xs:field xpath="@id" />
      <xs:field xpath="@version" />
    </xs:unique>
    <xs:unique name="_d2LogicalModelMeasurementSiteTableConstraint">
      <xs:selector xpath=".//D2LogicalModel:measurementSiteTable" />
      <xs:field xpath="@id" />
      <xs:field xpath="@version" />
    </xs:unique>
    <xs:unique name="_d2LogicalModelChargeBandConstraint">
      <xs:selector xpath=".//D2LogicalModel:chargeBand" />
      <xs:field xpath="@id" />
      <xs:field xpath="@version" />
    </xs:unique>
    <xs:unique name="_d2LogicalModelTrafficViewConstraint">
      <xs:selector xpath=".//D2LogicalModel:trafficView" />
      <xs:field xpath="@id" />
    </xs:unique>
    <xs:unique name="_d2LogicalModelPredefinedItineraryConstraint">
      <xs:selector xpath=".//D2LogicalModel:predefinedItinerary" />
      <xs:field xpath="@id" />
      <xs:field xpath="@version" />
    </xs:unique>
    <xs:unique name="_d2LogicalModelVmsUnitTableConstraint">
      <xs:selector xpath=".//D2LogicalModel:vmsUnitTable" />
      <xs:field xpath="@id" />
      <xs:field xpath="@version" />
    </xs:unique>
    <xs:unique name="_d2LogicalModelVmsUnitRecordConstraint">
      <xs:selector xpath=".//D2LogicalModel:vmsUnitRecord" />
      <xs:field xpath="@id" />
      <xs:field xpath="@version" />
    </xs:unique>
  </xs:element>
  <xs:complexType name="D2LogicalModel">
    <xs:sequence>
      <xs:element name="exchange" type="D2LogicalModel:Exchange" />
      <xs:element name="payloadPublication" type="D2LogicalModel:PayloadPublication" minOccurs="0" />
      <xs:element name="d2LogicalModelExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="modelBaseVersion" use="required" fixed="2" />
  </xs:complexType>
  <xs:simpleType name="DangerousGoodsRegulationsEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="adr" />
      <xs:enumeration value="iataIcao" />
      <xs:enumeration value="imoImdg" />
      <xs:enumeration value="railroadDangerousGoodsBook" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="DataValue" abstract="true">
    <xs:sequence>
      <xs:element name="dataError" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="reasonForDataError" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="dataValueExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="accuracy" type="D2LogicalModel:Percentage" use="optional" />
    <xs:attribute name="computationalMethod" type="D2LogicalModel:ComputationMethodEnum" use="optional" />
    <xs:attribute name="numberOfIncompleteInputs" type="D2LogicalModel:NonNegativeInteger" use="optional" />
    <xs:attribute name="numberOfInputValuesUsed" type="D2LogicalModel:NonNegativeInteger" use="optional" />
    <xs:attribute name="smoothingFactor" type="D2LogicalModel:Float" use="optional" />
    <xs:attribute name="standardDeviation" type="D2LogicalModel:Float" use="optional" />
    <xs:attribute name="supplierCalculatedDataQuality" type="D2LogicalModel:Percentage" use="optional" />
  </xs:complexType>
  <xs:simpleType name="Date">
    <xs:restriction base="xs:date" />
  </xs:simpleType>
  <xs:simpleType name="DateTime">
    <xs:restriction base="xs:dateTime" />
  </xs:simpleType>
  <xs:complexType name="DateTimeValue">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:DataValue">
        <xs:sequence>
          <xs:element name="dateTime" type="D2LogicalModel:DateTime" minOccurs="1" maxOccurs="1" />
          <xs:element name="dateTimeValueExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="DayEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="monday" />
      <xs:enumeration value="tuesday" />
      <xs:enumeration value="wednesday" />
      <xs:enumeration value="thursday" />
      <xs:enumeration value="friday" />
      <xs:enumeration value="saturday" />
      <xs:enumeration value="sunday" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="DayWeekMonth">
    <xs:sequence>
      <xs:element name="applicableDay" type="D2LogicalModel:DayEnum" minOccurs="0" maxOccurs="7" />
      <xs:element name="applicableWeek" type="D2LogicalModel:WeekOfMonthEnum" minOccurs="0" maxOccurs="5" />
      <xs:element name="applicableMonth" type="D2LogicalModel:MonthOfYearEnum" minOccurs="0" maxOccurs="12" />
      <xs:element name="dayWeekMonthExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="Decimal">
    <xs:restriction base="xs:decimal" />
  </xs:simpleType>
  <xs:complexType name="DedicatedAccess">
    <xs:sequence>
      <xs:element name="dedicatedAccess" type="D2LogicalModel:_ParkingAccessReference" minOccurs="1" maxOccurs="1" />
      <xs:element name="distanceFromParkingSpace" type="D2LogicalModel:MetresAsNonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="dedicatedAccessExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="DelayBandEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="negligible" />
      <xs:enumeration value="upToTenMinutes" />
      <xs:enumeration value="betweenTenMinutesAndThirtyMinutes" />
      <xs:enumeration value="betweenThirtyMinutesAndOneHour" />
      <xs:enumeration value="betweenOneHourAndThreeHours" />
      <xs:enumeration value="betweenThreeHoursAndSixHours" />
      <xs:enumeration value="longerThanSixHours" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Delays">
    <xs:sequence>
      <xs:element name="delayBand" type="D2LogicalModel:DelayBandEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="delaysType" type="D2LogicalModel:DelaysTypeEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="delayTimeValue" type="D2LogicalModel:Seconds" minOccurs="0" maxOccurs="1" />
      <xs:element name="delaysExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="DelaysTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="delays" />
      <xs:enumeration value="delaysOfUncertainDuration" />
      <xs:enumeration value="longDelays" />
      <xs:enumeration value="veryLongDelays" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="DenyReasonEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="unknownReason" />
      <xs:enumeration value="wrongCatalogue" />
      <xs:enumeration value="wrongFilter" />
      <xs:enumeration value="wrongOrder" />
      <xs:enumeration value="wrongPartner" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Destination" abstract="true">
    <xs:sequence>
      <xs:element name="destinationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Dimension">
    <xs:sequence>
      <xs:element name="dimensionLength" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1" />
      <xs:element name="dimensionWidth" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1" />
      <xs:element name="dimensionHeight" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1" />
      <xs:element name="dimensionUsableArea" type="D2LogicalModel:SquareMetres" minOccurs="0" maxOccurs="1" />
      <xs:element name="dimensionExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="DirectionBearingValue">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:DataValue">
        <xs:sequence>
          <xs:element name="directionBearing" type="D2LogicalModel:AngleInDegrees" minOccurs="1" maxOccurs="1" />
          <xs:element name="directionBearingValueExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="DirectionCompassEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="east" />
      <xs:enumeration value="eastNorthEast" />
      <xs:enumeration value="eastSouthEast" />
      <xs:enumeration value="north" />
      <xs:enumeration value="northEast" />
      <xs:enumeration value="northNorthEast" />
      <xs:enumeration value="northNorthWest" />
      <xs:enumeration value="northWest" />
      <xs:enumeration value="south" />
      <xs:enumeration value="southEast" />
      <xs:enumeration value="southSouthEast" />
      <xs:enumeration value="southSouthWest" />
      <xs:enumeration value="southWest" />
      <xs:enumeration value="west" />
      <xs:enumeration value="westNorthWest" />
      <xs:enumeration value="westSouthWest" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="DirectionCompassValue">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:DataValue">
        <xs:sequence>
          <xs:element name="directionCompass" type="D2LogicalModel:DirectionCompassEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="directionCompassValueExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="DirectionEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="allDirections" />
      <xs:enumeration value="bothWays" />
      <xs:enumeration value="clockwise" />
      <xs:enumeration value="anticlockwise" />
      <xs:enumeration value="innerRing" />
      <xs:enumeration value="outerRing" />
      <xs:enumeration value="northBound" />
      <xs:enumeration value="northEastBound" />
      <xs:enumeration value="eastBound" />
      <xs:enumeration value="southEastBound" />
      <xs:enumeration value="southBound" />
      <xs:enumeration value="southWestBound" />
      <xs:enumeration value="westBound" />
      <xs:enumeration value="northWestBound" />
      <xs:enumeration value="inboundTowardsTown" />
      <xs:enumeration value="outboundFromTown" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="opposite" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="DistanceAlongLinearElement" abstract="true">
    <xs:sequence>
      <xs:element name="distanceAlongLinearElementExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="DistanceFromLinearElementReferent">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:DistanceAlongLinearElement">
        <xs:sequence>
          <xs:element name="distanceAlong" type="D2LogicalModel:MetresAsFloat" minOccurs="1" maxOccurs="1" />
          <xs:element name="fromReferent" type="D2LogicalModel:Referent" />
          <xs:element name="towardsReferent" type="D2LogicalModel:Referent" minOccurs="0" />
          <xs:element name="distanceFromLinearElementReferentExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="DistanceFromLinearElementStart">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:DistanceAlongLinearElement">
        <xs:sequence>
          <xs:element name="distanceAlong" type="D2LogicalModel:MetresAsFloat" minOccurs="1" maxOccurs="1" />
          <xs:element name="distanceFromLinearElementStartExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="DisturbanceActivity">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Activity">
        <xs:sequence>
          <xs:element name="disturbanceActivityType" type="D2LogicalModel:DisturbanceActivityTypeEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="disturbanceActivityExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="DisturbanceActivityTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="airRaid" />
      <xs:enumeration value="altercationOfVehicleOccupants" />
      <xs:enumeration value="assault" />
      <xs:enumeration value="assetDestruction" />
      <xs:enumeration value="attack" />
      <xs:enumeration value="attackOnVehicle" />
      <xs:enumeration value="blockadeOrBarrier" />
      <xs:enumeration value="bombAlert" />
      <xs:enumeration value="crowd" />
      <xs:enumeration value="demonstration" />
      <xs:enumeration value="evacuation" />
      <xs:enumeration value="filterBlockade" />
      <xs:enumeration value="goSlowOperation" />
      <xs:enumeration value="gunfireOnRoadway" />
      <xs:enumeration value="illVehicleOccupants" />
      <xs:enumeration value="march" />
      <xs:enumeration value="publicDisturbance" />
      <xs:enumeration value="radioactiveLeakAlert" />
      <xs:enumeration value="riot" />
      <xs:enumeration value="sabotage" />
      <xs:enumeration value="securityAlert" />
      <xs:enumeration value="securityIncident" />
      <xs:enumeration value="sightseersObstructingAccess" />
      <xs:enumeration value="strike" />
      <xs:enumeration value="terroristIncident" />
      <xs:enumeration value="theft" />
      <xs:enumeration value="toxicCloudAlert" />
      <xs:enumeration value="unspecifiedAlert" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="DrivingConditionTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="impossible" />
      <xs:enumeration value="hazardous" />
      <xs:enumeration value="normal" />
      <xs:enumeration value="passableWithCare" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="veryHazardous" />
      <xs:enumeration value="winterConditions" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="DurationValue">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:DataValue">
        <xs:sequence>
          <xs:element name="duration" type="D2LogicalModel:Seconds" minOccurs="1" maxOccurs="1" />
          <xs:element name="durationValueExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ElaboratedData">
    <xs:sequence>
      <xs:element name="forecast" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="source" type="D2LogicalModel:Source" minOccurs="0" />
      <xs:element name="validity" type="D2LogicalModel:Validity" minOccurs="0" />
      <xs:element name="elaboratedDataFault" type="D2LogicalModel:ElaboratedDataFault" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="basicData" type="D2LogicalModel:BasicData" minOccurs="0" />
      <xs:element name="elaboratedDataExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ElaboratedDataFault">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Fault">
        <xs:sequence>
          <xs:element name="elaboratedDataFault" type="D2LogicalModel:ElaboratedDataFaultEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="elaboratedDataFaultExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ElaboratedDataFaultEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="intermittentDataValues" />
      <xs:enumeration value="noDataValuesAvailable" />
      <xs:enumeration value="spuriousUnreliableDataValues" />
      <xs:enumeration value="unspecifiedOrUnknownFault" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ElaboratedDataPublication">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:PayloadPublication">
        <xs:sequence>
          <xs:element name="forecastDefault" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
          <xs:element name="periodDefault" type="D2LogicalModel:Seconds" minOccurs="0" maxOccurs="1" />
          <xs:element name="timeDefault" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1" />
          <xs:element name="headerInformation" type="D2LogicalModel:HeaderInformation" />
          <xs:element name="referenceSettings" type="D2LogicalModel:ReferenceSettings" minOccurs="0" />
          <xs:element name="elaboratedData" type="D2LogicalModel:ElaboratedData" maxOccurs="unbounded" />
          <xs:element name="elaboratedDataPublicationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ElectricCharging">
    <xs:sequence>
      <xs:element name="chargingStationUsageType" type="D2LogicalModel:ChargingStationUsageTypeEnum" minOccurs="1" maxOccurs="unbounded" />
      <xs:element name="chargingStationModelType" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="maximumCurrent" type="D2LogicalModel:Ampere" minOccurs="0" maxOccurs="1" />
      <xs:element name="voltage" type="D2LogicalModel:Volt" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="chargingStationConnectorType" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="numberOfChargingPoints" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="electricChargingExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="EnvironmentalObstruction">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Obstruction">
        <xs:sequence>
          <xs:element name="depth" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1" />
          <xs:element name="environmentalObstructionType" type="D2LogicalModel:EnvironmentalObstructionTypeEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="environmentalObstructionExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="EnvironmentalObstructionTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="avalanches" />
      <xs:enumeration value="earthquakeDamage" />
      <xs:enumeration value="fallenTrees" />
      <xs:enumeration value="fallingIce" />
      <xs:enumeration value="fallingLightIceOrSnow" />
      <xs:enumeration value="flashFloods" />
      <xs:enumeration value="flooding" />
      <xs:enumeration value="forestFire" />
      <xs:enumeration value="grassFire" />
      <xs:enumeration value="landslips" />
      <xs:enumeration value="mudSlide" />
      <xs:enumeration value="sewerOverflow" />
      <xs:enumeration value="rockfalls" />
      <xs:enumeration value="seriousFire" />
      <xs:enumeration value="smokeOrFumes" />
      <xs:enumeration value="stormDamage" />
      <xs:enumeration value="subsidence" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Equipment">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:ParkingEquipmentOrServiceFacility">
        <xs:sequence>
          <xs:element name="equipmentType" type="D2LogicalModel:EquipmentTypeEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="electricCharging" type="D2LogicalModel:ElectricCharging" minOccurs="0" />
          <xs:element name="equipmentExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="EquipmentOrSystemFault">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TrafficElement">
        <xs:sequence>
          <xs:element name="equipmentOrSystemFaultType" type="D2LogicalModel:EquipmentOrSystemFaultTypeEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="faultyEquipmentOrSystemType" type="D2LogicalModel:EquipmentOrSystemTypeEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="equipmentOrSystemFaultExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="EquipmentOrSystemFaultTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="notWorking" />
      <xs:enumeration value="outOfService" />
      <xs:enumeration value="workingIncorrectly" />
      <xs:enumeration value="workingIntermittently" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="EquipmentOrSystemTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="anprCameras" />
      <xs:enumeration value="automatedTollSystem" />
      <xs:enumeration value="cctvCameras" />
      <xs:enumeration value="emergencyRoadsideTelephones" />
      <xs:enumeration value="galleryLights" />
      <xs:enumeration value="laneControlSigns" />
      <xs:enumeration value="levelCrossing" />
      <xs:enumeration value="matrixSigns" />
      <xs:enumeration value="rampControls" />
      <xs:enumeration value="roadsideCommunicationsSystem" />
      <xs:enumeration value="roadsidePowerSystem" />
      <xs:enumeration value="speedControlSigns" />
      <xs:enumeration value="streetLighting" />
      <xs:enumeration value="temporaryTrafficLights" />
      <xs:enumeration value="tollGates" />
      <xs:enumeration value="trafficLightSets" />
      <xs:enumeration value="trafficSignals" />
      <xs:enumeration value="tunnelLights" />
      <xs:enumeration value="tunnelVentilation" />
      <xs:enumeration value="variableMessageSigns" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="EquipmentTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="toilet" />
      <xs:enumeration value="shower" />
      <xs:enumeration value="informationPoint" />
      <xs:enumeration value="informatonStele" />
      <xs:enumeration value="internetTerminal" />
      <xs:enumeration value="internetWireless" />
      <xs:enumeration value="payDesk" />
      <xs:enumeration value="paymentMachine" />
      <xs:enumeration value="cashMachine" />
      <xs:enumeration value="vendingMachine" />
      <xs:enumeration value="faxMachineOrService" />
      <xs:enumeration value="copyMachineOrService" />
      <xs:enumeration value="safeDeposit" />
      <xs:enumeration value="luggageLocker" />
      <xs:enumeration value="publicPhone" />
      <xs:enumeration value="publicCoinPhone" />
      <xs:enumeration value="publicCardPhone" />
      <xs:enumeration value="elevator" />
      <xs:enumeration value="picnicFacilities" />
      <xs:enumeration value="dumpingStation" />
      <xs:enumeration value="freshWater" />
      <xs:enumeration value="wasteDisposal" />
      <xs:enumeration value="refuseBin" />
      <xs:enumeration value="iceFreeScaffold" />
      <xs:enumeration value="playground" />
      <xs:enumeration value="electricChargingStation" />
      <xs:enumeration value="bikeParking" />
      <xs:enumeration value="tollTerminal" />
      <xs:enumeration value="defibrillator" />
      <xs:enumeration value="firstAidEquipment" />
      <xs:enumeration value="fireHose" />
      <xs:enumeration value="fireExtingiusher" />
      <xs:enumeration value="fireHydrant" />
      <xs:enumeration value="none" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Exchange">
    <xs:sequence>
      <xs:element name="changedFlag" type="D2LogicalModel:ChangedFlagEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="clientIdentification" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="deliveryBreak" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="denyReason" type="D2LogicalModel:DenyReasonEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="historicalStartDate" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1" />
      <xs:element name="historicalStopDate" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1" />
      <xs:element name="keepAlive" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="requestType" type="D2LogicalModel:RequestTypeEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="response" type="D2LogicalModel:ResponseEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="subscriptionReference" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="supplierIdentification" type="D2LogicalModel:InternationalIdentifier" />
      <xs:element name="target" type="D2LogicalModel:Target" minOccurs="0" />
      <xs:element name="subscription" type="D2LogicalModel:Subscription" minOccurs="0" />
      <xs:element name="filterReference" type="D2LogicalModel:FilterReference" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="catalogueReference" type="D2LogicalModel:CatalogueReference" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="exchangeExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ExternalReferencing">
    <xs:sequence>
      <xs:element name="externalLocationCode" type="D2LogicalModel:String" minOccurs="1" maxOccurs="1" />
      <xs:element name="externalReferencingSystem" type="D2LogicalModel:String" minOccurs="1" maxOccurs="1" />
      <xs:element name="externalReferencingExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Fault">
    <xs:sequence>
      <xs:element name="faultIdentifier" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="faultDescription" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="faultCreationTime" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1" />
      <xs:element name="faultLastUpdateTime" type="D2LogicalModel:DateTime" minOccurs="1" maxOccurs="1" />
      <xs:element name="faultSeverity" type="D2LogicalModel:FaultSeverityEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="faultExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="FaultSeverityEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="low" />
      <xs:enumeration value="medium" />
      <xs:enumeration value="high" />
      <xs:enumeration value="unknown" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="FilterExitManagement">
    <xs:sequence>
      <xs:element name="filterEnd" type="D2LogicalModel:Boolean" minOccurs="1" maxOccurs="1" />
      <xs:element name="filterOutOfRange" type="D2LogicalModel:Boolean" minOccurs="1" maxOccurs="1" />
      <xs:element name="filterExitManagementExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="FilterReference">
    <xs:sequence>
      <xs:element name="deleteFilter" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="filterOperationApproved" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="keyFilterReference" type="D2LogicalModel:String" minOccurs="1" maxOccurs="1" />
      <xs:element name="filterReferenceExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="Float">
    <xs:restriction base="xs:float" />
  </xs:simpleType>
  <xs:complexType name="FloatingPointMetreDistanceValue">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:DataValue">
        <xs:sequence>
          <xs:element name="floatingPointMetreDistance" type="D2LogicalModel:MetresAsFloat" minOccurs="1" maxOccurs="1" />
          <xs:element name="floatingPointMetreDistanceValueExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="FuelType2Enum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="all" />
      <xs:enumeration value="petrol95Octane" />
      <xs:enumeration value="petrol98Octane" />
      <xs:enumeration value="petrolLeaded" />
      <xs:enumeration value="petrolUnleaded" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="FuelTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="battery" />
      <xs:enumeration value="biodiesel" />
      <xs:enumeration value="diesel" />
      <xs:enumeration value="dieselBatteryHybrid" />
      <xs:enumeration value="ethanol" />
      <xs:enumeration value="hydrogen" />
      <xs:enumeration value="liquidGas" />
      <xs:enumeration value="lpg" />
      <xs:enumeration value="methane" />
      <xs:enumeration value="petrol" />
      <xs:enumeration value="petrolBatteryHybrid" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="GeneralInstructionOrMessageToRoadUsers">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:NetworkManagement">
        <xs:sequence>
          <xs:element name="generalInstructionToRoadUsersType" type="D2LogicalModel:GeneralInstructionToRoadUsersTypeEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="generalMessageToRoadUsers" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
          <xs:element name="generalInstructionOrMessageToRoadUsersExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="GeneralInstructionToRoadUsersTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="allowEmergencyVehiclesToPass" />
      <xs:enumeration value="approachWithCare" />
      <xs:enumeration value="avoidTheArea" />
      <xs:enumeration value="closeAllWindowsTurnOffHeaterAndVents" />
      <xs:enumeration value="crossJunctionWithCare" />
      <xs:enumeration value="doNotAllowUnnecessaryGaps" />
      <xs:enumeration value="doNotLeaveYourVehicle" />
      <xs:enumeration value="doNotThrowOutAnyBurningObjects" />
      <xs:enumeration value="doNotUseNavigationSystems" />
      <xs:enumeration value="driveCarefully" />
      <xs:enumeration value="driveWithExtremeCaution" />
      <xs:enumeration value="flashYourLights" />
      <xs:enumeration value="followTheVehicleInFrontSmoothly" />
      <xs:enumeration value="increaseNormalFollowingDistance" />
      <xs:enumeration value="inEmergencyWaitForPatrolService" />
      <xs:enumeration value="keepYourDistance" />
      <xs:enumeration value="leaveYourVehicleProceedToNextSafePlace" />
      <xs:enumeration value="noNakedFlames" />
      <xs:enumeration value="noOvertaking" />
      <xs:enumeration value="noSmoking" />
      <xs:enumeration value="noStopping" />
      <xs:enumeration value="noUturns" />
      <xs:enumeration value="observeAmberAlert" />
      <xs:enumeration value="observeSignals" />
      <xs:enumeration value="observeSigns" />
      <xs:enumeration value="onlyTravelIfAbsolutelyNecessary" />
      <xs:enumeration value="overtakeWithCare" />
      <xs:enumeration value="pullOverToTheEdgeOfTheRoadway" />
      <xs:enumeration value="stopAtNextSafePlace" />
      <xs:enumeration value="stopAtNextServiceArea" />
      <xs:enumeration value="switchOffEngine" />
      <xs:enumeration value="switchOffMobilePhonesAndTwoWayRadios" />
      <xs:enumeration value="testYourBrakes" />
      <xs:enumeration value="useBusService" />
      <xs:enumeration value="useFogLights" />
      <xs:enumeration value="useHazardWarningLights" />
      <xs:enumeration value="useHeadlights" />
      <xs:enumeration value="useRailService" />
      <xs:enumeration value="useTramService" />
      <xs:enumeration value="useUndergroundService" />
      <xs:enumeration value="waitForEscortVehicle" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="GeneralNetworkManagement">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:NetworkManagement">
        <xs:sequence>
          <xs:element name="generalNetworkManagementType" type="D2LogicalModel:GeneralNetworkManagementTypeEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="trafficManuallyDirectedBy" type="D2LogicalModel:PersonCategoryEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="generalNetworkManagementExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="GeneralNetworkManagementTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="bridgeSwingInOperation" />
      <xs:enumeration value="convoyService" />
      <xs:enumeration value="obstacleSignalling" />
      <xs:enumeration value="rampMeteringInOperation" />
      <xs:enumeration value="temporaryTrafficLights" />
      <xs:enumeration value="tollGatesOpen" />
      <xs:enumeration value="trafficBeingManuallyDirected" />
      <xs:enumeration value="trafficHeld" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="GeneralObstruction">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Obstruction">
        <xs:sequence>
          <xs:element name="obstructionType" type="D2LogicalModel:ObstructionTypeEnum" minOccurs="1" maxOccurs="unbounded" />
          <xs:element name="groupOfPeopleInvolved" type="D2LogicalModel:GroupOfPeopleInvolved" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="generalObstructionExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="GenericPublication">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:PayloadPublication">
        <xs:sequence>
          <xs:element name="genericPublicationName" type="D2LogicalModel:String" minOccurs="1" maxOccurs="1" />
          <xs:element name="genericPublicationExtension" type="D2LogicalModel:_GenericPublicationExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="GenericSituationRecord" abstract="true">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:SituationRecord">
        <xs:sequence>
          <xs:element name="genericSituationRecordName" type="D2LogicalModel:String" minOccurs="1" maxOccurs="1" />
          <xs:element name="genericSituationRecordExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="GrossWeightCharacteristic">
    <xs:sequence>
      <xs:element name="comparisonOperator" type="D2LogicalModel:ComparisonOperatorEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="grossVehicleWeight" type="D2LogicalModel:Tonnes" minOccurs="1" maxOccurs="1" />
      <xs:element name="grossWeightCharacteristicExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="GroupOfLocations" abstract="true">
    <xs:sequence>
      <xs:element name="groupOfLocationsExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="GroupOfParkingSites">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:ParkingRecord">
        <xs:sequence>
          <xs:element name="groupOfParkingSitesType" type="D2LogicalModel:GroupOfParkingSitesTypeEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="parkingSiteByReference" type="D2LogicalModel:_ParkingRecordVersionedReference" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="parkingSite" type="D2LogicalModel:ParkingSite" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="groupOfParkingSitesExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="GroupOfParkingSitesStatus">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:ParkingRecordStatus">
        <xs:sequence>
          <xs:element name="groupOfParkingSitesStatus" type="D2LogicalModel:GroupOfParkingSitesStatusEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="groupOfParkingSitesStatusExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="GroupOfParkingSitesStatusEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="allParkingsFull" />
      <xs:enumeration value="multiStoreyParkingsFull" />
      <xs:enumeration value="noMoreParkingSpacesAvailable" />
      <xs:enumeration value="enoughSpacesAvailable" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="GroupOfParkingSitesTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="parkingArea" />
      <xs:enumeration value="truckParkingPriorityZone" />
      <xs:enumeration value="aggregationOfInformation" />
      <xs:enumeration value="inhabitantZone" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="GroupOfParkingSpaces">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:ParkingSpaceBasics">
        <xs:sequence>
          <xs:element name="parkingNumberOfSpaces" type="D2LogicalModel:NonNegativeInteger" minOccurs="1" maxOccurs="1" />
          <xs:element name="parkingTypeOfGroup" type="D2LogicalModel:ParkingTypeOfGroup" minOccurs="1" maxOccurs="1" />
          <xs:element name="identicalToGroup" type="D2LogicalModel:IndexReference" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="realSubsetOfGroup" type="D2LogicalModel:IndexReference" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="minimumParkingSpaceDimension" type="D2LogicalModel:Dimension" minOccurs="0" />
          <xs:element name="dimensionOfGroup" type="D2LogicalModel:Dimension" minOccurs="0" />
          <xs:element name="maximumParkingSpaceDimension" type="D2LogicalModel:Dimension" minOccurs="0" />
          <xs:element name="parkingSpace" type="D2LogicalModel:_GroupOfParkingSpacesParkingSpaceIndexParkingSpace" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="groupOfLocations" type="D2LogicalModel:GroupOfLocations" minOccurs="0" />
          <xs:element name="groupOfParkingSpacesExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="GroupOfParkingSpacesStatus">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:ParkingOccupancy">
        <xs:sequence>
          <xs:element name="groupDeclarationValidNow" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
          <xs:element name="groupOfParkingSpacesClosed" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
          <xs:element name="groupOfParkingSpacesStatusExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="GroupOfPeopleInvolved">
    <xs:sequence>
      <xs:element name="numberOfPeople" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="injuryStatus" type="D2LogicalModel:InjuryStatusTypeEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="involvementRole" type="D2LogicalModel:InvolvementRolesEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="categoryOfPeopleInvolved" type="D2LogicalModel:PersonCategoryEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="groupOfPeopleInvolvedExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="GroupOfVehiclesInvolved">
    <xs:sequence>
      <xs:element name="numberOfVehicles" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="vehicleStatus" type="D2LogicalModel:VehicleStatusEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="vehicleCharacteristics" type="D2LogicalModel:VehicleCharacteristics" minOccurs="0" />
      <xs:element name="groupOfVehiclesInvolvedExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="HazardousMaterials">
    <xs:sequence>
      <xs:element name="chemicalName" type="D2LogicalModel:MultilingualString" minOccurs="1" maxOccurs="1" />
      <xs:element name="dangerousGoodsFlashPoint" type="D2LogicalModel:TemperatureCelsius" minOccurs="0" maxOccurs="1" />
      <xs:element name="dangerousGoodsRegulations" type="D2LogicalModel:DangerousGoodsRegulationsEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="hazardCodeIdentification" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="hazardCodeVersionNumber" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="hazardSubstanceItemPageNumber" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="tremCardNumber" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="undgNumber" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="volumeOfDangerousGoods" type="D2LogicalModel:CubicMetres" minOccurs="0" maxOccurs="1" />
      <xs:element name="weightOfDangerousGoods" type="D2LogicalModel:Tonnes" minOccurs="0" maxOccurs="1" />
      <xs:element name="hazardousMaterialsExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="HeaderInformation">
    <xs:sequence>
      <xs:element name="areaOfInterest" type="D2LogicalModel:AreaOfInterestEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="confidentiality" type="D2LogicalModel:ConfidentialityValueEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="informationStatus" type="D2LogicalModel:InformationStatusEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="urgency" type="D2LogicalModel:UrgencyEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="headerInformationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="HeaviestAxleWeightCharacteristic">
    <xs:sequence>
      <xs:element name="comparisonOperator" type="D2LogicalModel:ComparisonOperatorEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="heaviestAxleWeight" type="D2LogicalModel:Tonnes" minOccurs="1" maxOccurs="1" />
      <xs:element name="heaviestAxleWeightCharacteristicExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="HeightCharacteristic">
    <xs:sequence>
      <xs:element name="comparisonOperator" type="D2LogicalModel:ComparisonOperatorEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="vehicleHeight" type="D2LogicalModel:MetresAsFloat" minOccurs="1" maxOccurs="1" />
      <xs:element name="heightCharacteristicExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="HeightGradeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="aboveGrade" />
      <xs:enumeration value="atGrade" />
      <xs:enumeration value="belowGrade" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Humidity">
    <xs:sequence>
      <xs:element name="relativeHumidity" type="D2LogicalModel:PercentageValue" />
      <xs:element name="humidityExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="HumidityInformation">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:WeatherData">
        <xs:sequence>
          <xs:element name="humidity" type="D2LogicalModel:Humidity" />
          <xs:element name="humidityInformationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Impact">
    <xs:sequence>
      <xs:element name="capacityRemaining" type="D2LogicalModel:Percentage" minOccurs="0" maxOccurs="1" />
      <xs:element name="numberOfLanesRestricted" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="numberOfOperationalLanes" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="originalNumberOfLanes" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="residualRoadWidth" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1" />
      <xs:element name="trafficConstrictionType" type="D2LogicalModel:TrafficConstrictionTypeEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="delays" type="D2LogicalModel:Delays" minOccurs="0" />
      <xs:element name="impactExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="IndexReference">
    <xs:restriction base="D2LogicalModel:String" />
  </xs:simpleType>
  <xs:complexType name="IndividualCharge">
    <xs:sequence>
      <xs:element name="chargeBandReference" type="D2LogicalModel:_ChargeBandVersionedReference" minOccurs="0" maxOccurs="1" />
      <xs:element name="chargePaid" type="D2LogicalModel:AmountOfMoney" minOccurs="1" maxOccurs="1" />
      <xs:element name="chargeCurrency" type="D2LogicalModel:CurrencyEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="usedMeansOfPayment" type="D2LogicalModel:MeansOfPaymentEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="withReservation" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="usedPaymentCard" type="D2LogicalModel:UsedPaymentCard" minOccurs="0" />
      <xs:element name="individualChargeExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="IndividualVehicleDataValues">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TrafficData">
        <xs:sequence>
          <xs:element name="individualVehicleSpeed" type="D2LogicalModel:SpeedValue" minOccurs="0" />
          <xs:element name="arrivalTime" type="D2LogicalModel:DateTimeValue" minOccurs="0" />
          <xs:element name="exitTime" type="D2LogicalModel:DateTimeValue" minOccurs="0" />
          <xs:element name="passageDurationTime" type="D2LogicalModel:DurationValue" minOccurs="0" />
          <xs:element name="presenceDurationTime" type="D2LogicalModel:DurationValue" minOccurs="0" />
          <xs:element name="timeGap" type="D2LogicalModel:DurationValue" minOccurs="0" />
          <xs:element name="timeHeadway" type="D2LogicalModel:DurationValue" minOccurs="0" />
          <xs:element name="distanceGap" type="D2LogicalModel:FloatingPointMetreDistanceValue" minOccurs="0" />
          <xs:element name="distanceHeadway" type="D2LogicalModel:FloatingPointMetreDistanceValue" minOccurs="0" />
          <xs:element name="individualVehicleDataValuesExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="InformationStatusEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="real" />
      <xs:enumeration value="securityExercise" />
      <xs:enumeration value="technicalExercise" />
      <xs:enumeration value="test" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="InfrastructureDamageObstruction">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Obstruction">
        <xs:sequence>
          <xs:element name="infrastructureDamageType" type="D2LogicalModel:InfrastructureDamageTypeEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="infrastructureDamageObstructionExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="InfrastructureDamageTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="burstPipe" />
      <xs:enumeration value="burstWaterMain" />
      <xs:enumeration value="collapsedSewer" />
      <xs:enumeration value="damagedBridge" />
      <xs:enumeration value="damagedCrashBarrier" />
      <xs:enumeration value="damagedFlyover" />
      <xs:enumeration value="damagedGallery" />
      <xs:enumeration value="damagedGantry" />
      <xs:enumeration value="damagedRoadSurface" />
      <xs:enumeration value="damagedTunnel" />
      <xs:enumeration value="damagedViaduct" />
      <xs:enumeration value="fallenPowerCables" />
      <xs:enumeration value="gasLeak" />
      <xs:enumeration value="weakBridge" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="InjuryStatusTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="dead" />
      <xs:enumeration value="injured" />
      <xs:enumeration value="seriouslyInjured" />
      <xs:enumeration value="slightlyInjured" />
      <xs:enumeration value="uninjured" />
      <xs:enumeration value="unknown" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="Integer">
    <xs:restriction base="xs:integer" />
  </xs:simpleType>
  <xs:complexType name="IntegerMetreDistanceValue">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:DataValue">
        <xs:sequence>
          <xs:element name="integerMetreDistance" type="D2LogicalModel:MetresAsNonNegativeInteger" minOccurs="1" maxOccurs="1" />
          <xs:element name="integerMetreDistanceValueExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="IntensityKilogramsPerSquareMetre">
    <xs:restriction base="D2LogicalModel:Float" />
  </xs:simpleType>
  <xs:simpleType name="IntensityMillimetresPerHour">
    <xs:restriction base="D2LogicalModel:Float" />
  </xs:simpleType>
  <xs:complexType name="InternationalIdentifier">
    <xs:sequence>
      <xs:element name="country" type="D2LogicalModel:CountryEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="nationalIdentifier" type="D2LogicalModel:String" minOccurs="1" maxOccurs="1" />
      <xs:element name="internationalIdentifierExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="InterUrbanParkingSite">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:ParkingSite">
        <xs:sequence>
          <xs:element name="interUrbanParkingSiteLocation" type="D2LogicalModel:InterUrbanParkingSiteLocationEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="interUrbanParkingSiteExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="InterUrbanParkingSiteLocationEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="motorway" />
      <xs:enumeration value="nearbyMotorway" />
      <xs:enumeration value="layBy" />
      <xs:enumeration value="onStreet" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="InvolvementRolesEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="cyclist" />
      <xs:enumeration value="pedestrian" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="vehicleDriver" />
      <xs:enumeration value="vehicleOccupant" />
      <xs:enumeration value="vehiclePassenger" />
      <xs:enumeration value="witness" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Itinerary" abstract="true">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:GroupOfLocations">
        <xs:sequence>
          <xs:element name="routeDestination" type="D2LogicalModel:Destination" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="itineraryExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ItineraryByIndexedLocations">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Itinerary">
        <xs:sequence>
          <xs:element name="locationContainedInItinerary" type="D2LogicalModel:_LocationContainedInItinerary" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="itineraryByIndexedLocationsExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ItineraryByReference">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Itinerary">
        <xs:sequence>
          <xs:element name="predefinedItineraryReference" type="D2LogicalModel:_PredefinedItineraryVersionedReference" minOccurs="1" maxOccurs="1" />
          <xs:element name="itineraryByReferenceExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Junction">
    <xs:sequence>
      <xs:element name="junctionClassification" type="D2LogicalModel:JunctionClassificationEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="junctionName" type="D2LogicalModel:MultilingualString" minOccurs="1" maxOccurs="1" />
      <xs:element name="junctionNumber" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="motorway" type="D2LogicalModel:Road" minOccurs="0" />
      <xs:element name="destinationMotorway" type="D2LogicalModel:Road" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="junctionExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="JunctionClassificationEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="threeWayInterchange" />
      <xs:enumeration value="interchange" />
      <xs:enumeration value="motorwayConnection" />
      <xs:enumeration value="junction" />
      <xs:enumeration value="temporaryJunction" />
      <xs:enumeration value="borderCrossing" />
      <xs:enumeration value="junctionInOneDirection" />
      <xs:enumeration value="operationalServiceJunction" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="KilogramsConcentrationValue">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:DataValue">
        <xs:sequence>
          <xs:element name="kilogramsConcentration" type="D2LogicalModel:ConcentrationKilogramsPerCubicMetre" minOccurs="1" maxOccurs="1" />
          <xs:element name="kilogramsConcentrationValueExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="KilometresPerHour">
    <xs:restriction base="D2LogicalModel:Float" />
  </xs:simpleType>
  <xs:simpleType name="LABELSecurityLevelEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="none" />
      <xs:enumeration value="securityLevel1" />
      <xs:enumeration value="securityLevel2" />
      <xs:enumeration value="securityLevel3" />
      <xs:enumeration value="securityLevel4" />
      <xs:enumeration value="securityLevel5" />
      <xs:enumeration value="unknown" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="LABELServiceLevelEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="none" />
      <xs:enumeration value="serviceLevel1" />
      <xs:enumeration value="serviceLevel2" />
      <xs:enumeration value="serviceLevel3" />
      <xs:enumeration value="serviceLevel4" />
      <xs:enumeration value="serviceLevel5" />
      <xs:enumeration value="unknown" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="LaneEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="allLanesCompleteCarriageway" />
      <xs:enumeration value="busLane" />
      <xs:enumeration value="busStop" />
      <xs:enumeration value="carPoolLane" />
      <xs:enumeration value="centralReservation" />
      <xs:enumeration value="crawlerLane" />
      <xs:enumeration value="emergencyLane" />
      <xs:enumeration value="escapeLane" />
      <xs:enumeration value="expressLane" />
      <xs:enumeration value="hardShoulder" />
      <xs:enumeration value="heavyVehicleLane" />
      <xs:enumeration value="lane1" />
      <xs:enumeration value="lane2" />
      <xs:enumeration value="lane3" />
      <xs:enumeration value="lane4" />
      <xs:enumeration value="lane5" />
      <xs:enumeration value="lane6" />
      <xs:enumeration value="lane7" />
      <xs:enumeration value="lane8" />
      <xs:enumeration value="lane9" />
      <xs:enumeration value="layBy" />
      <xs:enumeration value="leftHandTurningLane" />
      <xs:enumeration value="leftLane" />
      <xs:enumeration value="localTrafficLane" />
      <xs:enumeration value="middleLane" />
      <xs:enumeration value="opposingLanes" />
      <xs:enumeration value="overtakingLane" />
      <xs:enumeration value="rightHandTurningLane" />
      <xs:enumeration value="rightLane" />
      <xs:enumeration value="rushHourLane" />
      <xs:enumeration value="setDownArea" />
      <xs:enumeration value="slowVehicleLane" />
      <xs:enumeration value="throughTrafficLane" />
      <xs:enumeration value="tidalFlowLane" />
      <xs:enumeration value="turningLane" />
      <xs:enumeration value="verge" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="Language">
    <xs:restriction base="xs:language" />
  </xs:simpleType>
  <xs:complexType name="LengthCharacteristic">
    <xs:sequence>
      <xs:element name="comparisonOperator" type="D2LogicalModel:ComparisonOperatorEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="vehicleLength" type="D2LogicalModel:MetresAsFloat" minOccurs="1" maxOccurs="1" />
      <xs:element name="lengthCharacteristicExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="LifeCycleManagement">
    <xs:sequence>
      <xs:element name="cancel" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="end" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="lifeCycleManagementExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Linear">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:NetworkLocation">
        <xs:sequence>
          <xs:element name="tpegLinearLocation" type="D2LogicalModel:TpegLinearLocation" minOccurs="0" />
          <xs:element name="alertCLinear" type="D2LogicalModel:AlertCLinear" minOccurs="0" />
          <xs:element name="linearWithinLinearElement" type="D2LogicalModel:LinearWithinLinearElement" minOccurs="0" />
          <xs:element name="linearExtension" type="D2LogicalModel:_LinearExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="LinearElement">
    <xs:sequence>
      <xs:element name="roadName" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="roadNumber" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="linearElementReferenceModel" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="linearElementReferenceModelVersion" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="linearElementNature" type="D2LogicalModel:LinearElementNatureEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="linearElementExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="LinearElementByCode">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:LinearElement">
        <xs:sequence>
          <xs:element name="linearElementIdentifier" type="D2LogicalModel:String" minOccurs="1" maxOccurs="1" />
          <xs:element name="linearElementByCodeExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="LinearElementByPoints">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:LinearElement">
        <xs:sequence>
          <xs:element name="startPointOfLinearElement" type="D2LogicalModel:Referent" />
          <xs:element name="intermediatePointOnLinearElement" type="D2LogicalModel:_IntermediatePointOnLinearElement" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="endPointOfLinearElement" type="D2LogicalModel:Referent" />
          <xs:element name="linearElementByPointsExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="LinearElementNatureEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="road" />
      <xs:enumeration value="roadSection" />
      <xs:enumeration value="slipRoad" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="LinearReferencingDirectionEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="both" />
      <xs:enumeration value="opposite" />
      <xs:enumeration value="aligned" />
      <xs:enumeration value="unknown" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="LinearTrafficView">
    <xs:sequence>
      <xs:element name="linearPredefinedLocationReference" type="D2LogicalModel:_PredefinedLocationVersionedReference" minOccurs="1" maxOccurs="1" />
      <xs:element name="trafficViewRecord" type="D2LogicalModel:TrafficViewRecord" maxOccurs="unbounded" />
      <xs:element name="linearTrafficViewExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="id" type="xs:string" use="required" />
  </xs:complexType>
  <xs:complexType name="LinearWithinLinearElement">
    <xs:sequence>
      <xs:element name="administrativeAreaOfLinearSection" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="directionBoundOnLinearSection" type="D2LogicalModel:DirectionEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="directionRelativeOnLinearSection" type="D2LogicalModel:LinearReferencingDirectionEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="heightGradeOfLinearSection" type="D2LogicalModel:HeightGradeEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="linearElement" type="D2LogicalModel:LinearElement" />
      <xs:element name="fromPoint" type="D2LogicalModel:DistanceAlongLinearElement" />
      <xs:element name="toPoint" type="D2LogicalModel:DistanceAlongLinearElement" />
      <xs:element name="linearWithinLinearElementExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="LoadType2Enum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="refrigeratedGoods" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="LoadTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="abnormalLoad" />
      <xs:enumeration value="ammunition" />
      <xs:enumeration value="chemicals" />
      <xs:enumeration value="combustibleMaterials" />
      <xs:enumeration value="corrosiveMaterials" />
      <xs:enumeration value="debris" />
      <xs:enumeration value="empty" />
      <xs:enumeration value="explosiveMaterials" />
      <xs:enumeration value="extraHighLoad" />
      <xs:enumeration value="extraLongLoad" />
      <xs:enumeration value="extraWideLoad" />
      <xs:enumeration value="fuel" />
      <xs:enumeration value="glass" />
      <xs:enumeration value="goods" />
      <xs:enumeration value="hazardousMaterials" />
      <xs:enumeration value="liquid" />
      <xs:enumeration value="livestock" />
      <xs:enumeration value="materials" />
      <xs:enumeration value="materialsDangerousForPeople" />
      <xs:enumeration value="materialsDangerousForTheEnvironment" />
      <xs:enumeration value="materialsDangerousForWater" />
      <xs:enumeration value="oil" />
      <xs:enumeration value="ordinary" />
      <xs:enumeration value="perishableProducts" />
      <xs:enumeration value="petrol" />
      <xs:enumeration value="pharmaceuticalMaterials" />
      <xs:enumeration value="radioactiveMaterials" />
      <xs:enumeration value="refuse" />
      <xs:enumeration value="toxicMaterials" />
      <xs:enumeration value="vehicles" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Location" abstract="true">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:GroupOfLocations">
        <xs:sequence>
          <xs:element name="externalReferencing" type="D2LogicalModel:ExternalReferencing" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="locationForDisplay" type="D2LogicalModel:PointCoordinates" minOccurs="0" />
          <xs:element name="locationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="LocationByReference">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Location">
        <xs:sequence>
          <xs:element name="predefinedLocationReference" type="D2LogicalModel:_PredefinedLocationVersionedReference" minOccurs="1" maxOccurs="1" />
          <xs:element name="locationByReferenceExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="LocationCharacteristicsOverride">
    <xs:sequence>
      <xs:element name="measurementLanesOverride" type="D2LogicalModel:LaneEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="reversedFlow" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="locationCharacteristicsOverrideExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="LocationDescriptorEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="aroundABendInRoad" />
      <xs:enumeration value="atMotorwayInterchange" />
      <xs:enumeration value="atRestArea" />
      <xs:enumeration value="atServiceArea" />
      <xs:enumeration value="atTollPlaza" />
      <xs:enumeration value="atTunnelEntryOrExit" />
      <xs:enumeration value="inbound" />
      <xs:enumeration value="inGallery" />
      <xs:enumeration value="inTheCentre" />
      <xs:enumeration value="inTheOppositeDirection" />
      <xs:enumeration value="inTunnel" />
      <xs:enumeration value="onBorder" />
      <xs:enumeration value="onBridge" />
      <xs:enumeration value="onConnector" />
      <xs:enumeration value="onElevatedSection" />
      <xs:enumeration value="onFlyover" />
      <xs:enumeration value="onIceRoad" />
      <xs:enumeration value="onLevelCrossing" />
      <xs:enumeration value="onLinkRoad" />
      <xs:enumeration value="onPass" />
      <xs:enumeration value="onRoundabout" />
      <xs:enumeration value="onTheLeft" />
      <xs:enumeration value="onTheRight" />
      <xs:enumeration value="onTheRoadway" />
      <xs:enumeration value="onUndergroundSection" />
      <xs:enumeration value="onUnderpass" />
      <xs:enumeration value="outbound" />
      <xs:enumeration value="overCrestOfHill" />
      <xs:enumeration value="withinJunction" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="MaintenanceVehicleActionsEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="maintenanceVehiclesMergingIntoTrafficFlow" />
      <xs:enumeration value="saltAndGritSpreading" />
      <xs:enumeration value="slowMoving" />
      <xs:enumeration value="snowClearing" />
      <xs:enumeration value="stoppingToServiceEquipments" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="MaintenanceVehicles">
    <xs:sequence>
      <xs:element name="numberOfMaintenanceVehicles" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="maintenanceVehicleActions" type="D2LogicalModel:MaintenanceVehicleActionsEnum" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="maintenanceVehiclesExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="MaintenanceWorks">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Roadworks">
        <xs:sequence>
          <xs:element name="roadMaintenanceType" type="D2LogicalModel:RoadMaintenanceTypeEnum" minOccurs="1" maxOccurs="unbounded" />
          <xs:element name="maintenanceWorksExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ManagedCause">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Cause">
        <xs:sequence>
          <xs:element name="managedCause" type="D2LogicalModel:_SituationRecordVersionedReference" minOccurs="0" maxOccurs="1" />
          <xs:element name="managedCauseExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Management">
    <xs:sequence>
      <xs:element name="lifeCycleManagement" type="D2LogicalModel:LifeCycleManagement" minOccurs="0" />
      <xs:element name="filterExitManagement" type="D2LogicalModel:FilterExitManagement" minOccurs="0" />
      <xs:element name="managementExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="MeansOfPaymentEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="paymentCard" />
      <xs:enumeration value="cash" />
      <xs:enumeration value="cashCoinsOnly" />
      <xs:enumeration value="directCashTransfer" />
      <xs:enumeration value="electronicSettlement" />
      <xs:enumeration value="rfid" />
      <xs:enumeration value="mobileApp" />
      <xs:enumeration value="payBySMS" />
      <xs:enumeration value="mobilePhone" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="MeasuredDataPublication">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:PayloadPublication">
        <xs:sequence>
          <xs:element name="measurementSiteTableReference" type="D2LogicalModel:_MeasurementSiteTableVersionedReference" minOccurs="1" maxOccurs="1" />
          <xs:element name="headerInformation" type="D2LogicalModel:HeaderInformation" />
          <xs:element name="siteMeasurements" type="D2LogicalModel:SiteMeasurements" maxOccurs="unbounded" />
          <xs:element name="measuredDataPublicationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="MeasuredOrDerivedDataTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="humidityInformation" />
      <xs:enumeration value="individualVehicleMeasurements" />
      <xs:enumeration value="pollutionInformation" />
      <xs:enumeration value="precipitationInformation" />
      <xs:enumeration value="pressureInformation" />
      <xs:enumeration value="radiationInformation" />
      <xs:enumeration value="roadSurfaceConditionInformation" />
      <xs:enumeration value="temperatureInformation" />
      <xs:enumeration value="trafficConcentration" />
      <xs:enumeration value="trafficFlow" />
      <xs:enumeration value="trafficHeadway" />
      <xs:enumeration value="trafficSpeed" />
      <xs:enumeration value="trafficStatusInformation" />
      <xs:enumeration value="travelTimeInformation" />
      <xs:enumeration value="visibilityInformation" />
      <xs:enumeration value="windInformation" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="MeasuredValue">
    <xs:sequence>
      <xs:element name="measurementEquipmentTypeUsed" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="locationCharacteristicsOverride" type="D2LogicalModel:LocationCharacteristicsOverride" minOccurs="0" />
      <xs:element name="measurementEquipmentFault" type="D2LogicalModel:MeasurementEquipmentFault" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="basicData" type="D2LogicalModel:BasicData" minOccurs="0" />
      <xs:element name="measuredValueExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="MeasurementEquipmentFault">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Fault">
        <xs:sequence>
          <xs:element name="measurementEquipmentFault" type="D2LogicalModel:MeasurementEquipmentFaultEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="measurementEquipmentFaultExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="MeasurementEquipmentFaultEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="intermittentDataValues" />
      <xs:enumeration value="noDataValuesAvailable" />
      <xs:enumeration value="spuriousUnreliableDataValues" />
      <xs:enumeration value="unspecifiedOrUnknownFault" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="MeasurementSiteRecord">
    <xs:sequence>
      <xs:element name="measurementSiteRecordVersionTime" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1" />
      <xs:element name="computationMethod" type="D2LogicalModel:ComputationMethodEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="measurementEquipmentReference" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="measurementEquipmentTypeUsed" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="measurementSiteName" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="measurementSiteNumberOfLanes" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="measurementSiteIdentification" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="measurementSide" type="D2LogicalModel:DirectionEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="measurementSpecificCharacteristics" type="D2LogicalModel:_MeasurementSiteRecordIndexMeasurementSpecificCharacteristics" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="measurementSiteLocation" type="D2LogicalModel:GroupOfLocations" />
      <xs:element name="measurementSiteRecordExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="id" type="xs:string" use="required" />
    <xs:attribute name="version" type="xs:string" use="required" />
  </xs:complexType>
  <xs:complexType name="MeasurementSiteTable">
    <xs:sequence>
      <xs:element name="measurementSiteTableIdentification" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="measurementSiteRecord" type="D2LogicalModel:MeasurementSiteRecord" maxOccurs="unbounded" />
      <xs:element name="measurementSiteTableExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="id" type="xs:string" use="required" />
    <xs:attribute name="version" type="xs:string" use="required" />
  </xs:complexType>
  <xs:complexType name="MeasurementSiteTablePublication">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:PayloadPublication">
        <xs:sequence>
          <xs:element name="headerInformation" type="D2LogicalModel:HeaderInformation" />
          <xs:element name="measurementSiteTable" type="D2LogicalModel:MeasurementSiteTable" maxOccurs="unbounded" />
          <xs:element name="measurementSiteTablePublicationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="MeasurementSpecificCharacteristics">
    <xs:sequence>
      <xs:element name="accuracy" type="D2LogicalModel:Percentage" minOccurs="0" maxOccurs="1" />
      <xs:element name="period" type="D2LogicalModel:Seconds" minOccurs="0" maxOccurs="1" />
      <xs:element name="smoothingFactor" type="D2LogicalModel:Float" minOccurs="0" maxOccurs="1" />
      <xs:element name="specificLane" type="D2LogicalModel:LaneEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="specificMeasurementValueType" type="D2LogicalModel:MeasuredOrDerivedDataTypeEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="specificVehicleCharacteristics" type="D2LogicalModel:VehicleCharacteristics" minOccurs="0" />
      <xs:element name="measurementSpecificCharacteristicsExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="MetresAsFloat">
    <xs:restriction base="D2LogicalModel:Float" />
  </xs:simpleType>
  <xs:simpleType name="MetresAsNonNegativeInteger">
    <xs:restriction base="D2LogicalModel:NonNegativeInteger" />
  </xs:simpleType>
  <xs:complexType name="MicrogramsConcentrationValue">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:DataValue">
        <xs:sequence>
          <xs:element name="microgramsConcentration" type="D2LogicalModel:ConcentrationMicrogramsPerCubicMetre" minOccurs="1" maxOccurs="1" />
          <xs:element name="microgramsConcentrationValueExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Mobility">
    <xs:sequence>
      <xs:element name="mobilityType" type="D2LogicalModel:MobilityEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="mobilityExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="MobilityEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="mobile" />
      <xs:enumeration value="stationary" />
      <xs:enumeration value="unknown" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="MonthOfYearEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="january" />
      <xs:enumeration value="february" />
      <xs:enumeration value="march" />
      <xs:enumeration value="april" />
      <xs:enumeration value="may" />
      <xs:enumeration value="june" />
      <xs:enumeration value="july" />
      <xs:enumeration value="august" />
      <xs:enumeration value="september" />
      <xs:enumeration value="october" />
      <xs:enumeration value="november" />
      <xs:enumeration value="december" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="MultilingualString">
    <xs:sequence>
      <xs:element name="values">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" type="D2LogicalModel:MultilingualStringValue" maxOccurs="unbounded" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="MultilingualStringValue">
    <xs:simpleContent>
      <xs:extension base="D2LogicalModel:MultilingualStringValueType">
        <xs:attribute name="lang" type="xs:language" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="MultilingualStringValueType">
    <xs:restriction base="xs:string">
      <xs:maxLength value="1024" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="NamedArea">
    <xs:sequence>
      <xs:element name="country" type="D2LogicalModel:CountryEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="nation" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="county" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="areaName" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="policeForceControlArea" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="roadOperatorControlArea" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="namedAreaExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="NetworkLocation" abstract="true">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Location">
        <xs:sequence>
          <xs:element name="supplementaryPositionalDescription" type="D2LogicalModel:SupplementaryPositionalDescription" minOccurs="0" />
          <xs:element name="destination" type="D2LogicalModel:Destination" minOccurs="0" />
          <xs:element name="networkLocationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="NetworkManagement" abstract="true">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:OperatorAction">
        <xs:sequence>
          <xs:element name="complianceOption" type="D2LogicalModel:ComplianceOptionEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="applicableForTrafficDirection" type="D2LogicalModel:DirectionEnum" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="applicableForTrafficType" type="D2LogicalModel:TrafficTypeEnum" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="placesAtWhichApplicable" type="D2LogicalModel:PlacesEnum" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="automaticallyInitiated" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
          <xs:element name="forVehiclesWithCharacteristicsOf" type="D2LogicalModel:VehicleCharacteristics" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="networkManagementExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="NonManagedCause">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Cause">
        <xs:sequence>
          <xs:element name="causeDescription" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
          <xs:element name="causeType" type="D2LogicalModel:CauseTypeEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="nonManagedCauseExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="NonNegativeInteger">
    <xs:restriction base="xs:nonNegativeInteger" />
  </xs:simpleType>
  <xs:complexType name="NonOrderedLocationGroupByList">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:NonOrderedLocations">
        <xs:sequence>
          <xs:element name="locationContainedInGroup" type="D2LogicalModel:Location" minOccurs="2" maxOccurs="unbounded" />
          <xs:element name="nonOrderedLocationGroupByListExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="NonOrderedLocationGroupByReference">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:NonOrderedLocations">
        <xs:sequence>
          <xs:element name="predefinedNonOrderedLocationGroupReference" type="D2LogicalModel:_PredefinedNonOrderedLocationGroupVersionedReference" minOccurs="1" maxOccurs="1" />
          <xs:element name="nonOrderedLocationGroupByReferenceExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="NonOrderedLocations" abstract="true">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:GroupOfLocations">
        <xs:sequence>
          <xs:element name="nonOrderedLocationsExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="NonRoadEventInformation" abstract="true">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:SituationRecord">
        <xs:sequence>
          <xs:element name="nonRoadEventInformationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="NonWeatherRelatedRoadConditions">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:RoadConditions">
        <xs:sequence>
          <xs:element name="nonWeatherRelatedRoadConditionType" type="D2LogicalModel:NonWeatherRelatedRoadConditionTypeEnum" minOccurs="1" maxOccurs="unbounded" />
          <xs:element name="nonWeatherRelatedRoadConditionsExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="NonWeatherRelatedRoadConditionTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="dieselOnRoad" />
      <xs:enumeration value="leavesOnRoad" />
      <xs:enumeration value="looseChippings" />
      <xs:enumeration value="looseSandOnRoad" />
      <xs:enumeration value="mudOnRoad" />
      <xs:enumeration value="oilOnRoad" />
      <xs:enumeration value="petrolOnRoad" />
      <xs:enumeration value="roadSurfaceInPoorCondition" />
      <xs:enumeration value="slipperyRoad" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="NumberOfAxlesCharacteristic">
    <xs:sequence>
      <xs:element name="comparisonOperator" type="D2LogicalModel:ComparisonOperatorEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="numberOfAxles" type="D2LogicalModel:NonNegativeInteger" minOccurs="1" maxOccurs="1" />
      <xs:element name="numberOfAxlesCharacteristicExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Obstruction" abstract="true">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TrafficElement">
        <xs:sequence>
          <xs:element name="numberOfObstructions" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
          <xs:element name="mobilityOfObstruction" type="D2LogicalModel:Mobility" minOccurs="0" />
          <xs:element name="obstructionExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ObstructionTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="airCrash" />
      <xs:enumeration value="childrenOnRoadway" />
      <xs:enumeration value="clearanceWork" />
      <xs:enumeration value="craneOperating" />
      <xs:enumeration value="cyclistsOnRoadway" />
      <xs:enumeration value="debris" />
      <xs:enumeration value="explosion" />
      <xs:enumeration value="explosionHazard" />
      <xs:enumeration value="hazardsOnTheRoad" />
      <xs:enumeration value="highSpeedChase" />
      <xs:enumeration value="houseFire" />
      <xs:enumeration value="incident" />
      <xs:enumeration value="industrialAccident" />
      <xs:enumeration value="objectOnTheRoad" />
      <xs:enumeration value="objectsFallingFromMovingVehicle" />
      <xs:enumeration value="obstructionOnTheRoad" />
      <xs:enumeration value="peopleOnRoadway" />
      <xs:enumeration value="railCrash" />
      <xs:enumeration value="recklessDriver" />
      <xs:enumeration value="rescueAndRecoveryWork" />
      <xs:enumeration value="severeFrostDamagedRoadway" />
      <xs:enumeration value="shedLoad" />
      <xs:enumeration value="snowAndIceDebris" />
      <xs:enumeration value="spillageOccurringFromMovingVehicle" />
      <xs:enumeration value="spillageOnTheRoad" />
      <xs:enumeration value="unprotectedAccidentArea" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="OccupancyChangeValue">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:DataValue">
        <xs:sequence>
          <xs:element name="occupancyChange" type="D2LogicalModel:Integer" minOccurs="1" maxOccurs="1" />
          <xs:element name="occupancyChangeValueExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="OccupancyDetectionTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="none" />
      <xs:enumeration value="balancing" />
      <xs:enumeration value="singleSpaceDetection" />
      <xs:enumeration value="modelBased" />
      <xs:enumeration value="manual" />
      <xs:enumeration value="unspecified" />
      <xs:enumeration value="other" />
      <xs:enumeration value="unknown" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="OffsetDistance">
    <xs:sequence>
      <xs:element name="offsetDistance" type="D2LogicalModel:MetresAsNonNegativeInteger" minOccurs="1" maxOccurs="1" />
      <xs:element name="offsetDistanceExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="OpeningStatusEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="open" />
      <xs:enumeration value="closed" />
      <xs:enumeration value="closedAbnormal" />
      <xs:enumeration value="openingTimesInForce" />
      <xs:enumeration value="statusUnknown" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="OpeningTimes">
    <xs:sequence>
      <xs:element name="lastUpdated" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1" />
      <xs:element name="openAllYear" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="available24hours" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="urlLinkAddress" type="D2LogicalModel:Url" minOccurs="0" maxOccurs="1" />
      <xs:element name="openingTimesUnknown" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="openingTimesNotSpecified" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="validity" type="D2LogicalModel:Validity" minOccurs="0" />
      <xs:element name="openingTimesExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrAreaLocationReference">
    <xs:sequence>
      <xs:element name="openlrAreaLocationReferenceExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrBaseLocationReferencePoint" abstract="true">
    <xs:sequence>
      <xs:element name="openlrCoordinate" type="D2LogicalModel:PointCoordinates" />
      <xs:element name="openlrLineAttributes" type="D2LogicalModel:OpenlrLineAttributes" />
      <xs:element name="openlrBaseLocationReferencePointExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrBasePointLocation" abstract="true">
    <xs:sequence>
      <xs:element name="openlrSideOfRoad" type="D2LogicalModel:OpenlrSideOfRoadEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="openlrOrientation" type="D2LogicalModel:OpenlrOrientationEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="openlrPositiveOffset" type="D2LogicalModel:MetresAsNonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="openlrLocationReferencePoint" type="D2LogicalModel:OpenlrLocationReferencePoint" />
      <xs:element name="openlrLastLocationReferencePoint" type="D2LogicalModel:OpenlrLastLocationReferencePoint" />
      <xs:element name="openlrBasePointLocationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrCircleLocationReference">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:OpenlrAreaLocationReference">
        <xs:sequence>
          <xs:element name="radius" type="D2LogicalModel:MetresAsNonNegativeInteger" minOccurs="1" maxOccurs="1" />
          <xs:element name="openlrGeoCoordinate" type="D2LogicalModel:OpenlrGeoCoordinate" />
          <xs:element name="openlrCircleLocationReferenceExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OpenlrClosedLineLocationReference">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:OpenlrAreaLocationReference">
        <xs:sequence>
          <xs:element name="openlrLocationReferencePoint" type="D2LogicalModel:OpenlrLocationReferencePoint" maxOccurs="unbounded" />
          <xs:element name="openlrLastLine" type="D2LogicalModel:OpenlrLineAttributes" />
          <xs:element name="openlrClosedLineLocationReferenceExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OpenlrExtendedArea">
    <xs:sequence>
      <xs:element name="openlrAreaLocationReference" type="D2LogicalModel:OpenlrAreaLocationReference" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrExtendedLinear">
    <xs:sequence>
      <xs:element name="firstDirection" type="D2LogicalModel:OpenlrLineLocationReference" />
      <xs:element name="oppositeDirection" type="D2LogicalModel:OpenlrLineLocationReference" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrExtendedPoint">
    <xs:sequence>
      <xs:element name="openlrPointLocationReference" type="D2LogicalModel:OpenlrPointLocationReference" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="OpenlrFormOfWayEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="undefined" />
      <xs:enumeration value="motorway" />
      <xs:enumeration value="multipleCarriageway" />
      <xs:enumeration value="singleCarriageway" />
      <xs:enumeration value="roundabout" />
      <xs:enumeration value="slipRoad" />
      <xs:enumeration value="trafficSquare" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="OpenlrFunctionalRoadClassEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="FRC0" />
      <xs:enumeration value="FRC1" />
      <xs:enumeration value="FRC2" />
      <xs:enumeration value="FRC3" />
      <xs:enumeration value="FRC4" />
      <xs:enumeration value="FRC5" />
      <xs:enumeration value="FRC6" />
      <xs:enumeration value="FRC7" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="OpenlrGeoCoordinate">
    <xs:sequence>
      <xs:element name="openlrCoordinate" type="D2LogicalModel:PointCoordinates" />
      <xs:element name="openlrGeoCoordinateExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrGridAttributes">
    <xs:sequence>
      <xs:element name="openlrNumColumns" type="D2LogicalModel:NonNegativeInteger" minOccurs="1" maxOccurs="1" />
      <xs:element name="openlrNumRows" type="D2LogicalModel:NonNegativeInteger" minOccurs="1" maxOccurs="1" />
      <xs:element name="openlrGridAttributesExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrGridLocationReference">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:OpenlrAreaLocationReference">
        <xs:sequence>
          <xs:element name="openlrRectangle" type="D2LogicalModel:OpenlrRectangle" />
          <xs:element name="openlrGridAttributes" type="D2LogicalModel:OpenlrGridAttributes" />
          <xs:element name="openlrGridLocationReferenceExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OpenlrLastLocationReferencePoint">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:OpenlrBaseLocationReferencePoint">
        <xs:sequence>
          <xs:element name="openlrLastLocationReferencePointExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OpenlrLineAttributes">
    <xs:sequence>
      <xs:element name="openlrFunctionalRoadClass" type="D2LogicalModel:OpenlrFunctionalRoadClassEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="openlrFormOfWay" type="D2LogicalModel:OpenlrFormOfWayEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="openlrBearing" type="D2LogicalModel:AngleInDegrees" minOccurs="1" maxOccurs="1" />
      <xs:element name="openlrLineAttributesExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrLineLocationReference">
    <xs:sequence>
      <xs:element name="openlrLocationReferencePoint" type="D2LogicalModel:OpenlrLocationReferencePoint" maxOccurs="unbounded" />
      <xs:element name="openlrLastLocationReferencePoint" type="D2LogicalModel:OpenlrLastLocationReferencePoint" />
      <xs:element name="openlrOffsets" type="D2LogicalModel:OpenlrOffsets" minOccurs="0" />
      <xs:element name="openlrLineLocationReferenceExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrLocationReferencePoint">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:OpenlrBaseLocationReferencePoint">
        <xs:sequence>
          <xs:element name="openlrPathAttributes" type="D2LogicalModel:OpenlrPathAttributes" />
          <xs:element name="openlrLocationReferencePointExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OpenlrOffsets">
    <xs:sequence>
      <xs:element name="openlrPositiveOffset" type="D2LogicalModel:MetresAsNonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="openlrNegativeOffset" type="D2LogicalModel:MetresAsNonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="openlrOffsetsExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="OpenlrOrientationEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="noOrientationOrUnknown" />
      <xs:enumeration value="withLineDirection" />
      <xs:enumeration value="againstLineDirection" />
      <xs:enumeration value="both" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="OpenlrPathAttributes">
    <xs:sequence>
      <xs:element name="openlrLowestFRCToNextLRPoint" type="D2LogicalModel:OpenlrFunctionalRoadClassEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="openlrDistanceToNextLRPoint" type="D2LogicalModel:NonNegativeInteger" minOccurs="1" maxOccurs="1" />
      <xs:element name="openlrPathAttributesExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrPointAlongLine">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:OpenlrBasePointLocation">
        <xs:sequence>
          <xs:element name="openlrPointAlongLineExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OpenlrPointLocationReference">
    <xs:sequence>
      <xs:element name="openlrGeoCoordinate" type="D2LogicalModel:OpenlrGeoCoordinate" minOccurs="0" />
      <xs:element name="openlrPoiWithAccessPoint" type="D2LogicalModel:OpenlrPoiWithAccessPoint" minOccurs="0" />
      <xs:element name="openlrPointAlongLine" type="D2LogicalModel:OpenlrPointAlongLine" minOccurs="0" />
      <xs:element name="openlrPointLocationReferenceExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrPoiWithAccessPoint">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:OpenlrBasePointLocation">
        <xs:sequence>
          <xs:element name="openlrCoordinate" type="D2LogicalModel:PointCoordinates" />
          <xs:element name="openlrPoiWithAccessPointExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OpenlrPolygonCorners">
    <xs:sequence>
      <xs:element name="openlrCoordinate" type="D2LogicalModel:PointCoordinates" minOccurs="3" maxOccurs="unbounded" />
      <xs:element name="openlrPolygonCornersExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrPolygonLocationReference">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:OpenlrAreaLocationReference">
        <xs:sequence>
          <xs:element name="openlrPolygonCorners" type="D2LogicalModel:OpenlrPolygonCorners" />
          <xs:element name="openlrPolygonLocationReferenceExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OpenlrRectangle">
    <xs:sequence>
      <xs:element name="openlrLowerLeft" type="D2LogicalModel:PointCoordinates" />
      <xs:element name="openlrUpperRight" type="D2LogicalModel:PointCoordinates" />
      <xs:element name="openlrRectangleExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrRectangleLocationReference">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:OpenlrAreaLocationReference">
        <xs:sequence>
          <xs:element name="openlrRectangle" type="D2LogicalModel:OpenlrRectangle" />
          <xs:element name="openlrRectangleLocationReferenceExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="OpenlrSideOfRoadEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="onRoadOrUnknown" />
      <xs:enumeration value="right" />
      <xs:enumeration value="left" />
      <xs:enumeration value="both" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="OperatingModeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="operatingMode0" />
      <xs:enumeration value="operatingMode1" />
      <xs:enumeration value="operatingMode2" />
      <xs:enumeration value="operatingMode3" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="OperationStatusEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="inOperation" />
      <xs:enumeration value="limitedOperation" />
      <xs:enumeration value="notInOperation" />
      <xs:enumeration value="notInOperationAbnormal" />
      <xs:enumeration value="technicalDefect" />
      <xs:enumeration value="unknown" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="OperatorAction">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:SituationRecord">
        <xs:sequence>
          <xs:element name="actionOrigin" type="D2LogicalModel:OperatorActionOriginEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="actionPlanIdentifier" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
          <xs:element name="operatorActionStatus" type="D2LogicalModel:OperatorActionStatusEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="operatorActionExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="OperatorActionOriginEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="external" />
      <xs:enumeration value="internal" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="OperatorActionStatusEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="requested" />
      <xs:enumeration value="approved" />
      <xs:enumeration value="beingImplemented" />
      <xs:enumeration value="implemented" />
      <xs:enumeration value="rejected" />
      <xs:enumeration value="terminationRequested" />
      <xs:enumeration value="beingTerminated" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="OverallPeriod">
    <xs:sequence>
      <xs:element name="overallStartTime" type="D2LogicalModel:DateTime" minOccurs="1" maxOccurs="1" />
      <xs:element name="overallEndTime" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1" />
      <xs:element name="validPeriod" type="D2LogicalModel:Period" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="exceptionPeriod" type="D2LogicalModel:Period" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="overallPeriodExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="OwnershipTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="public" />
      <xs:enumeration value="private" />
      <xs:enumeration value="publicPrivate" />
      <xs:enumeration value="resident" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ParkingAccess">
    <xs:sequence>
      <xs:element name="accessCategory" type="D2LogicalModel:AccessCategoryEnum" minOccurs="1" maxOccurs="unbounded" />
      <xs:element name="accessName" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="accessEquipment" type="D2LogicalModel:AccessEquipmentEnum" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="accessibility" type="D2LogicalModel:AccessibilityEnum" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="photoUrl" type="D2LogicalModel:Url" minOccurs="0" maxOccurs="1" />
      <xs:element name="accessOnlyAssignedFor" type="D2LogicalModel:ParkingAssignment" minOccurs="0" />
      <xs:element name="accessAssignedAmongOthers" type="D2LogicalModel:ParkingAssignment" minOccurs="0" />
      <xs:element name="accessProhibitedFor" type="D2LogicalModel:ParkingAssignment" minOccurs="0" />
      <xs:element name="primaryRoad" type="D2LogicalModel:Road" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="location" type="D2LogicalModel:Location" minOccurs="0" />
      <xs:element name="openingTimes" type="D2LogicalModel:OpeningTimes" minOccurs="0" />
      <xs:element name="parkingAccessExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="id" type="xs:string" use="required" />
  </xs:complexType>
  <xs:complexType name="ParkingAccessStatus">
    <xs:sequence>
      <xs:element name="accessReference" type="D2LogicalModel:_ParkingAccessReference" minOccurs="1" maxOccurs="1" />
      <xs:element name="accessOpeningStatus" type="D2LogicalModel:OpeningStatusEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="accessFault" type="D2LogicalModel:ParkingFaultEnum" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingAccessStatusExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ParkingAssignment">
    <xs:sequence>
      <xs:element name="applicableForUser" type="D2LogicalModel:UserTypeEnum" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingDuration" type="D2LogicalModel:ParkingDurationEnum" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="vehicleCharacteristics" type="D2LogicalModel:VehicleCharacteristics" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="hazardousMaterials" type="D2LogicalModel:HazardousMaterials" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="timePeriodByHour" type="D2LogicalModel:TimePeriodByHour" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingPermit" type="D2LogicalModel:ParkingPermit" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingAssignmentExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ParkingConditionsEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="normalParkingConditionsSuspended" />
      <xs:enumeration value="specialParkingConditionsInForce" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ParkingDurationEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="pickUpDropOff" />
      <xs:enumeration value="shortTerm" />
      <xs:enumeration value="shortTerm24hours" />
      <xs:enumeration value="shortTerm48hours" />
      <xs:enumeration value="shortTerm72hours" />
      <xs:enumeration value="shortTerm96hours" />
      <xs:enumeration value="longTerm" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ParkingEquipmentOrServiceFacility" abstract="true">
    <xs:sequence>
      <xs:element name="equipmentOrServiceFacilityIdentifier" type="D2LogicalModel:String" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="availability" type="D2LogicalModel:AvailabilityEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="numberOfEquipmentOrServiceFacility" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="additionalDescription" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="otherEquipmentOrServiceFacility" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="accessibility" type="D2LogicalModel:AccessibilityEnum" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="nameOrBrand" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="comment" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="photoUrl" type="D2LogicalModel:Url" minOccurs="0" maxOccurs="1" />
      <xs:element name="applicableForUser" type="D2LogicalModel:UserTypeEnum" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="availabilityAndOpeningTimes" type="D2LogicalModel:OpeningTimes" minOccurs="0" />
      <xs:element name="tariffsAndPayment" type="D2LogicalModel:TariffsAndPayment" minOccurs="0" />
      <xs:element name="groupOfLocations" type="D2LogicalModel:GroupOfLocations" minOccurs="0" />
      <xs:element name="applicableForVehicles" type="D2LogicalModel:VehicleCharacteristics" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingEquipmentOrServiceFacilityExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ParkingEquipmentOrServiceFacilityStatus">
    <xs:sequence>
      <xs:element name="numberOfEquipmentOrServiceFacilityOverride" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="numberOfSubitemsOverride" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="vacantEquipmentOrServiceFacilitySubitems" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="serviceFacilityOpeningStatus" type="D2LogicalModel:OpeningStatusEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="equipmentOperationStatus" type="D2LogicalModel:OperationStatusEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="parkingEquipmentOrServiceFacilityStatusExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ParkingFaultEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="communicationsFailure" />
      <xs:enumeration value="barrierMalfunction" />
      <xs:enumeration value="entranceExitObstructed" />
      <xs:enumeration value="erroneousOccupancyInformation" />
      <xs:enumeration value="erroneousOccupancyDisplayed" />
      <xs:enumeration value="paymentMachinesInoperative" />
      <xs:enumeration value="reservationServiceOutOfOrder" />
      <xs:enumeration value="noParkingInformationAvailable" />
      <xs:enumeration value="unspecified" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ParkingLayoutEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="multiStorey" />
      <xs:enumeration value="singleLevel" />
      <xs:enumeration value="underground" />
      <xs:enumeration value="undergroundAndMultistorey" />
      <xs:enumeration value="automatedParkingGarage" />
      <xs:enumeration value="openSpace" />
      <xs:enumeration value="covered" />
      <xs:enumeration value="nested" />
      <xs:enumeration value="field" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ParkingModeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="perpendicularParking" />
      <xs:enumeration value="parallelParking" />
      <xs:enumeration value="echelonParking" />
      <xs:enumeration value="parkingOnOppositeSideOfRoad" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ParkingOccupancy">
    <xs:sequence>
      <xs:element name="parkingNumberOfSpacesOverride" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="parkingNumberOfVacantSpaces" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="parkingNumberOfVacantSpacesLowerThan" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="parkingNumberOfVacantSpacesHigherThan" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="parkingNumberOfVacantSpacesGraded" type="D2LogicalModel:ParkingVacantSpacesEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="parkingNumberOfOccupiedSpaces" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="parkingNumberOfVehicles" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="parkingOccupancy" type="D2LogicalModel:Percentage" minOccurs="0" maxOccurs="1" />
      <xs:element name="parkingOccupancyGraded" type="D2LogicalModel:ParkingOccupancyEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="parkingOccupancyTrend" type="D2LogicalModel:ParkingOccupancyTrendEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="parkingNotAllowed" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="vehicleCountAndRate" type="D2LogicalModel:VehicleCountAndRate" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingOccupancyExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ParkingOccupancyEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="expectCarParkToBeFull" />
      <xs:enumeration value="percentage10" />
      <xs:enumeration value="percentage20" />
      <xs:enumeration value="percentage30" />
      <xs:enumeration value="percentage40" />
      <xs:enumeration value="percentage50" />
      <xs:enumeration value="percentage60" />
      <xs:enumeration value="percentage70" />
      <xs:enumeration value="percentage80" />
      <xs:enumeration value="percentage90" />
      <xs:enumeration value="full" />
      <xs:enumeration value="unknown" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ParkingOccupancyTrendEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="decreasing" />
      <xs:enumeration value="increasing" />
      <xs:enumeration value="stable" />
      <xs:enumeration value="increasingQuickly" />
      <xs:enumeration value="increasingSlowly" />
      <xs:enumeration value="decreasingQuickly" />
      <xs:enumeration value="decreasingSlowly" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ParkingPaymentModeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="payAndDisplay" />
      <xs:enumeration value="payManualAtExitBooth" />
      <xs:enumeration value="payPriorToExit" />
      <xs:enumeration value="payByPrepaidToken" />
      <xs:enumeration value="payAndExit" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ParkingPermit">
    <xs:sequence>
      <xs:element name="parkingPermitType" type="D2LogicalModel:PermitTypeEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="parkingPermitScheme" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="parkingPermitIdentifier" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="parkingPermitExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ParkingRecord" abstract="true">
    <xs:sequence>
      <xs:element name="parkingName" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="parkingAlias" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingDescription" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="parkingRecordVersionTime" type="D2LogicalModel:DateTime" minOccurs="1" maxOccurs="1" />
      <xs:element name="parkingNumberOfSpaces" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="parkingPrincipalNumberOfSpaces" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="maximumParkingDuration" type="D2LogicalModel:Seconds" minOccurs="0" maxOccurs="1" />
      <xs:element name="photoUrl" type="D2LogicalModel:Url" minOccurs="0" maxOccurs="1" />
      <xs:element name="urlLinkAddress" type="D2LogicalModel:Url" minOccurs="0" maxOccurs="1" />
      <xs:element name="parkingOccupanyDetectionType" type="D2LogicalModel:OccupancyDetectionTypeEnum" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="emergencyContact" type="D2LogicalModel:Contact" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="owner" type="D2LogicalModel:Contact" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="responisbleAuthority" type="D2LogicalModel:Contact" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="securityService" type="D2LogicalModel:Contact" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="operator" type="D2LogicalModel:Contact" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="servicePartner" type="D2LogicalModel:Contact" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingVMS" type="D2LogicalModel:ParkingVMS" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingLocation" type="D2LogicalModel:GroupOfLocations" />
      <xs:element name="parkingRoute" type="D2LogicalModel:ParkingRoute" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingColour" type="D2LogicalModel:RGBColour" minOccurs="0" />
      <xs:element name="onlyAssignedParking" type="D2LogicalModel:ParkingAssignment" minOccurs="0" />
      <xs:element name="assignedParkingAmongOthers" type="D2LogicalModel:ParkingAssignment" minOccurs="0" />
      <xs:element name="prohibitedParking" type="D2LogicalModel:ParkingAssignment" minOccurs="0" />
      <xs:element name="tariffsAndPayment" type="D2LogicalModel:TariffsAndPayment" minOccurs="0" />
      <xs:element name="parkingEquipmentOrServiceFacility" type="D2LogicalModel:_ParkingRecordEquipmentOrServiceFacilityIndexParkingEquipmentOrServiceFacility" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingSpace" type="D2LogicalModel:_ParkingSpace" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="groupOfParkingSpaces" type="D2LogicalModel:_GroupOfParkingSpaces" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingThresholds" type="D2LogicalModel:ParkingThresholds" minOccurs="0" />
      <xs:element name="permitsAndProhibitions" type="D2LogicalModel:PermitsAndProhibitions" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="emergencyAssemblyPoint" type="D2LogicalModel:GroupOfLocations" minOccurs="0" />
      <xs:element name="entireArea" type="D2LogicalModel:Area" minOccurs="0" />
      <xs:element name="parkingRecordDimension" type="D2LogicalModel:Dimension" minOccurs="0" />
      <xs:element name="parkingRecordExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="id" type="xs:string" use="required" />
    <xs:attribute name="version" type="xs:string" use="required" />
  </xs:complexType>
  <xs:complexType name="ParkingRecordStatus" abstract="true">
    <xs:sequence>
      <xs:element name="parkingRecordReference" type="D2LogicalModel:_ParkingRecordVersionedReference" minOccurs="1" maxOccurs="1" />
      <xs:element name="parkingStatusOriginTime" type="D2LogicalModel:DateTime" minOccurs="1" maxOccurs="1" />
      <xs:element name="parkingStatusDescription" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="parkingQueueingTime" type="D2LogicalModel:Seconds" minOccurs="0" maxOccurs="1" />
      <xs:element name="parkingConditions" type="D2LogicalModel:ParkingConditionsEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="blurredAvailability" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingFault" type="D2LogicalModel:ParkingFaultEnum" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="winterEquipmentManagementType" type="D2LogicalModel:WinterEquipmentManagementTypeEnum" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingSpaceStatus" type="D2LogicalModel:_ParkingRecordStatusParkingSpaceIndexParkingSpaceStatus" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingOccupancy" type="D2LogicalModel:ParkingOccupancy" />
      <xs:element name="groupOfParkingSpacesStatus" type="D2LogicalModel:_ParkingRecordStatusGroupIndexGroupOfParkingSpacesStatus" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingStatusValidity" type="D2LogicalModel:ParkingStatusValidity" minOccurs="0" />
      <xs:element name="overrideParkingThresholds" type="D2LogicalModel:ParkingThresholds" minOccurs="0" />
      <xs:element name="parkingEquipmentOrServiceFacilityStatus" type="D2LogicalModel:_ParkingRecordStatusEquipmentOrServiceFacilityIndexParkingEquipmentOrServiceFacilityStatus" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingUsageScenarioStatus" type="D2LogicalModel:_ParkingRecordStatusScenarioIndexParkingUsageScenarioStatus" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingAccessStatus" type="D2LogicalModel:ParkingAccessStatus" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingRouteStatus" type="D2LogicalModel:ParkingRouteStatus" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingRecordStatusExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ParkingRoute" abstract="true">
    <xs:sequence>
      <xs:element name="parkingRouteColour" type="D2LogicalModel:RGBColour" minOccurs="0" />
      <xs:element name="parkingRouteExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ParkingRouteByReference">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:ParkingRoute">
        <xs:sequence>
          <xs:element name="parkingRouteReference" type="D2LogicalModel:_ParkingRouteDetailsVersionedReference" minOccurs="1" maxOccurs="1" />
          <xs:element name="parkingRouteByReferenceExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ParkingRouteDetails">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:ParkingRoute">
        <xs:sequence>
          <xs:element name="parkingRouteName" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
          <xs:element name="parkingRouteType" type="D2LogicalModel:ParkingRouteTypeEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="dynamicRouteManagement" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
          <xs:element name="parkingRouteIconIndex" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
          <xs:element name="parkingRouteDirection" type="D2LogicalModel:DirectionEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="parkingRouteDirection2" type="D2LogicalModel:ParkingRouteDirectionEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="groupOfLocations" type="D2LogicalModel:GroupOfLocations" minOccurs="0" />
          <xs:element name="parkingRouteDetailsExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required" />
        <xs:attribute name="version" type="xs:string" use="required" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ParkingRouteDirectionEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="towardsParkingSite" />
      <xs:enumeration value="awayFromParkingSite" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ParkingRouteStatus">
    <xs:sequence>
      <xs:element name="parkingRouteReference" type="D2LogicalModel:_ParkingRouteDetailsVersionedReference" minOccurs="1" maxOccurs="1" />
      <xs:element name="parkingRouteActive" type="D2LogicalModel:Boolean" minOccurs="1" maxOccurs="1" />
      <xs:element name="parkingRouteStatusExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ParkingRouteTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="pedestrian" />
      <xs:enumeration value="bicycle" />
      <xs:enumeration value="lorry" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ParkingSecurityEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="socialControl" />
      <xs:enumeration value="securityStaff" />
      <xs:enumeration value="externalSecurity" />
      <xs:enumeration value="cctv" />
      <xs:enumeration value="dog" />
      <xs:enumeration value="guard24hours" />
      <xs:enumeration value="lighting" />
      <xs:enumeration value="floodLight" />
      <xs:enumeration value="fences" />
      <xs:enumeration value="areaSeperatedFromSurroundings" />
      <xs:enumeration value="none" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ParkingSite" abstract="true">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:ParkingRecord">
        <xs:sequence>
          <xs:element name="parkingReservation" type="D2LogicalModel:ReservationTypeEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="parkingLayout" type="D2LogicalModel:ParkingLayoutEnum" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="highestFloor" type="D2LogicalModel:Integer" minOccurs="0" maxOccurs="1" />
          <xs:element name="lowestFloor" type="D2LogicalModel:Integer" minOccurs="0" maxOccurs="1" />
          <xs:element name="temporaryParking" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
          <xs:element name="parkingSiteAddress" type="D2LogicalModel:Contact" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="reservationService" type="D2LogicalModel:Contact" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="parkingUsageScenario" type="D2LogicalModel:_ParkingSiteScenarioIndexParkingUsageScenario" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="openingTimes" type="D2LogicalModel:OpeningTimes" minOccurs="0" />
          <xs:element name="parkingAccess" type="D2LogicalModel:ParkingAccess" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="parkingStandardsAndSecurity" type="D2LogicalModel:ParkingStandardsAndSecurity" minOccurs="0" />
          <xs:element name="parkingSiteExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ParkingSiteOvercrowdingStatusEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="overcrowding" />
      <xs:enumeration value="noOvercrowding" />
      <xs:enumeration value="overcrowdingLevel1" />
      <xs:enumeration value="overcrowdingLevel2" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ParkingSiteStatus">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:ParkingRecordStatus">
        <xs:sequence>
          <xs:element name="parkingSiteStatus" type="D2LogicalModel:ParkingSiteStatusEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="parkingSiteOpeningStatus" type="D2LogicalModel:OpeningStatusEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="parkingSiteOvercrowdingStatus" type="D2LogicalModel:ParkingSiteOvercrowdingStatusEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="parkingSiteFullAtFloor" type="D2LogicalModel:Integer" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="parkingSiteStatusExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ParkingSiteStatusEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="spacesAvailable" />
      <xs:enumeration value="almostFull" />
      <xs:enumeration value="fullAtEntrance" />
      <xs:enumeration value="full" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ParkingSpace">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:ParkingSpaceBasics">
        <xs:sequence>
          <xs:element name="identicalToParkingSpace" type="D2LogicalModel:IndexReference" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="location" type="D2LogicalModel:Location" minOccurs="0" />
          <xs:element name="parkingSpaceDimension" type="D2LogicalModel:Dimension" minOccurs="0" />
          <xs:element name="parkingSpaceExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ParkingSpaceAccessibilityEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="extraSpaceLeftSide" />
      <xs:enumeration value="extraSpaceRightSide" />
      <xs:enumeration value="nearbyPedestrianExit" />
      <xs:enumeration value="bordersMarked" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ParkingSpaceBasics" abstract="true">
    <xs:sequence>
      <xs:element name="parkingSpaceOrGroupIdentifier" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="parkingFloorOrLevel" type="D2LogicalModel:Integer" minOccurs="0" maxOccurs="1" />
      <xs:element name="accessibility" type="D2LogicalModel:AccessibilityEnum" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingSpaceAccessibility" type="D2LogicalModel:ParkingSpaceAccessibilityEnum" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingSpacePhysics" type="D2LogicalModel:ParkingSpacePhysicsEnum" minOccurs="0" maxOccurs="2" />
      <xs:element name="parkingMode" type="D2LogicalModel:ParkingModeEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="parkingReservation" type="D2LogicalModel:ReservationTypeEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="maximumParkingDuration" type="D2LogicalModel:Seconds" minOccurs="0" maxOccurs="1" />
      <xs:element name="distanceFromPrimaryRoad" type="D2LogicalModel:MetresAsNonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="parkingOccupanyDetectionType" type="D2LogicalModel:OccupancyDetectionTypeEnum" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingSecurity" type="D2LogicalModel:ParkingSecurityEnum" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="dedicatedAccess" type="D2LogicalModel:DedicatedAccess" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="onlyAssignedParking" type="D2LogicalModel:ParkingAssignment" minOccurs="0" />
      <xs:element name="assignedParkingAmongOthers" type="D2LogicalModel:ParkingAssignment" minOccurs="0" />
      <xs:element name="prohibitedParking" type="D2LogicalModel:ParkingAssignment" minOccurs="0" />
      <xs:element name="parkingEquipmentOrServiceFacility" type="D2LogicalModel:_ParkingSpaceBasicsEquipmentOrServiceFacilityIndexParkingEquipmentOrServiceFacility" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingUsageScenario" type="D2LogicalModel:_ParkingSpaceBasicsScenarioIndexParkingUsageScenario" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingSpaceBasicsExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ParkingSpacePhysicsEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="driveThrough" />
      <xs:enumeration value="openAir" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ParkingSpaceStatus">
    <xs:sequence>
      <xs:element name="parkingSpaceOccupied" type="D2LogicalModel:Boolean" minOccurs="1" maxOccurs="1" />
      <xs:element name="parkingSpaceClosed" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="parkingSpaceDeclarationValidNow" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="measurementOrCalculationTime" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1" />
      <xs:element name="lastCalibration" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1" />
      <xs:element name="parkingSpaceStatusExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ParkingSpecialLocationEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="airportTerminal" />
      <xs:enumeration value="exhibitonCentre" />
      <xs:enumeration value="shoppingCentre" />
      <xs:enumeration value="specificFacility" />
      <xs:enumeration value="trainStation" />
      <xs:enumeration value="campground" />
      <xs:enumeration value="themePark" />
      <xs:enumeration value="ferryTerminal" />
      <xs:enumeration value="vehicleOnRailTerminal" />
      <xs:enumeration value="coachStation" />
      <xs:enumeration value="cableCarStation" />
      <xs:enumeration value="publicTransportStation" />
      <xs:enumeration value="market" />
      <xs:enumeration value="religiousCentre" />
      <xs:enumeration value="conventionCentre" />
      <xs:enumeration value="cinema" />
      <xs:enumeration value="skilift" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ParkingStandardsAndSecurity">
    <xs:sequence>
      <xs:element name="labelSecurityLevel" type="D2LogicalModel:LABELSecurityLevelEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="labelServiceLevel" type="D2LogicalModel:LABELServiceLevelEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="labelSecurityLevelSelfAssessment" type="D2LogicalModel:LABELSecurityLevelEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="labelServiceLevelSelfAssessment" type="D2LogicalModel:LABELServiceLevelEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="parkingSecurity" type="D2LogicalModel:ParkingSecurityEnum" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingAdditionalSecurity" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingSupervision" type="D2LogicalModel:ParkingSupervisionEnum" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingSecurityNationalClassification" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="certifiedSecureParking" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="dateOfCertification" type="D2LogicalModel:Date" minOccurs="0" maxOccurs="1" />
      <xs:element name="parkingStandardsAndSecurityExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ParkingStatusColourMapping">
    <xs:sequence>
      <xs:element name="parkingSiteStatus" type="D2LogicalModel:ParkingSiteStatusEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="rgbColour" type="D2LogicalModel:RGBColour" />
      <xs:element name="parkingStatusColourMappingExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ParkingStatusPublication">
    <xs:sequence>
      <xs:element name="parkingTableReference" type="D2LogicalModel:_ParkingTableVersionedReference" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="headerInformation" type="D2LogicalModel:HeaderInformation" minOccurs="0" />
      <xs:element name="parkingRecordStatus" type="D2LogicalModel:ParkingRecordStatus" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ParkingStatusValidity">
    <xs:sequence>
      <xs:element name="parkingStatusTime" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1" />
      <xs:element name="parkingStatusTimeOffsetToOrigin" type="D2LogicalModel:Seconds" minOccurs="0" maxOccurs="1" />
      <xs:element name="validityTimeSpecification" type="D2LogicalModel:OverallPeriod" minOccurs="0" />
      <xs:element name="parkingStatusValidityExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ParkingSupervisionEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="remote" />
      <xs:enumeration value="onSite" />
      <xs:enumeration value="controlCentreOnSite" />
      <xs:enumeration value="controlCentreOffSite" />
      <xs:enumeration value="patrol" />
      <xs:enumeration value="none" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ParkingTable">
    <xs:sequence>
      <xs:element name="parkingTableName" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="parkingTableVersionTime" type="D2LogicalModel:DateTime" minOccurs="1" maxOccurs="1" />
      <xs:element name="parkingRecord" type="D2LogicalModel:ParkingRecord" maxOccurs="unbounded" />
      <xs:element name="parkingTableExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="id" type="xs:string" use="required" />
    <xs:attribute name="version" type="xs:string" use="required" />
  </xs:complexType>
  <xs:complexType name="ParkingTablePublication">
    <xs:sequence>
      <xs:element name="headerInformation" type="D2LogicalModel:HeaderInformation" minOccurs="0" />
      <xs:element name="parkingTable" type="D2LogicalModel:ParkingTable" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ParkingThresholds">
    <xs:sequence>
      <xs:element name="almostFullDecreasing" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="almostFullIncreasing" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="entranceFull" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="fullDecreasing" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="fullIncreasing" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="overcrowding" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="overcrowdingLevel1" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="overcrowdingLevel2" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="parkingLastMaximumOccupancy" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="parkingStatusColourMapping" type="D2LogicalModel:ParkingStatusColourMapping" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingThresholdsExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ParkingTypeOfGroup">
    <xs:restriction base="xs:string">
      <xs:enumeration value="adjacentSpaces" />
      <xs:enumeration value="nonAdjacentSpaces" />
      <xs:enumeration value="completeFloor" />
      <xs:enumeration value="mixedUsage" />
      <xs:enumeration value="statisticsOnly" />
      <xs:enumeration value="singleParameters" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ParkingUsageScenario">
    <xs:sequence>
      <xs:element name="parkingUsageScenario" type="D2LogicalModel:ParkingUsageScenarioEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="truckParkingDynamicManagement" type="D2LogicalModel:TruckParkingDynamicManagementEnum" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="eventParkingType" type="D2LogicalModel:PublicEventTypeEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="eventParkingType2" type="D2LogicalModel:PublicEventType2Enum" minOccurs="0" maxOccurs="1" />
      <xs:element name="scenarioAvailability" type="D2LogicalModel:OverallPeriod" minOccurs="0" />
      <xs:element name="parkingUsageScenarioExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ParkingUsageScenarioEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="truckParking" />
      <xs:enumeration value="parkAndRide" />
      <xs:enumeration value="parkAndCycle" />
      <xs:enumeration value="parkAndWalk" />
      <xs:enumeration value="kissAndRide" />
      <xs:enumeration value="liftshare" />
      <xs:enumeration value="carSharing" />
      <xs:enumeration value="restArea" />
      <xs:enumeration value="serviceArea" />
      <xs:enumeration value="dropOffWithValet" />
      <xs:enumeration value="dropOffMechanical" />
      <xs:enumeration value="eventParking" />
      <xs:enumeration value="automaticParkingGuidance" />
      <xs:enumeration value="staffGuidesToSpace" />
      <xs:enumeration value="vehicleLift" />
      <xs:enumeration value="loadingBay" />
      <xs:enumeration value="dropOff" />
      <xs:enumeration value="overnightParking" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ParkingUsageScenarioStatus">
    <xs:sequence>
      <xs:element name="usageScenarioOperationStatus" type="D2LogicalModel:OperationStatusEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="parkingUsageScenarioStatusExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ParkingVacantSpacesEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="noParkingSpacesAvailable" />
      <xs:enumeration value="expectNoSpacesAvailable" />
      <xs:enumeration value="onlyAFewSpacesAvailable" />
      <xs:enumeration value="lessThan10SpacesAvailable" />
      <xs:enumeration value="lessThan20SpacesAvailable" />
      <xs:enumeration value="lessThan30SpacesAvailable" />
      <xs:enumeration value="lessThan40SpacesAvailable" />
      <xs:enumeration value="lessThan50SpacesAvailable" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ParkingVehicle">
    <xs:sequence>
      <xs:element name="parkingRecordReference" type="D2LogicalModel:_ParkingRecordVersionedReference" minOccurs="1" maxOccurs="1" />
      <xs:element name="parkingSpaceReference" type="D2LogicalModel:IndexReference" minOccurs="0" maxOccurs="1" />
      <xs:element name="groupOfParkingSpacesReference" type="D2LogicalModel:IndexReference" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingPermit" type="D2LogicalModel:ParkingPermit" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="vehicle" type="D2LogicalModel:Vehicle" />
      <xs:element name="individualCharge" type="D2LogicalModel:IndividualCharge" minOccurs="0" />
      <xs:element name="parkingPeriod" type="D2LogicalModel:OverallPeriod" minOccurs="0" />
      <xs:element name="parkingVehicleExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="id" type="xs:string" use="required" />
    <xs:attribute name="version" type="xs:string" use="required" />
  </xs:complexType>
  <xs:complexType name="ParkingVehiclesPublication">
    <xs:sequence>
      <xs:element name="parkingTableReference" type="D2LogicalModel:_ParkingTableVersionedReference" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingVehicle" type="D2LogicalModel:ParkingVehicle" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ParkingVMS">
    <xs:sequence>
      <xs:element name="vmsUnitUsedToManageParking" type="D2LogicalModel:_VmsUnitRecordVersionedReference" minOccurs="1" maxOccurs="1" />
      <xs:element name="vmsOperator" type="D2LogicalModel:Contact" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingVMSExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="PassengerCarUnitsPerHour">
    <xs:restriction base="D2LogicalModel:NonNegativeInteger" />
  </xs:simpleType>
  <xs:complexType name="PayloadPublication" abstract="true">
    <xs:sequence>
      <xs:element name="feedDescription" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="feedType" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="publicationTime" type="D2LogicalModel:DateTime" minOccurs="1" maxOccurs="1" />
      <xs:element name="publicationCreator" type="D2LogicalModel:InternationalIdentifier" />
      <xs:element name="payloadPublicationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="lang" type="D2LogicalModel:Language" use="required" />
  </xs:complexType>
  <xs:simpleType name="PaymentCardBrandsEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="americanExpress" />
      <xs:enumeration value="cirrus" />
      <xs:enumeration value="dinersClub" />
      <xs:enumeration value="discoverCard" />
      <xs:enumeration value="giroCard" />
      <xs:enumeration value="maestro" />
      <xs:enumeration value="masterCard" />
      <xs:enumeration value="visa" />
      <xs:enumeration value="vPay" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PaymentCardTypesEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="creditCard" />
      <xs:enumeration value="debitCard" />
      <xs:enumeration value="chargeCard" />
      <xs:enumeration value="fleetCard" />
      <xs:enumeration value="storedValueCard" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="PcuFlowValue">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:DataValue">
        <xs:sequence>
          <xs:element name="pcuFlowRate" type="D2LogicalModel:PassengerCarUnitsPerHour" minOccurs="1" maxOccurs="1" />
          <xs:element name="pcuFlowValueExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="Percentage">
    <xs:restriction base="D2LogicalModel:Float" />
  </xs:simpleType>
  <xs:complexType name="PercentageDistanceAlongLinearElement">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:DistanceAlongLinearElement">
        <xs:sequence>
          <xs:element name="percentageDistanceAlong" type="D2LogicalModel:Percentage" minOccurs="1" maxOccurs="1" />
          <xs:element name="percentageDistanceAlongLinearElementExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PercentageValue">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:DataValue">
        <xs:sequence>
          <xs:element name="percentage" type="D2LogicalModel:Percentage" minOccurs="1" maxOccurs="1" />
          <xs:element name="percentageValueExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Period">
    <xs:sequence>
      <xs:element name="startOfPeriod" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1" />
      <xs:element name="endOfPeriod" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1" />
      <xs:element name="periodName" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="recurringTimePeriodOfDay" type="D2LogicalModel:TimePeriodOfDay" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="recurringDayWeekMonthPeriod" type="D2LogicalModel:DayWeekMonth" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="periodExtension" type="D2LogicalModel:_PeriodExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PeriodExtended">
    <xs:sequence>
      <xs:element name="recurringSpecialDay" type="D2LogicalModel:SpecialDay" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PermitsAndProhibitions">
    <xs:sequence>
      <xs:element name="activity" type="D2LogicalModel:RestAreaActivityEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="regulation" type="D2LogicalModel:RegulationEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="permitsAndProhibitionsExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="PermitTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="blueZonePermit" />
      <xs:enumeration value="careTakingPermit" />
      <xs:enumeration value="carpoolingPermit" />
      <xs:enumeration value="carSharingPermit" />
      <xs:enumeration value="disabledPermit" />
      <xs:enumeration value="emergencyVehiclePermit" />
      <xs:enumeration value="employeePermit" />
      <xs:enumeration value="fairPermit" />
      <xs:enumeration value="governmentPermit" />
      <xs:enumeration value="maintenanceVehiclePermit" />
      <xs:enumeration value="residentPermit" />
      <xs:enumeration value="roadWorksPermit" />
      <xs:enumeration value="specificIdentifiedVehiclePermit" />
      <xs:enumeration value="taxiPermit" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PersonCategoryEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="adult" />
      <xs:enumeration value="child" />
      <xs:enumeration value="emergencyServicesPerson" />
      <xs:enumeration value="fireman" />
      <xs:enumeration value="infant" />
      <xs:enumeration value="medicalStaff" />
      <xs:enumeration value="memberOfThePublic" />
      <xs:enumeration value="policeman" />
      <xs:enumeration value="politician" />
      <xs:enumeration value="publicTransportPassenger" />
      <xs:enumeration value="sickPerson" />
      <xs:enumeration value="trafficOfficer" />
      <xs:enumeration value="trafficWarden" />
      <xs:enumeration value="veryImportantPerson" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PhysicalMountingEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="centralReservationMounted" />
      <xs:enumeration value="gantryMounted" />
      <xs:enumeration value="overheadBridgeMounted" />
      <xs:enumeration value="roadsideCantileverMounted" />
      <xs:enumeration value="roadsideMounted" />
      <xs:enumeration value="trailerMounted" />
      <xs:enumeration value="tunnelEntranceMounted" />
      <xs:enumeration value="vehicleMounted" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="PictogramDisplayAreaSettings">
    <xs:sequence>
      <xs:element name="pictogramLanternsOn" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="pictogramLuminanceOverride" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="pictogramLuminanceLevel" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="pictogramLuminanceLevelName" type="D2LogicalModel:VmsLuminanceLevelEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="pictogramDisplayAreaSettingsExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="PlacesEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="aroundBendsInTheRoad" />
      <xs:enumeration value="atCustomsPosts" />
      <xs:enumeration value="atHighAltitudes" />
      <xs:enumeration value="atTollPlazas" />
      <xs:enumeration value="inBuiltUpAreas" />
      <xs:enumeration value="inContraflowSections" />
      <xs:enumeration value="inForestedAreas" />
      <xs:enumeration value="inGalleries" />
      <xs:enumeration value="inLowLyingAreas" />
      <xs:enumeration value="inRoadworksAreas" />
      <xs:enumeration value="inRuralAreas" />
      <xs:enumeration value="inShadedAreas" />
      <xs:enumeration value="inTheCityCentre" />
      <xs:enumeration value="inTheInnerCityAreas" />
      <xs:enumeration value="inTunnels" />
      <xs:enumeration value="onBridges" />
      <xs:enumeration value="onDownHillSections" />
      <xs:enumeration value="onDualCarriagewaySections" />
      <xs:enumeration value="onElevatedSections" />
      <xs:enumeration value="onEnteringOrLeavingTunnels" />
      <xs:enumeration value="onEnteringTheCountry" />
      <xs:enumeration value="onFlyovers" />
      <xs:enumeration value="onLeavingTheCountry" />
      <xs:enumeration value="onMotorways" />
      <xs:enumeration value="onNonMotorways" />
      <xs:enumeration value="onPasses" />
      <xs:enumeration value="onRoundabouts" />
      <xs:enumeration value="onSingleCarriagewaySections" />
      <xs:enumeration value="onSlipRoads" />
      <xs:enumeration value="onUndergroundSections" />
      <xs:enumeration value="onUnderpasses" />
      <xs:enumeration value="onUpHillSections" />
      <xs:enumeration value="overTheCrestOfHills" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Point">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:NetworkLocation">
        <xs:sequence>
          <xs:element name="tpegPointLocation" type="D2LogicalModel:TpegPointLocation" minOccurs="0" />
          <xs:element name="alertCPoint" type="D2LogicalModel:AlertCPoint" minOccurs="0" />
          <xs:element name="pointAlongLinearElement" type="D2LogicalModel:PointAlongLinearElement" minOccurs="0" />
          <xs:element name="pointByCoordinates" type="D2LogicalModel:PointByCoordinates" minOccurs="0" />
          <xs:element name="pointExtension" type="D2LogicalModel:_PointExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PointAlongLinearElement">
    <xs:sequence>
      <xs:element name="administrativeAreaOfPoint" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="directionBoundAtPoint" type="D2LogicalModel:DirectionEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="directionRelativeAtPoint" type="D2LogicalModel:LinearReferencingDirectionEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="heightGradeOfPoint" type="D2LogicalModel:HeightGradeEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="linearElement" type="D2LogicalModel:LinearElement" />
      <xs:element name="distanceAlongLinearElement" type="D2LogicalModel:DistanceAlongLinearElement" />
      <xs:element name="pointAlongLinearElementExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PointByCoordinates">
    <xs:sequence>
      <xs:element name="bearing" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="pointCoordinates" type="D2LogicalModel:PointCoordinates" />
      <xs:element name="pointByCoordinatesExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PointCoordinates">
    <xs:sequence>
      <xs:element name="latitude" type="D2LogicalModel:Float" minOccurs="1" maxOccurs="1" />
      <xs:element name="longitude" type="D2LogicalModel:Float" minOccurs="1" maxOccurs="1" />
      <xs:element name="pointCoordinatesExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PointDestination">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Destination">
        <xs:sequence>
          <xs:element name="point" type="D2LogicalModel:Point" />
          <xs:element name="pointDestinationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PointExtended">
    <xs:sequence>
      <xs:element name="description" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="junction" type="D2LogicalModel:Junction" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="PollutantTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="benzeneTolueneXylene" />
      <xs:enumeration value="carbonMonoxide" />
      <xs:enumeration value="lead" />
      <xs:enumeration value="methane" />
      <xs:enumeration value="nitricOxide" />
      <xs:enumeration value="nitrogenDioxide" />
      <xs:enumeration value="nitrogenMonoxide" />
      <xs:enumeration value="nitrogenOxides" />
      <xs:enumeration value="nonMethaneHydrocarbons" />
      <xs:enumeration value="ozone" />
      <xs:enumeration value="particulates10" />
      <xs:enumeration value="polycyclicAromaticHydrocarbons" />
      <xs:enumeration value="primaryParticulate" />
      <xs:enumeration value="sulphurDioxide" />
      <xs:enumeration value="totalHydrocarbons" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Pollution">
    <xs:sequence>
      <xs:element name="pollutantType" type="D2LogicalModel:PollutantTypeEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="pollutantConcentration" type="D2LogicalModel:MicrogramsConcentrationValue" minOccurs="0" />
      <xs:element name="pollutionExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PollutionInformation">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:WeatherData">
        <xs:sequence>
          <xs:element name="pollution" type="D2LogicalModel:Pollution" maxOccurs="unbounded" />
          <xs:element name="pollutionInformationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PolygonArea">
    <xs:sequence>
      <xs:element name="sectionName" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="pointCoordinates" type="D2LogicalModel:_PolygonAreaIndexPointCoordinates" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="polygonAreaExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PoorEnvironmentConditions">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Conditions">
        <xs:sequence>
          <xs:element name="poorEnvironmentType" type="D2LogicalModel:PoorEnvironmentTypeEnum" minOccurs="1" maxOccurs="unbounded" />
          <xs:element name="precipitationDetail" type="D2LogicalModel:PrecipitationDetail" minOccurs="0" />
          <xs:element name="visibility" type="D2LogicalModel:Visibility" minOccurs="0" />
          <xs:element name="pollution" type="D2LogicalModel:Pollution" minOccurs="0" />
          <xs:element name="temperature" type="D2LogicalModel:Temperature" minOccurs="0" />
          <xs:element name="wind" type="D2LogicalModel:Wind" minOccurs="0" />
          <xs:element name="humidity" type="D2LogicalModel:Humidity" minOccurs="0" />
          <xs:element name="poorEnvironmentConditionsExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="PoorEnvironmentTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="badWeather" />
      <xs:enumeration value="blizzard" />
      <xs:enumeration value="blowingDust" />
      <xs:enumeration value="blowingSnow" />
      <xs:enumeration value="crosswinds" />
      <xs:enumeration value="damagingHail" />
      <xs:enumeration value="denseFog" />
      <xs:enumeration value="eclipse" />
      <xs:enumeration value="extremeCold" />
      <xs:enumeration value="extremeHeat" />
      <xs:enumeration value="fog" />
      <xs:enumeration value="freezingFog" />
      <xs:enumeration value="frost" />
      <xs:enumeration value="gales" />
      <xs:enumeration value="gustyWinds" />
      <xs:enumeration value="hail" />
      <xs:enumeration value="heavyFrost" />
      <xs:enumeration value="heavyRain" />
      <xs:enumeration value="heavySnowfall" />
      <xs:enumeration value="hurricaneForceWinds" />
      <xs:enumeration value="lowSunGlare" />
      <xs:enumeration value="moderateFog" />
      <xs:enumeration value="ozonePollution" />
      <xs:enumeration value="pollution" />
      <xs:enumeration value="patchyFog" />
      <xs:enumeration value="precipitationInTheArea" />
      <xs:enumeration value="rain" />
      <xs:enumeration value="rainChangingToSnow" />
      <xs:enumeration value="sandStorms" />
      <xs:enumeration value="severeExhaustPollution" />
      <xs:enumeration value="severeSmog" />
      <xs:enumeration value="showers" />
      <xs:enumeration value="sleet" />
      <xs:enumeration value="smogAlert" />
      <xs:enumeration value="smokeHazard" />
      <xs:enumeration value="snowChangingToRain" />
      <xs:enumeration value="snowfall" />
      <xs:enumeration value="sprayHazard" />
      <xs:enumeration value="stormForceWinds" />
      <xs:enumeration value="strongGustsOfWind" />
      <xs:enumeration value="strongWinds" />
      <xs:enumeration value="swarmsOfInsects" />
      <xs:enumeration value="temperatureFalling" />
      <xs:enumeration value="thunderstorms" />
      <xs:enumeration value="tornadoes" />
      <xs:enumeration value="veryStrongGustsOfWind" />
      <xs:enumeration value="visibilityReduced" />
      <xs:enumeration value="whiteOut" />
      <xs:enumeration value="winterStorm" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PositionAbsoluteEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="onLeft" />
      <xs:enumeration value="onRight" />
      <xs:enumeration value="atTop" />
      <xs:enumeration value="atBottom" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PositionRelativeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="above" />
      <xs:enumeration value="below" />
      <xs:enumeration value="toTheLeft" />
      <xs:enumeration value="toTheRight" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="PrecipitationDetail">
    <xs:sequence>
      <xs:element name="precipitationType" type="D2LogicalModel:PrecipitationTypeEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="precipitationIntensity" type="D2LogicalModel:PrecipitationIntensityValue" minOccurs="0" />
      <xs:element name="depositionDepth" type="D2LogicalModel:FloatingPointMetreDistanceValue" minOccurs="0" />
      <xs:element name="precipitationDetailExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PrecipitationInformation">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:WeatherData">
        <xs:sequence>
          <xs:element name="noPrecipitation" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
          <xs:element name="precipitationDetail" type="D2LogicalModel:PrecipitationDetail" minOccurs="0" />
          <xs:element name="precipitationInformationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PrecipitationIntensityValue">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:DataValue">
        <xs:sequence>
          <xs:element name="millimetresPerHourIntensity" type="D2LogicalModel:IntensityMillimetresPerHour" minOccurs="1" maxOccurs="1" />
          <xs:element name="precipitationIntensityValueExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="PrecipitationTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="drizzle" />
      <xs:enumeration value="freezingRain" />
      <xs:enumeration value="hail" />
      <xs:enumeration value="rain" />
      <xs:enumeration value="sleet" />
      <xs:enumeration value="snow" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="PredefinedItinerary">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:PredefinedLocationContainer">
        <xs:sequence>
          <xs:element name="predefinedItineraryName" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
          <xs:element name="predefinedLocation" type="D2LogicalModel:_PredefinedItineraryIndexPredefinedLocation" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="predefinedItineraryExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required" />
        <xs:attribute name="version" type="xs:string" use="required" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PredefinedLocation">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:PredefinedLocationContainer">
        <xs:sequence>
          <xs:element name="predefinedLocationName" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
          <xs:element name="location" type="D2LogicalModel:Location" />
          <xs:element name="predefinedLocationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required" />
        <xs:attribute name="version" type="xs:string" use="required" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PredefinedLocationContainer" abstract="true">
    <xs:sequence>
      <xs:element name="predefinedLocationContainerExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PredefinedLocationsPublication">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:PayloadPublication">
        <xs:sequence>
          <xs:element name="headerInformation" type="D2LogicalModel:HeaderInformation" />
          <xs:element name="predefinedLocationContainer" type="D2LogicalModel:PredefinedLocationContainer" maxOccurs="unbounded" />
          <xs:element name="predefinedLocationsPublicationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PredefinedNonOrderedLocationGroup">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:PredefinedLocationContainer">
        <xs:sequence>
          <xs:element name="predefinedNonOrderedLocationGroupName" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
          <xs:element name="predefinedLocation" type="D2LogicalModel:PredefinedLocation" minOccurs="2" maxOccurs="unbounded" />
          <xs:element name="predefinedNonOrderedLocationGroupExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required" />
        <xs:attribute name="version" type="xs:string" use="required" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ProbabilityOfOccurrenceEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="certain" />
      <xs:enumeration value="probable" />
      <xs:enumeration value="riskOf" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="PublicEvent">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Activity">
        <xs:sequence>
          <xs:element name="publicEventType" type="D2LogicalModel:PublicEventTypeEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="publicEventExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="PublicEventType2Enum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="openAirConcert" />
      <xs:enumeration value="soundAndLightShow" />
      <xs:enumeration value="artEvent" />
      <xs:enumeration value="flowerEvent" />
      <xs:enumeration value="beerFestival" />
      <xs:enumeration value="foodFestival" />
      <xs:enumeration value="wineFestival" />
      <xs:enumeration value="theatricalEvent" />
      <xs:enumeration value="fireworkDisplay" />
      <xs:enumeration value="streetFestival" />
      <xs:enumeration value="filmFestival" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PublicEventTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="agriculturalShow" />
      <xs:enumeration value="airShow" />
      <xs:enumeration value="athleticsMeeting" />
      <xs:enumeration value="commercialEvent" />
      <xs:enumeration value="culturalEvent" />
      <xs:enumeration value="ballGame" />
      <xs:enumeration value="baseballGame" />
      <xs:enumeration value="basketballGame" />
      <xs:enumeration value="bicycleRace" />
      <xs:enumeration value="boatRace" />
      <xs:enumeration value="boatShow" />
      <xs:enumeration value="boxingTournament" />
      <xs:enumeration value="bullFight" />
      <xs:enumeration value="ceremonialEvent" />
      <xs:enumeration value="concert" />
      <xs:enumeration value="cricketMatch" />
      <xs:enumeration value="exhibition" />
      <xs:enumeration value="fair" />
      <xs:enumeration value="festival" />
      <xs:enumeration value="filmTVMaking" />
      <xs:enumeration value="footballMatch" />
      <xs:enumeration value="funfair" />
      <xs:enumeration value="gardeningOrFlowerShow" />
      <xs:enumeration value="golfTournament" />
      <xs:enumeration value="hockeyGame" />
      <xs:enumeration value="horseRaceMeeting" />
      <xs:enumeration value="internationalSportsMeeting" />
      <xs:enumeration value="majorEvent" />
      <xs:enumeration value="marathon" />
      <xs:enumeration value="market" />
      <xs:enumeration value="match" />
      <xs:enumeration value="motorShow" />
      <xs:enumeration value="motorSportRaceMeeting" />
      <xs:enumeration value="parade" />
      <xs:enumeration value="procession" />
      <xs:enumeration value="raceMeeting" />
      <xs:enumeration value="rugbyMatch" />
      <xs:enumeration value="severalMajorEvents" />
      <xs:enumeration value="show" />
      <xs:enumeration value="showJumping" />
      <xs:enumeration value="sportsMeeting" />
      <xs:enumeration value="stateOccasion" />
      <xs:enumeration value="tennisTournament" />
      <xs:enumeration value="tournament" />
      <xs:enumeration value="tradeFair" />
      <xs:enumeration value="waterSportsMeeting" />
      <xs:enumeration value="winterSportsMeeting" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="PublicHoliday">
    <xs:sequence>
      <xs:element name="country" type="D2LogicalModel:CountryEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="countrySubdivision" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="region" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="publicHolidayType" type="D2LogicalModel:PublicHolidayTypeEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="publicHolidayName" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="publicHolidayExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="PublicHolidayTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="betweenChristmasAndNewYear" />
      <xs:enumeration value="boxingDay" />
      <xs:enumeration value="bridgeHoliday" />
      <xs:enumeration value="christmasEve" />
      <xs:enumeration value="christmasDayAndBoxingDay" />
      <xs:enumeration value="christmasHolidayPeriod" />
      <xs:enumeration value="dayFollowingPublicHoliday" />
      <xs:enumeration value="easterFridayHoliday" />
      <xs:enumeration value="easterHolidayPeriod" />
      <xs:enumeration value="easterMondayHoliday" />
      <xs:enumeration value="easterSaturday" />
      <xs:enumeration value="easterSunday" />
      <xs:enumeration value="eveOfPublicHoliday" />
      <xs:enumeration value="holidayPeriod" />
      <xs:enumeration value="inLieuOfPublicHoliday" />
      <xs:enumeration value="january2ndHoliday" />
      <xs:enumeration value="newYearsDay" />
      <xs:enumeration value="newYearsEve" />
      <xs:enumeration value="notPublicHoliday" />
      <xs:enumeration value="publicHoliday" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Reference">
    <xs:attribute name="id" type="xs:string" use="required" />
  </xs:complexType>
  <xs:complexType name="ReferenceSettings">
    <xs:sequence>
      <xs:element name="predefinedNonOrderedLocationGroupReference" type="D2LogicalModel:_PredefinedNonOrderedLocationGroupVersionedReference" minOccurs="0" maxOccurs="1" />
      <xs:element name="trafficStatusDefault" type="D2LogicalModel:TrafficStatusEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="referenceSettingsExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Referent">
    <xs:sequence>
      <xs:element name="referentIdentifier" type="D2LogicalModel:String" minOccurs="1" maxOccurs="1" />
      <xs:element name="referentName" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="referentType" type="D2LogicalModel:ReferentTypeEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="referentDescription" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="pointCoordinates" type="D2LogicalModel:PointCoordinates" minOccurs="0" />
      <xs:element name="referentExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ReferentTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="boundary" />
      <xs:enumeration value="intersection" />
      <xs:enumeration value="referenceMarker" />
      <xs:enumeration value="landmark" />
      <xs:enumeration value="roadNode" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="RegulationEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="permitted" />
      <xs:enumeration value="prohibited" />
      <xs:enumeration value="punishable" />
      <xs:enumeration value="seasonalHeterogeneous" />
      <xs:enumeration value="permittedOnlyAtParticularTimes" />
      <xs:enumeration value="permittedOnlyOnParticularAreas" />
      <xs:enumeration value="prohibitedAtParticularTimes" />
      <xs:enumeration value="prohibitedOnParticularAreas" />
      <xs:enumeration value="onlyOnRequest" />
      <xs:enumeration value="heterogeneous" />
      <xs:enumeration value="onlyOutsideBuildings" />
      <xs:enumeration value="onlyInsideBuildings" />
      <xs:enumeration value="unspecified" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="RelativeTrafficFlowEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="trafficVeryMuchHeavierThanNormal" />
      <xs:enumeration value="trafficHeavierThanNormal" />
      <xs:enumeration value="trafficFlowNormal" />
      <xs:enumeration value="trafficLighterThanNormal" />
      <xs:enumeration value="trafficVeryMuchLighterThanNormal" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="RequestTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="catalogue" />
      <xs:enumeration value="filter" />
      <xs:enumeration value="requestData" />
      <xs:enumeration value="requestHistoricalData" />
      <xs:enumeration value="subscription" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ReroutingManagement">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:NetworkManagement">
        <xs:sequence>
          <xs:element name="reroutingManagementType" type="D2LogicalModel:ReroutingManagementTypeEnum" minOccurs="1" maxOccurs="unbounded" />
          <xs:element name="reroutingItineraryDescription" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
          <xs:element name="signedRerouting" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
          <xs:element name="entry" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
          <xs:element name="exit" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
          <xs:element name="roadOrJunctionNumber" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
          <xs:element name="alternativeRoute" type="D2LogicalModel:Itinerary" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="reroutingManagementExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ReroutingManagementTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="doNotFollowDiversionSigns" />
      <xs:enumeration value="doNotUseEntry" />
      <xs:enumeration value="doNotUseExit" />
      <xs:enumeration value="doNotUseIntersectionOrJunction" />
      <xs:enumeration value="followDiversionSigns" />
      <xs:enumeration value="followLocalDiversion" />
      <xs:enumeration value="followSpecialMarkers" />
      <xs:enumeration value="useEntry" />
      <xs:enumeration value="useExit" />
      <xs:enumeration value="useIntersectionOrJunction" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ReservationTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="optional" />
      <xs:enumeration value="mandatory" />
      <xs:enumeration value="notAvailable" />
      <xs:enumeration value="partly" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="unspecified" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ResponseEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="acknowledge" />
      <xs:enumeration value="catalogueRequestDenied" />
      <xs:enumeration value="filterRequestDenied" />
      <xs:enumeration value="requestDenied" />
      <xs:enumeration value="subscriptionRequestDenied" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="RestAreaActivityEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="openFire" />
      <xs:enumeration value="overnightParking" />
      <xs:enumeration value="picnic" />
      <xs:enumeration value="smoking" />
      <xs:enumeration value="camping" />
      <xs:enumeration value="handlingHazardousMaterial" />
      <xs:enumeration value="barbecue" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="RGBColour">
    <xs:sequence>
      <xs:element name="rgbRedValue" type="D2LogicalModel:NonNegativeInteger" minOccurs="1" maxOccurs="1" />
      <xs:element name="rgbGreenValue" type="D2LogicalModel:NonNegativeInteger" minOccurs="1" maxOccurs="1" />
      <xs:element name="rgbBlueValue" type="D2LogicalModel:NonNegativeInteger" minOccurs="1" maxOccurs="1" />
      <xs:element name="colourName" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="rgbColourExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Road">
    <xs:sequence>
      <xs:element name="nameOfRoad" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="roadIdentifier" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="typeOfRoad" type="D2LogicalModel:RoadTypeEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="roadDestination" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="roadOrigination" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="distanceToThisRoad" type="D2LogicalModel:MetresAsNonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="roadExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="RoadConditions" abstract="true">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Conditions">
        <xs:sequence>
          <xs:element name="roadConditionsExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="RoadMaintenanceTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="clearanceWork" />
      <xs:enumeration value="controlledAvalanche" />
      <xs:enumeration value="installationWork" />
      <xs:enumeration value="grassCuttingWork" />
      <xs:enumeration value="litterClearance" />
      <xs:enumeration value="maintenanceWork" />
      <xs:enumeration value="overheadWorks" />
      <xs:enumeration value="repairWork" />
      <xs:enumeration value="resurfacingWork" />
      <xs:enumeration value="roadMarkingWork" />
      <xs:enumeration value="roadsideWork" />
      <xs:enumeration value="roadworksClearance" />
      <xs:enumeration value="roadworks" />
      <xs:enumeration value="rockFallPreventativeMaintenance" />
      <xs:enumeration value="saltingInProgress" />
      <xs:enumeration value="snowploughsInUse" />
      <xs:enumeration value="sweepingOfRoad" />
      <xs:enumeration value="treeAndVegetationCuttingWork" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="RoadNode">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Road">
        <xs:sequence>
          <xs:element name="junctionName" type="D2LogicalModel:MultilingualString" minOccurs="1" maxOccurs="1" />
          <xs:element name="roadNodeExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="RoadOperatorServiceDisruption">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:NonRoadEventInformation">
        <xs:sequence>
          <xs:element name="roadOperatorServiceDisruptionType" type="D2LogicalModel:RoadOperatorServiceDisruptionTypeEnum" minOccurs="1" maxOccurs="unbounded" />
          <xs:element name="roadOperatorServiceDisruptionExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="RoadOperatorServiceDisruptionTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="emergencyTelephoneNumberOutOfService" />
      <xs:enumeration value="informationServiceTelephoneNumberOutOfService" />
      <xs:enumeration value="noTrafficOfficerPatrolService" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="RoadOrCarriagewayOrLaneManagement">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:NetworkManagement">
        <xs:sequence>
          <xs:element name="roadOrCarriagewayOrLaneManagementType" type="D2LogicalModel:RoadOrCarriagewayOrLaneManagementTypeEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="minimumCarOccupancy" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
          <xs:element name="roadOrCarriagewayOrLaneManagementExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="RoadOrCarriagewayOrLaneManagementTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="carPoolLaneInOperation" />
      <xs:enumeration value="carriagewayClosures" />
      <xs:enumeration value="clearALaneForEmergencyVehicles" />
      <xs:enumeration value="clearALaneForSnowploughsAndGrittingVehicles" />
      <xs:enumeration value="closedPermanentlyForTheWinter" />
      <xs:enumeration value="contraflow" />
      <xs:enumeration value="doNotUseSpecifiedLanesOrCarriageways" />
      <xs:enumeration value="hardShoulderRunningInOperation" />
      <xs:enumeration value="heightRestrictionInOperation" />
      <xs:enumeration value="intermittentShortTermClosures" />
      <xs:enumeration value="keepToTheLeft" />
      <xs:enumeration value="keepToTheRight" />
      <xs:enumeration value="laneClosures" />
      <xs:enumeration value="lanesDeviated" />
      <xs:enumeration value="narrowLanes" />
      <xs:enumeration value="newRoadworksLayout" />
      <xs:enumeration value="overnightClosures" />
      <xs:enumeration value="roadCleared" />
      <xs:enumeration value="roadClosed" />
      <xs:enumeration value="rollingRoadBlock" />
      <xs:enumeration value="rushHourLaneInOperation" />
      <xs:enumeration value="singleAlternateLineTraffic" />
      <xs:enumeration value="tidalFlowLaneInOperation" />
      <xs:enumeration value="turnAroundInOperation" />
      <xs:enumeration value="useOfSpecifiedLanesOrCarriagewaysAllowed" />
      <xs:enumeration value="useSpecifiedLanesOrCarriageways" />
      <xs:enumeration value="vehicleStorageInOperation" />
      <xs:enumeration value="weightRestrictionInOperation" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="RoadsideAssistance">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:OperatorAction">
        <xs:sequence>
          <xs:element name="roadsideAssistanceType" type="D2LogicalModel:RoadsideAssistanceTypeEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="roadsideAssistanceExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="RoadsideAssistanceTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="airAmbulance" />
      <xs:enumeration value="busPassengerAssistance" />
      <xs:enumeration value="emergencyServices" />
      <xs:enumeration value="firstAid" />
      <xs:enumeration value="foodDelivery" />
      <xs:enumeration value="helicopterRescue" />
      <xs:enumeration value="vehicleRepair" />
      <xs:enumeration value="vehicleRecovery" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="RoadsideServiceDisruption">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:NonRoadEventInformation">
        <xs:sequence>
          <xs:element name="roadsideServiceDisruptionType" type="D2LogicalModel:RoadsideServiceDisruptionTypeEnum" minOccurs="1" maxOccurs="unbounded" />
          <xs:element name="roadsideServiceDisruptionExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="RoadsideServiceDisruptionTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="barClosed" />
      <xs:enumeration value="dieselShortage" />
      <xs:enumeration value="fuelShortage" />
      <xs:enumeration value="lpgShortage" />
      <xs:enumeration value="methaneShortage" />
      <xs:enumeration value="noDieselForHeavyVehicles" />
      <xs:enumeration value="noDieselForLightVehicles" />
      <xs:enumeration value="noPublicTelephones" />
      <xs:enumeration value="noToiletFacilities" />
      <xs:enumeration value="noVehicleRepairFacilities" />
      <xs:enumeration value="petrolShortage" />
      <xs:enumeration value="restAreaBusy" />
      <xs:enumeration value="restAreaClosed" />
      <xs:enumeration value="restAreaOvercrowdedDriveToAnotherRestArea" />
      <xs:enumeration value="serviceAreaBusy" />
      <xs:enumeration value="serviceAreaClosed" />
      <xs:enumeration value="serviceAreaFuelStationClosed" />
      <xs:enumeration value="serviceAreaOvercrowdedDriveToAnotherServiceArea" />
      <xs:enumeration value="serviceAreaRestaurantClosed" />
      <xs:enumeration value="someCommercialServicesClosed" />
      <xs:enumeration value="waterShortage" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="RoadSurfaceConditionInformation">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:WeatherData">
        <xs:sequence>
          <xs:element name="weatherRelatedRoadConditionType" type="D2LogicalModel:WeatherRelatedRoadConditionTypeEnum" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="roadSurfaceConditionMeasurements" type="D2LogicalModel:RoadSurfaceConditionMeasurements" />
          <xs:element name="roadSurfaceConditionInformationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="RoadSurfaceConditionMeasurements">
    <xs:sequence>
      <xs:element name="roadSurfaceTemperature" type="D2LogicalModel:TemperatureValue" minOccurs="0" />
      <xs:element name="protectionTemperature" type="D2LogicalModel:TemperatureValue" minOccurs="0" />
      <xs:element name="deIcingApplicationRate" type="D2LogicalModel:ApplicationRateValue" minOccurs="0" />
      <xs:element name="deIcingConcentration" type="D2LogicalModel:KilogramsConcentrationValue" minOccurs="0" />
      <xs:element name="depthOfSnow" type="D2LogicalModel:FloatingPointMetreDistanceValue" minOccurs="0" />
      <xs:element name="waterFilmThickness" type="D2LogicalModel:FloatingPointMetreDistanceValue" minOccurs="0" />
      <xs:element name="roadSurfaceConditionMeasurementsExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="RoadTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="motorway" />
      <xs:enumeration value="trunkRoad" />
      <xs:enumeration value="mainRoad" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Roadworks" abstract="true">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:OperatorAction">
        <xs:sequence>
          <xs:element name="roadworksDuration" type="D2LogicalModel:RoadworksDurationEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="roadworksScale" type="D2LogicalModel:RoadworksScaleEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="underTraffic" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
          <xs:element name="urgentRoadworks" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
          <xs:element name="mobility" type="D2LogicalModel:Mobility" minOccurs="0" />
          <xs:element name="subjects" type="D2LogicalModel:Subjects" minOccurs="0" />
          <xs:element name="maintenanceVehicles" type="D2LogicalModel:MaintenanceVehicles" minOccurs="0" />
          <xs:element name="roadworksExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="RoadworksDurationEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="longTerm" />
      <xs:enumeration value="mediumTerm" />
      <xs:enumeration value="shortTerm" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="RoadworksScaleEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="major" />
      <xs:enumeration value="medium" />
      <xs:enumeration value="minor" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="Seconds">
    <xs:restriction base="D2LogicalModel:Float" />
  </xs:simpleType>
  <xs:complexType name="ServiceFacility">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:ParkingEquipmentOrServiceFacility">
        <xs:sequence>
          <xs:element name="serviceFacilityType" type="D2LogicalModel:ServiceFacilityTypeEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="numberOfSubitems" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
          <xs:element name="distanceFromParkingSite" type="D2LogicalModel:MetresAsNonNegativeInteger" minOccurs="0" maxOccurs="1" />
          <xs:element name="serviceFacilityExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ServiceFacilityTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="hotel" />
      <xs:enumeration value="motel" />
      <xs:enumeration value="overnightAccommodation" />
      <xs:enumeration value="shop" />
      <xs:enumeration value="kiosk" />
      <xs:enumeration value="foodShopping" />
      <xs:enumeration value="cafe" />
      <xs:enumeration value="restaurant" />
      <xs:enumeration value="restaurantSelfService" />
      <xs:enumeration value="motorwayRestaurant" />
      <xs:enumeration value="motorwayRestaurantSmall" />
      <xs:enumeration value="sparePartsShopping" />
      <xs:enumeration value="petrolStation" />
      <xs:enumeration value="vehicleMaintenance" />
      <xs:enumeration value="tyreRepair" />
      <xs:enumeration value="truckRepair" />
      <xs:enumeration value="truckWash" />
      <xs:enumeration value="carWash" />
      <xs:enumeration value="pharmacy" />
      <xs:enumeration value="medicalFacility" />
      <xs:enumeration value="police" />
      <xs:enumeration value="touristInformation" />
      <xs:enumeration value="bikeSharing" />
      <xs:enumeration value="docstop" />
      <xs:enumeration value="laundry" />
      <xs:enumeration value="leisureActivities" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="SeverityEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="highest" />
      <xs:enumeration value="high" />
      <xs:enumeration value="medium" />
      <xs:enumeration value="low" />
      <xs:enumeration value="lowest" />
      <xs:enumeration value="none" />
      <xs:enumeration value="unknown" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="SignSetting">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:OperatorAction">
        <xs:sequence>
          <xs:element name="vmsSetting" type="D2LogicalModel:VmsSetting" />
          <xs:element name="signSettingExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="SiteMeasurements">
    <xs:sequence>
      <xs:element name="measurementSiteReference" type="D2LogicalModel:_MeasurementSiteRecordVersionedReference" minOccurs="1" maxOccurs="1" />
      <xs:element name="measurementTimeDefault" type="D2LogicalModel:DateTime" minOccurs="1" maxOccurs="1" />
      <xs:element name="measuredValue" type="D2LogicalModel:_SiteMeasurementsIndexMeasuredValue" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="siteMeasurementsExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Situation">
    <xs:sequence>
      <xs:element name="overallSeverity" type="D2LogicalModel:SeverityEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="relatedSituation" type="D2LogicalModel:_SituationVersionedReference" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="situationVersionTime" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1" />
      <xs:element name="headerInformation" type="D2LogicalModel:HeaderInformation" />
      <xs:element name="situationRecord" type="D2LogicalModel:SituationRecord" maxOccurs="unbounded" />
      <xs:element name="situationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="id" type="xs:string" use="required" />
    <xs:attribute name="version" type="xs:string" use="required" />
  </xs:complexType>
  <xs:complexType name="SituationPublication">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:PayloadPublication">
        <xs:sequence>
          <xs:element name="situation" type="D2LogicalModel:Situation" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="situationPublicationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="SituationRecord" abstract="true">
    <xs:sequence>
      <xs:element name="situationRecordCreationReference" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="situationRecordCreationTime" type="D2LogicalModel:DateTime" minOccurs="1" maxOccurs="1" />
      <xs:element name="situationRecordObservationTime" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1" />
      <xs:element name="situationRecordVersionTime" type="D2LogicalModel:DateTime" minOccurs="1" maxOccurs="1" />
      <xs:element name="situationRecordFirstSupplierVersionTime" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1" />
      <xs:element name="confidentialityOverride" type="D2LogicalModel:ConfidentialityValueEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="probabilityOfOccurrence" type="D2LogicalModel:ProbabilityOfOccurrenceEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="severity" type="D2LogicalModel:SeverityEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="source" type="D2LogicalModel:Source" minOccurs="0" />
      <xs:element name="validity" type="D2LogicalModel:Validity" />
      <xs:element name="impact" type="D2LogicalModel:Impact" minOccurs="0" />
      <xs:element name="cause" type="D2LogicalModel:Cause" minOccurs="0" />
      <xs:element name="generalPublicComment" type="D2LogicalModel:Comment" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="nonGeneralPublicComment" type="D2LogicalModel:Comment" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="urlLink" type="D2LogicalModel:UrlLink" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="groupOfLocations" type="D2LogicalModel:GroupOfLocations" />
      <xs:element name="management" type="D2LogicalModel:Management" minOccurs="0" />
      <xs:element name="situationRecordExtension" type="D2LogicalModel:_SituationRecordExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="id" type="xs:string" use="required" />
    <xs:attribute name="version" type="xs:string" use="required" />
  </xs:complexType>
  <xs:complexType name="SituationRecordExtendedApproved">
    <xs:sequence>
      <xs:element name="safetyRelatedMessage" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Source">
    <xs:sequence>
      <xs:element name="sourceCountry" type="D2LogicalModel:CountryEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="sourceIdentification" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="sourceName" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="sourceType" type="D2LogicalModel:SourceTypeEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="reliable" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="sourceExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="SourceTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="automobileClubPatrol" />
      <xs:enumeration value="cameraObservation" />
      <xs:enumeration value="freightVehicleOperator" />
      <xs:enumeration value="inductionLoopMonitoringStation" />
      <xs:enumeration value="infraredMonitoringStation" />
      <xs:enumeration value="microwaveMonitoringStation" />
      <xs:enumeration value="mobileTelephoneCaller" />
      <xs:enumeration value="nonPoliceEmergencyServicePatrol" />
      <xs:enumeration value="otherInformation" />
      <xs:enumeration value="otherOfficialVehicle" />
      <xs:enumeration value="policePatrol" />
      <xs:enumeration value="privateBreakdownService" />
      <xs:enumeration value="publicAndPrivateUtilities" />
      <xs:enumeration value="registeredMotoristObserver" />
      <xs:enumeration value="roadAuthorities" />
      <xs:enumeration value="roadOperatorPatrol" />
      <xs:enumeration value="roadsideTelephoneCaller" />
      <xs:enumeration value="spotterAircraft" />
      <xs:enumeration value="trafficMonitoringStation" />
      <xs:enumeration value="transitOperator" />
      <xs:enumeration value="vehicleProbeMeasurement" />
      <xs:enumeration value="videoProcessingMonitoringStation" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="SpecialDay">
    <xs:sequence>
      <xs:element name="intersectWithApplicableDays" type="D2LogicalModel:Boolean" minOccurs="1" maxOccurs="1" />
      <xs:element name="specialDayType" type="D2LogicalModel:SpecialDayTypeEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="specialDayName" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="publicHoliday" type="D2LogicalModel:PublicHoliday" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="specialDayExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="SpecialDayTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="bicycleRaceDay" />
      <xs:enumeration value="bullFightDay" />
      <xs:enumeration value="carnivalDay" />
      <xs:enumeration value="exhibitionDay" />
      <xs:enumeration value="festivalDay" />
      <xs:enumeration value="gamesDay" />
      <xs:enumeration value="horseRaceMeetingDay" />
      <xs:enumeration value="huntMeetingDay" />
      <xs:enumeration value="marathonRaceDay" />
      <xs:enumeration value="marketDay" />
      <xs:enumeration value="motorSportRaceMeetingDay" />
      <xs:enumeration value="nonWorkingDay" />
      <xs:enumeration value="raceMeetingDay" />
      <xs:enumeration value="regattaDay" />
      <xs:enumeration value="showDay" />
      <xs:enumeration value="sportsMeetingDay" />
      <xs:enumeration value="workingDay" />
      <xs:enumeration value="schoolDay" />
      <xs:enumeration value="electionDay" />
      <xs:enumeration value="publicHoliday" />
      <xs:enumeration value="holidays" />
      <xs:enumeration value="undefinedDayType" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="SpecialLocationParkingSite">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:ParkingSite">
        <xs:sequence>
          <xs:element name="parkingSpecialLocation" type="D2LogicalModel:ParkingSpecialLocationEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="parkingOtherSpecialLocation" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
          <xs:element name="specialLocationParkingSiteExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="SpeedManagement">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:NetworkManagement">
        <xs:sequence>
          <xs:element name="speedManagementType" type="D2LogicalModel:SpeedManagementTypeEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="temporarySpeedLimit" type="D2LogicalModel:KilometresPerHour" minOccurs="0" maxOccurs="1" />
          <xs:element name="speedManagementExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="SpeedManagementTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="activeSpeedControlInOperation" />
      <xs:enumeration value="doNotSlowdownUnnecessarily" />
      <xs:enumeration value="observeSpeedLimit" />
      <xs:enumeration value="policeSpeedChecksInOperation" />
      <xs:enumeration value="reduceYourSpeed" />
      <xs:enumeration value="speedRestrictionInOperation" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="SpeedPercentile">
    <xs:sequence>
      <xs:element name="vehiclePercentage" type="D2LogicalModel:PercentageValue" />
      <xs:element name="speedPercentile" type="D2LogicalModel:SpeedValue" />
      <xs:element name="speedPercentileExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="SpeedValue">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:DataValue">
        <xs:sequence>
          <xs:element name="speed" type="D2LogicalModel:KilometresPerHour" minOccurs="1" maxOccurs="1" />
          <xs:element name="speedValueExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="SquareMetres">
    <xs:restriction base="D2LogicalModel:NonNegativeInteger" />
  </xs:simpleType>
  <xs:simpleType name="String">
    <xs:restriction base="xs:string">
      <xs:maxLength value="1024" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Subjects">
    <xs:sequence>
      <xs:element name="subjectTypeOfWorks" type="D2LogicalModel:SubjectTypeOfWorksEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="numberOfSubjects" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="subjectsExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="SubjectTypeOfWorksEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="bridge" />
      <xs:enumeration value="buriedCables" />
      <xs:enumeration value="buriedServices" />
      <xs:enumeration value="crashBarrier" />
      <xs:enumeration value="gallery" />
      <xs:enumeration value="gantry" />
      <xs:enumeration value="gasMainWork" />
      <xs:enumeration value="interchange" />
      <xs:enumeration value="junction" />
      <xs:enumeration value="levelCrossing" />
      <xs:enumeration value="lightingSystem" />
      <xs:enumeration value="measurementEquipment" />
      <xs:enumeration value="noiseProtection" />
      <xs:enumeration value="road" />
      <xs:enumeration value="roadsideDrains" />
      <xs:enumeration value="roadsideEmbankment" />
      <xs:enumeration value="roadsideEquipment" />
      <xs:enumeration value="roadSigns" />
      <xs:enumeration value="roundabout" />
      <xs:enumeration value="tollGate" />
      <xs:enumeration value="tunnel" />
      <xs:enumeration value="waterMain" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Subscription">
    <xs:sequence>
      <xs:element name="deleteSubscription" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="deliveryInterval" type="D2LogicalModel:Seconds" minOccurs="0" maxOccurs="1" />
      <xs:element name="operatingMode" type="D2LogicalModel:OperatingModeEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="subscriptionStartTime" type="D2LogicalModel:DateTime" minOccurs="1" maxOccurs="1" />
      <xs:element name="subscriptionState" type="D2LogicalModel:SubscriptionStateEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="subscriptionStopTime" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1" />
      <xs:element name="updateMethod" type="D2LogicalModel:UpdateMethodEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="target" type="D2LogicalModel:Target" maxOccurs="unbounded" />
      <xs:element name="filterReference" type="D2LogicalModel:FilterReference" minOccurs="0" />
      <xs:element name="catalogueReference" type="D2LogicalModel:CatalogueReference" minOccurs="0" />
      <xs:element name="subscriptionExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="SubscriptionStateEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="active" />
      <xs:enumeration value="suspended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="SupplementaryPositionalDescription">
    <xs:sequence>
      <xs:element name="locationDescriptor" type="D2LogicalModel:LocationDescriptorEnum" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="sequentialRampNumber" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="affectedCarriagewayAndLanes" type="D2LogicalModel:AffectedCarriagewayAndLanes" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="supplementaryPositionalDescriptionExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="locationPrecision" type="D2LogicalModel:MetresAsNonNegativeInteger" use="optional" />
  </xs:complexType>
  <xs:complexType name="Target">
    <xs:sequence>
      <xs:element name="address" type="D2LogicalModel:String" minOccurs="1" maxOccurs="1" />
      <xs:element name="protocol" type="D2LogicalModel:String" minOccurs="1" maxOccurs="1" />
      <xs:element name="targetExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TariffsAndPayment">
    <xs:sequence>
      <xs:element name="lastUpdated" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1" />
      <xs:element name="acceptedMeansOfPayment" type="D2LogicalModel:MeansOfPaymentEnum" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="paymentMode" type="D2LogicalModel:ParkingPaymentModeEnum" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="paymentAdditionalDescription" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="freeOfCharge" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="reservationFee" type="D2LogicalModel:AmountOfMoney" minOccurs="0" maxOccurs="1" />
      <xs:element name="urlLinkAddress" type="D2LogicalModel:Url" minOccurs="0" maxOccurs="1" />
      <xs:element name="chargeBand" type="D2LogicalModel:ChargeBand" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="chargeBandByReference" type="D2LogicalModel:ChargeBandByReference" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="acceptedPaymentCards" type="D2LogicalModel:AcceptedPaymentCards" minOccurs="0" />
      <xs:element name="tariffsAndPaymentExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Temperature">
    <xs:sequence>
      <xs:element name="airTemperature" type="D2LogicalModel:TemperatureValue" minOccurs="0" />
      <xs:element name="dewPointTemperature" type="D2LogicalModel:TemperatureValue" minOccurs="0" />
      <xs:element name="maximumTemperature" type="D2LogicalModel:TemperatureValue" minOccurs="0" />
      <xs:element name="minimumTemperature" type="D2LogicalModel:TemperatureValue" minOccurs="0" />
      <xs:element name="temperatureExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="TemperatureCelsius">
    <xs:restriction base="D2LogicalModel:Float" />
  </xs:simpleType>
  <xs:complexType name="TemperatureInformation">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:WeatherData">
        <xs:sequence>
          <xs:element name="temperature" type="D2LogicalModel:Temperature" />
          <xs:element name="temperatureInformationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TemperatureValue">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:DataValue">
        <xs:sequence>
          <xs:element name="temperature" type="D2LogicalModel:TemperatureCelsius" minOccurs="1" maxOccurs="1" />
          <xs:element name="temperatureValueExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TextDisplayAreaSettings">
    <xs:sequence>
      <xs:element name="textLanternsOn" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="textLuminanceOverride" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="textLuminanceLevel" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="textLuminanceLevelName" type="D2LogicalModel:VmsLuminanceLevelEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="textDisplayAreaSettingsExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="Time">
    <xs:restriction base="xs:time" />
  </xs:simpleType>
  <xs:complexType name="TimePeriodByHour">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TimePeriodOfDay">
        <xs:sequence>
          <xs:element name="startTimeOfPeriod" type="D2LogicalModel:Time" minOccurs="1" maxOccurs="1" />
          <xs:element name="endTimeOfPeriod" type="D2LogicalModel:Time" minOccurs="1" maxOccurs="1" />
          <xs:element name="timePeriodByHourExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TimePeriodOfDay" abstract="true">
    <xs:sequence>
      <xs:element name="timePeriodOfDayExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="TimePrecisionEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="tenthsOfSecond" />
      <xs:enumeration value="second" />
      <xs:enumeration value="minute" />
      <xs:enumeration value="quarterHour" />
      <xs:enumeration value="halfHour" />
      <xs:enumeration value="hour" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="Tonnes">
    <xs:restriction base="D2LogicalModel:Float" />
  </xs:simpleType>
  <xs:complexType name="TpegAreaDescriptor">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TpegDescriptor">
        <xs:sequence>
          <xs:element name="tpegAreaDescriptorType" type="D2LogicalModel:TpegLoc03AreaDescriptorSubtypeEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="tpegAreaDescriptorExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TpegAreaLocation" abstract="true">
    <xs:sequence>
      <xs:element name="tpegAreaLocationType" type="D2LogicalModel:TpegLoc01AreaLocationSubtypeEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="tpegHeight" type="D2LogicalModel:TpegHeight" minOccurs="0" />
      <xs:element name="tpegAreaLocationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TpegDescriptor" abstract="true">
    <xs:sequence>
      <xs:element name="descriptor" type="D2LogicalModel:MultilingualString" minOccurs="1" maxOccurs="1" />
      <xs:element name="tpegDescriptorExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TpegFramedPoint">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TpegPointLocation">
        <xs:sequence>
          <xs:element name="tpegFramedPointLocationType" type="D2LogicalModel:TpegLoc01FramedPointLocationSubtypeEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="framedPoint" type="D2LogicalModel:TpegNonJunctionPoint" />
          <xs:element name="to" type="D2LogicalModel:TpegPoint" />
          <xs:element name="from" type="D2LogicalModel:TpegPoint" />
          <xs:element name="tpegFramedPointExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TpegGeometricArea">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TpegAreaLocation">
        <xs:sequence>
          <xs:element name="radius" type="D2LogicalModel:MetresAsNonNegativeInteger" minOccurs="1" maxOccurs="1" />
          <xs:element name="centrePoint" type="D2LogicalModel:PointCoordinates" />
          <xs:element name="name" type="D2LogicalModel:TpegAreaDescriptor" minOccurs="0" />
          <xs:element name="tpegGeometricAreaExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TpegHeight">
    <xs:sequence>
      <xs:element name="height" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1" />
      <xs:element name="heightType" type="D2LogicalModel:TpegLoc04HeightTypeEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="tpegHeightExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TpegIlcPointDescriptor">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TpegPointDescriptor">
        <xs:sequence>
          <xs:element name="tpegIlcPointDescriptorType" type="D2LogicalModel:TpegLoc03IlcPointDescriptorSubtypeEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="tpegIlcPointDescriptorExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TpegJunction">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TpegPoint">
        <xs:sequence>
          <xs:element name="pointCoordinates" type="D2LogicalModel:PointCoordinates" />
          <xs:element name="name" type="D2LogicalModel:TpegJunctionPointDescriptor" minOccurs="0" />
          <xs:element name="ilc" type="D2LogicalModel:TpegIlcPointDescriptor" maxOccurs="3" />
          <xs:element name="otherName" type="D2LogicalModel:TpegOtherPointDescriptor" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="tpegJunctionExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TpegJunctionPointDescriptor">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TpegPointDescriptor">
        <xs:sequence>
          <xs:element name="tpegJunctionPointDescriptorType" type="D2LogicalModel:TpegLoc03JunctionPointDescriptorSubtypeEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="tpegJunctionPointDescriptorExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TpegLinearLocation">
    <xs:sequence>
      <xs:element name="tpegDirection" type="D2LogicalModel:DirectionEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="tpegLinearLocationType" type="D2LogicalModel:TpegLoc01LinearLocationSubtypeEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="to" type="D2LogicalModel:TpegPoint" />
      <xs:element name="from" type="D2LogicalModel:TpegPoint" />
      <xs:element name="tpegLinearLocationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="TpegLoc01AreaLocationSubtypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="largeArea" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TpegLoc01FramedPointLocationSubtypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="framedPoint" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TpegLoc01LinearLocationSubtypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="segment" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TpegLoc01SimplePointLocationSubtypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="intersection" />
      <xs:enumeration value="nonLinkedPoint" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TpegLoc03AreaDescriptorSubtypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="administrativeAreaName" />
      <xs:enumeration value="administrativeReferenceName" />
      <xs:enumeration value="areaName" />
      <xs:enumeration value="countyName" />
      <xs:enumeration value="lakeName" />
      <xs:enumeration value="nationName" />
      <xs:enumeration value="policeForceControlAreaName" />
      <xs:enumeration value="regionName" />
      <xs:enumeration value="seaName" />
      <xs:enumeration value="townName" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TpegLoc03IlcPointDescriptorSubtypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="tpegIlcName1" />
      <xs:enumeration value="tpegIlcName2" />
      <xs:enumeration value="tpegIlcName3" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TpegLoc03JunctionPointDescriptorSubtypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="junctionName" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TpegLoc03OtherPointDescriptorSubtypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="administrativeAreaName" />
      <xs:enumeration value="administrativeReferenceName" />
      <xs:enumeration value="airportName" />
      <xs:enumeration value="areaName" />
      <xs:enumeration value="buildingName" />
      <xs:enumeration value="busStopIdentifier" />
      <xs:enumeration value="busStopName" />
      <xs:enumeration value="canalName" />
      <xs:enumeration value="countyName" />
      <xs:enumeration value="ferryPortName" />
      <xs:enumeration value="intersectionName" />
      <xs:enumeration value="lakeName" />
      <xs:enumeration value="linkName" />
      <xs:enumeration value="localLinkName" />
      <xs:enumeration value="metroStationName" />
      <xs:enumeration value="nationName" />
      <xs:enumeration value="nonLinkedPointName" />
      <xs:enumeration value="parkingFacilityName" />
      <xs:enumeration value="pointName" />
      <xs:enumeration value="pointOfInterestName" />
      <xs:enumeration value="railwayStation" />
      <xs:enumeration value="regionName" />
      <xs:enumeration value="riverName" />
      <xs:enumeration value="seaName" />
      <xs:enumeration value="serviceAreaName" />
      <xs:enumeration value="tidalRiverName" />
      <xs:enumeration value="townName" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TpegLoc04HeightTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="above" />
      <xs:enumeration value="aboveSeaLevel" />
      <xs:enumeration value="aboveStreetLevel" />
      <xs:enumeration value="at" />
      <xs:enumeration value="atSeaLevel" />
      <xs:enumeration value="atStreetLevel" />
      <xs:enumeration value="below" />
      <xs:enumeration value="belowSeaLevel" />
      <xs:enumeration value="belowStreetLevel" />
      <xs:enumeration value="undefined" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="TpegNamedOnlyArea">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TpegAreaLocation">
        <xs:sequence>
          <xs:element name="name" type="D2LogicalModel:TpegAreaDescriptor" maxOccurs="unbounded" />
          <xs:element name="tpegNamedOnlyAreaExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TpegNonJunctionPoint">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TpegPoint">
        <xs:sequence>
          <xs:element name="pointCoordinates" type="D2LogicalModel:PointCoordinates" />
          <xs:element name="name" type="D2LogicalModel:TpegOtherPointDescriptor" maxOccurs="unbounded" />
          <xs:element name="tpegNonJunctionPointExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TpegOtherPointDescriptor">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TpegPointDescriptor">
        <xs:sequence>
          <xs:element name="tpegOtherPointDescriptorType" type="D2LogicalModel:TpegLoc03OtherPointDescriptorSubtypeEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="tpegOtherPointDescriptorExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TpegPoint" abstract="true">
    <xs:sequence>
      <xs:element name="tpegPointExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TpegPointDescriptor" abstract="true">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TpegDescriptor">
        <xs:sequence>
          <xs:element name="tpegPointDescriptorExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TpegPointLocation" abstract="true">
    <xs:sequence>
      <xs:element name="tpegDirection" type="D2LogicalModel:DirectionEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="tpegPointLocationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TpegSimplePoint">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TpegPointLocation">
        <xs:sequence>
          <xs:element name="tpegSimplePointLocationType" type="D2LogicalModel:TpegLoc01SimplePointLocationSubtypeEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="point" type="D2LogicalModel:TpegPoint" />
          <xs:element name="tpegSimplePointExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TrafficConcentration">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TrafficData">
        <xs:sequence>
          <xs:element name="concentration" type="D2LogicalModel:ConcentrationOfVehiclesValue" minOccurs="0" />
          <xs:element name="occupancy" type="D2LogicalModel:PercentageValue" minOccurs="0" />
          <xs:element name="trafficConcentrationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="TrafficConstrictionTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="carriagewayBlocked" />
      <xs:enumeration value="carriagewayPartiallyObstructed" />
      <xs:enumeration value="lanesBlocked" />
      <xs:enumeration value="lanesPartiallyObstructed" />
      <xs:enumeration value="roadBlocked" />
      <xs:enumeration value="roadPartiallyObstructed" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="TrafficData" abstract="true">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:BasicData">
        <xs:sequence>
          <xs:element name="forVehiclesWithCharacteristicsOf" type="D2LogicalModel:VehicleCharacteristics" minOccurs="0" />
          <xs:element name="trafficDataExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TrafficElement" abstract="true">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:SituationRecord">
        <xs:sequence>
          <xs:element name="trafficElementExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TrafficFlow">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TrafficData">
        <xs:sequence>
          <xs:element name="axleFlow" type="D2LogicalModel:AxleFlowValue" minOccurs="0" />
          <xs:element name="pcuFlow" type="D2LogicalModel:PcuFlowValue" minOccurs="0" />
          <xs:element name="percentageLongVehicles" type="D2LogicalModel:PercentageValue" minOccurs="0" />
          <xs:element name="vehicleFlow" type="D2LogicalModel:VehicleFlowValue" minOccurs="0" />
          <xs:element name="trafficFlowExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="TrafficFlowCharacteristicsEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="erraticFlow" />
      <xs:enumeration value="smoothFlow" />
      <xs:enumeration value="stopAndGo" />
      <xs:enumeration value="trafficBlocked" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="TrafficHeadway">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TrafficData">
        <xs:sequence>
          <xs:element name="averageDistanceHeadway" type="D2LogicalModel:FloatingPointMetreDistanceValue" minOccurs="0" />
          <xs:element name="averageTimeHeadway" type="D2LogicalModel:DurationValue" minOccurs="0" />
          <xs:element name="trafficHeadwayExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TrafficSpeed">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TrafficData">
        <xs:sequence>
          <xs:element name="averageVehicleSpeed" type="D2LogicalModel:SpeedValue" minOccurs="0" />
          <xs:element name="speedPercentile" type="D2LogicalModel:SpeedPercentile" minOccurs="0" />
          <xs:element name="trafficSpeedExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TrafficStatus">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:BasicData">
        <xs:sequence>
          <xs:element name="trafficTrendType" type="D2LogicalModel:TrafficTrendTypeEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="trafficStatus" type="D2LogicalModel:TrafficStatusValue" minOccurs="0" />
          <xs:element name="trafficStatusExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="TrafficStatusEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="impossible" />
      <xs:enumeration value="congested" />
      <xs:enumeration value="heavy" />
      <xs:enumeration value="freeFlow" />
      <xs:enumeration value="unknown" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="TrafficStatusValue">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:DataValue">
        <xs:sequence>
          <xs:element name="trafficStatusValue" type="D2LogicalModel:TrafficStatusEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="trafficStatusValueExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="TrafficTrendTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="trafficBuildingUp" />
      <xs:enumeration value="trafficEasing" />
      <xs:enumeration value="trafficStable" />
      <xs:enumeration value="unknown" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TrafficTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="accessOnlyTraffic" />
      <xs:enumeration value="destinedForAirport" />
      <xs:enumeration value="destinedForAirportArrivals" />
      <xs:enumeration value="destinedForAirportDepartures" />
      <xs:enumeration value="destinedForFerryService" />
      <xs:enumeration value="destinedForRailService" />
      <xs:enumeration value="holidayTraffic" />
      <xs:enumeration value="localTraffic" />
      <xs:enumeration value="longDistanceTraffic" />
      <xs:enumeration value="regionalTraffic" />
      <xs:enumeration value="residentsOnlyTraffic" />
      <xs:enumeration value="throughTraffic" />
      <xs:enumeration value="visitorTraffic" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="TrafficView">
    <xs:sequence>
      <xs:element name="trafficViewTime" type="D2LogicalModel:DateTime" minOccurs="1" maxOccurs="1" />
      <xs:element name="predefinedNonOrderedLocationGroupReference" type="D2LogicalModel:_PredefinedNonOrderedLocationGroupVersionedReference" minOccurs="1" maxOccurs="1" />
      <xs:element name="linearTrafficView" type="D2LogicalModel:LinearTrafficView" maxOccurs="unbounded" />
      <xs:element name="trafficViewExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="id" type="xs:string" use="required" />
  </xs:complexType>
  <xs:complexType name="TrafficViewPublication">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:PayloadPublication">
        <xs:sequence>
          <xs:element name="headerInformation" type="D2LogicalModel:HeaderInformation" />
          <xs:element name="trafficView" type="D2LogicalModel:TrafficView" maxOccurs="unbounded" />
          <xs:element name="trafficViewPublicationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TrafficViewRecord">
    <xs:sequence>
      <xs:element name="recordSequenceNumber" type="D2LogicalModel:NonNegativeInteger" minOccurs="1" maxOccurs="1" />
      <xs:element name="trafficElement" type="D2LogicalModel:TrafficElement" minOccurs="0" />
      <xs:element name="operatorAction" type="D2LogicalModel:OperatorAction" minOccurs="0" />
      <xs:element name="elaboratedData" type="D2LogicalModel:ElaboratedData" minOccurs="0" />
      <xs:element name="urlLink" type="D2LogicalModel:UrlLink" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="trafficViewRecordExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="id" type="xs:string" use="required" />
  </xs:complexType>
  <xs:complexType name="TransitInformation">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:NonRoadEventInformation">
        <xs:sequence>
          <xs:element name="journeyDestination" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
          <xs:element name="journeyOrigin" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
          <xs:element name="journeyReference" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
          <xs:element name="transitServiceInformation" type="D2LogicalModel:TransitServiceInformationEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="transitServiceType" type="D2LogicalModel:TransitServiceTypeEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="scheduledDepartureTime" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1" />
          <xs:element name="transitInformationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="TransitServiceInformationEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="cancellations" />
      <xs:enumeration value="delayDueToBadWeather" />
      <xs:enumeration value="delayDueToRepairs" />
      <xs:enumeration value="delayedUntilFurtherNotice" />
      <xs:enumeration value="delaysDueToFlotsam" />
      <xs:enumeration value="departureOnSchedule" />
      <xs:enumeration value="ferryReplacedByIceRoad" />
      <xs:enumeration value="freeShuttleServiceOperating" />
      <xs:enumeration value="informationServiceNotAvailable" />
      <xs:enumeration value="irregularServiceDelays" />
      <xs:enumeration value="loadCapacityChanged" />
      <xs:enumeration value="restrictionsForLongerVehicles" />
      <xs:enumeration value="serviceDelays" />
      <xs:enumeration value="serviceDelaysOfUncertainDuration" />
      <xs:enumeration value="serviceFullyBooked" />
      <xs:enumeration value="serviceNotOperating" />
      <xs:enumeration value="serviceNotOperatingSubstituteServiceAvailable" />
      <xs:enumeration value="serviceSuspended" />
      <xs:enumeration value="serviceWithdrawn" />
      <xs:enumeration value="shuttleServiceOperating" />
      <xs:enumeration value="temporaryChangesToTimetables" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TransitServiceTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="air" />
      <xs:enumeration value="bus" />
      <xs:enumeration value="ferry" />
      <xs:enumeration value="hydrofoil" />
      <xs:enumeration value="rail" />
      <xs:enumeration value="tram" />
      <xs:enumeration value="undergroundMetro" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="TravelTimeData">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:BasicData">
        <xs:sequence>
          <xs:element name="travelTimeTrendType" type="D2LogicalModel:TravelTimeTrendTypeEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="travelTimeType" type="D2LogicalModel:TravelTimeTypeEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="vehicleType" type="D2LogicalModel:VehicleTypeEnum" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="travelTime" type="D2LogicalModel:DurationValue" minOccurs="0" />
          <xs:element name="freeFlowTravelTime" type="D2LogicalModel:DurationValue" minOccurs="0" />
          <xs:element name="normallyExpectedTravelTime" type="D2LogicalModel:DurationValue" minOccurs="0" />
          <xs:element name="freeFlowSpeed" type="D2LogicalModel:SpeedValue" minOccurs="0" />
          <xs:element name="travelTimeDataExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="TravelTimeTrendTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="decreasing" />
      <xs:enumeration value="increasing" />
      <xs:enumeration value="stable" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TravelTimeTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="best" />
      <xs:enumeration value="estimated" />
      <xs:enumeration value="instantaneous" />
      <xs:enumeration value="reconstituted" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TruckParkingDynamicManagementEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="compactParking" />
      <xs:enumeration value="queueParking" />
      <xs:enumeration value="noDynamicParkingManagement" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="UpdateMethodEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="allElementUpdate" />
      <xs:enumeration value="singleElementUpdate" />
      <xs:enumeration value="snapshot" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="UrbanParkingSite">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:ParkingSite">
        <xs:sequence>
          <xs:element name="urbanParkingSiteType" type="D2LogicalModel:UrbanParkingSiteTypeEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="parkingZone" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
          <xs:element name="urbanParkingSiteExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="UrbanParkingSiteTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="onStreetParking" />
      <xs:enumeration value="offStreetParking" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="UrgencyEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="extremelyUrgent" />
      <xs:enumeration value="urgent" />
      <xs:enumeration value="normalUrgency" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="Url">
    <xs:restriction base="xs:anyURI" />
  </xs:simpleType>
  <xs:complexType name="UrlLink">
    <xs:sequence>
      <xs:element name="urlLinkAddress" type="D2LogicalModel:Url" minOccurs="1" maxOccurs="1" />
      <xs:element name="urlLinkDescription" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="urlLinkType" type="D2LogicalModel:UrlLinkTypeEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="urlLinkExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="UrlLinkTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="documentPdf" />
      <xs:enumeration value="html" />
      <xs:enumeration value="image" />
      <xs:enumeration value="rss" />
      <xs:enumeration value="videoStream" />
      <xs:enumeration value="voiceStream" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="UsedPaymentCard">
    <xs:sequence>
      <xs:element name="paymentCard" type="D2LogicalModel:PaymentCardTypesEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="otherPaymentCard" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="paymentCardBrand" type="D2LogicalModel:PaymentCardBrandsEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="otherPaymentCardBrand" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="usedPaymentCardExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="UserTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="allUsers" />
      <xs:enumeration value="shoppers" />
      <xs:enumeration value="hotelGuests" />
      <xs:enumeration value="subscribers" />
      <xs:enumeration value="reservationHolders" />
      <xs:enumeration value="seasonTicketHolders" />
      <xs:enumeration value="registeredDisabledUsers" />
      <xs:enumeration value="disabled" />
      <xs:enumeration value="handicapped" />
      <xs:enumeration value="hearingImpaired" />
      <xs:enumeration value="visuallyImpaired" />
      <xs:enumeration value="wheelchairUsers" />
      <xs:enumeration value="elderlyUsers" />
      <xs:enumeration value="families" />
      <xs:enumeration value="men" />
      <xs:enumeration value="women" />
      <xs:enumeration value="pregnantWomen" />
      <xs:enumeration value="pensioners" />
      <xs:enumeration value="students" />
      <xs:enumeration value="staff" />
      <xs:enumeration value="employees" />
      <xs:enumeration value="customers" />
      <xs:enumeration value="visitors" />
      <xs:enumeration value="members" />
      <xs:enumeration value="shortTermParker" />
      <xs:enumeration value="longTermParker" />
      <xs:enumeration value="overnightParker" />
      <xs:enumeration value="sportEventAwaySupporters" />
      <xs:enumeration value="sportEventHomeSupporters" />
      <xs:enumeration value="residents" />
      <xs:enumeration value="commuters" />
      <xs:enumeration value="parkAndRideUsers" />
      <xs:enumeration value="parkAndWalkUser" />
      <xs:enumeration value="parkAndCycleUser" />
      <xs:enumeration value="other" />
      <xs:enumeration value="unknown" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Validity">
    <xs:sequence>
      <xs:element name="validityStatus" type="D2LogicalModel:ValidityStatusEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="overrunning" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="validityTimeSpecification" type="D2LogicalModel:OverallPeriod" />
      <xs:element name="validityExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ValidityStatusEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="active" />
      <xs:enumeration value="suspended" />
      <xs:enumeration value="definedByValidityTimeSpec" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Vehicle">
    <xs:sequence>
      <xs:element name="vehicleColour" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="vehicleCountryOfOrigin" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="vehicleIdentifier" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="vehicleManufacturer" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="vehicleModel" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="vehicleRegistrationPlateIdentifier" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="vehicleStatus" type="D2LogicalModel:VehicleStatusEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="vehicleCharacteristics" type="D2LogicalModel:VehicleCharacteristics" minOccurs="0" />
      <xs:element name="axleSpacingOnVehicle" type="D2LogicalModel:AxleSpacing" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="specificAxleWeight" type="D2LogicalModel:AxleWeight" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="hazardousGoodsAssociatedWithVehicle" type="D2LogicalModel:HazardousMaterials" minOccurs="0" />
      <xs:element name="vehicleExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VehicleCharacteristics">
    <xs:sequence>
      <xs:element name="fuelType" type="D2LogicalModel:FuelTypeEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="loadType" type="D2LogicalModel:LoadTypeEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="vehicleEquipment" type="D2LogicalModel:VehicleEquipmentEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="vehicleType" type="D2LogicalModel:VehicleTypeEnum" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="vehicleUsage" type="D2LogicalModel:VehicleUsageEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="grossWeightCharacteristic" type="D2LogicalModel:GrossWeightCharacteristic" minOccurs="0" maxOccurs="2" />
      <xs:element name="heightCharacteristic" type="D2LogicalModel:HeightCharacteristic" minOccurs="0" maxOccurs="2" />
      <xs:element name="lengthCharacteristic" type="D2LogicalModel:LengthCharacteristic" minOccurs="0" maxOccurs="2" />
      <xs:element name="widthCharacteristic" type="D2LogicalModel:WidthCharacteristic" minOccurs="0" maxOccurs="2" />
      <xs:element name="heaviestAxleWeightCharacteristic" type="D2LogicalModel:HeaviestAxleWeightCharacteristic" minOccurs="0" maxOccurs="2" />
      <xs:element name="numberOfAxlesCharacteristic" type="D2LogicalModel:NumberOfAxlesCharacteristic" minOccurs="0" maxOccurs="2" />
      <xs:element name="vehicleCharacteristicsExtension" type="D2LogicalModel:_VehicleCharacteristicsExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VehicleCharacteristicsExtended">
    <xs:sequence>
      <xs:element name="emissionClassification" type="D2LogicalModel:String" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="operationFreeOfEmission" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="loadType2" type="D2LogicalModel:LoadType2Enum" minOccurs="0" maxOccurs="1" />
      <xs:element name="vehicleType2" type="D2LogicalModel:VehicleType2Enum" minOccurs="0" maxOccurs="1" />
      <xs:element name="fuelType2" type="D2LogicalModel:FuelType2Enum" minOccurs="0" maxOccurs="1" />
      <xs:element name="vehicleUsage2" type="D2LogicalModel:VehicleUsage2Enum" minOccurs="0" maxOccurs="1" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VehicleCountAndRate">
    <xs:sequence>
      <xs:element name="measurementSiteReference" type="D2LogicalModel:_MeasurementSiteRecordVersionedReference" minOccurs="0" maxOccurs="1" />
      <xs:element name="measuredValueIndex" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="dedicatedAccess" type="D2LogicalModel:_ParkingAccessReference" minOccurs="0" maxOccurs="1" />
      <xs:element name="measurementTimeDefault" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1" />
      <xs:element name="lastCalibration" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1" />
      <xs:element name="coveringPetrolStationArea" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="vehicleCountWithinInterval" type="D2LogicalModel:VehicleCountWithinInterval" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="vehicleRate" type="D2LogicalModel:VehicleRate" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="vehicleCountAndRateExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VehicleCountValue">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:DataValue">
        <xs:sequence>
          <xs:element name="vehicleCount" type="D2LogicalModel:NonNegativeInteger" minOccurs="1" maxOccurs="1" />
          <xs:element name="vehicleCountValueExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="VehicleCountWithinInterval">
    <xs:sequence>
      <xs:element name="measurementOrCalcualtionTime" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1" />
      <xs:element name="measurementInterval" type="D2LogicalModel:Seconds" minOccurs="1" maxOccurs="1" />
      <xs:element name="numberOfIncomingVehicles" type="D2LogicalModel:VehicleCountValue" minOccurs="0" />
      <xs:element name="numberOfOutgoingVehicles" type="D2LogicalModel:VehicleCountValue" minOccurs="0" />
      <xs:element name="changeOfOccupiedSpaces" type="D2LogicalModel:OccupancyChangeValue" minOccurs="0" />
      <xs:element name="countedVehicles" type="D2LogicalModel:VehicleCharacteristics" minOccurs="0" />
      <xs:element name="vehicleCountWithinIntervalExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="VehicleEquipmentEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="notUsingSnowChains" />
      <xs:enumeration value="notUsingSnowChainsOrTyres" />
      <xs:enumeration value="snowChainsInUse" />
      <xs:enumeration value="snowTyresInUse" />
      <xs:enumeration value="snowChainsOrTyresInUse" />
      <xs:enumeration value="withoutSnowTyresOrChainsOnBoard" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="VehicleFlowValue">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:DataValue">
        <xs:sequence>
          <xs:element name="vehicleFlowRate" type="D2LogicalModel:VehiclesPerHour" minOccurs="1" maxOccurs="1" />
          <xs:element name="vehicleFlowValueExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="VehicleObstruction">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Obstruction">
        <xs:sequence>
          <xs:element name="vehicleObstructionType" type="D2LogicalModel:VehicleObstructionTypeEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="obstructingVehicle" type="D2LogicalModel:Vehicle" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="vehicleObstructionExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="VehicleObstructionTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="abandonedVehicle" />
      <xs:enumeration value="abnormalLoad" />
      <xs:enumeration value="brokenDownBus" />
      <xs:enumeration value="brokenDownHeavyLorry" />
      <xs:enumeration value="brokenDownVehicle" />
      <xs:enumeration value="convoy" />
      <xs:enumeration value="damagedVehicle" />
      <xs:enumeration value="dangerousSlowMovingVehicle" />
      <xs:enumeration value="emergencyVehicle" />
      <xs:enumeration value="highSpeedEmergencyVehicle" />
      <xs:enumeration value="longLoad" />
      <xs:enumeration value="militaryConvoy" />
      <xs:enumeration value="overheightVehicle" />
      <xs:enumeration value="prohibitedVehicleOnTheRoadway" />
      <xs:enumeration value="saltingOrGrittingVehicleInUse" />
      <xs:enumeration value="slowMovingMaintenanceVehicle" />
      <xs:enumeration value="slowVehicle" />
      <xs:enumeration value="snowplough" />
      <xs:enumeration value="trackLayingVehicle" />
      <xs:enumeration value="unlitVehicleOnTheRoad" />
      <xs:enumeration value="vehicleOnFire" />
      <xs:enumeration value="vehicleCarryingHazardousMaterials" />
      <xs:enumeration value="vehicleInDifficulty" />
      <xs:enumeration value="vehicleOnWrongCarriageway" />
      <xs:enumeration value="vehicleStuck" />
      <xs:enumeration value="vehicleStuckUnderBridge" />
      <xs:enumeration value="vehicleWithOverheightLoad" />
      <xs:enumeration value="vehicleWithOverwideLoad" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="VehicleRate">
    <xs:sequence>
      <xs:element name="measurementOrCalculationTime" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1" />
      <xs:element name="fillRate" type="D2LogicalModel:VehicleFlowValue" minOccurs="0" />
      <xs:element name="exitRate" type="D2LogicalModel:VehicleFlowValue" minOccurs="0" />
      <xs:element name="vehicleFlowRate" type="D2LogicalModel:VehicleFlowValue" minOccurs="0" />
      <xs:element name="measuredVehicles" type="D2LogicalModel:VehicleCharacteristics" minOccurs="0" />
      <xs:element name="vehicleRateExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="VehiclesPerHour">
    <xs:restriction base="D2LogicalModel:NonNegativeInteger" />
  </xs:simpleType>
  <xs:simpleType name="VehicleStatusEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="abandoned" />
      <xs:enumeration value="brokenDown" />
      <xs:enumeration value="burntOut" />
      <xs:enumeration value="damaged" />
      <xs:enumeration value="damagedAndImmobilized" />
      <xs:enumeration value="onFire" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="VehicleType2Enum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="motorhome" />
      <xs:enumeration value="lightGoodsVehicle" />
      <xs:enumeration value="heavyGoodsVehicle" />
      <xs:enumeration value="minibus" />
      <xs:enumeration value="smallCar" />
      <xs:enumeration value="largeCar" />
      <xs:enumeration value="lightGoodsVehicleWithTrailer" />
      <xs:enumeration value="heavyGoodsVehicleWithTrailer" />
      <xs:enumeration value="heavyHaulageVehicle" />
      <xs:enumeration value="passengerCar" />
      <xs:enumeration value="unknown" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="VehicleTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="agriculturalVehicle" />
      <xs:enumeration value="anyVehicle" />
      <xs:enumeration value="articulatedVehicle" />
      <xs:enumeration value="bicycle" />
      <xs:enumeration value="bus" />
      <xs:enumeration value="car" />
      <xs:enumeration value="caravan" />
      <xs:enumeration value="carOrLightVehicle" />
      <xs:enumeration value="carWithCaravan" />
      <xs:enumeration value="carWithTrailer" />
      <xs:enumeration value="constructionOrMaintenanceVehicle" />
      <xs:enumeration value="fourWheelDrive" />
      <xs:enumeration value="highSidedVehicle" />
      <xs:enumeration value="lorry" />
      <xs:enumeration value="moped" />
      <xs:enumeration value="motorcycle" />
      <xs:enumeration value="motorcycleWithSideCar" />
      <xs:enumeration value="motorscooter" />
      <xs:enumeration value="tanker" />
      <xs:enumeration value="threeWheeledVehicle" />
      <xs:enumeration value="trailer" />
      <xs:enumeration value="tram" />
      <xs:enumeration value="twoWheeledVehicle" />
      <xs:enumeration value="van" />
      <xs:enumeration value="vehicleWithCatalyticConverter" />
      <xs:enumeration value="vehicleWithoutCatalyticConverter" />
      <xs:enumeration value="vehicleWithCaravan" />
      <xs:enumeration value="vehicleWithTrailer" />
      <xs:enumeration value="withEvenNumberedRegistrationPlates" />
      <xs:enumeration value="withOddNumberedRegistrationPlates" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="VehicleUsage2Enum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="cityLogistics" />
      <xs:enumeration value="carSharing" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="VehicleUsageEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="agricultural" />
      <xs:enumeration value="commercial" />
      <xs:enumeration value="emergencyServices" />
      <xs:enumeration value="military" />
      <xs:enumeration value="nonCommercial" />
      <xs:enumeration value="patrol" />
      <xs:enumeration value="recoveryServices" />
      <xs:enumeration value="roadMaintenanceOrConstruction" />
      <xs:enumeration value="roadOperator" />
      <xs:enumeration value="taxi" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="VersionedReference">
    <xs:attribute name="id" type="xs:string" use="required" />
    <xs:attribute name="version" type="xs:string" use="required" />
  </xs:complexType>
  <xs:complexType name="Visibility">
    <xs:sequence>
      <xs:element name="minimumVisibilityDistance" type="D2LogicalModel:IntegerMetreDistanceValue" />
      <xs:element name="visibilityExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VisibilityInformation">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:WeatherData">
        <xs:sequence>
          <xs:element name="visibility" type="D2LogicalModel:Visibility" />
          <xs:element name="visibilityInformationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Vms">
    <xs:sequence>
      <xs:element name="vmsWorking" type="D2LogicalModel:Boolean" minOccurs="1" maxOccurs="1" />
      <xs:element name="vmsMessageSequencingInterval" type="D2LogicalModel:Seconds" minOccurs="0" maxOccurs="1" />
      <xs:element name="vmsMessage" type="D2LogicalModel:_VmsMessageIndexVmsMessage" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="textDisplayAreaSettings" type="D2LogicalModel:TextDisplayAreaSettings" minOccurs="0" />
      <xs:element name="pictogramDisplayAreaSettings" type="D2LogicalModel:_VmsPictogramDisplayAreaIndexPictogramDisplayAreaSettings" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="vmsLocationOverride" type="D2LogicalModel:Location" minOccurs="0" />
      <xs:element name="managedLogicalLocationOverride" type="D2LogicalModel:VmsManagedLogicalLocation" minOccurs="0" />
      <xs:element name="vmsDynamicCharacteristics" type="D2LogicalModel:VmsDynamicCharacteristics" minOccurs="0" />
      <xs:element name="vmsFault" type="D2LogicalModel:VmsFault" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="vmsExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="VmsDatexPictogramEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="accident" />
      <xs:enumeration value="advisorySpeed" />
      <xs:enumeration value="animalsOnRoad" />
      <xs:enumeration value="blankVoid" />
      <xs:enumeration value="bridgeClosed" />
      <xs:enumeration value="bridgeSwingInOperation" />
      <xs:enumeration value="carParkFull" />
      <xs:enumeration value="carParkSpacesAvailable" />
      <xs:enumeration value="carriagewayNarrows" />
      <xs:enumeration value="carriagewayNarrowsOnTheLeft" />
      <xs:enumeration value="carriagewayNarrowsOnTheRight" />
      <xs:enumeration value="carriagewayReducedToOneLane" />
      <xs:enumeration value="carriagewayReducedToTwoLanes" />
      <xs:enumeration value="carriagewayReducedToThreeLanes" />
      <xs:enumeration value="chainsOrSnowTyresRecommended" />
      <xs:enumeration value="compulsoryMinimumSpeed" />
      <xs:enumeration value="crossWind" />
      <xs:enumeration value="dangerOfFire" />
      <xs:enumeration value="drivingOfVehiclesLessThanXMetresApartProhibited" />
      <xs:enumeration value="endOfAdvisorySpeed" />
      <xs:enumeration value="endOfCompulsoryMinimumSpeed" />
      <xs:enumeration value="endOfProhibitionOfOvertaking" />
      <xs:enumeration value="endOfProhibitionOfOvertakingForGoodsVehicles" />
      <xs:enumeration value="endOfSpeedLimit" />
      <xs:enumeration value="exitClosed" />
      <xs:enumeration value="fallingRocks" />
      <xs:enumeration value="fastenChildrensSeatBelts" />
      <xs:enumeration value="fastenYourSeatBelt" />
      <xs:enumeration value="fire" />
      <xs:enumeration value="floodingOrFlashFloods" />
      <xs:enumeration value="fog" />
      <xs:enumeration value="footballMatch" />
      <xs:enumeration value="hardShoulderNotRunning" />
      <xs:enumeration value="hardShoulderRunning" />
      <xs:enumeration value="keepASafeDistance" />
      <xs:enumeration value="keepLeft" />
      <xs:enumeration value="keepRight" />
      <xs:enumeration value="lane1ClosedOf2" />
      <xs:enumeration value="lane2ClosedOf2" />
      <xs:enumeration value="lane1ClosedOf3" />
      <xs:enumeration value="lane3ClosedOf3" />
      <xs:enumeration value="lanes1And2ClosedOf3" />
      <xs:enumeration value="lanes2And3ClosedOf3" />
      <xs:enumeration value="lane1ClosedOf4" />
      <xs:enumeration value="lane4ClosedOf4" />
      <xs:enumeration value="lanes1And2ClosedOf4" />
      <xs:enumeration value="lanes3And4ClosedOf4" />
      <xs:enumeration value="lanes1And2And3ClosedOf4" />
      <xs:enumeration value="lanes2And3And4ClosedOf4" />
      <xs:enumeration value="laneClosed" />
      <xs:enumeration value="laneDeviationToLeft" />
      <xs:enumeration value="laneDeviationToRight" />
      <xs:enumeration value="laneOpen" />
      <xs:enumeration value="leftHandLaneClosed" />
      <xs:enumeration value="lightSignals" />
      <xs:enumeration value="looseGravel" />
      <xs:enumeration value="maintenanceVehicleInAction" />
      <xs:enumeration value="maximumSpeedLimitedToTheFigureIndicated" />
      <xs:enumeration value="narrowLanesAead" />
      <xs:enumeration value="noEntry" />
      <xs:enumeration value="noEntryForAnyPowerDrivenVehicleDrawingATrailer" />
      <xs:enumeration value="noEntryForAnyPowerDrivenVehicleDrawingATrailerOtherThanASemiTrailerOrASingleAxleTrailer" />
      <xs:enumeration value="noEntryForGoodsVehicles" />
      <xs:enumeration value="noEntryForVehiclesExceedingXTonnesLadenMass" />
      <xs:enumeration value="noEntryForVehiclesHavingAMassExceedingXTonnesOnOneAxle" />
      <xs:enumeration value="noEntryForVehiclesHavingAnOverallHeightExceedingXMetres" />
      <xs:enumeration value="noEntryForVehiclesHavingAnOverallLengthExceedingXMetres" />
      <xs:enumeration value="noEntryForVehiclesHavingAnOverallWidthExceedingXMetres" />
      <xs:enumeration value="noEntryForVehiclesCarryingDangerousGoods" />
      <xs:enumeration value="otherDangers" />
      <xs:enumeration value="overtakingByGoodsVehiclesProhibited" />
      <xs:enumeration value="overtakingProhibited" />
      <xs:enumeration value="pollutionOrSmogAlert" />
      <xs:enumeration value="queue" />
      <xs:enumeration value="rain" />
      <xs:enumeration value="rightHandLaneClosed" />
      <xs:enumeration value="roadClosedAhead" />
      <xs:enumeration value="roadworks" />
      <xs:enumeration value="slipperyRoad" />
      <xs:enumeration value="smoke" />
      <xs:enumeration value="snow" />
      <xs:enumeration value="snowChainsCompulsory" />
      <xs:enumeration value="snowTyresCompulsory" />
      <xs:enumeration value="snowPloughInAction" />
      <xs:enumeration value="speedCamerasInAction" />
      <xs:enumeration value="trafficCongestion" />
      <xs:enumeration value="trafficDeviatedToOppositeCarriagewayAhead" />
      <xs:enumeration value="trafficPartiallyDeviatedToOppositeCarriagewayAhead" />
      <xs:enumeration value="tunnelClosed" />
      <xs:enumeration value="turnLeft" />
      <xs:enumeration value="turnRight" />
      <xs:enumeration value="twoWayTraffic" />
      <xs:enumeration value="unevenRoad" />
      <xs:enumeration value="vehicleFire" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="VmsDatexSupplementalPictogramEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="distanceToTheBeginningofTheApplicationZone" />
      <xs:enumeration value="exceptAnyPowerDrivenVehicleDrawingTrailer" />
      <xs:enumeration value="exceptBus" />
      <xs:enumeration value="exceptGoodsVehicles" />
      <xs:enumeration value="exceptSemiTrailer" />
      <xs:enumeration value="exceptVehiclesCarryingDangerousGoods" />
      <xs:enumeration value="inCaseOfIceOrSnow" />
      <xs:enumeration value="lengthOfTheApplicationZone" />
      <xs:enumeration value="restrictedToAnyPowerDrivenVehicleDrawingTrailer" />
      <xs:enumeration value="restricetdToBus" />
      <xs:enumeration value="restrictedToGoodsVehicles" />
      <xs:enumeration value="restrictedToSemiTrailer" />
      <xs:enumeration value="restrictedToVehiclesCarryingDangerousGoods" />
      <xs:enumeration value="maintenanceVehicles" />
      <xs:enumeration value="snowPloughs" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="VmsDynamicCharacteristics">
    <xs:sequence>
      <xs:element name="numberOfPictogramDisplayAreas" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="vmsTextDisplayCharacteristics" type="D2LogicalModel:VmsTextDisplayCharacteristics" minOccurs="0" />
      <xs:element name="vmsPictogramDisplayCharacteristics" type="D2LogicalModel:_VmsDynamicCharacteristicsPictogramDisplayAreaIndexVmsPictogramDisplayCharacteristics" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="vmsDynamicCharacteristicsExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VmsFault">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Fault">
        <xs:sequence>
          <xs:element name="vmsFault" type="D2LogicalModel:VmsFaultEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="vmsFaultExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="VmsFaultEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="communicationsFailure" />
      <xs:enumeration value="incorrectMessageDisplayed" />
      <xs:enumeration value="incorrectPictogramDisplayed" />
      <xs:enumeration value="outOfService" />
      <xs:enumeration value="powerFailure" />
      <xs:enumeration value="unableToClearDown" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="VmsLuminanceLevelEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="switchedOff" />
      <xs:enumeration value="testing" />
      <xs:enumeration value="night" />
      <xs:enumeration value="overcast" />
      <xs:enumeration value="broadDaylight" />
      <xs:enumeration value="sunInEyes" />
      <xs:enumeration value="sunOnBack" />
      <xs:enumeration value="foggyDay" />
      <xs:enumeration value="foggyNight" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="VmsManagedLogicalLocation">
    <xs:sequence>
      <xs:element name="managedLogicalLocation" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="distanceFromLogicalLocation" type="D2LogicalModel:MetresAsNonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="managedLocation" type="D2LogicalModel:Location" minOccurs="0" />
      <xs:element name="vmsManagedLogicalLocationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VmsMessage">
    <xs:sequence>
      <xs:element name="associatedManagementOrDiversionPlan" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="messageSetBy" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="setBySystem" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="reasonForSetting" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="codedReasonForSetting" type="D2LogicalModel:CodedReasonForSettingMessageEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="vmsMessageInformationType" type="D2LogicalModel:VmsMessageInformationTypeEnum" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="primarySetting" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="mareNostrumCompliant" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="timeLastSet" type="D2LogicalModel:DateTime" minOccurs="1" maxOccurs="1" />
      <xs:element name="requestedBy" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="situationToWhichMessageIsRelated" type="D2LogicalModel:VersionedReference" minOccurs="0" maxOccurs="1" />
      <xs:element name="situationRecordToWhichMessageIsRelated" type="D2LogicalModel:VersionedReference" minOccurs="0" maxOccurs="1" />
      <xs:element name="distanceFromSituationRecord" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1" />
      <xs:element name="textPictogramSequencingInterval" type="D2LogicalModel:Seconds" minOccurs="0" maxOccurs="1" />
      <xs:element name="textPage" type="D2LogicalModel:_TextPage" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="vmsPictogramDisplayArea" type="D2LogicalModel:_VmsMessagePictogramDisplayAreaIndexVmsPictogramDisplayArea" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="vmsMessageExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="VmsMessageInformationTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="campaignMessage" />
      <xs:enumeration value="dateTime" />
      <xs:enumeration value="futureInformation" />
      <xs:enumeration value="instructionOrMessage" />
      <xs:enumeration value="situationWarning" />
      <xs:enumeration value="temperature" />
      <xs:enumeration value="trafficManagement" />
      <xs:enumeration value="travelTime" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="VmsPictogram">
    <xs:sequence>
      <xs:element name="pictogramDescription" type="D2LogicalModel:VmsDatexPictogramEnum" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="pictogramCode" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="pictogramUrl" type="D2LogicalModel:Url" minOccurs="0" maxOccurs="1" />
      <xs:element name="additionalPictogramDescription" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="pictogramFlashing" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="pictogramInInverseColour" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="presenceOfRedTriangle" type="D2LogicalModel:Boolean" minOccurs="1" maxOccurs="1" />
      <xs:element name="viennaConventionCompliant" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="distanceAttribute" type="D2LogicalModel:MetresAsNonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="heightAttribute" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1" />
      <xs:element name="lengthAttribute" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1" />
      <xs:element name="speedAttribute" type="D2LogicalModel:KilometresPerHour" minOccurs="0" maxOccurs="1" />
      <xs:element name="weightAttribute" type="D2LogicalModel:Tonnes" minOccurs="0" maxOccurs="1" />
      <xs:element name="weightPerAxleAttribute" type="D2LogicalModel:Tonnes" minOccurs="0" maxOccurs="1" />
      <xs:element name="widthAttribute" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1" />
      <xs:element name="vmsSupplementaryPanel" type="D2LogicalModel:VmsSupplementaryPanel" minOccurs="0" />
      <xs:element name="vmsPictogramExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VmsPictogramDisplayArea">
    <xs:sequence>
      <xs:element name="synchronizedSequencingWithTextPages" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="vmsPictogram" type="D2LogicalModel:_VmsPictogramDisplayAreaPictogramSequencingIndexVmsPictogram" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="vmsPictogramDisplayAreaExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VmsPictogramDisplayCharacteristics">
    <xs:sequence>
      <xs:element name="pictogramLanternsPresent" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="pictogramSequencingCapable" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="pictogramPixelsAcross" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="pictogramPixelsDown" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="pictogramDisplayHeight" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1" />
      <xs:element name="pictogramDisplayWidth" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1" />
      <xs:element name="pictogramCodeListIdentifier" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="maxPictogramLuminanceLevel" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="pictogramNumberOfColours" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="maxNumberOfSequentialPictograms" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="pictogramPositionAbsolute" type="D2LogicalModel:PositionAbsoluteEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="pictogramPositionX" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1" />
      <xs:element name="pictogramPositionY" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1" />
      <xs:element name="pictogramPositionRelativeToText" type="D2LogicalModel:PositionRelativeEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="vmsSupplementaryPanelCharacteristics" type="D2LogicalModel:VmsSupplementaryPanelCharacteristics" minOccurs="0" />
      <xs:element name="vmsPictogramDisplayCharacteristicsExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VmsPublication">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:PayloadPublication">
        <xs:sequence>
          <xs:element name="headerInformation" type="D2LogicalModel:HeaderInformation" />
          <xs:element name="vmsUnit" type="D2LogicalModel:VmsUnit" maxOccurs="unbounded" />
          <xs:element name="vmsPublicationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="VmsRecord">
    <xs:sequence>
      <xs:element name="vmsDescription" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="vmsOwner" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="vmsPhysicalMounting" type="D2LogicalModel:PhysicalMountingEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="vmsType" type="D2LogicalModel:VmsTypeEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="vmsTypeCode" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="numberOfPictogramDisplayAreas" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="dynamicallyConfigurableDisplayAreas" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="vmsDisplayHeight" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1" />
      <xs:element name="vmsDisplayWidth" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1" />
      <xs:element name="vmsHeightAboveRoadway" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1" />
      <xs:element name="vmsTextDisplayCharacteristics" type="D2LogicalModel:VmsTextDisplayCharacteristics" minOccurs="0" />
      <xs:element name="vmsPictogramDisplayCharacteristics" type="D2LogicalModel:_VmsRecordPictogramDisplayAreaIndexVmsPictogramDisplayCharacteristics" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="vmsLocation" type="D2LogicalModel:Location" minOccurs="0" />
      <xs:element name="vmsManagedLogicalLocation" type="D2LogicalModel:VmsManagedLogicalLocation" minOccurs="0" />
      <xs:element name="backgroundImageUrl" type="D2LogicalModel:UrlLink" minOccurs="0" />
      <xs:element name="vmsRecordExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VmsSetting" abstract="true">
    <xs:sequence>
      <xs:element name="vmsSettingExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VmsSupplementaryPanel">
    <xs:sequence>
      <xs:element name="supplementaryMessageDescription" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="vmsSupplementaryPictogram" type="D2LogicalModel:VmsSupplementaryPictogram" minOccurs="0" />
      <xs:element name="vmsSupplementaryText" type="D2LogicalModel:VmsTextLine" minOccurs="0" />
      <xs:element name="vmsSupplementaryPanelExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VmsSupplementaryPanelCharacteristics">
    <xs:sequence>
      <xs:element name="supplementaryPictogramCodeListIdentifier" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="supplementaryPanelPixelsAcross" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="supplementaryPanelPixelsDown" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="supplementaryPanelDisplayHeight" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1" />
      <xs:element name="supplementaryPanelDisplayWidth" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1" />
      <xs:element name="supplementaryPanelPositionX" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1" />
      <xs:element name="supplementaryPanelPositionY" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1" />
      <xs:element name="relativePositionToPictogramArea" type="D2LogicalModel:PositionRelativeEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="vmsSupplementaryPanelCharacteristicsExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VmsSupplementaryPictogram">
    <xs:sequence>
      <xs:element name="supplementaryPictogramDescription" type="D2LogicalModel:VmsDatexSupplementalPictogramEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="supplementaryPictogramCode" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="supplementaryPictogramUrl" type="D2LogicalModel:Url" minOccurs="0" maxOccurs="1" />
      <xs:element name="additionalSupplementaryPictogramDescription" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="pictogramFlashing" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="vmsSupplementaryPictogramExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VmsTablePublication">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:PayloadPublication">
        <xs:sequence>
          <xs:element name="headerInformation" type="D2LogicalModel:HeaderInformation" />
          <xs:element name="vmsUnitTable" type="D2LogicalModel:VmsUnitTable" maxOccurs="unbounded" />
          <xs:element name="vmsTablePublicationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="VmsText">
    <xs:sequence>
      <xs:element name="vmsLegendCode" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="vmsTextImageUrl" type="D2LogicalModel:Url" minOccurs="0" maxOccurs="1" />
      <xs:element name="vmsTextLine" type="D2LogicalModel:_VmsTextLineIndexVmsTextLine" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="vmsTextExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VmsTextDisplayCharacteristics">
    <xs:sequence>
      <xs:element name="textLanternsPresent" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="textPageSequencingCapable" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="textPixelsAcross" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="textPixelsDown" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="textDisplayHeight" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1" />
      <xs:element name="textDisplayWidth" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1" />
      <xs:element name="maxNumberOfCharacters" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="maxNumberOfRows" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="legendCodeListIdentifier" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="maxFontHeight" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="minFontHeight" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="maxFontWidth" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="minFontWidth" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="maxFontSpacing" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="minFontSpacing" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="maxTextLuminanceLevel" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="maxNumberOfSequentialPages" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="textPositionAbsolute" type="D2LogicalModel:PositionAbsoluteEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="textPositionX" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1" />
      <xs:element name="textPositionY" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1" />
      <xs:element name="vmsTextDisplayCharacteristicsExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VmsTextLine">
    <xs:sequence>
      <xs:element name="vmsTextLine" type="D2LogicalModel:String" minOccurs="1" maxOccurs="1" />
      <xs:element name="vmsTextLineLanguage" type="D2LogicalModel:Language" minOccurs="0" maxOccurs="1" />
      <xs:element name="vmsTextLineColour" type="D2LogicalModel:ColourEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="vmsTextLineFlashing" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="vmsTextLineHtml" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="vmsTextLineExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="VmsTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="colourGraphic" />
      <xs:enumeration value="continuousSign" />
      <xs:enumeration value="monochromeGraphic" />
      <xs:enumeration value="matrixSign" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="VmsUnit">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:VmsSetting">
        <xs:sequence>
          <xs:element name="vmsUnitTableReference" type="D2LogicalModel:_VmsUnitTableVersionedReference" minOccurs="1" maxOccurs="1" />
          <xs:element name="vmsUnitReference" type="D2LogicalModel:_VmsUnitRecordVersionedReference" minOccurs="1" maxOccurs="1" />
          <xs:element name="vms" type="D2LogicalModel:_VmsUnitVmsIndexVms" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="vmsUnitFault" type="D2LogicalModel:VmsUnitFault" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="vmsUnitExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="VmsUnitFault">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Fault">
        <xs:sequence>
          <xs:element name="vmsUnitFault" type="D2LogicalModel:VmsFaultEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="vmsUnitFaultExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="VmsUnitRecord">
    <xs:sequence>
      <xs:element name="numberOfVms" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="vmsUnitIdentifier" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="vmsUnitIPAddress" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="vmsUnitElectronicAddress" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="vmsRecord" type="D2LogicalModel:_VmsUnitRecordVmsIndexVmsRecord" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="vmsUnitRecordExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="id" type="xs:string" use="required" />
    <xs:attribute name="version" type="xs:string" use="required" />
  </xs:complexType>
  <xs:complexType name="VmsUnitTable">
    <xs:sequence>
      <xs:element name="vmsUnitTableIdentification" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="vmsUnitRecord" type="D2LogicalModel:VmsUnitRecord" maxOccurs="unbounded" />
      <xs:element name="vmsUnitTableExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="id" type="xs:string" use="required" />
    <xs:attribute name="version" type="xs:string" use="required" />
  </xs:complexType>
  <xs:simpleType name="Volt">
    <xs:restriction base="D2LogicalModel:Float" />
  </xs:simpleType>
  <xs:complexType name="WeatherData" abstract="true">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:BasicData">
        <xs:sequence>
          <xs:element name="weatherDataExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="WeatherRelatedRoadConditions">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:RoadConditions">
        <xs:sequence>
          <xs:element name="weatherRelatedRoadConditionType" type="D2LogicalModel:WeatherRelatedRoadConditionTypeEnum" minOccurs="1" maxOccurs="unbounded" />
          <xs:element name="roadSurfaceConditionMeasurements" type="D2LogicalModel:RoadSurfaceConditionMeasurements" minOccurs="0" />
          <xs:element name="weatherRelatedRoadConditionsExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="WeatherRelatedRoadConditionTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="blackIce" />
      <xs:enumeration value="deepSnow" />
      <xs:enumeration value="dry" />
      <xs:enumeration value="freezingOfWetRoads" />
      <xs:enumeration value="freezingPavements" />
      <xs:enumeration value="freezingRain" />
      <xs:enumeration value="freshSnow" />
      <xs:enumeration value="ice" />
      <xs:enumeration value="iceBuildUp" />
      <xs:enumeration value="iceWithWheelBarTracks" />
      <xs:enumeration value="icyPatches" />
      <xs:enumeration value="looseSnow" />
      <xs:enumeration value="normalWinterConditionsForPedestrians" />
      <xs:enumeration value="packedSnow" />
      <xs:enumeration value="roadSurfaceMelting" />
      <xs:enumeration value="slipperyRoad" />
      <xs:enumeration value="slushOnRoad" />
      <xs:enumeration value="slushStrings" />
      <xs:enumeration value="snowDrifts" />
      <xs:enumeration value="snowOnPavement" />
      <xs:enumeration value="snowOnTheRoad" />
      <xs:enumeration value="surfaceWater" />
      <xs:enumeration value="wet" />
      <xs:enumeration value="wetAndIcyRoad" />
      <xs:enumeration value="wetIcyPavement" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="WeekOfMonthEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="firstWeekOfMonth" />
      <xs:enumeration value="secondWeekOfMonth" />
      <xs:enumeration value="thirdWeekOfMonth" />
      <xs:enumeration value="fourthWeekOfMonth" />
      <xs:enumeration value="fifthWeekOfMonth" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="WidthCharacteristic">
    <xs:sequence>
      <xs:element name="comparisonOperator" type="D2LogicalModel:ComparisonOperatorEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="vehicleWidth" type="D2LogicalModel:MetresAsFloat" minOccurs="1" maxOccurs="1" />
      <xs:element name="widthCharacteristicExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Wind">
    <xs:sequence>
      <xs:element name="windMeasurementHeight" type="D2LogicalModel:MetresAsNonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="windSpeed" type="D2LogicalModel:SpeedValue" minOccurs="0" />
      <xs:element name="maximumWindSpeed" type="D2LogicalModel:SpeedValue" minOccurs="0" />
      <xs:element name="windDirectionBearing" type="D2LogicalModel:DirectionBearingValue" minOccurs="0" />
      <xs:element name="windDirectionCompass" type="D2LogicalModel:DirectionCompassValue" minOccurs="0" />
      <xs:element name="windExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="WindInformation">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:WeatherData">
        <xs:sequence>
          <xs:element name="wind" type="D2LogicalModel:Wind" />
          <xs:element name="windInformationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="WinterDrivingManagement">
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:NetworkManagement">
        <xs:sequence>
          <xs:element name="winterEquipmentManagementType" type="D2LogicalModel:WinterEquipmentManagementTypeEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="winterDrivingManagementExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="WinterEquipmentManagementTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="doNoUseStudTyres" />
      <xs:enumeration value="useSnowChains" />
      <xs:enumeration value="useSnowChainsOrTyres" />
      <xs:enumeration value="useSnowTyres" />
      <xs:enumeration value="winterEquipmentOnBoardRequired" />
      <xs:enumeration value="other" />
    </xs:restriction>
  </xs:simpleType>
</xs:schema>