XML_AcsAbility

AcsAbility capability message in XML format

<AcsAbility version="2.0"> 
  <channelControllerNo min="" max=""/> 
  <!--required, lane controller range--> 
  <doorNo min="" max=""/> 
  <!--req , door No. rang  or  floor No. range--> 
  <cardReaderNo min="" max=""/> 
  <!--required, card reader No. range--> 
  <maxCardNum></maxCardNum> 
  <!--required, supported card number--> 
  <caseSensorNo min="" max=""/> 
  <!--required, event trigger No.--> 
  <gateOpenDirectionNum opt="1,2"/> 
  <!--required, the number of door opening directions (e.g., for the flap barrier which has only one direction, the attribute "opt" should be set to 1; for the swing barrier and the tripod turnstile which have two directions, the attribute "opt" should be set to 2)--> 
  <DoorRelateCardReaderList> 
    <!--optional, card reader No., which is linked with the door No. (it will be returned only when the card reader has linked with card reader, otherwise it will not be returned)--> 
    <Action> 
      <doorNo>1</doorNo> 
      <cardReaderNo>1,2</cardReaderNo> 
    </Action> 
  </DoorRelateCardReaderList>
  <DoorStatusPlan> 
    <!--required, door status schedule capability --> 
    <WeekPlan> 
      <!--required, weekly schedule capability --> 
      <weekPlanNo min="" max=""/> 
      <!--required, weekly schedule No. range --> 
      <maxDaySegment>8</maxDaySegment> 
      <!--required, supported daily time segment number --> 
      <status opt="invalid,sleep,alwaysopen,alwaysclose,normal"/> 
      <!--required, status value range --> 
      <verifyType opt="invalid,sleep,swipecard,swipecardandpassword,swipecardorpasswd,fingerPrint,fingerPrintAndPasswd,fingerPrintorCard,fingerPrintAndCard,fingerPrintAndCardAndPasswd,faceOrFpOrCardOrPw,faceAndFingerPrint,faceAndPassword,faceAndCard,face,employeeNoAndPassword,fingerPrintOrPassword,employeeNoAndFp,employeeNoAndFpAndPw,faceAndFpAndCard,faceAndPwAndFp,employeeNoAndface,cardOrFace,cardOrFaceOrFp,cardOrFpOrPw"/> 
      <!--required, authentication method range --> 
      <TimeAccuracy> 
        <!--required, time accuracy --> 
        <hour>enable</hour> 
        <minute>enable</minute> 
        <second>enable</second> 
      </TimeAccuracy> 
    </WeekPlan> 
    <HolidayPlan> 
      <!--required, holiday schedule --> 
      <holidayPlanNo min="" max=""/> 
      <!--required,  holiday schedule No. range --> 
      <maxDaySegment>8</maxDaySegment> 
      <!--required, supported daily time segment number --> 
      <TimeAccuracy> 
        <!--required, time accuracy--> 
        <hour>enable</hour> 
        <minute>enable</minute> 
        <second>enable</second> 
      </TimeAccuracy> 
    </HolidayPlan> 
    <HolidayGroup> 
      <!--required, holiday group capability--> 
      <holidayGroupNo min="" max=""/> 
      <!--required, holiday group No. range --> 
      <holidayGroupName min="" max=""/> 
      <!--required, holiday group name length --> 
      <maxHolidayPlanNum></maxHolidayPlanNum> 
      <!--required, max. holiday schedule number for the holiday group --> 
    </HolidayGroup> 
    <PlanTemplate> 
      <!--required, schedule template capability --> 
      <templateNo min="" max=""/> 
        <!--optional, range of schedule template No.--> 
      <templateName min="" max=""/> 
      <!--required, schedule template name length --> 
      <maxHolidayGroupNum></maxHolidayGroupNum> 
      <!--required, max. holiday group number for the schedule template --> 
    </PlanTemplate> 
    <supportLocalController>enable</supportLocalController> 
    <!--required, support distributed access controller--> 
  </DoorStatusPlan> 
  <CardReaderVerifyTypePlan> 
    <!--required, card reader authentication schedule capability --> 
    <WeekPlan> 
      <!--required, weekly schedule capability --> 
      <weekPlanNo min="" max=""/> 
      <!--required, weekly schedule No. range --> 
      <maxDaySegment>8</maxDaySegment> 
      <!--required, supported daily time segment number --> 
      <status opt="invalid,sleep,alwaysopen,alwaysclose,normal"/> 
      <!--required, status value range --> 
      <verifyType opt="invalid,sleep,swipecard,swipecardandpassword,swipecardorpasswd,fingerPrint,fingerPrintAndPasswd,fingerPrintOrCard,fingerPrintAndCard,fingerPrintAndCardAndPasswd,fingerPrintorCard,fingerPrintAndCard,fingerPrintAndCardAndPasswd,faceOrFpOrCardOrPw,faceAndFingerPrint, faceAndPassword,faceAndCard,face,employeeNoAndPassword,fingerPrintOrPassword,employeeNoAndFp,employeeNoAndFpAndPw,faceAndFpAndCard,faceAndPwAndFp,employeeNoAndface,employeeNoAndFpAndPw,faceAndFpAndCard,faceAndPwAndFp,employeeNoAndface,faceOrFaceAndCard,fingerPrintOrFace,swipecardOrFaceOrPw,cardOrFace,cardOrFaceOrFp,cardOrFpOrPw"/> 
      <!--required,verification mode range: invalid, sleep, card, card and password, card or password, fingerprint, fingerprint and password, fingerprint or card, fingerprint and card, fingerprint and card and password (no order), face or fingerprint or card or password, face and fingerprint, face and password, face and card, face, employee No. and password, fingerprint or password, employee No.and fingerprint, employee No. and fingerprint and password, face and fingerprint and card, face and password and fingerprint, employee No. and face, employee No. and fingerprint and password, face and fingerprint and card, face and password and fingerprint, employee No. and face, face or face and card, fingerprint or face, card or face or password, card or face, card or face or fingerprint--> 
      <purePwdVerifyEnable><!--optional, boolean, whether the device supports opening the door only by password: true-yes, this node is not returned-no--></purePwdVerifyEnable>
      <!--For opening the door only by password: 1. The password in "XXX or password" in the authentication mode refers to the person's password (the value of the node password in JSON_UserInfo); 2. The device will not check the duplication of the password, and the upper platform should ensure that the password is unique; 3. The password cannot be added, deleted, edited, or searched for on the device locally-->
      <TimeAccuracy> 
        <!--required, time accuracy --> 
        <hour>enable</hour> 
        <minute>enable</minute> 
        <second>enable</second> 
      </TimeAccuracy> 
    </WeekPlan> 
    <HolidayPlan> 
      <!--required, holiday schedule --> 
      <holidayPlanNo min="" max=""/> 
      <!--required, holiday schedule No. range --> 
      <maxDaySegment>8</maxDaySegment> 
      <!--required, supported daily time segment number --> 
      <TimeAccuracy> 
        <!--required,  time accuracy --> 
        <hour>enable</hour> 
        <minute>enable</minute> 
        <second>enable</second> 
      </TimeAccuracy> 
    </HolidayPlan> 
    <HolidayGroup> 
      <!--required, holiday group capability --> 
      <holidayGroupNo min="" max=""/> 
      <!--required, holiday group No. range --> 
      <holidayGroupName min="" max=""/> 
      <!--required, holiday group name length --> 
      <maxHolidayPlanNum></maxHolidayPlanNum> 
      <!--required, max. holiday schedule number for holiday group --> 
    </HolidayGroup> 
    <PlanTemplate> 
      <!--required, schedule template capability --> 
      <templateNo min="" max=""/> 
      <!--optional, range of schedule template No.--> 
      <templateName min="" max=""/> 
      <!--required, schedule template name lenghth --> 
      <maxHolidayGroupNum></maxHolidayGroupNum> 
      <!--required, max. holiday group number for schedule template --> 
    </PlanTemplate> 
    <supportLocalController>enable</supportLocalController> 
    <!--required, support distributed access controller--> 
  </CardReaderVerifyTypePlan> 
  <CardRightPlan> 
    <!--required, card permission schedule capability --> 
    <WeekPlan> 
      <!--required, weekly schedule capability --> 
      <weekPlanNo min="" max=""/> 
      <!--required, weekly schedule No. range --> 
      <maxDaySegment>8</maxDaySegment> 
      <!--required, supported daily time segment number --> 
      <status opt="invalid,sleep,alwaysopen,alwaysclose,normal"/> 
      <!--required, status value range --> 
      <verifyType opt="invalid,sleep,swipecard,swipecardandpassword"/> 
      <!--required, authentication method range --> 
      <TimeAccuracy> 
        <!--required, time accuracy --> 
        <hour>enable</hour> 
        <minute>enable</minute> 
        <second>enable</second> 
      </TimeAccuracy> 
    </WeekPlan> 
    <HolidayPlan><!--required, holiday schedule --> 
      <holidayPlanNo min="" max=""/><!--required, holiday schedule No. range --> 
      <maxDaySegment>8</maxDaySegment> 
      <!--required, supported daily time segment number --> 
      <TimeAccuracy> 
        <!--required, time accuracy --> 
        <hour>enable</hour> 
        <minute>enable</minute> 
        <second>enable</second> 
      </TimeAccuracy> 
    </HolidayPlan> 
    <HolidayGroup> 
      <!--required, holiday group capability--> 
      <holidayGroupNo min="" max=""/> 
      <!--required, holiday group No. range --> 
      <holidayGroupName min="" max=""/> 
      <!--required, holiday group name length --> 
      <maxHolidayPlanNum></maxHolidayPlanNum> 
      <!--required, max. holiday schedule number for holiday group --> 
    </HolidayGroup> 
    <PlanTemplate> 
      <!--required, schedule template capability --> 
      <templateNo min="" max=""/> 
        <!--optional, range of schedule template No.--> 
      <templateName min="" max=""/> 
      <!--required, schedule template name length --> 
      <maxHolidayGroupNum></maxHolidayGroupNum> 
      <!--required, max. holiday group number for schedule template --> 
    </PlanTemplate> 
    <supportLocalController>enable</supportLocalController> 
    <!--required, support distributed access controller--> 
  </CardRightPlan> 
  <Door> 
    <!--required, door parameters capaility --> 
    <doorName min="" max=""/> 
    <!--required, door name length --> 
    <magneticMode opt="alwaysclose,alwaysopen"/> 
    <!--required, door magnetic type --> 
    <openButtonMode opt="alwaysclose,alwaysopen"/> 
    <!--required, exit button type--> 
    <openDuration min="" max=""/> 
    <!--required, door opening duration range, unit: second --> 
    <disabledOpenDuration min="" max=""/> 
    <!--required, disabled card opening door duration range, unit: second)--> 
    <magneticAlarmTimeout min="" max=""/> 
    <!--required, magnetic detection overtime alarm time, unit: second,  0 indicates not to alarm. --> 
    <doorLock>enable</doorLock> 
    <!--required,whether support locking door when door closed. --> 
    <leaderCard>enable</leaderCard> 
    <!--required, whether to enable first card opening door --> 
    <stressPassword min="" max=""/> 
    <!--required, duress password length --> 
    <superPassword min="" max=""/> 
    <!--required, super password length --> 
    <unlockPassword min="" max=""/> 
    <!--optional, unlocking password length --> 
    <leaderCardMode opt="close,alwaysopen,authorized"/> 
    <!--required, first card mode--> 
    <useLocalController>enable</useLocalController> 
    <!--required, whether the door is connected to distributed access controller--> 
    <localControllerID min="" max=""/> 
    <!--required, distributed access controller No.--> 
    <localControllerDoorNumber min="" max=""/> 
    <!--required, distributed access controller door No.--> 
    <localControllerStatus opt="offline,netOnline,authorized"/> 
    <!--required, distributed access controller online status--> 
    <lockInputCheck>enable</lockInputCheck> 
    <!--required, whether to enable door lock input check (1 byte, 0- disbale, 1- enable, default to disable)--> 
    <lockInputType opt="NormallyClose,NormallyOpen"/> 
    <!--required, door lock input type (1 byte, 0- normally closed, 1- normally open, default to normally closed)--> 
    <doorTerminalMode opt="PreventCutShort,Normal"/> 
    <!--required, door related terminal operating mode (1 byte, 0- anti-cut & short-circuit, 1- normal, default to anti-cut & short-circuit)--> 
    <openButton>enable</openButton> 
    <!--required, whether to enable door button (1 byte, 0- yes, 1- no, default to yes)--> 
  </Door> 
  <DoorStatusPlan> 
    <!--required, door status schedule parameters --> 
    <enable>true</enable> 
  </DoorStatusPlan> 
  <Group> 
    <!--required, group parameters capability --> 
    <ValidCfg> 
      <!--required, validate capability --> 
      <TimeAccuracy> 
        <!--required, time accuracy --> 
        <year>enable</year> 
        <month>enable</month> 
        <day>enable</day> 
        <hour>enable</hour> 
        <minute>enable</minute> 
        <second>enable</second> 
      </TimeAccuracy> 
      <timeType opt="local,UTC"/> 
        <!--optional, time type: "local"-device local time (default), "UTC"-UTC time> 
    </ValidCfg> 
    <groupName min="" max=""/> 
    <!--required, group name length --> 
    <groupNo min="" max=""/><!--required, group No. range. If this node cannot be parsed or is not returned, it will be set to the default value-->
  </Group> 
  <MultiCard> 
    <!--required, multi-card capability --> 
    <swipeIntervalTimeout min="" max=""/> 
    <!--required, multi-card swiping interval overtime, unit: second --> 
    <maxMultiCardGroupNum, min="1", max="20"></maxMultiCardGroupNum> 
    <!--required, max. multi-card group number > 
    <maxGroupCombinationNum></maxGroupCombinationNum> 
    <!--required, max. group number for a multi-card group --> 
    <remoteOpenDoor>enable</remoteOpenDoor> 
    <!--required, supports remote door opening authentication method --> 
    <offlineVerifyMode>enable</offlineVerifyMode> 
    <!--required, supported offline control panel authentication mode (super password replaces remote door opening control) --> 
  </MultiCard> 
  <Card> 
    <!--required, card parameters capability --> 
    <cardNo min="" max=""/> 
    <!--required, card No. length --> 
    <modifyParamType opt="cardvalid,validtime,cardtype,doorright,leadercard,swipenum,group,password, rightplan, swipednum, employeeno, name, departmentNo, schedulePlanNo, schedulePlanType,roomNo,simNo,floorNo,userType"/> 
    <!--required,edit separately --> opt="cardvalid- card valid or not, validtime- expiry date, cardtype- card type, doorright- door permission, 
    leadercard- first card, swipenum- max. card swiping times, group- group, password- card password,,rightplan- card permission schedule, 
    swipednum- card swiped times,  employeeno- employee No., name-Name, departmentNo-Apartment No., schedulePlanNo-Schedule No., schedulePlanType-Schedule Type--> 
    <cardValid>enable</cardValid> 
    <timeRangeBegin>
      <!--optional, start time that can be configured by beginTime and endTime. If this node is not returned by the capability, the start time that can be configured is 1970-01-01T00:00:00 by default-->
    </timeRangeBegin>
    <timeRangeEnd>
      <!--optional, end time that can be configured by beginTime and endTime. If this node is not returned by the capability, the end time that can be configured is 2037-12-31T23:59:59 by default-->
    </timeRangeEnd>
    <cardValidUnit opt="day,hour,minute,second"> 
      <!--required, accuracy of card expiry date (if device supports correcting to minute, opt="minute"), if this node is not returned, the default accuracy is day (opt="day")> 
    </cardValidUnit> 
    <!--required, whether the card is valid--> 
    <!--required, card type--> 
    <cardType opt="normalcard,disabledcard,blacklistcard,nightwatchcard, stresscard,supercard,guestcard,mastercard,staffcard,normalopencard,cleancard,standbycard, unlockcard"/> 
    <doorRight>enable</doorRight> 
    <!--required, door permission--> 
    <leaderCard>enable</leaderCard> 
    <!--required, whether to enable the first card? --> 
    <swipeNum min="" max=""/> 
    <!--required, max. card swiping number, o indicates no limit--> 
    <maxBelongGroup></maxBelongGroup> 
    <!--required, max. group number belonged to --> 
    <cardPassword min="" max=""/> 
    <!--required, card password--> 
    <doorRightPlanNum></doorRightPlanNum> 
    <!--required, max. schedule template number for a single door --> 
    <swipeTime>enabled</swipeTime> 
    <!--required, swiping times --> 
    <onlyPasswdOpen opt="true,false"/> 
    <!--optional, whether to support password opening door, invalid currently --> 
      <roomNumber min="" max=""/> 
      <!--optional, Room No.--> 
      <floorNumber min="" max=""/> 
      <!--optional,Floor number--> 
      <employeeNo min="" max=""/> 
     <!--optional, employee No.--> 
    <name min="" max=""></name> 
    <!--required, name (if device returns this node, you can get and set the linked user name of the card by calling card parameter API directly, so there is no need to API NET_DVR_SET_CARD_USERINFO_CFG and NET_DVR_GET_CARD_USERINFO_CFG)--> 
    <departmentNo min="" max=""/> 
    <!--optional, department No.--> 
    <schedulePlanNo min="" max=""/> 
    <!--optional, shift schedule--> 
    <schedulePlanType opt="personal,department"/> 
    <!--optional, shift schedule type--> 
    <lockID min="" max=""/> 
    <!--required, lock ID--> 
    <roomCode min="" max=""/> 
    <!--required, room code--> 
    <cardRight opt="lowPowerAlarm,openDoorSound,customCardLimit,normalOpen,openLockedDoor,keepWatch"/> 
    <!--required, card permission--> 
    <supportLocalController>enable</supportLocalController> 
    <!--required, support distributed access controller--> 
    <roomNumber min="" max=""></roomNumber><!--required, room No.> 
    <floorNumber min="" max=""></floorNumber><!--required, floor No.> 
    <SIMNum min="" max=""></SIMNum><!--required, mobile phone number> 
    <isSupportCardModify>true</isSupportCardModify> 
      <!--required, support downloading when card parameters changed (for video intercom device only, by default, this function is supported by all access control devices)> 
  </Card> 
  <AntiSneak> 
    <!--required, anti-passback capability--> 
    <startCardReaderNo>enable</startCardReaderNo> 
    <!--required, anti-passback card reader No. configuration --> 
    <maxSneakPath></maxSneakPath> 
    <!--required, max. anti-passback follow-up card reader number--> 
  </AntiSneak> 
  <MultiDoorInterlock> 
    <!--required, multi-door interlocking parameters --> 
    <maxMultiDoorInterlockGroup></maxMultiDoorInterlockGroup> 
    <!--required, max. multi-door interlocking group number --> 
    <maxInterlockDoorNum></maxInterlockDoorNum> 
    <!--required, max. interlocked door number for one multi-door interlocking group --> 
  </MultiDoorInterlock> 
  <AcsWorkStatus> 
    <!--required, access controller working status parameters --> 
    <doorLogicalStatus>enable</doorLogicalStatus> 
    <!--required, door logic status --> 
    <doorStatus opt="alwaysopen,alwaysclose,normal"/> 
    <!--required, door status parameters --> 
    <magneticStatus>enable</magneticStatus> 
    <!--required, door magnetic status parameters --> 
    <relayStatus>enable</relayStatus> 
    <!--required, relay status--> 
    <caseSensorStatus>enable</caseSensorStatus> 
    <!--required, case trigger status--> 
    <BatteryVoltage>enable</BatteryVoltage> 
    <!--required, battery voltage value --> 
    <BatteryLowVoltage>enable</BatteryLowVoltage> 
    <!--required, battery low voltage detection --> 
    <PowerSupplyStatus>enable</PowerSupplyStatus> 
    <!--required, device power supply status--> 
    <multiDoorInterlockStatus>enable</multiDoorInterlockStatus> 
    <!--required, multi-door interlocking status parameters--> 
    <antiSneakStatus>enable</antiSneakStatus> 
    <!--required, anti-passback status parameters--> 
    <hostAntiDismantleStatus>enable</hostAntiDismantleStatus> 
    <!--required, control ler tamper ?proof status--> 
