This has to be one of the most simple keycard door ever.
If you have any questions, please ask them in the comments.
here's the script:
local ison: boolean = false
script.Parent.Touched:Connect(function(prt : Instance)
if ison then return end
if prt:FindFirstChild("@ISKEYCARD") then
ison = true
script.Parent.CanCollide = false
wait(2)
script.Parent.CanCollide = true
ison = false;
end
end)