What does golf simulator booking software have to do at 5 a.m. when nobody is on site?
The short answer: at 5 a.m. the booking software is the only member of staff. It has to refuse a slot it cannot honour, take the card before it holds the bay, get a working door code to the golfer within a minute, open every door between the street and the bay for that window only, have a fallback ready when the lock vendor or the internet does not answer, tell the owner about anything that needs a person (in minutes, not at opening time), lock up and close the booking when the session ends, and charge a no-show fee only on evidence. Everything a front desk would have caught has to be a rule the software runs.
Below is one booking, followed in order: a golfer books the 5:00 a.m. slot at 4:40 a.m. on a phone in the car park. Each step says what the software must do and what OpenTeeSheet does, with the automated test that pins it named beside the row. The failure branches come right after the step they can break, because at 5 a.m. those are the steps that cost a refund and a review.
Rows checked 2026-10-31; each source shows the day it was read.
4:40 a.m. The golfer books: refuse what cannot be honoured, take the card first
| Fact | Source |
|---|---|
| Opening hours are enforced when the booking is made: a request for a closed hour, or one that runs past closing, is refused and nothing is stored. A 24/7 venue can say so. | OpenTeeSheet behaviour, pinned by automated tests: booking-operating-hours-realdb.test.ts |
| An optional per-bay buffer between sessions is enforced on the website, the app and the agent API alike, so a 5:00 slot is not sold into a bay the last group is still leaving. | OpenTeeSheet behaviour, pinned by automated tests: bay-buffer-realdb.test.ts |
| With prepay on, the golfer pays by card when booking, and the booking is confirmed only when Stripe confirms the payment. | OpenTeeSheet behaviour, pinned by automated tests: booking-payments.test.ts, booking-finalize.test.ts |
| The cancellation rule and any no-show fee are shown before payment, and the golfer agrees to them; their card is saved for the fee. | OpenTeeSheet behaviour, pinned by automated tests: cancel-policy-realdb.test.ts, no-show-fee-realdb.test.ts |
| If the venue requires a waiver, it is accepted before payment and before any door code, with the time, version and a hash of the text recorded. | OpenTeeSheet behaviour, pinned by automated tests: waiver-realdb.test.ts |
If the card or the webhook misbehaves
Money taken without a booking is the complaint that ends trust, and at 5 a.m. nobody is there to sort it out by hand.
| Fact | Source |
|---|---|
| A payment that lands on a booking whose 30-minute checkout hold already expired is refunded once, even if Stripe replays the webhook; a late-cancel booking that kept its payment is never refunded by mistake. | OpenTeeSheet behaviour, pinned by automated tests: webhook-ordering-realdb.test.ts |
| A card charged after the session window ended is refunded automatically, and the golfer is emailed to say why. | OpenTeeSheet behaviour, pinned by automated tests: late-payment-golfer-told.test.ts |
| Stripe says a card refund shows up as a credit about 5 to 10 business days later, depending on the bank, and that its processing fees from the original payment are not returned. | Stripe docs: refund and cancel payments (read 2026-10-18) |
4:41 a.m. The door code arrives, and it opens every door on the way in
| Fact | Source |
|---|---|
| Every step that issues and sends the code has a deadline: the lock vendor gets 15 seconds for the whole door path, and the code goes out within 60 seconds of the booking being confirmed. | OpenTeeSheet behaviour, pinned by automated tests: unmanned-timing-claims.test.ts |
| The grant opens 10 minutes before the booked start and ends at the end of the session; the confirmation email, text and My Bookings page all say so. | OpenTeeSheet behaviour, pinned by automated tests: booking-finalize.test.ts, door-access-realdb.test.ts |
| One booking's credential covers the venue-wide door and the bay's own lock and any extra doors on them, for igloohome, RemoteLock, Kisi, Seam and Salto KS. | OpenTeeSheet behaviour, pinned by automated tests: every-door-opens-realdb.test.ts, lock-multidoor-realdb.test.ts |
| Each credential a grant carries (keypad, card, phone, remote) is recorded against the booking, and revoking the booking marks every one of them revoked. | OpenTeeSheet behaviour, pinned by automated tests: access-records-realdb.test.ts |
If the lock vendor or the internet does not answer
A buyer's guide for this market says a bolted-on lock connector is one more thing that can break with a customer standing outside. These rows are what happens then.
| Fact | Source |
|---|---|
| A golf simulator booking software buyer's guide tells owners to ask whether a lock integration is native, calling a bolted-on one "one more thing that can break at 11 PM with a customer standing outside the door." | |
| If the lock vendor does not answer within 15 seconds, the grant is treated as refused and the golfer is sent the backup code instead, inside the 60-second delivery budget. | OpenTeeSheet behaviour, pinned by automated tests: unmanned-timing-claims.test.ts, lock-backup-realdb.test.ts, lock-backup-recovery.test.ts |
| If the lock vendor refuses a code for a paid booking, the booking is flagged for staff entry and the owner is emailed and texted. | OpenTeeSheet behaviour, pinned by automated tests: lock-failure-unattended.test.ts |
| A failed door attempt, or a door system that stops answering, reaches the owner within 15 minutes. The bound comes from the cron schedule, which fires at most 10 minutes apart; it is not real time. | OpenTeeSheet behaviour, pinned by automated tests: unmanned-timing-claims.test.ts |
| What each lock brand does when the building's internet is down is written from the vendor's own documentation, with the date it was read, on the door-offline page. | OpenTeeSheet behaviour, pinned by automated tests: lock-offline-facts.test.ts |
4:45 to 5:00 a.m. The room gets ready without anyone flipping a switch
| Fact | Source |
|---|---|
| With a Seam-connected thermostat, the studio switches to your session set points ahead of the booking (30 minutes by default, 15 to 120 allowed) and back to idle after it; a switch Seam refuses reaches the owner once and is retried. | OpenTeeSheet behaviour, pinned by automated tests: golf-tech-claims.test.ts, golf-tech-iot-realdb.test.ts |
| An hour before the session a reminder with the door code goes out by email, and by text if the golfer opted in, in the venue's time zone; each reminder is sent once. | OpenTeeSheet behaviour, pinned by automated tests: reminders-cron-realdb.test.ts |
5:00 to 6:00 a.m. In the bay: the software watches what a person would
| Fact | Source |
|---|---|
| Each bay's PC checks in every 5 minutes; after 15 minutes of silence the owner gets an email and a text, and the dashboard shows each bay as in session, next booking, PC online. | OpenTeeSheet behaviour, pinned by automated tests: golf-tech-claims.test.ts, golf-tech-iot-realdb.test.ts |
| On a Seam lock with a door sensor, a door standing open with no session running alerts the owner once; a door opened during a session is logged, not alerted. | OpenTeeSheet behaviour, pinned by automated tests: golf-tech-iot-realdb.test.ts |
| Door events from the lock are stored once per event, even when the vendor retries its webhook, so the record of who came in is not doubled. | OpenTeeSheet behaviour, pinned by automated tests: access-records-realdb.test.ts |
6:00 a.m. The session ends: lock up, close the booking, wait to ask for a review
| Fact | Source |
|---|---|
| The door credential stops at the end of the session. | OpenTeeSheet behaviour, pinned by automated tests: booking-finalize.test.ts, door-access-realdb.test.ts |
| An hourly job marks confirmed and checked-in bookings whose session has ended as completed. | OpenTeeSheet behaviour, pinned by automated tests: complete-bookings-cron.test.ts |
| Review-request texts respect the night: none is sent between 9 p.m. and 8 a.m. in the venue's time zone. | OpenTeeSheet behaviour, pinned by automated tests: unmanned-timing-claims.test.ts |
If the golfer never came
| Fact | Source |
|---|---|
| The fee is charged only when the door lock's own webhook is live for that venue, the booking held a credential it can report on, the session ended, the grace period passed, and not one door event and no check-in exists. If that signal is unavailable the booking waits for the venue to confirm; it is never a guess. | OpenTeeSheet behaviour, pinned by automated tests: no-show-fee-realdb.test.ts, no-show-fee-unit.test.ts |
| One charge per booking, ever, at the amount the golfer agreed to. Cancelled bookings and attended bookings are never charged, and the venue can waive the fee. | OpenTeeSheet behaviour, pinned by automated tests: no-show-fee-realdb.test.ts |
What OpenTeeSheet does not do at 5 a.m.
It does not switch bay power, simulators or launch monitors on and off: it reports whether each bay's PC is alive and alerts you after 15 minutes of silence. It does not watch cameras or detect tailgating. Owner alerts are bounded by a cron that fires at most 10 minutes apart, so they arrive within 15 minutes, not instantly. We have not yet published a run of 100 consecutive paid bookings against a real lock with every door-open event recorded; the door rows above are pinned by tests against a real database with the lock vendors' APIs faked.
Run the 5 a.m. test on any system before you buy it
- Book the earliest slot tomorrow on your phone, from outside the building, and time how long the door code takes to arrive.
- Ask what the golfer receives if the lock vendor's cloud does not answer at that moment, and how many minutes before you hear about it. A vague answer means you are the fallback.
- Pull the studio's internet for ten minutes and try the code on every door between the street and the bay.
- Pay for a slot, let the checkout sit past its hold, then finish paying: check that you get a booking or a refund, never a charge with nothing behind it.
- Skip a session you booked and see what is charged, on what evidence, and whether you can waive it.
Short answers
- Can a golf simulator studio run 24/7 with no staff?
- Yes, if the booking software takes the card before holding the bay, sends a door code that opens every door for the booked window only, has a fallback code when the lock vendor fails, and alerts the owner to anything that needs a person. OpenTeeSheet does each of those; it does not control bay power or watch cameras.
- How fast should the door code arrive after a booking?
- Within a minute. OpenTeeSheet gives the lock vendor 15 seconds for the whole door path and sends the code within 60 seconds of the payment being confirmed.
- What happens if the lock does not answer at 5 a.m.?
- After 15 seconds the grant is treated as refused and the golfer is sent a backup code made in advance; the owner is emailed and texted, within 15 minutes for a failure the cron picks up.
- When does the door code start and stop working?
- It starts 10 minutes before the booked start and stops at the end of the session.
- Is a no-show charged automatically?
- Only on evidence: the lock reported no door event, there was no check-in, and the grace period passed. Without that signal the booking waits for the owner to confirm.
Related
- When Does a Golf Sim Door Code Start and Stop?
- Golf Simulator Access Control and Smart Locks
- Refunds and No-Shows With No One on Site
- Opening a Golf Sim Studio: Booking and Payments Checklist
- What happens at 11 PM if the internet or the lock company is down and a customer is standing outside?
- Took payment but won't let me book: can a golfer be charged without a booking?
- How do I stop no-shows and walkouts at my golf sim studio?
- What each lock does when the internet is down
- All guides and tools
Run the studio with nobody at the desk
OpenTeeSheet takes the booking, the payment and the door code, with zero commission. $149 a month for up to 4 bays, $249 for unlimited, 14-day free trial, no card to start.
Start your 14-day trialSources
- Stripe docs: refund and cancel payments, read 2026-10-18
- Golf O'Clock: best golf simulator booking software (buyer's guide, vendor-authored), read 2026-10-23