<indicatorLightStatus>enable</indicatorLightStatus> 
    <!--required, Supports indicator status--> 
    <cardReaderOnlineStatus>enable</cardReaderOnlineStatus> 
    <!--required, card reader connection status --> 
    <cardReaderAntiDismantleStatus>enable</cardReaderAntiDismantleStatus> 
    <!--required, card reader tamper-proof status --> 
    <cardReaderVerifyMode opt="invalid,sleep,swipecard,swipecardandpassword, swipecardorpasswd, fingerPrint,fingerPrintAndPasswd,fingerPrintor Card,fingerPrintAndCard,fingerPrintAndCardAndPasswd,faceOrFpOrCardOrPw, faceAndFingerPrint,faceAndPassword,faceAndCard,face,employeeNoAndPassword,fingerPrintOrPassword,employeeNoAndFp, employeeNoAndFpAndPw,faceAndFpAndCard,faceAndPwAndFp,employeeNoAndface,faceOrfaceAndCard,fingerPrintOrFace,swipecardOrFaceOrPw,"/> 
    <!--required, supported card reader authentication modes: 0-invalid, 1-card, 2-card+password, 3-card, 4-card/password, 5-fingerprint, 6-fingerprint+password, 7-fingerprint/card, 8-fingerprint_card, 9-fingerprint_card+password, 10-face/fingerprint/card/password, 11-face+fingerprint, 12-face+password, 13-face+card, 14-face, 15-employee No.+password, 16-fingerprint/password, 17-employee No.+fingerprint, 18-employee No.+fingerprint+password, 19-face+fingerprint+card, 20-face+password+fingerprint, 21-employee No.+face, 22-face/face+card, 23-fingerprint/face, 24-card/face/password--> 
    <setupAlarmStatus>enable</setupAlarmStatus> 
    <!--required, zone arming status --> 
    <alarmInStatus>enable</alarmInStatus> 
    <!--required, alarm input status --> 
    <alarmOutStatus>enable</alarmOutStatus> 
    <!--required, alarm output status --> 
    <cardNum>enable</cardNum> 
    <!--required, added card number --> 
