function printDiv(eh)
{
var divToPrint=document.getElementById(eh);
var newWin=window.open('','Print-Window');
newWin.document.open();
newWin.document.write('<html><body onload="window.print()">'+divToPrint.innerHTML+'</body></html>');
newWin.document.close();
setTimeout(function(){newWin.close();},10);
}
(function(c, l, a, r, i, t, y) {
c[a] = c[a] || function() {
(c[a].q = c[a].q || []).push(arguments)
};
t = l.createElement(r);
t.async = 1;
t.src = "https://www.clarity.ms/tag/" + i + "?ref=wordpress";
y = l.getElementsByTagName(r)[0];
y.parentNode.insertBefore(t, y);
})(window, document, "clarity", "script", "uguy8v1u4s");
var ajaxurl = 'https://www.ampmlock.com/wp-admin/admin-ajax.php';
/*! LoadCSS. [c]2020 Filament Group, Inc. MIT License */
/* This file is meant as a standalone workflow for
- testing support for link[rel=preload]
- enabling async CSS loading in browsers that do not support rel=preload
- applying rel preload css once loaded, whether supported or not.
*/
(function(w){"use strict";var wpacuLoadCSS=function(href,before,media,attributes){var doc=w.document;var ss=doc.createElement('link');var ref;if(before){ref=before}else{var refs=(doc.body||doc.getElementsByTagName('head')[0]).childNodes;ref=refs[refs.length-1]}
var sheets=doc.styleSheets;if(attributes){for(var attributeName in attributes){if(attributes.hasOwnProperty(attributeName)){ss.setAttribute(attributeName,attributes[attributeName])}}}
ss.rel="stylesheet";ss.href=href;ss.media="only x";function ready(cb){if(doc.body){return cb()}
setTimeout(function(){ready(cb)})}
ready(function(){ref.parentNode.insertBefore(ss,(before?ref:ref.nextSibling))});var onwpaculoadcssdefined=function(cb){var resolvedHref=ss.href;var i=sheets.length;while(i--){if(sheets[i].href===resolvedHref){return cb()}}
setTimeout(function(){onwpaculoadcssdefined(cb)})};function wpacuLoadCB(){if(ss.addEventListener){ss.removeEventListener("load",wpacuLoadCB)}
ss.media=media||"all"}
if(ss.addEventListener){ss.addEventListener("load",wpacuLoadCB)}
ss.onwpaculoadcssdefined=onwpaculoadcssdefined;onwpaculoadcssdefined(wpacuLoadCB);return ss};if(typeof exports!=="undefined"){exports.wpacuLoadCSS=wpacuLoadCSS}else{w.wpacuLoadCSS=wpacuLoadCSS}}(typeof global!=="undefined"?global:this))
Access control system is a broad term used for security equipment that ranges from a deadbolt lock with a pin code on your house, to a bio-metric reader or scanner outside of government facilities. We carry top brands like DoorKing, Identicard, and our best seller HID. We provide building access control systems and their services throughout Maryland, DC, & Northern VA. No matter what type of access control solution you need, we can work with you within your budget.
Types of Access Control Systems:
Key-less Entry & Key Tracking
Buzzer Systems
Remote Access
Bio-metric Locks
Intercom Systems
Card & Fob Readers
Telephone Entry Systems
Electronic Access Control Systems
Electronic Access Control System for Buildings
Access control is the selective restriction of access to an area, room, building, property or resource to authorized persons.
After installation of access control system the access control system determines who is allowed to enter or exit, as well as where and/or when.
Prior to modern advances in technology this was partly achieved through the use of keys and locks. Only a person with the correct key could enter, however, a mechanical lock cannot restrict access at specific times and does not keep track of which key is used on each specific entry point. In addition, these keys could be easily copied or when a person is no longer authorized for a protected area then the locks must be re-keyed or changed. Electronic access control devices use advanced software to overcome the limitations that mechanical locks and keys have.
Several credentials can be used to replace mechanical keys and grant access while logging entrant when presented to a reader device on an access control system. The reader then sends the credential’s information to a highly reliable processor (control panel) which compares the credential’s to an access control list and then will either grant or deny the presented request.
If access is granted
The entry way is unlocked for a predetermined time
The transaction is recorded
The system monitors the access point and will sound an alarm if held open too long after being unlocked
If access is refused
The door remains locked
The attempted access is recorded
The system also monitors the entrance and will sound an alarm if the door is forced open
To prevent subverting an access control list and credentials being shared or passed around a two factor or multiple factor authentication can be implemented with certain system types requiring several credentials to be used to gain access.
Available Authenticating Options
Password/Phrase or PIN
Smart Card
Key Fob
Finger Print (biometric)
Retina Scanner (biometric)
Varying security needs call for a variety of access control products, from simple single-door solutions to enterprise-wide systems with open-format design and inter-operable capabilities. We will find the correct solution to fit your needs as well as repair existing access control systems or add/program new credentials.
Discover the power of access control solutions designed with open architecture standards and created to make the most of your existing security investments. Interior and exterior access control systems are a smart option for large companies with multiple entrances and departments or multiple unit residences to keep out unwanted guests.
Access Control Systems for Home
Some of the options for access control systems may seem over the top for your home but there are many options specifically made with family safety in mind. Digital and mechanical pin code locks have become more and more popular in the last few years and we carry many brands like Kwikset, Schlage, Digital, and Kabba Simplex. Alarm systems have also increased in popularity due to the peace of mind it gives homeowners when they leave for work, go on vacation, and even when everyone is home sleeping.
Our systems can monitor door entry and window openings with every instance logged into the system at specific access points. If the system is armed and someone breaks into the house you can set a time limit they have to deactivate the alarm until the police are notified. We can also set up motion sensors that connect to outdoor lights to illuminate your yard and deter criminals, or even connect them to cameras to catch them in the act.
Access Control Systems for Business
Access control systems are an integral part of all serious companies and corporations across Maryland and D.C. With most popular products for these companies being card readers and digital pin code key pads. We install, maintain, and repair card readers and pin code locks for all types of businesses from single location shops to large hotel chains and government facilities.
Digital access control has become more popular in the past few years because you can allow or deny a certain person access at any time. There are even options for one time access codes, time sensitive access, and lock setting codes to arm or disarm the lock until the code is entered in again. These systems come with options for multiple users and can be set-up for anywhere from 3 people to 3000 people. We also offer alarm systems specifically made for businesses to control and monitor many access points at one time.
Commercial Access Control System Services Baltimore, MD & DC
Access control system installation, sales, and repair throughout Maryland and Washington DC. Best rated company with licensed, bonded, and insured technicians – Free Estimates & Speedy Service
(function( w ){
"use strict";
// rel=preload support test
if( !w.loadCSS ){
w.loadCSS = function(){};
}
// define on the loadCSS obj
var rp = loadCSS.relpreload = {};
// rel=preload feature support test
// runs once and returns a function for compat purposes
rp.support = (function(){
var ret;
try {
ret = w.document.createElement( "link" ).relList.supports( "preload" );
} catch (e) {
ret = false;
}
return function(){
return ret;
};
})();
// if preload isn't supported, get an asynchronous load by using a non-matching media attribute
// then change that media back to its intended value on load
rp.bindMediaToggle = function( link ){
// remember existing media attr for ultimate state, or default to 'all'
var finalMedia = link.media || "all";
function enableStylesheet(){
// unbind listeners
if( link.addEventListener ){
link.removeEventListener( "load", enableStylesheet );
} else if( link.attachEvent ){
link.detachEvent( "onload", enableStylesheet );
}
link.setAttribute( "onload", null );
link.media = finalMedia;
}
// bind load handlers to enable media
if( link.addEventListener ){
link.addEventListener( "load", enableStylesheet );
} else if( link.attachEvent ){
link.attachEvent( "onload", enableStylesheet );
}
// Set rel and non-applicable media type to start an async request
// note: timeout allows this to happen async to let rendering continue in IE
setTimeout(function(){
link.rel = "stylesheet";
link.media = "only x";
});
// also enable media after 3 seconds,
// which will catch very old browsers (android 2.x, old firefox) that don't support onload on link
setTimeout( enableStylesheet, 3000 );
};
// loop through link elements in DOM
rp.poly = function(){
// double check this to prevent external calls from running
if( rp.support() ){
return;
}
var links = w.document.getElementsByTagName( "link" );
for( var i = 0; i < links.length; i++ ){
var link = links[ i ];
// qualify links to those with rel=preload and as=style attrs
if( link.rel === "preload" && link.getAttribute( "as" ) === "style" && !link.getAttribute( "data-loadcss" ) ){
// prevent rerunning on link
link.setAttribute( "data-loadcss", true );
// bind listeners to toggle media back
rp.bindMediaToggle( link );
}
}
};
// if unsupported, run the polyfill
if( !rp.support() ){
// run once at least
rp.poly();
// rerun poly on an interval until onload
var run = w.setInterval( rp.poly, 500 );
if( w.addEventListener ){
w.addEventListener( "load", function(){
rp.poly();
w.clearInterval( run );
} );
} else if( w.attachEvent ){
w.attachEvent( "onload", function(){
rp.poly();
w.clearInterval( run );
} );
}
}
// commonjs
if( typeof exports !== "undefined" ){
exports.loadCSS = loadCSS;
}
else {
w.loadCSS = loadCSS;
}
}( typeof global !== "undefined" ? global : this ) );