What happens if the internet is down
A paid golfer outside a door that will not open is the one failure an unstaffed studio cannot absorb. This page says exactly what each lock vendor does during an outage, what OpenTeeSheet does about it, and where we cannot help.
The backup door code, in one paragraph
A code created at the moment of failure cannot exist, because the thing that creates codes is the thing that failed. So every door you connect gets a standing backup code, provisioned in advance while the vendor is reachable. If a paid booking's normal one-time code cannot be created, the golfer is sent the backup code instead — on the confirmation page, by email and by text — and you get one alert telling you it went out. Nobody is left outside, and nobody has to phone you at 2am.
igloohome
Door keeps workingigloohome locks have no network. Every code is an algoPIN the lock works out for itself, so the door is unaffected by the building's internet going down.
During an outage: The door keeps working. What breaks is our ability to create a NEW code while igloohome's API is unreachable — so we send you the standing code we created in advance, which the lock already accepts.
Backup code: issued by the vendor. A standing algoPIN created in advance through the same igloohome endpoint this platform already uses for booking codes, covering a 28-day window. No new vendor API is involved.
Sources: igloohome support — duration PINs (algoPIN vs custom PIN, 24-hour activation) (read 2026-10-15)
RemoteLock
Needs the vendor's cloudThe codes we create through RemoteLock's API are ordinary cloud codes: RemoteLock has to be reachable to create one, and the lock has to have received it. RemoteLock's offline ReadyPIN exists but has no documented API.
During an outage: A code already pushed to the lock before the outage still works. A booking made during the outage gets no code from RemoteLock at all — so we send the backup code instead.
Backup code: you set it. RemoteLock's ReadyPIN is offline-validating, but their developer documentation describes it only as a portal checkbox, not an API field. Rather than guess at an endpoint, the owner issues a ReadyPIN (or any standing code) in RemoteLock's own portal and records it here. When RemoteLock documents a ReadyPIN API field we will drive it directly.
Sources: RemoteLock developer API (access_persons / access_guest — no ReadyPIN field) (read 2026-10-15) · RemoteLock — offline smart access control / ReadyPIN (read 2026-10-15)
Kisi
Works for a limited windowKisi readers keep letting in people they have already cached — Kisi documents up to 36 hours of outage cover — but the cache syncs once a day, so a credential issued tonight is not in it tonight.
During an outage: A regular member who has used the door before can still get in. A golfer who booked during the outage cannot: their credential never reached the reader. That is why a Kisi venue needs a backup code on the keypad.
Backup code: you set it. Kisi publishes no API for creating an offline credential, so we do not pretend to. The venue owner programs a backup code on the door themselves and records it here; we send it to the golfer when a live grant fails.
Sources: Kisi docs — offline support (reader cache, 36 hours, midnight sync) (read 2026-10-15) · Kisi — announcing full offline support (2022-04-26) (read 2026-10-15)
Seam
Door keeps workingOn a Seam device that reports can_program_offline_access_codes, we hold a standing offline code. The lock checks it on its own, so it opens with no internet at the building and no Seam cloud.
During an outage: Your per-booking code is created through Seam at the moment you pay, so if Seam is unreachable then that code does not exist. The standing offline code does, because it was created in advance and the lock validates it by itself — that is the code we send you.
Backup code: issued by the vendor. A real offline code from Seam, created in advance while Seam was reachable and valid for up to 28 days (Seam's hourly-bound maximum is 672 hours). Seam generates the digits; a custom code cannot be set for an offline code, and Seam's API cannot delete one once created.
Sources: Seam — Managing Offline Access Codes (read 2026-10-15) · Seam — Creating igloohome Offline Access Codes (duration bounds) (read 2026-10-15)
Salto KS
Door keeps workingSalto KS keeps working on site: with the building's internet down the IQ gateway still checks codes for the locks, and a lock cut off from its IQ falls back to the PINs stored in its own memory, which Salto does for PINs automatically.
During an outage: A PIN that reached the lock before the outage still opens it. A booking made during the outage gets no PIN from Salto at all, because new access needs the IQ online, so we send you the standing backup PIN we created in advance instead.
Backup code: issued by the vendor. A standing Salto PIN created in advance through Salto's documented access-group API, for a 28-day window, while Salto was reachable. Salto generates the digits. Salto stores PINs in the lock for offline use automatically, up to the lock's memory limit (360 credentials on BLUEnet locks, 39 on RFnet).
Sources: Salto support — A guide to offline access (PIN offline access is automatic; IQ keeps serving locks without internet) (read 2026-10-18) · Salto support — Managing access in Salto KS (offline access: up to 360 credentials BLUEnet, 39 RFnet) (read 2026-10-18) · Salto developer docs — Granting user access via the Connect API (read 2026-10-18)
What we do not claim
We do not control your lock. If your door has no power, or the keypad itself is broken, no code of any kind opens it — that is a hardware call-out, not a software failure.
A backup code is a standing code: anyone who has been given it keeps it until you change it. That is the trade for a golfer never being stranded. You are alerted every time it is sent, and you can rotate it from your dashboard at any moment.
Where a vendor publishes no offline-code API we say so above and you set the code yourself. We do not call undocumented endpoints and hope.
Locked out right now? Support — and call the number on your confirmation first; it reaches the venue.