<fireAlarmStatus opt="normal,shortCircuit,break"/> 
    <!--required, support fire alarm status--> 
    <supportLocalController>enable</supportLocalController> 
    <!--required, support distributed access controller--> 
    <batteryChargeStatus opt="InCharge,NotCharge"/> 
    <!--required, battery status: InCharge-Charging, NotCharge-Uncharged> 
    <masterChannelControllerStatus>enable</masterChannelControllerStatus> 
    <!--required, supports online status of main lane controller--> 
    <slaveChannelControllerStatus>enable</slaveChannelControllerStatus> 
    <!--required, supports online status of sub-lane controller--> 
    <antiSneakServerStatus opt="disable,normal,disconnect"/> 
      <!--optional, anti-passing back server status: "disable"-disabled, "normal"-normal, "disconnect"-disconnected--> 
    <whiteFaceNum>enable</whitefaceNum> 
    <!--required, supports the parameters of face picture quantity in allowlist--> 
    <blackFaceNum>enable</blackfaceNum> 
    <!--required, supports the parameters of face picture quantity in blocklist--> 
  </AcsWorkStatus> 
  <CaseSensor> 
    <!--required, event trigger parameters capability --> 
    <triggerHostBuzzer>enable</triggerHostBuzzer> 
    <!--required, trigger controller buzzer --> 
    <triggerCardReaderBuzzer>enable</triggerCardReaderBuzzer> 
    <!--required, trigger card reader buzzer --> 
    <triggerAlarmOut>enable</triggerAlarmOut> 
    <!--required, trigger alarm output --> 
