Docs/Quick Reference

Quick Reference

A one-page reference for the most common Hygate operations.


URLs

PagePath
Login/login
Dashboard/dashboard
Doors/doors
Devices/devices
Locations/locations
Payments/payments
Reports/reports
Sessions/sessions
Audit Logs/audit-logs
Settings/settings
Setup Wizard/setup

Role Permissions at a Glance

ActionAdminOperator
Configure integrationsYesNo
Manage teamYesNo
View audit logsYesNo
Add/edit/delete doorsYesEdit only
Add/edit/delete devicesYesEdit only
Add/delete locationsYesNo
Rename locationsYesYes
Force-end sessionsYesNo
Change security settingsYesNo

Door Status Modes

ModePaymentsGuest Experience
ActiveEnabledStandard payment page
Passage ModeDisabled"Free Access" message
Maintenance ModeBlockedMaintenance message

Device Status Modes

ModePaymentsRelay Control
ActiveEnabledNormal operation
Maintenance ModeBlockedExisting sessions continue

Session States

StateRelayTimerGuest Sees
ACTIVEONRunningCountdown circle
COMPLETEDOFFFinished"Session Complete"
CANCELLEDOFFEnded early"Session Ended"

Payment Statuses

StatusDescription
PENDINGPayment initiated, awaiting confirmation
SUCCEEDEDPayment complete, access granted
FAILEDPayment declined or error
REFUNDEDAdmin processed refund via Stripe

Key Time Intervals

ProcessFrequency
Session cleanup (cron)Every 5 minutes
Session reconciliationEvery 2 minutes
2FA code expiry5 minutes
2FA attempt limit3 attempts
Session page polling2 seconds (active), 30 seconds (steady)
Password reset link expiry1 hour
Trusted device period30 days (configurable)
Credential rotationEvery 90 days

Stripe Webhook Events

Required events for Hygate to function:

  • checkout.session.completed
  • payment_intent.succeeded
  • charge.refunded

Test Card Numbers

CardResult
4242 4242 4242 4242Successful payment
4000 0000 0000 0002Declined
4000 0025 0000 3155Requires 3D Secure
4000 0000 0000 9995Insufficient funds

Integrations

IntegrationPurposeKey Setting
StripePaymentsWebhook URL, Secret Key
TTLockSmart locksClient ID, Client Secret
ShellyIoT relaysAuth Key
ResendEmail 2FAAPI Key, From Email

Logging Events (Key Ones)

EventWhen It Fires
payment_confirmedWebhook receives successful payment
duplicate_payment_ignoredWebhook duplicate detected
session_activatedDevice session fully started
session_endedSession completed normally
session_interruptedSession cancelled early
shelly_on_failedRelay ON command failed
reconciliationState mismatch detected

Troubleshooting Checklist

  1. Dashboard → Module health indicators green?
  2. Audit logs → Any recent errors?
  3. Settings → Credentials valid?
  4. Stripe Dashboard → Webhook logs?
  5. Service status pages → All integrations healthy?

Environment Variables (Core)

VariableDescription
DATABASE_URLPostgreSQL connection string
ENCRYPTION_KEY32-byte key for credential encryption
Stripe keysFrom Stripe Dashboard
TTLock credentialsFrom TTLock developer portal
Shelly Auth KeyFrom Shelly Cloud
Resend API KeyFrom Resend dashboard