🔐 ADMIN GUIDE
Sites, people, hours, reports — and your own time clock. Tap any heading to open it.
🔐 Logging In & Your Session
You log in with the username and password the owner gave you — not a PIN. Your login is verified on the secure server; your password is never stored on the phone.
• Password rules: 8+ characters with an uppercase letter, a lowercase letter, a number and a special character.
• Auto sign-out: ~30 minutes of inactivity signs you out. Every session also has an absolute 12-hour limit — after that you log in again no matter what.
• "Remember this device": tick it on your own trusted phone so you don't re-type your password each time.
• Too many wrong passwords temporarily locks the account — the owner can unlock it from the Admins tab.
📲 Get the App on Your Phone (or Re-install It)
Easiest way: tap ⬇ Install App in the nav bar.
Android (Chrome): open txpatrol.com → ⋮ menu → Install app.
iPhone (Safari only): open txpatrol.com → Share → Add to Home Screen.
Works the same on a desktop browser — the dashboard is fully usable on a computer.
🔓 Grayed-Out Features? (capabilities)
Some features are granted per-admin by the owner. If you can't see or use one of these, you haven't been granted it — ask the owner:
• 📧 Email reports from the app
• 🗑️ Purge old data
• 🆘 Manage SOS alert emails
• 💵 View/edit guard pay rates (Hours & Payroll pay columns)
• 🗂️ View incident / activity reports (and receive their emails)
• ✎ Edit guard / staff hours
• 🗑️ Delete activity / incident reports
• 🕐 View (or ✎ edit) ALL admin time clocks — otherwise you see only your own
All grants default to off. Owners have everything automatically. Admin pay rates are visible to the owner only — no grant unlocks those.
📊 Overview Tab
Your live picture: who's on duty right now, at which site, recent activity, and warning badges — e.g. an off-site start flag when a guard started their shift far from the site and hasn't logged an in-range scan yet.
📋 Scan Log Tab
Every checkpoint check-in, newest first — guard, site, checkpoint, time, rating, approximate distance from the site, notes, and the arrival photo when there is one. Skipped checkpoints appear with their skip reason. Use the filters to narrow by guard, site or date.
🏢 Sites & QR Tab — Adding a Site
Tap + Add Site and fill in:
• Name and address
• GPS coordinates (see the Google Maps section below)
• Geofence radius — how close a guard must be to scan (default 500 ft; widen it for big properties or bad GPS areas)
• Round interval — how often patrol rounds are due at this site
• Checkpoints — each gets a name and a QR code
⚠️ Checkpoint QR codes are permanent once created — renaming a checkpoint keeps its code, so printed codes in the field stay valid.
📍 Getting GPS Coordinates from Google Maps
On a phone: open Google Maps → press and hold the exact spot at the site → a pin drops → the coordinates appear in the search bar or bottom card → copy the two numbers (e.g. 29.7604, -95.3698) into the site form.
On a computer: right-click the exact spot → the first menu row shows the coordinates → click to copy → paste into the site form.
Pick the middle of the patrolled area, not the street entrance, so the geofence covers the whole property evenly.
🖨 Printing QR Codes
On each site card, tap Print QR to get a print-ready page of that site's checkpoint codes. Print, laminate if outdoors, and post each code physically at its checkpoint. A guard scans the code with the in-app live camera.
🎪 Events Tab (for event staff)
Events are where staff (parking / hospitality) clock in and out. Each event has a venue GPS point + radius, and a schedule mode:
• Controlled — fixed Start and End times (both required). Staff arriving after Start are flagged Late; once End passes, new clock-ins are blocked.
• Open — no fixed schedule; staff can clock in whenever sent, any day.
Max Clock-Out (optional, works on both modes): the hard cutoff for being on the clock. Anyone still clocked in past Max + a 10-minute grace is force-clocked-out, stamped at Max — overrun time is unpaid. Forced rows show ⛔ Forced @ Max in Staff Hours and can carry an overage reason.
Multi-day events: set an End Date. Invalid time combos (End before Start, Max before End) are blocked at save.
👥 Team Tab — Adding a Person (guards & staff)
Tap + Add Person: name, phone (optional), role (Guard for patrols, Staff for event clock-in, or both), home site, hourly rate (visible only with the wages grant), and a 4-digit PIN.
Give the PIN privately. The first phone they log in with becomes their bound device — if they switch phones, edit their record so they can re-bind.
🔑 PINs: Reset-Only, Never Readable
PINs are stored hashed on the server — nobody, including you, can look up an existing PIN. The roster shows ••••.
• Forgot PIN? Team tab → ✎ Edit → type a NEW 4-digit PIN → Save. Their history stays intact. Tell them the new PIN privately.
• In Edit Person, a blank PIN field means "keep the current PIN" — you only type digits when you intend to reset it.
• PINs must be unique. If you pick one already in use, the server rejects it: you'll get a ⛔ alert and the Edit form re-opens automatically with the PIN field highlighted — enter a different PIN and save again. The person's other edits were already saved; their old PIN keeps working until a new one is accepted.
💲 Hours & Payroll — Three Sub-Tabs
The Staff Hours tab has three views:
• 👮 Guard Hours — patrol shifts, newest first: start/end, hours (h:m and decimal for payroll), and status flags (Auto-out when the system closed the shift · ⚠ Off-site start when the shift began far from the site · ⚠ Off-site end when it was ended far from the site · Edited when a time was corrected).
• 👥 Staff Hours — event clock records with Late / Auto-out / ⛔ Forced @ Max / Edited flags.
• 🕐 Admin Hours — the admin time clock (next section).
Tap ✎ Edit on a guard/staff row to correct a clock time (requires the edit-hours grant; the row is marked Edited). Pay-rate columns appear only with the wages grant. Every view exports to XLSX with the current filters applied.
🕐 Your Own Time Clock (Admin Hours)
Everyone — admins and owners — records worked time with an explicit clock-in. Time is never inferred from logging in or out of the dashboard.
• Open Staff Hours → 🕐 Admin Hours. Pick your location (a Site or a live Event — required; "the office" should exist as a site), tap 🟢 CLOCK IN. The button flips instantly; GPS is stamped in the background and never blocks you.
• Only currently-running events are clockable (past/future scheduled events are excluded; Open events are always available). Sites are clockable any time.
• Tap CLOCK OUT when done. Logging out of the dashboard asks whether to also clock out — answering No keeps you on the clock (e.g. switching devices).
• 12-hour cap: still on the clock at 12h + 10-min grace? The system force-clocks you out, stamped at the 12-hour mark, flagged, with a line to add your reason for running over.
• You see your own rows. Seeing or editing everyone's rows requires an owner grant; deleting rows is owner-only. Pay columns are owner-only.
📋 Daily Activity Reports & Incident Reports
In the Reports tab (visible with the view-reports grant, or as owner):
• DARs — every guard files one to end a shift: 6 checklist answers + notes. Scan them for any Yes on damage/suspicious activity.
• Incident Reports — color-coded by severity (Low/Medium/High) with the guard's live scene photos, police/CAD info, and a geofence stamp (on-site or ~ft off-site). Tap 📷 N photos to view; ⬇ XLSX exports the report — its Photos cell links straight back into the app's photo viewer (log in as admin when opening the link).
• Deleting reports requires the delete-reports grant (or owner). DARs/IRs can also be removed by an owner data purge — but only when the owner explicitly checks those categories (backup-first, all-in purge since V28.6).
⚠️ Flags & Ratings — What They Mean
• Rating on a scan reflects how it was captured: a live QR decode rates by timing quality; a checkpoint picked from the list rates Manual; a skipped checkpoint shows N/A + reason.
• ⚠ ~X ft off-site — the action happened outside the geofence; the distance is recorded, not blocked (except checkpoint scans, which do require being in range). Guard shifts stamp this at both start and end.
• 🟡 Auto-out — the system closed the shift/clock; verify the end time and (for guards) make sure that shift's DAR was filed.
• Flagged scans — unusual patterns (e.g. many scans in minutes) are marked for your review.
🆘 Welfare Alert vs SOS — What's the Difference?
They look similar on the Overview but mean very different things:
• ⚠️ Welfare Alert (welfare miss) — automatic. The system raises it when a guard on an active shift has gone 90+ minutes without a scan. Nobody pressed anything — the guard may be fine (long round, dead battery, no signal) or may need help. Check on the guard, then tap ✓ OK to resolve it.
• 🆘 SOS — guard-initiated emergency. The guard deliberately pressed the SOS button and confirmed. It records GPS + geofence distance and emails every SOS recipient immediately. Treat it as a live emergency until the guard confirms otherwise.
Rule of thumb: welfare = the system noticed silence; SOS = the guard called for help.
🔀 FAQ: Move a guard to a different site
Team tab → ✎ Edit → change the site → Save. Their history stays. For a guard covering multiple sites in one night, no change is needed — they switch sites inside their active shift.
⏸ FAQ: Temporarily deactivate a guard
There's no suspend button yet. Fastest path: ✎ Edit → Delete person — their logs and history remain. When they return, add them back with a new PIN. Under a minute each way.
📊 FAQ: Share reports with a client
Use the XLSX export buttons — Scan Log, Guard/Staff/Admin Hours, DARs and IRs all export with your current filters. Filter to the client's site + date range first, then export. With the email-reports grant you can also email a report directly from the app.
🕐 FAQ: How are guard shift hours tracked?
A shift runs from START SHIFT to END SHIFT (or auto clock-out). Guards get a clock-out prompt at their selected shift length; 30 minutes of silence auto-clocks them out, and 12 hours is the absolute cap. Hours land in Guard Hours in both h:m and decimal for payroll.
📶 FAQ: A guard says the app blocked them unfairly
Usually GPS drift. Check the Scan Log for their attempted distance, and consider widening that site's geofence radius if the property is large or GPS-hostile (dense buildings, garages). The scan gate is the only hard distance block — shift start, IRs and SOS never block.
🆘 Recovery Codes (email lost? get back in)
If the emailed 6-digit login code can't reach you (mailbox down, no access in the field), tap Use a recovery code on the code screen and enter one of your one-time recovery codes.
• Codes are generated by an owner: Admins tab → your row → 🆘 Recovery Codes — a batch of 8 codes (XXXX-XXXX) is shown once only. Save them somewhere safe the moment they appear.
• Each code works once; a batch never expires — but generating a new batch kills every unused old code.
• Protection: 6 wrong recovery tries in 15 minutes locks recovery sign-in for 30 minutes.
No stored codes AND no email access = you cannot sign in. Ask an owner to generate your batch before that ever happens.
© 2026 TX Patrol™
TX Patrol™ — All Rights Reserved