<triggerDoorOpen>enable</triggerDoorOpen> 
    <!--required, support triggered open door by ID--> 
    <triggerAlarmOutClose>enable</triggerAlarmOutClose> 
    <!--required, support disable triggered alarm input--> 
    <triggerAlarmInSetup>enable</triggerAlarmInSetup> 
    <!--required, support triggered arming region arming--> 
    <triggerAlarmInClose>enable</triggerAlarmInClose> 
    <!--required, support triggered arming region disarming--> 
  </CaseSensor> 
  <CardReaderCfg> 
    <!--required, reader parameters capability--> 
    <!--required, supported reader type--> 
    <cardReaderType opt="DS-K110XM/MK/C/CK,DS-K192AM/AMP,DS-K192BM/BMP,DS-K182AM/AMP,DS-K182BM/BMP,DS-K182AMF/ACF, 
                    Wiegand or RS485 offline,DS-K1101M/MK,DS-K1101C/CK,DS-K1102M/MK/M-A,DS-K1102C/CK,DS-K1103M/MK, 
                    DS-K1103C/CK,DS-K1104M/MK,DS-K1104C/CK,DS-K1102S/SK/S-A,DS-K1102G/GK,DS-K1100S-B,DS-K1102EM/EMK, 
                    DS-K1102E/EK,DS-K1200EF,DS-K1200MF,DS-K1200CF,DS-K1300EF,DS-K1300MF,DS-K1300CF,DS-K1105E, 
                    DS-K1105M,DS-K1105C,DS-K182AMF,DS-K196AMF,DS-K194AMP, DS-K1T200EF/EF-C/MF-MF-C/CF/CF-C, 
                    DS-K1T300EF/EF-C/MF-MF-C/CF/CF-C"/> 
    <okLedPolarity op="cathode,anode"/> 
    <!--required,OK LED polarity--> 
    <errorLedPolarity op="cathode,anode"/> 
    <!--required,ERROR LED polarity--> 
    <buzzerLedPolarity op="cathode,anode"/> 
    <!--required, buzzer polarity --> 
    <swipeInterval min="" max=""/> 
    <!--required, time interval of duplicated authentication, unit: second --> 
    <pressTimeout min="" max=""/> 
    <!--required, key pressing overtime, unit: second --> 
    <enableFailAlarm>enable</enableFailAlarm> 
    <!--required, whether to enable authentication failure over times alarm configuration--> 
    <maxReadCardFailNum min="" max=""/> 
    <!--required, max. times of authentication failure --> 
    <enableTamperCheck>enable</enableTamperCheck> 
    <!--optional, whether to support anti-tamper check--> 
    <offlineCheckTime min="" max=""/> 
    <!--optional, offline check time, unit:s--> 
    <fingerPrintCheckLevel opt="1/10,1/100,1/1000,1/10000,1/100000,1/1000000,1/10000000,1/100000000,3/100,3/1000,  
                           3/10000,3/100000,3/1000000,3/10000000,3/100000000,Automatic Normal,Automatic Secure,Automatic More Secure"/> 
    <!--optional, fingerprint recognition level--> 
    <useLocalController>enable</useLocalController> 
    <!--required, whether door is connected to distributed access controller--> 
    <localControllerID min="" max=""/> 
    <!--optional, distributed access controller No.--> 
    <localControllerReaderID min="" max=""/> 
    <!--optional, ID of distributed access controller card reader--> 
    <cardReaderChannel opt="Wiegand/Offline,RS485A,RS485B"/> 
    <!--opt  card reader communication channel No.--> 
    <fingerPrintImageQuality min="1" max="8"/> 
    <!--optional,fingerprint picture quality--> 
    <fingerPrintContrastTimeOut min="0" max="20"/> 
    <!--optional,fingerprint comparison overtime, 0 - infinite, that is 0xff--> 
    <fingerPrintRecogizeInterval min="0" max="10"/> 
    <!--optional,time interval of fingerprint continuous recognition, 0- no delay, that is 0xff--> 
    <fingerPrintMatchFastMode min="0" max="5"/> 
    <!--optional,fingerprint fast matching mode, 0- auto, that is 0xff--> 
    <fingerPrintModuleSensitive min="1" max="8"/> 
    <!--optional,fingerprint module sensitivity--> 
    <fingerPrintModuleLightCondition opt="outdoor,indoor"/> 
    <!--optional,light condition of fingerprint module--> 
    <faceMatchThresholdN min="0" max="100"/> 
    <!--optional,face 1:N matching threshold--> 
    <faceQuality min="0" max="100"/> 
    <!--optional,face picture quality--> 
    <faceRecogizeTimeOut min="0" max="20"/> 
    <!--optional,face recognition overtime, 0 - infinite, that is 0xff--> 
    <faceRecogizeInterval min="0" max="10"/> 
    <!--optional,time interval of face continuous recognition, 0- no delay, that is 0xff--> 
    <cardReaderFunction opt="fingerPrint,face,fingerVein"/> 
    <!--optional,card reader types--> 
    <cardReaderDescription min="1" max="32"/> 
    <!--optional,card reader description--> 
    <faceImageSensitometryl min="0" max="65535"/> 
    <!--optional, face picture exposure--> 
    <livingBodyDetect opt="disable,enable"/> 
    <!--optional, face detection--> 
    <faceMatchThreshold1 min="0" max="100"/> 
    <!--optional,Face 1:1 matching threshold--> 
    <buzzerTime  min="0" max="5999"/> 
    <!--optional, buzzing time--> 
    <faceMatch1SecurityLevel opt="normal, more secure, extremely secure"/> 
    <!--optional, face picture 1:1 security level: 1-normal, 2-high, 3-higher--> 
    <faceMatchNSecurityLevel opt="0,1,2"/> 
    <!--optional, face picture 1:N security level: 1-normal, 2-high, 3-higher--> 
    <envirMode opt="normal, more secure, extremely secure"/> 
    <!--optional, face recognition environment mode: 0-invalid, 1-indoor, 2-other --> 
    <liveDetLevelSet opt="0,1,2,3"/> 
    <!--optional, set live face detection threshold level: 0-invalid, 1-low, 2-medium, 3-high--> 
    <liveDetAntiAttackCntLimit min="0"max="255"/> 
    <!--optional, max. live face detection failed attempts--> 
    <enableLiveDetAntiAttack opt="0,1,2"/> 
    <!--optional, whether enable locking face: 0-invalid, 1-disabled, 2-enabled--> 
    <fingerPrintCapacity min="" max=""/> 
    <!--ro, optional, xs:integer, fingerprint capacity--> 
    <fingerPrintNum min="" max=""/> 
    <!--ro, optional, xs:integer, the number of existed fingerprints--> 
    <enableFingerPrintNum opt="true"/> 
    <!--ro, optional, xs:boolean, enable fingerprint capacity or not (when it is "true", fingerPrintCapacity and fingerPrintNum are valid)--> 
    <envirMode opt="0,1,2"></envirMode> 
    <!--optional, environment mode of face recognition, 0-invalid, 1-indoor, 2-other-> 
    <liveDetLevelSet opt="0,1,2,3"></liveDetLevelSet> 
    <!--optional, set live face detection security level, 0-invalid, 1-normal, 2-high, 3-higher--> 
    <liveDetAntiAttackCntLimit min="0"max="255">/liveDetAntiAttackCntLimit> 
    <!--optional, maximum failed attempts--> 
    <enableLiveDetAntiAttack opt="0,1,2"> 
      <!--optional, enable locking face, 0-invalid, 1-disable, 2-enable--> 
    </enableLiveDetAntiAttack> 
    <faceContrastMotionDetLevel opt="low,middle,high"/><!--optional, motion detection level during face picture comparison: low, middle, high-->
    <dayFaceMatchThresholdN min="0" max="100"/><!--optional, 1:N face picture comparison threshold in day-->
    <nightFaceMatchThresholdN min="0" max="100"/><!--optional, 1:N face picture comparison threshold at night-->
    <faceRecogizeEnable opt="true,false,multi"/><!-optional, whether to enable facial recognition: "true"-yes (one face),"false"-no, "multi"-yes (multiple faces)--> 
    <supportDelFPByID opt="true"/>
      <!--ro, optional, xs:boolean, whether the fingerprint module supports deleting fingerprint by fingerprint ID: "true"-yes, "false"-no-->
    <defaultVerifyMode opt="1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27"/> 
    <!--ro, optional, card reader authentication mode (factory default): 1-sleeping mode, 2-card swiping + password, 3-card swiping, 4-card swiping or password, 5-fingerprint, 6-fingerprint + password, 7-fingerprint or card swiping, 8-fingerprint + card swiping, 9-fingerprint + card swiping + password, 10-face or fingerprint or card swiping or password, 11-face + fingerprint, 12-face + password, 13-face + card swiping, 14-face, 15-employee ID + password, 16-fingerprint or password, 17-employee ID + fingerprint, 18-employee ID + fingerprint + password, 19-face + fingerprint + card swiping, 20-face + password + fingerprint, 21-employee ID + face, 22-face or face + card swiping, 23-fingerprint or face, 24-card swiping or face or password, 25-card or face, 26-card or face or fingerprint, 27-card or fingerprint or password--> 
    <fingerPrintCapacity min="" max=""/><!--ro, optional, xs: integer, fingerprint capacity, this node is valid only when enableFingerPrintNum is "true"-->
    <fingerPrintNum min="" max=""/><!--ro, optional, xs: integer, number of exiting fingerprints, this node is valid only when enableFingerPrintNum is "true"-->
    <enableFingerPrintNum opt="true"/><!--ro, optional, xs: boolean, whether to enable fingerprint capacity-->
    <blackFaceMatchThreshold min="0" max="100"/><!--optional, face picture comparison threshold in blocklist-->
  </CardReaderCfg> 
  <AcsUpgrade><!--required, upgrade capability of access control device-->
    <hostUpgrade>
      <!--required, whether to support upgrading main module-->
    </hostUpgrade>
    <cardReaderUpgrade>
      <!--required, whether to support upgrading card reader-->
    </cardReaderUpgrade>
    <localControllerUpgrade>
      <!--required, whether to support upgrading distributed access controller-->
    </localControllerUpgrade>
    <channelControllerUpgrade>
      <!--required,whether to support upgrading lane access controller-- >
    </channelControllerUpgrade>
    <extensionModuleUpgrade>
      <!--required, whether to support upgrading extension module-->
    </extensionModuleUpgrade>
    <smartLockUpgrade>
      <!--required, whether to support upgrading smart lock-->
    </smartLockUpgrade>
    <cardReaderFPAlgorithmUpgrade>
      <!--required, whether to support upgrading fingerprint algorithm program of fingerprint module-->
    </cardReaderFPAlgorithmUpgrade>
    <outdoorModules>
      <!--optional, whether to support upgrading the modules of door station, if not support, this node will not be returned-->
    </outdoorModules>
    <modules opt="keybord,display,button,card,signal"/>
    <!--opt,supported module type, “keybord”-keypad module, “display”-display module,”button”-nametag module. “card”-card reader, “signal”-indicator module, if not support, this node will not be returned-->
  </AcsUpgrade>
  <clearAcsParam opt="doorstatusweekplan,cardreaderverifyweek,cardrightweekplan,doorstatusholidayplan,cardreaderverifyholidayplan,cardrightholidayplan,doorstatusholidayplan,doorstatusholidaygroup,cardreaderverifyholidaygroup,cardrightplantemplate,doorstatusplantemolate,cardreaderverifyplantemplate,card,group,antisneak,eventandCardLinkage,cardPasswdOpendoor,personStatistics, blackListPicture, IDBlackList"/> 
  <!--required, supported parameters clearing option --> 
  <ACSClearParam> 
    <!--required, extend clear access control host parameter node--> 
    <localControllerID min="" max=""/> 
    <!--optional, distributed access controller No.--> 
  </ACSClearParam> 
  <MultiHostAntiSneak> 
    <!--required, over-controllers anti-passback --> 
    <startAntiSnealHost opt="true,false"/> 
    <!--optional, whether to enable anti-passback controller --> 
    <antiSnealHostNum min="" max=""/> 
    <!--required, controller number for anti-passback controller group --> 
    <ReadersCfg> 
      <!--required, over-controllers anti-passback card reader parameters --> 
      <maxRouteGroupNum></maxRouteGroupNum> 
      <!--required, max. path number --> 
      <oneRouteReadersNum min="" max=""/> 
      <!--required, follow-up card reader number for each path --> 
    </ReadersCfg> 
  </MultiHostAntiSneak> 
   
  <AcsHostCfg> 
    <!--optional, access control settings capability --> 
    <enableRS485Backup opt="true,false"/> 
    <!--required, whether to support downstream RS485 communication backup --> 
      <showCapPic opt="true,false"/> 
      <!--optional,whether to support displaying captured picture on LCD screen--> 
      <showCardNo opt="true,false"/> 
      <!--optional,whether to support displaying card No. on LCD screen--> 
      <showUserInfo opt="true,false"/> 
      <!--optional,whether to support displaying user information on LCD screen--> 
      <overlayUserInfo opt="true,false"/> 
      <!--optional,Whether to overlay user information on the captured picture--> 
      <voicePrompt opt="true,false"/> 
      <!--optional,Whether to support sound prompt--> 
      <uploadCapPic opt="true,false"/> 
      <!--optional, Whether to support uploading picture after capturing--> 
      <saveCapPic opt="true,false"/> 
      <!--optional,Whether to support saving captured picture--> 
    <inputCardNo opt="true,false"/> 
    <!--optional, whether supports inputting card No. by button--> 
    <wifiDetect opt="true,false"/> 
    <!--optional, whether supports enabling Wi-Fi probe--> 
    <enable3G4G opt="true,false"/> 
    <!--optional, enable 3G/4G--> 
    <protocol opt="Private,OSDP"/> 
    <!--optional, card reader communication protocol type: "Private"-private protocol (default), "OSDP"-OSDP protocol--> 
  </AcsHostCfg> 

  <EventLinkage> 
    <!--required, event card linkage--> 
    <maxEventNum></maxEventNum> 
    <!--required, max. event linkage number supported by the device --> 
    <supportMode opt="Event,CardNo,MAC,EmployeeNo"/> 
    <!--required, supported linkage method, "Event"-event linkage, "CardNo"-Card No. linkage, "MAC"-MAC address linkage, "EmployeeNo"-Employee No. (person ID)--> 
    <isSupportRecordVideo opt="true,false"/> 
    <!--required, whether supports recording linkage--> 
    <supportLocalController>enable</supportLocalController> 
    <!--required, support distributed access controller--> 
    <isSupportAlarmOutClose opt="true,false"/> 
    <!--required, whether supports disabling linked alarm output--> 
    <isSupportAlarmInSetup opt="true,false"/> 
    <!--required, whether supports arming linked zone--> 
    <isSupportAlarmInClose opt="true,false"/> 
    <!--required, whether supports disarming linked zone--> 
    <isSupportMainDevStopBuzzer opt="true,false"/> 
    <!--required, whether supports stopping buzzing by access controller--> 
    <isSupportReaderStopBuzzer opt="true,false"/> 
    <!--required, whether supports stopping buzzing by linked card reader--> 
    <audioDisplayMode opt="Close,SinglePlay,CyclePlay"/> 
    <!--required, linked audio prompt mode: "Close"-disable, "SinglePlay"-play once, "CyclePlay"-loop playing--> 
    <audioDisplayID min="1" max="32"/> 
    <!--required, linked audio prompt mode: "Close"-disable, "SinglePlay"-play once, "CyclePlay"-loop playing-->
    <isNotSupportOpenDoor>
      <!--optional, whether the opening door linkage is not supported-->
    </isNotSupportOpenDoor>
    <isNotSupportCloseDoor>
      <!--optional, whether the closing door linkage is not supported-->
    </isNotSupportCloseDoor>
    <isNotSupportNormalOpen>
      <!--optional, whether the remaining door open is not supported-->
    </isNotSupportNormalOpen>
    <isNotSupportNormalClose>
      <!--optional, whether the remaining door closed is not supported-->
    </isNotSupportNormalClose>
    <isNotSupportAlarmout>
      <!--optional, whether the alarm output linkage is not supported-->
    </isNotSupportAlarmout>
    <isNotSupportCapturePic>
      <!--optional, whether the capture linkage is not supported-->
    </isNotSupportCapturePic>
    <isNotSupportMainDevBuzzer>
      <!--optional, whether not supports buzzing linkage of access controller, if supports, this node will not return-->
    </isNotSupportMainDevBuzzer>
    <isNotSupportReaderBuzzer>
      <!--optional, whether not supports buzzing linkage of card reader, if supports, this node will not returned-->
    </isNotSupportReaderBuzzer> 
    <purePwdVerifyEnable><!--optional, boolean, whether the device supports opening the door only by password: true-yes, this node is not returned-no--></purePwdVerifyEnable>
    <!--For opening the door only by password: 1. The password in "XXX or password" in the authentication mode refers to the person's password (the value of the node password in JSON_UserInfo); 2. The device will not check the duplication of the password, and the upper platform should ensure that the password is unique; 3. The password cannot be added, deleted, edited, or searched for on the device locally-->
    <EventList> 
      <EventEntry> 
        <Index>0</Index> 
        <mainEventName>DevEvent</mainEventName> 
        <SubEventNameList> 
          <subEventName>hostAntiDismantle</subEventName> 
          <!--required, controller tampering alarm --> 
          <subEventName>OfflineEcentNearlyFull</subEventName> 
          <!--required, alarm for offline event exceeding 90% --> 
          <subEventName>NetBroken</subEventName> 
          <!--required, network disconnected --> 
          <subEventName>NetRume</subEventName> 
          <!--required,  network recovery --> 
          <subEventName>LowBattery</subEventName> 
          <!--required, battery low voltage --> 
          <subEventName>BatteryReume</subEventName> 
          <!--required, battery voltage recovered --> 
          <subEventName>ACOff</subEventName> 
          <!--required, AC power off --> 
          <subEventName>ACResume</subEventName> 
          <!--required, AC power recovery--> 
          <subEventName>SDCardFull</subEventName> 
          <!--required,SD card full alarm--> 
          <subEventName>LinkageCapturePic</subEventName> 
          <!--required,Linked capture event alarm--> 
          <subEventName>ImageQualityLow</subEventName> 
          <!--required,low face picture quality--> 
          <subEventName>FingerPrintQualityLow</subEventName> 
          <!--required,low fingerprint picture quality--> 
          <subEventName>BatteryElectricLow</subEventName> 
          <!--required,low battery voltage (for face device only)--> 
          <subEventName>BatteryElectricResume</subEventName> 
          <!--required,battery voltage recovery (for face device only)--> 
          <subEventName>FireImportShortCircuit</subEventName> 
          <!--req fire input short-circuit alarm--> 
          <subEventName>FireImportBrokenCircuit</subEventName> 
          <!--req fire input broken-circuit alarm--> 
          <subEventName>FireImportResume</subEventName> 
          <!--req fire input recovery--> 
          <subEventName>MasterRS485LoopnodeBroken</subEventName> 
          <!--req main controller RS485 loop node disconnection--> 
          <subEventName>MasterRS485LoopnodeResume</subEventName> 
          <!--req main controller RS485 loop node connection recovery--> 
          <subEventName>DistractControllerOnLine</subEventName> 
          <!--required,Distributed controller online--> 
          <subEventName>DistractControllerOffLine</subEventName> 
          <!--required,Distributed controller offline--> 
          <subEventName>FireButtonTrigger</subEventName> 
          <!--required,Fire button triggered--> 
          <subEventName>FireButtonResume</subEventName> 
          <!--required,Fire button recovered--> 
          <subEventName>MaintenanceButtonTrigger</subEventName> 
          <!--required,Maintenance button triggered--> 
          <subEventName>MaintenanceButtonResume</subEventName> 
          <!--required,Maintenance button recovered--> 
          <subEventName>EmergencyButtonTrigger</subEventName> 
          <!--required,Emergency button triggered--> 
          <subEventName>EmergencyButtonResume</subEventName> 
          <!--required,Emergency button recovered--> 
          <subEventName>LocalControlOffline</subEventName> 
          <!--req distributed access controller offline--> 
          <subEventName>LocalControlResume</subEventName> 
          <!--required, distributed access controller connection recovered--> 
          <subEventName>LocalDownsideRS485LoopNodeBroken</subEventName> 
          <!--required, distributed access controller downlink RS485 loop disconnection--> 
          <subEventName>LocalDownsideRS485LoopNodeResume</subEventName> 
          <!--required, distributed access controller downlink RS485 loop connection recovered--> 
          <subEventName>SubmarinebackCommBreak</subEventName> 
          <!--required, disconnected with anti-passing back server--> 
          <subEventName>SubmarinebackCommResume</subEventName> 
          <!--required, resume connection with anti-passing back server--> 
          <subEventName>RemoteActualGuard</subEventName> 
          <!--required, remote real-time arming--> 
          <subEventName>RemoteActualUnguard</subEventName> 
          <!--required, remote real-time disarming--> 
          <subEventName>MotorSensorException</subEventName> 
          <!--required, motor or sensor exception--> 
          <subEventName>CanBusException</subEventName> 
          <!--required, CAN bus exception--> 
          <subEventName>CanBusResume</subEventName> 
          <!--required, CAN bus restored--> 
          <subEventName>GateTemperatureOverrun</subEventName> 
          <!--required, too high pedestal temperature--> 
          <subEventName>IREmitterException</subEventName> 
          <!--required, active infrared intrusion detector exception--> 
          <subEventName>IREmitterResume</subEventName> 
          <!--required, active infrared intrusion detector restorted--> 
          <subEventName>LampBoardCommException</subEventName> 
          <!--required, communication with light board failed--> 
          <subEventName>LampBoardCommResume</subEventName> 
          <!--required, communication with light board restored--> 
          <subEventName>IRAdaptorBoardCommException</subEventName> 
          <!--required, communicated with IR adaptor exception--> 
          <subEventName>IRAdaptorBoardCommResume</subEventName> 
          <!--required, communication with IR adaptor restored--> 
          <subEventName>ChannelControllerDesmantleAlarm</subEventName> 
          <!--required, lane controller tampering alarm--> 
          <subEventName>ChannelControllerDesmantleResume</subEventName> 
          <!--required, lane controller tampering alarm restored--> 
          <subEventName>ChannelControllerFireImportAlarm</subEventName> 
          <!--required, lane controller fire input alarm--> 
          <subEventName>ChannelControllerFireImportResume</subEventName> 
          <!--required, lane controller fire input alarm restored--> 
          <subEventName>StayEvent</subEventName> 
          <!--optional, loitering event--> 
          <subEventName>LegalEventNearlyFull</subEventName>
          <!--optional, alarm of no memory for legal offline event storage-->
        </SubEventNameList> 
      </EventEntry> 
      <EventEntry> 
        <Index>1</Index> 
        <mainEventName>AlarmEvent</mainEventName> 
        <SubEventNameList> 
          <subEventName>AlarminShortCircuit</subEventName> 
          <!--required,  zone short circuit alarm--> 
          <subEventName>AlarminBrokenCircuit</subEventName> 
          <!--required, zone open circuit alarm --> 
          <subEventName>AlarminException</subEventName> 
          <!--required, zone exception alarm --> 
          <subEventName>AlarmResume</subEventName> 
          <!--required, zone alarm recovery --> 
          <subEventName>CaseSensorAlarm</subEventName> 
          <!--required, event input alarm --> 
          <subEventName>CaseSensorResume</subEventName> 
          <!--required, event input recovery --> 
        </SubEventNameList> 
      </EventEntry> 
      <EventEntry> 
        <Index>2</Index> 
        <mainEventName>DoorEvent</mainEventName> 
        <SubEventNameList> 
          <subEventName>LeaderCardOpenBegin</subEventName> 
          <!--required, first card opening door starts --> 
          <subEventName>LeaderCardOpenStop</subEventName> 
          <!--required, first card open status door ends --> 
          <subEventName>AlwaysOpenBegin</subEventName> 
          <!--required, remained open status starts --> 
          <subEventName>AlwaysOpenStop</subEventName> 
          <!--required, remained open status ends --> 
          <subEventName>AlwaysCloseBegin</subEventName> 
          <!--required, remained closed status ends --> 
          <subEventName>AlwaysCloseStop</subEventName> 
          <!--required, remaining closed status ends--> 
          <subEventName>LockOpen</subEventName> 
          <!--required, open the door lock --> 
          <subEventName>LockClose</subEventName> 
          <!--required, close the lock --> 
          <subEventName>DoorButtonPress</subEventName> 
          <!--required, exit button pressed --> 
          <subEventName>DoorButtonRelease</subEventName> 
          <!--required, exit button released --> 
          <subEventName>DoorOpenNormal</subEventName> 
          <!--required, normally open the door (door magnetic) --> 
          <subEventName>DoorCloseNormal</subEventName> 
          <!--required, normally close the door (door magnetic) --> 
          <subEventName>DoorOpenAbnormal</subEventName> 
          <!--required, door opening exception (door magnetic )--> 
          <subEventName>DoorOpenTimeout</subEventName> 
          <!--required, door opening timeout (door magnetic )--> 
          <subEventName>RemoteOpenDoor</subEventName> 
          <!--required, remotely open the door--> 
          <subEventName>RemoteCloseDoor</subEventName> 
          <!--required, remotely closed the door--> 
          <subEventName>RemoteAlwaysOpen</subEventName> 
          <!--required, remotely remain open --> 
          <subEventName>RemoteAlwaysClose</subEventName> 
          <!--required, remotely remain closed --> 
          <subEventName>NotBelongMultiCard</subEventName> 
          <!--required, the card is not associated to the multi-authentication group--> 
          <subEventName>InvalidMultiVerifyPeriod</subEventName> 
          <!--required, the card is not in the multi-authentication time period --> 
          <subEventName>MultiVerifySuperRightFail</subEventName> 
          <!--required, super password authentication failed --> 
          <subEventName>MultiVerifyRemoteRightFail</subEventName> 
          <!--required, remote authentication failed --> 
          <subEventName>MultiVerifySuccess</subEventName> 
          <!--required, successfully multi -authentication --> 
          <subEventName>MultiVerifyNeedRemoteOpen</subEventName> 
          <!--required, multi-authentication needs remote opening door --> 
          <subEventName>MultiVerifySuperRightSuccess</subEventName> 
          <!--required, successfully super password --> 
          <subEventName>MultiVerifyRepeatFail</subEventName> 
          <!--required, repeat authentication failed --> 
          <subEventName>MultiVerifyTimeout</subEventName> 
          <!--required, multi-authentication timeout --> 
          <subEventName>RemoteCapturePic</subEventName> 
          <!--required,remote capture--> 
          <subEventName>DoorBellRing</subEventName> 
          <!--required,door bell ringing--> 
          <subEventName>CallCenter</subEventName> 
          <!--required, call center--> 
          <subEventName>FirstCardAuthorizeBegin</subEventName> 
          <!--required,first card authorization started--> 
          <subEventName>FirstCardAuthorizeEnd</subEventName> 
          <!--required,first card authorization ended--> 
          <subEventName>FirstCardOpenWithoutAuthorize</subEventName> 
          <!--required,open door with unauthorized first card failed.--> 
   <subEventName>SecurityMoudleDesmantleAlarm</subEventName> 
          <!--required, door control security module anti-tamper alarm--> 
          <subEventName>FirstCardAuthorizeBegin</subEventName> 
          <!--req first card authorization start--> 
          <subEventName>FirstCardAuthorizeEnd</subEventName> 
          <!--req first card authorization end--> 
          <subEventName>DoorLockInputShortCircuit</subEventName> 
          <!--req door lock input short-circuit alarm--> 
          <subEventName>DoorLockInputBrokenCircuit</subEventName> 
          <!--req door lock input broken-circuit alarm--> 
          <subEventName>DoorLockInputException</subEventName> 
          <!--req door lock input exception alarm--> 
          <subEventName>DoorContactInputShortCircuit</subEventName> 
          <!--req magnet input short-circuit alarm--> 
          <subEventName>DoorContactInputBrokenCircuit</subEventName> 
          <!--req magnet input broken-circuit alarm--> 
          <subEventName>DoorContactInputException</subEventName> 
          <!--req magnet input exception alarm--> 
          <subEventName>OpenButtonInputShortCircuit</subEventName> 
          <!--req door button input short-circuit alarm--> 
          <subEventName>OpenButtonInputBrokenCircuit</subEventName> 
          <!--req door button input broken-circuit alarm--> 
          <subEventName>OpenButtonInputException</subEventName> 
          <!--req door button input exception alarm--> 
          <subEventName>DoorLockOpenException</subEventName> 
          <!--req door lock open exception--> 
          <subEventName>DoorLockOpenTimeout</subEventName> 
          <!--req door lock open timeout--> 
          <subEventName>FirstCardOpenWithoutAuthorize</subEventName> 
          <!--req first card failed to open door without authorization--> 
          <subEventName>CallLadderRelayBreak</subEventName> 
          <!--required,Elevator relay disconnected--> 
          <subEventName>CallLadderRelayClose</subEventName> 
          <!--required,Elevator relay connected--> 
          <subEventName>AutoKeyRelayBreak</subEventName> 
          <!--required,Auto-button relay disconnected--> 
          <subEventName>AutoKeyRelayClose</subEventName> 
          <!--required,Auto-button relay connected--> 
          <subEventName>KeyControlRelayBreak</subEventName> 
          <!--required,Button relay disconnected--> 
          <subEventName>KeyControlRelayClose</subEventName> 
          <!--required,Button relay connected--> 
          <subEventName>RemoteVisitorCallLadder</subEventName> 
          <!--required,Visitor called elevator--> 
          <subEventName>RemoteHouseholdCallLadder</subEventName> 
          <!--required,Resident called elevator--> 
          <subEventName>LegalMessage</subEventName> 
          <!--required, valid message--> 
          <subEventName>IllegalMessage</subEventName> 
          <!--required, invalid message--> 
          <subEventName>Trailing</subEventName> 
          <!--required, tailgating--> 
          <subEventName>ReverseAccess</subEventName> 
          <!--required, reserve passing--> 
          <subEventName>ForceAccess</subEventName> 
          <!--required, force accessing--> 
          <subEventName>ClimbingOverGate</subEventName> 
          <!--required, climbing over barrier--> 
          <subEventName>PassingTimeout</subEventName> 
          <!--required, passing timed out--> 
          <subEventName>IntrusionAlarm</subEventName> 
          <!--required, intrusion alarm--> 
          <subEventName>FreeGatePassNotAuth</subEventName> 
          <!--required, authentication failed when free passing the turnstile--> 
          <subEventName>DropArmBlock</subEventName> 
          <!--required, barrier obstructed--> 
          <subEventName>DropArmBlockResume</subEventName> 
          <!--required, barrier obstruction restored--> 
          <subEventName>RemoteControlCloseDoor</subEventName> 
          <!--required, close door via keyfob--> 
          <subEventName>RemoteControlOpenDoor</subEventName> 
          <!--required, open door via keyfob--> 
          <subEventName>RemoteControlAlwaysOpenDoor</subEventName> 
          <!--required, remain door open via keyfob--> 
        </SubEventNameList> 
      </EventEntry> 
      <EventEntry> 
        <Index>3</Index> 
        <mainEventName>ReaderEvent</mainEventName> 
        <SubEventNameList> 
          <subEventName>StressAlarm</subEventName> 
          <!--required, duress alarm--> 
          <subEventName>ReaderDesmantleAlarm</subEventName> 
          <!--required, card reader tamper-proof alarm--> 
          <subEventName>LegalCardPass</subEventName> 
          <!--required, valid card successfully authenticated --> 
          <subEventName>CardAndPasswdPass</subEventName> 
          <!--required, card and password successfully authenticated --> 
          <subEventName>CardAndPasswdFail</subEventName> 
          <!--required, card and password authentication failed --> 
          <subEventName>CardAndPasswdTimeout</subEventName> 
          <!--required, card and password authentication timeout --> 
          <subEventName>CardMaxAuthenticateFail</subEventName> 
          <!--required, card reader authentication over times --> 
          <subEventName>CardNoRight</subEventName> 
          <!--required, no permission for the card --> 
          <subEventName>CardInvalidPeriod</subEventName> 
          <!--required, invalid time segment --> 
          <subEventName>CardOutofDate</subEventName> 
          <!--required, card exceeds the validate --> 
          <subEventName>InvalidCard</subEventName> 
          <!--required, invalid card No. --> 
          <subEventName>AntiSneakFail</subEventName> 
          <!--required, anti-passback authentication failed --> 
          <subEventName>InterlockDoorNotClose</subEventName> 
          <!--required, interlocking door not closed --> 
          <subEventName>FingerprintComparePass</subEventName> 
          <!--required, Fingerprint Recognition Passed--> 
          <subEventName>FingerprintCompareFail</subEventName> 
          <!--required, Fingerprint Recognition Failed--> 
          <subEventName>CardFingerprintVerifyPass</subEventName> 
          <!--required, Card + Fingerprint Authentication Passed--> 
          <subEventName>CardFingerprintVerifyFail</subEventName> 
          <!--required,Card + Fingerprint Authentication Failed--> 
          <subEventName>CardFingerprintVerifyTimeout</subEventName> 
          <!--required,Card + Fingerprint Authentication Timeout--> 
          <subEventName>CardFingerprintPasswdVerifyPass</subEventName> 
          <!--required, Card + Fingerprint + Password Authentication Passed--> 
          <subEventName>CardFingerprintPasswdVerifyFail</subEventName> 
          <!--required, Card + Fingerprint + Password Authentication Failed--> 
          <subEventName>CardFingerprintPasswdVerifyTimeout</subEventName> 
          <!--required, Card + Fingerprint + Password Authentication Timeout--> 
          <subEventName>FingerprintPasswdVerifyPass</subEventName> 
          <!--required, Fingerprint + Password Authentication Passed--> 
          <subEventName>FingerprintPasswdVerifyFail</subEventName> 
          <!--required, Fingerprint + Password Authentication Failed--> 
          <subEventName>FingerprintPasswdVerifyTimeout</subEventName> 
          <!--required, Fingerprint + Password Authentication Timeout--> 
          <subEventName>FingerprintInexistence</subEventName> 
          <!--required, No Fingerprint--> 
          <subEventName>FaceVerifyPass</subEventName> 
          <!--required, Face Authentication Passed--> 
          <subEventName>FaceVerifyFail</subEventName> 
          <!--required, Face Authentication Failed--> 
          <subEventName>FaceAndFpVerifyPass</subEventName> 
          <!--required, Face + Fingerprint Authentication Passed--> 
          <subEventName>FaceAndFpVerifyFail</subEventName> 
          <!--required,Face + Fingerprint Authentication Failed--> 
          <subEventName>FaceAndFpVerifyTimeout</subEventName> 
          <!--required, Face + Fingerprint Authentication Timeout--> 
          <subEventName>FaceAndPwVerifyPass</subEventName> 
          <!--required, Face + Password Authentication Passed--> 
          <subEventName>FaceAndPwVerifyFail</subEventName> 
          <!--required, Face + Password Authentication Failed--> 
          <subEventName>FaceAndPwVerifyTimeout</subEventName> 
          <!--required, Face + Password Authentication Timeout--> 
          <subEventName>FaceAndCardVerifyPass</subEventName> 
          <!--required, Face + Card Authentication Passed--> 
          <subEventName>FaceAndCardVerifyFail</subEventName> 
          <!--required, Face + Card Authentication Failed--> 
          <subEventName>FaceAndCardVerifyTimeout</subEventName> 
          <!--required,Face + Card Authentication Timeout--> 
          <subEventName>FaceAndPwAndFpVerifyPass</subEventName> 
          <!--required,Face + Password + Fingerprint Authentication Passed--> 
          <subEventName>FaceAndPwAndFpVerifyFail</subEventName> 
          <!--required,Face + Password + Fingerprint Authentication Failed--> 
          <subEventName>FaceAndPwAndFpVerifyTimeout</subEventName> 
          <!--required,Face + Password + Fingerprint Authentication Timeout--> 
          <subEventName>FaceAndCardAndFpVerifyPass</subEventName> 
          <!--required,Face + Card + Fingerprint Authentication Passed--> 
          <subEventName>FaceAndCardAndFpVerifyFail</subEventName> 
          <!--required,Face + Card + Fingerprint Authentication Failed--> 
          <subEventName>FaceAndCardAndFpVerifyTimeout</subEventName> 
          <!--required,Face + Card + Fingerprint Authentication Timeout--> 
          <subEventName>EmployeeAndFpVerifyPass</subEventName> 
          <!--required,Employee No. + Fingerprint Authentication Passed--> 
          <subEventName>EmployeeAndFpVerifyFail</subEventName> 
          <!--required,Employee No. + Fingerprint Authentication Failed--> 
          <subEventName>EmployeeAndFpVerifyTimeout</subEventName> 
          <!--required,Employee No. + Fingerprint Authentication Timeout--> 
          <subEventName>EmployeeAndFpAndPwVerifyPass</subEventName> 
          <!--required,Employee No. + Fingerprint + Password Authentication Passed--> 
          <subEventName>EmployeeAndFpAndPwVerifyFail</subEventName> 
          <!--required,Employee No. + Fingerprint + Password Authentication Failed--> 
          <subEventName>EmployeeAndFpAndPwVerifyTimeout</subEventName> 
          <!--required,Employee No. + Fingerprint + Password Authentication Timeout--> 
          <subEventName>EmployeeAndFaceVerifyPass</subEventName> 
          <!--required,Employee No. + Face Authentication Passed--> 
          <subEventName>EmployeeAndFaceVerifyFail</subEventName> 
          <!--required,Employee No. + Face Authentication Failed--> 
          <subEventName>EmployeeAndFaceVerifyTimeout</subEventName> 
          <!--required,Employee No. + Face Authentication Timeout--> 
          <subEventName>FaceRecognizeFail</subEventName> 
          <!--required, Face picture recognization failed--> 
          <subEventName>EmployeeAndPwVerifyPass</subEventName> 
          <!--required,Employee No. + Password Authentication Passed--> 
          <subEventName>EmployeeAndPwVerifyFail</subEventName> 
          <!--required,Employee No. + Password Authentication Failed--> 
          <subEventName>EmployeeAndPwVerifyTimeout</subEventName> 
          <!--required,Employee No. + Password Authentication Timeout--> 
          <subEventName>DoorOpenOrDormantFail</subEventName> 
          <!--required,door remains closed or sleepy status authentication failed.--> 
          <subEventName>AuthPlanDormantFail</subEventName> 
          <!--required,authentication of sleepy mode in the schedule failed.--> 
          <subEventName>CardEncryptVerifyFail</subEventName> 
          <!--required,authentication of card encryption failed.--> 
          <subEventName>SubmarinebackReplyFail</subEventName> 
          <!--required,response of anti-passing back server failed.--> 
          <subEventName>PasswordMismatch</subEventName> 
          <!--optional, password mismatched.--> 
          <subEventName>EmployeeNoNotExist</subEventName> 
          <!--required, the employee ID does not exist.--> 
          <subEventName>CombinedVerifyPass</subEventName> 
          <!--required, authenticated .--> 
          <subEventName>CombinedVerifyTimeout</subEventName> 
          <!--required, authentication timed out.--> 
          <subEventName>VerifyModeMismatch</subEventName> 
          <!--required, authentication mode mismatched.--> 
          <subEventName>PasswordVerifyPass</subEventName>
          <!--optional, password authenticated-->
          <subEventName>HumanDetectFail</subEventName> 
          <!--required,human detection failed.-->
          <subEventName>PeopleAndIdCardComparePass</subEventName>
          <!--required, face and ID card authenticated-->
          <subEventName>PeopleAndIdCardCompareFail</subEventName>
          <!--required, face and ID card authentication failed--> 
          <subEventName>InformalMifareCardVerifyFail</subEventName>
          <!--optional, authentication failed: invalid Mifare card-->
          <subEventName>CPUCardEncryptVerifyFail</subEventName>
          <!--optional, verifying CPU card encryption failed-->
          <subEventName>NFCDisableVerifyFail</subEventName>
          <!--optional, disabling NFC verification failed-->
          <subEventName>EMCardRecognizeNotEnabled</subEventName>
          <!--optional, EM card recognition is disabled-->
          <subEventName>M1CardRecognizeNotEnabled</subEventName>
          <!--optional, M1 card recognition is disabled-->
          <subEventName>CPUCardRecognizeNotEnabled</subEventName>
          <!--optional, CPU card recognition is disabled-->
          <subEventName>IDCardRecognizeNotEnabled</subEventName>
          <!--optional, ID card recognition is disabled-->
          <subEventName>CardSetSecretKeyFail</subEventName>
          <!--optional, importing key to the card failed-->
        </SubEventNameList> 
      </EventEntry> 
    </EventList> 
  </EventLinkage> 

  <FingerPrint> 
    <!--required, fingerprint parameters --> 
    <enable opt="true,false"/> 
    <!--required, whether to support fingerprint settings --> 
    <cardNo min="" max=""/> 
    <!--required, card No. length --> 
    <fingerPrintLen min="" max=""/> 
    <!--required, fingerprint data length--> 
    <EnableCardReader min="" max=""/> 
    <!--required, supported card reader No.--> 
    <fingerType opt="Normal,Stress,patrolFP,superFP,dismissingFP"/> 
    <!--required, "Normal"-normal fingerprint, "Stress"-duress fingerprint, "patrolFP"-patrol fingerprint, "superFP"-super fingerprint, "dismissingFP"-dismiss fingerprint--> 
    <fingerPrintID min="" max=""/> 
    <!--required, finger ID--> 
    <callbackMode opt="allRetrun,partReturn"/> 
    <!--required, callback mode, allRetrun-block (return after all the card readers are offline), partReturn-non-block (return after a part of card readers are offline)--> 
    <isSupportFingerNo/> 
    <!--optional, boolean, whether the device supports setting finger ID: "true"-yes-->
    <recvStatus opt="0,1,2,3,4,5,6,7,8,9,10"/>
    <!--optional, error status: 0-success, 1-incorrect finger ID, 2-incorrect fingerprint type, 3-invalid card No. (the card No. does not meet the device requirements), 4-the fingerprint is not linked with employee No. or card No. (the employee No. or the card No. is NULL), 5-the employee No. does not exist, 6-the fingerprint data length is 0, 7-invalid card reader No., 8-invalid employee No., 9-invalid first-time authentication value, 10-other parameters error-->
    <employeeNo min="" max=""/> 
    <!--optional, employee No. (person ID)--> 
    <leaderFP opt="true"/> 
    <!--optional, whether the fingerprint supports first-time authentication: "true"-yes, "false" or this node is not returned-no--> 
    <isSupportFingerCover>
      <!--optional, xs:boolean, whether to overwrite the old fingerprint information when applying a new fingerprint information linked to the same employee No. (person ID): "true"-yes, this node is not returned-no-->
    </isSupportFingerCover>
  </FingerPrint> 
  <DelFingerPrint> 
    <!--required, delete fingerprint parameter, which corresponds to the command NET_DVR_DEL_FINGERPRINT_CFG_V50. This node will not be returned if device does not support this function. After calling the API NET_DVR_StartRemoteConfig with command NET_DVR_DEL_FINGERPRINT_CFG_V50, if this node is returned, you should wait for the return of callback function to get the actual deleting result; if this node is not returned, the return of API NET_DVR_StartRemoteConfig already indicates the deleting result--> 
    <delFingerPrintMode opt="byCard,byReader"/> 
    <!--required, deleting fingerprint mode: byCard-by card No., byReader- by card reader--> 
    <FingerPrintStatus> 
      <!--required, delete fingerprint status--> 
      <cardReaderNo min="" max=""/> 
      <!--required, fingerprint recorder No.--> 
      <status min="0" max="3"/> 
      <!--required, status: 0-invalid, 1-handling, 2-deleting failed, 3-completed--> 
    </FingerPrintStatus> 
    <employeeNo min="" max=""/> 
    <!--required, employee No. (person ID)--> 
  </DelFingerPrint> 

    <SMS> 
    <enable opt="true,false"/> 
    <!--required, whether to support SMS funtion --> 
    <PhoneLinkageDoor> 
      <!--required, mobile phone links with door --> 
      <openRight opt="true,false"/> 
      <!--required, door opening permission --> 
      <closeRight opt="true,false"/> 
      <!--required, door closing permission --> 
      <NormalOpenRight opt="true,false"/> 
      <!--required, door remained opening permission --> 
      <NormalCloseRight opt="true,false"/> 
      <!--required, door remained closing permission --> 
      <armRight opt="true,false"/> 
      <!--required, arming permission --> 
      <DisarmRight opt="true,false"/> 
      <!--required, disarming permission --> 
    </PhoneLinkageDoor> 
    <whiteListNum min="1" max="32"/> 
    <!--required, allowlist number--> 
  </SMS> 
    <RealteUserInfo> 
        <!--required, NET_DVR_CARD_CFG_SEND_DATA and NET_DVR_CARD_USER_INFO_CFG--> 
        <enabled opt="true,false"/> 
        <!--required, whether to support card No. being linked to user information--> 
        <userNameLen min="" max=""/> 
        <!--required, user name length--> 
    </RealteUserInfo> 
    <ContinuousShootCfg> 
        <!--required,NET_DVR_SNAPCFG--> 
        <enabled opt="true,false"/> 
        <!--required,whether to support triggering capture parameters configuration--> 
        <relatedDriveWay min="" max=""/> 
        <!--required, IO related vehicle lane No.--> 
        <snapTimes min="" max=""/> 
        <!--required, coil capture times:, 0-5--> 
        <snapWaitTime min="" max=""/> 
        <!--required, capture waiting time, unit:ms, value range[0,60000]--> 
        <IntervalTimeList size="4"> 
            <intervalTime min="" max=""/> 
            <!--required,interval of continuous capture, unit:ms--> 
        </IntervalTimeList> 
        <JpegParam> 
      <picSize opt="CIF,QCIF,D1,UXGA,SVGA,HD720P,VGA,XVGA,HD900p,HD1080,2560*1920,1600*304,2048*1536,2448*2048,2448*1200, 
               2448*800,XGA,SXGA,WD1,1080i,576*576,1536*1536,1920*1920,320*240,720*720,1024*768,1280*1280,1600*600, 
               2048*768,160*120,336*256,384*256,384*216,320*256,320*192,512*384,480*272,512*272,288*320,144*176, 
               480*640,240*320,120*160,576*720,720*1280,576*960, 180*240, 360*480, 540*720, 720*960, 960*1280, 1080*1440, Auto"/> 
        <!-- optional,image size--> 
        <picQuality opt="best,good,general" /> 
        <!-- optional,image quality: 0-Best, 1- Better, 2- Good--> 
    </JpegParam> 
    </ContinuousShootCfg> 
    <PictureCfg> 
        <!--required,reuse some fields of NET_DVR_PICTURECFG--> 
        <enableUp opt="true,false"/> 
        <!--required, whether to support background picture uploading--> 
        <enableDel opt="true,false"/> 
        <!--required, whether to support deleting background picture--> 
        <useType min="" max=""/> 
        <!--required,picture type, 1- background picture, 2-GIF picture, 3-CAD picture--> 
        <sequence min="" max=""/> 
        <!--required, sequence No.--> 
        <BasemapCfg> 
            <sourWidth min="" max=""/> 
            <!--required, initial picture width--> 
            <sourHeight min="" max=""/> 
            <!--required, initial picture height--> 
        </BasemapCfg> 
    </PictureCfg> 
  <ExternalDevCfg> 
   
    <!--required,NET_DVR_ACS_EXTERNAL_DEV_CFG--> 
    <IDCardUpMode opt="number,all"/> 
    <!--required, ID information report, number: upload 18-digit ID number; all: upload all information--> 
    <cardVerifyMode opt="remoteCenter,clientPlatform"/> 
    <!--required, card verification mode, remoteCenter: remote center verification; clientPlatform: client platform verification--> 
    <ACSDevType opt="IDCardReader,ICReader,QRCodeReader,fingerPrintReader,QRCodeReaderandScreen,recycleCard,screen,fingerPrintModule,voiceModule,peopleAndIdCard"/> 
    <!--required, device model: 1- ID card reader, 2- IC card reader, 3- QR code reader, 4- Fingerprint reader, 5- Screen + QR code reader, 6- Card collector, 7- Screen, 8- Fingerprint scanner, 9- Voice module, 10-person and ID card device--> 
    <doorMode opt="inDoor,outDoor"/> 
    <!--required, door in/out type, inDoor: enter, outDoor: exit--> 
    <DevDetailType> 
      <IDCardReaderType opt="iDR210,IDM10,HikIDCardReader"/> 
      <!--required, ID card reader model--> 
      <screenType opt="DC48270RS043_01T,DC80480B070_03T"/> 
      <!--required,LCD model--> 
    </DevDetailType> 
  </ExternalDevCfg> 
  <PersonnelChannelCfg> 
    <!--required,NET_DVR_PERSONNEL_CHANNEL_CFG--> 
    <inMode opt="controlled,forbid,freedom"/> 
    <!--required, enter mode, 0- controlled; 1- denied; 2- free--> 
    <outMode opt="controlled,forbid,freedom"/> 
    <!--required, exit mode, 0- controlled; 1- denied; 2- free--> 
    <workMode opt="urgent,repair,normalClose,normalOpen"/> 
    <!--required, operating mode, 0- emergency, 1- maintenance, 2- normally closed, 3- normally open--> 
  </PersonnelChannelCfg> 
  <PlatformVerifyCfg> 
    <!--required,NET_DVR_PLATFORM_VERIFY_CFG--> 
    <doorNo min="" max=""/> 
    <!--required, door No.--> 
    <resultType opt="legal,illegal"/> 
    <!--required, verification result type, legal: illegal, illegal: legal--> 
    <screenDisplay min="" max=""/> 
    <!--required,LED display character length--> 
  </PlatformVerifyCfg> 
  <PersonStatisticsCfg> 
    <!--required,NET_DVR_PERSON_STATISTICS_CFG--> 
    <enableStatistics opt="true,false"/> 
    <!--required, whether to enable people counting--> 
    <enableOfflineStatistics opt="true,false"/> 
    <!--required, whether to enable offline people counting--> 
    <countSignalStatisticalStandard opt="IRDetectPass,AuthQuantity"/> 
    <!--required, people counting type: IRDetectPass- by IR detection, AuthQuantity- by authentication number--> 
  </PersonStatisticsCfg> 
  <ScreenDisplayCfg> 
    <!--required,NET_DVR_SCREEN_DISPLAY_CFG--> 
    <FontSize min="" max=""/> 
    <!--required, font size--> 
    <rowSpacing min="" max=""/> 
    <!--required, row space--> 
    <columnSpacing min="" max=""/> 
    <!--required, column space--> 
    <firstRowPosition opt="0,1/8,2/8,3/8,4/8,5/8,6/8,7/8"/> 
    <!--required, first row position--> 
    <degree opt="0,90"/> 
    <!--required, character display direction abgle, unit: degree--> 
    <screenType opt="DC48270RS043_01T,DC80480B070_03T"/> 
    <!--required, screen type--> 
  </ScreenDisplayCfg> 
  <GateTimeCfg> 
    <!--required,NET_DVR_GATE_TIME_CFG--> 
    <holdOnALarmTime min="" max=""/> 
    <!--required, extend alarm buzzer time, unit: ms --> 
    <holdOnGateOpenTime min="" max=""/> 
    <!--required, door open time before receiving close command, unit: ms--> 
    <postponeIntrusionAlarmTime min="" max=""/> 
    <!--required, delay trigger intrusion alarm time, unit: ms--> 
    <noLaneAccessTimeLimitTime min="" max=""/> 
    <!--required, timeout alarm time for no people passing after channel received valid passing verification signal, unit: s--> 
    <safetyZoneStayTime min="" max=""/> 
    <!--required, timeout alarm time for people staying in the channel when reached safety region after the channel received valid passing verification signal, unit:s--> 
    <IRTriggerTimeoutTime min="0" max="255"/> 
    <!--required, IR triggering timeout, unit: s--> 
  </GateTimeCfg> 
  <LocalControllerStatus>enable</LocalControllerStatus> 
  <!--required, support getting distributed access controller status--> 
  <searchLocalController>enable</searchLocalController> 
  <!--required, support searching distributed access controller--> 
  <showDeviceType opt="Floor"/> 
  <!--optional,Display device type (by default, display the door parameters if there is no this field),Floor- Displayed floor--> 
   
  <FaceParam> 
    <!--required,Face parameter--> 
    <enable opt="true"/> 
    <!--required,whether to support face parameter configuration--> 
    <cardNo min="" max=""/> 
    <!--required,Card No. length--> 
    <faceLen min="" max=""/> 
    <!--required,Face data length--> 
    <enableCardReader min="" max=""/> 
    <!--required,Supported card reader No.--> 
    <faceID min="" max=""/> 
    <!--required,Face No.--> 
    <faceDataType opt="module,picture"/> 
    <!--required,Face data type (the default type is template if there is no this node)--> 
    <isSupportFaceCover> 
      <!--optional, whether supports covering existed data when applying face picture data--> 
    </isSupportFaceCover> 
  </FaceParam> 
  <isSupportGetDeviceEvent opt="true,false"/> 
  <!--optional, whether to support getting device event: "true"-yes, "false" or this node is not returned-no--> 
  <isSupportDeployType min="0" max="1"/> 
    <!--optional, supported arming type: 0-arm via client software, 1-real-time arming> 
  <UploadRightControllerAudio> 
    <!--required, uploading audio file of main controller--> 
    <audioID min="2" max="32"/> 
      <!--required, audio file ID. 0xffffffff indicates uploading all audio files, and currently the device only supports uploading all audio files instead of uploading a single audio file by ID--> 
  </UploadRightControllerAudio> 
  <DownloadRightControllerAudio> 
    <!--required, downloading audio file of main controller--> 
    <audioID min="2" max="32"/> 
      <!--required, audio file ID. 0xffffffff indicates downloading all audio files, and currently the device only supports downloading all audio files instead of downloading a single audio file by ID--> 
  </DownloadRightControllerAudio> 
  <BlackListPictureParam> 
    <!--required, parameter of picture in blocklist (NET_DVR_BULK_UPLOAD_BLOCKLIST_PICTURE)--> 
    <BlackListPictureCond> 
      <!--required, blocklist picture condition--> 
      <pictureNum min="" max=""/> 
      <!--required, picture quantity--> 
    </BlackListPictureCond> 
    <cardNo min="" max=""/> 
    <!--required, card No.--> 
    <name min="" max=""/> 
    <!--required, name--> 
    <sex opt="male,female"/> 
    <!--required, gender: male- Male, female- Female--> 
    <pictureValid opt="invalid,valid"/> 
    <!--required, whether blocklist picture is valid: invalid- Invalid,valid? Valid--> 
    <pictureLen min="" max=""/> 
    <!--required, blocklist picture size--> 
    <BlackListPictureStatus> 
      <!--required, blocklist picture status--> 
      <cardNo min="" max=""/> 
      <!--required, card No.--> 
      <status opt=" processing,failed,success"/> 
      <!--required, status: processing- Processing, failed- Failed,success- Succeeded--> 
    </BlackListPictureStatus> 
  </BlackListPictureParam> 
  <IDBlackListParam> 
  <!--ID blocklist parameter (NET_DVR_BULK_UPLOAD_ID_BLOCKLIST)--> 
    <IDBlackListCond> 
      <!--required, ID blocklist condition--> 
      <blackListNum min="" max=""/> 
      <!--required, blocklist quantity--> 
    </IDBlackListCond> 
    <blackListValid opt="invalid,valid"/> 
    <!--required, whether ID card blocklist is valid or not--> 
    <IDBlackListStatus> 
      <!--required, ID card blocklist status--> 
      <IDNum min="" max=""/> 
      <!--required, ID number--> 
      <status opt=" processing,failed,success"/> 
      <!--required, status: processing- Processing, failed- Failed, success- Succeeded--> 
    </IDBlackListStatus> 
  </IDBlackListParam> 
  <CaptureFingerPrint> 
    <!--optional, xs:boolean, collect fingerprint information--> 
    <pictureType opt="full,quarter"> 
      <!--required, xs:string, fingerprint picture type--> 
    </pictureType> 
    <fingerNo min="1" max="10"> 
      <!--required, xs:integer, fingerprint No.--> 
    </fingerNo> 
    <isSupportFingerData opt="true,false"> 
      <!--required, xs:boolen, fingerprint data--> 
    </isSupportFingerData> 
    <isSupportFingerPicture opt="true,false"> 
      <!--required, xs:boolen, fingerprint picture--> 
    </isSupportFingerPicture> 
    <fingerPrintQuality min="1" max="100"> 
      <!--required, xs:integer, fingerprint quality--> 
    </fingerPrintQuality> 
  </CaptureFingerPrint> 
  <CaptureFace> 
    <!--optional, xs:boolean, collect face information--> 
    <isSupportFaceTemplate1 opt="true,false"> 
      <!--required, xs:boolen, face template data 1--> 
    </isSupportFaceTemplate1> 
    <isSupportFaceTemplate2 opt="true,false"> 
      <!--required, xs:boolen, face template data 2--> 
    </isSupportFaceTemplate2> 
    <isSupportFacePic opt="true,false"> 
      <!--required, xs:boolen, face picture data--> 
    </isSupportFacePic> 
    <faceQuality min="1" max="100"> 
      <!--required, xs:integer, face quality--> 
    </faceQuality> 
    <captureProgress opt="0,100"> 
      <!--required, xs:integer, collection progress--> 
    </captureProgress> 
    <isSupportInfraredFacePic opt="true,false"><!--required, xs:boolen, whether to support infrared face picture data></isSupportInfraredFacePic>
  </CaptureFace> 
  <isSupportUploadCertificateBlackList> 
    <!--optional, xs:boolean, Whether to support uploading ID Card blocklist--> 
  </isSupportUploadCertificateBlackList> 
  <isSupportGetRegisterInfo> 
    <!--optional, xs:boolean, Whether supports getting registered information--> 
  </isSupportGetRegisterInfo> 
  <isSupportDownloadCertificateBlackListTemplet> 
    <!--optional, xs:boolean, Whether to support downloading template of ID card blocklist--> 
  </isSupportDownloadCertificateBlackListTemplet> 
  <ScheduleInfo> 
    <!-- optional, xs:boolean, shift schedule information--> 
    <command opt="personal,everyone"> 
      <!--required, xs:string, Search condition--> 
    </command> 
    <employeeNo min="" max=""> 
      <!--required, xs:integer, Employee No.--> 
    </employeeNo> 
    <name min="1" max="32"> 
      <!--required, xs:string, Name--> 
    </name> 
    <departmentName min="1" max="32"> 
      <!--required, xs:string, Department name--> 
    </departmentName> 
    <schedulePlanNo min="" max=""> 
      <!--required, xs:integer, Shift schedule No.--> 
    </schedulePlanNo> 
    <schedulePlanType opt="personal,department"> 
      <!--required, xs:string, Shift schedule type--> 
    </schedulePlanType> 
    <enabled opt="true,false"> 
      <!--required, xs:boolen, Enable--> 
    </enabled> 
    <scheduleType opt="noSchedule,ordinaryClass,workingClass"> 
      <!--required, xs:string, Shift type--> 
    </scheduleType> 
    <scheduleNo min="" max=""> 
      <!--required, xs:integer, Shift No.--> 
    </scheduleNo> 
    <scheduleStartTime> 
      <!--required, xs:time, ISO8601 time, "2016-01-01", Start time--> 
    </scheduleStartTime> 
    <scheduleEndTime> 
      <!--required, xs:time, ISO8601 time, "2016-02-17", End time--> 
    </scheduleEndTime> 
    <holidayNo min="" max=""> 
      <!--required, xs:integer, Holiday group No.--> 
    </holidayNo> 
  </ScheduleInfo> 
  <AttendanceSummaryInfo> 
    <!-- optional, xs:boolean, Time and attendance information overview--> 
    <command opt="personal,everyone"> 
      <!--required, xs:string, Search condition--> 
    </command> 
    <employeeNo min="" max=""> 
      <!--required, xs:integer, Employee No.--> 
    </employeeNo> 
    <name min="1" max="32"> 
      <!--required, xs:string, Name--> 
    </name> 
    <departmentName min="1" max="32"> 
      <!--required, xs:string, Department name--> 
    </departmentName> 
    <workStandard min="" max=""> 
      <!--required, xs:integer, Standard working time (minutes)--> 
    </workStandard> 
    <workActual min="" max=""> 
      <!--required, xs:integer, Actual working time (minutes)--> 
    </workActual> 
    <lateTimes min="" max=""> 
      <!--required, xs:integer, Late times--> 
    </lateTimes> 
    <lateMinutes min="" max=""> 
      <!--required, xs:integer, Total late time (minutes)--> 
    </lateMinutes> 
    <leaveEarlyTimes min="" max=""> 
      <!--required, xs:integer, Early Leave Times--> 
    </leaveEarlyTimes> 
    <leaveEarlyMinutes min="" max=""> 
      <!--required, xs:integer, Total eearly leave time (minutes)--> 
    </leaveEarlyMinutes> 
    <overtimeStandard min="" max=""> 
      <!--required, xs:integer, Standard Overtime (minutes)--> 
    </overtimeStandard> 
    <overtimeActual min="" max=""> 
      <!--required, xs:integer, Actual Overtime (minutes)--> 
    </overtimeActual> 
    <attendanceStandard min="" max=""> 
      <!--required, xs:integer, Standard Attendance (day)--> 
    </attendanceStandard> 
    <attendanceActual min="" max=""> 
      <!--required, xs:integer, Actual Attendance (Day)--> 
    </attendanceActual> 
    <absentDays min="" max=""> 
      <!--required, xs:integer, Absent (Day)--> 
    </absentDays> 
  </AttendanceSummaryInfo> 
  <AttendanceRecordInfo> 
    <!--optional, xs:boolean, Time and Attendance Records--> 
    <command opt="personal,everyone"> 
      <!--required, xs:string, Search Condition--> 
    </command> 
    <employeeNo min="" max=""> 
      <!--required, xs:integer, Employee No.--> 
    </employeeNo> 
    <name min="1" max="32"> 
      <!--required, xs:string, Name--> 
    </name> 
    <departmentName min="1" max="32"> 
      <!--required, xs:string, Department Name--> 
    </departmentName> 
    <attendanceTime> 
      <!--required, xs:time, ISO8601 time, "2016-02-17T17:30:08+08:00", Attendance Time--> 
    </attendanceTime> 
  </AttendanceRecordInfo> 
  <AbnormalInfo> 
    <!-- optional, xs:boolean, Exception Statistics Information--> 
    <command opt="personal,everyone"> 
      <!--required, xs:string, Search Condition--> 
    </command> 
    <employeeNo min="" max=""> 
      <!--required, xs:integer, Employee No.--> 
    </employeeNo> 
    <name min="1" max="32"> 
      <!--required, xs:string, Name--> 
    </name> 
    <departmentName min="1" max="32"> 
      <!--required, xs:string, Department Name--> 
    </departmentName> 
    <onDutyTime> 
      <!--required, xs:time, ISO8601 time, "2016-02-17T08:30:08+08:00", Start-Work Time--> 
    </onDutyTime> 
    <offDutyTime> 
      <!--required, xs:time, ISO8601 time, "2016-02-17T17:30:08+08:00", End-Work Time--> 
    </offDutyTime> 
    <lateMinutes min="" max=""> 
      <!--required, xs:integer, Late Duration (minutes)--> 
    </lateMinutes> 
    <leaveEarlyMinutes min="" max=""> 
      <!--required, xs:integer, Early Leave Duration (minutes)--> 
    </leaveEarlyMinutes> 
    <absenceMinutes min="" max=""> 
      <!--required, xs:integer, Absent Duration (minutes)--> 
    </absenceMinutes> 
    <totalMinutes min="" max=""> 
      <!--required, xs:integer, Total Duration (minutes)--> 
    </totalMinutes> 
  </AbnormalInfo> 
  <CheckFacePicture> 
  <!-- optional, xs:boolean, authenticate identity via 1:N face picture matching--> 
    <pictureNum min="" max=""> 
      <!--required, xs:integer, picture number> 
    </pictureNum> 
    <checkStatus opt="1,2,3,4,5,6,7,8,9,10,11"> 
      <!--required, xs:integer, matching result: 1-modeling completed, 2-modeling failed, 3-the communication with the face picture module failed, 4-no face in the picture, 5-the face is too close to the top picture border, 6-the face is too close to the bottom picture border, 7-the face is too close to the left picture border, 8-the face is too close to the right picture border, 9-the face picture is clockwise, 10-the face picture is anticlockwise, 11-the proportion of the pupillary distance is small, 12-face picture matches the template, 13-face picture mismatches the template> 
    </checkStatus> 
    <checkTemplate opt="0,1"> 
      <!--optional, xs:integer, 0-picture verification, 1-picture and modeling data matching verification> 
    </checkTemplate> 
  </CheckFacePicture> 
  <supplementLightNo min="" max=""/> 
  <!--optional, supplement light No.--> 
  <maxWhiteFaceNum/> 
  <!--optional, the maximum number of face picture in allowlist> 
  <maxBlackFaceNum/> 
  <!--optional, the maximum number of face picture in blocklist> 
  <isSupportGetFailedFaceInfo> 
    <!--optional, xs:boolean, whether supports getting the information of face modeling failure after upgrading--> 
  </isSupportGetFailedFaceInfo> 
  <FailedFaceInfoParam> 
    <!--optional, xs:boolean, get the information of face modeling failure after upgrading--> 
    <FailedFaceInfoCond/> 
    <FailedFaceInfo> 
      <!--required, face modeling failure information--> 
      <cardNo min="" max=""/> 
      <!--required, card number--> 
      <errorCode min="" max=""/> 
      <!--required, face modeling failure error code--> 
    </FailedFaceInfo> 
  <isSupportFaceAndTemplate> 
  <!--optional, xs:boolean, whether supports configuring face picture and modeling data--> 
  </isSupportFaceAndTemplate> 
  <FaceAndTemplateParam> 
    <!--optional, face picture and modeling data configuration--> 
    <cardNo min="" max=""/> 
    <!--required, card number--> 
    <faceLen min="" max=""/> 
    <!--required, face picture size--> 
    <faceTemplateLen min="" max=""/> 
    <!--required, face picture template data size--> 
  </FaceAndTemplateParam> 
</AcsAbility>