Docs/Admin/Doors

Doors

Manage TTLock smart locks, configure access pricing, and generate QR codes for guest payments.


Overview

Doors in Hygate are TTLock smart locks that have been synchronized and configured for paid access. Each door has its own pricing, duration, and operational status.


Door Concepts

Sync vs. Add

Sync from TTLock — Retrieves the current list of locks from your TTLock account. Locks already added to Hygate appear disabled to prevent duplicates.

Add to Hygate — Registers a TTLock lock in the Hygate database with custom pricing and settings.

A lock must be synced and added before it can accept payments.

Door Status Modes

Every door has one of three operational modes:

ModePayment FlowLock BehaviorGuest Experience
ActiveEnabled — guests can purchaseNormal lock controlStandard payment page
Passage ModeDisabled — no payment requiredUnlocked on schedule"Free Access" / "Open Access" indicator
Maintenance ModeDisabled — payments blockedNo lock changeBranded maintenance message

Adding a Door

Step 1: Configure TTLock Integration

Before syncing, ensure TTLock is configured in Settings → TTLock.

Step 2: Sync Locks

  1. Go to Doors
  2. Click Sync from TTLock
  3. Wait for the lock list to load (may take a few seconds)
  4. Review the list — already-added doors are pre-selected and disabled

Step 3: Configure Each Door

For each door you want to add:

SettingRequiredDefaultDescription
TTLock LockYesThe lock from your TTLock account
LocationYesPhysical location assignment
NameNoTTLock lock nameDisplay name (e.g., "Main Entrance")
DescriptionNoInternal notes
Access PriceNoGlobal defaultOverride the default price
Access DurationNoGlobal defaultOverride the default duration (minutes)
NotesNoInternal notes (not shown to guests)

Step 4: Save

Click Add Selected Doors to save all configured doors.


Door Status Management

Switching to Active Mode

  1. Open the door detail page
  2. Click the status dropdown
  3. Select Active
  4. The door immediately becomes available for payments

Enabling Passage Mode

  1. Open the door detail page
  2. Click the status dropdown
  3. Select Passage Mode
  4. Configure the schedule:
    • Weekdays — Monday through Friday, or select specific days
    • Time range — Start and end time (e.g., 09:00 to 18:00)
  5. Save

Passage mode can be configured through the TTLock gateway API with schedule-based unlocking.

Enabling Maintenance Mode

  1. Open the door detail page
  2. Click the status dropdown
  3. Select Maintenance Mode
  4. Save

Maintenance mode takes effect immediately. Guests scanning the QR code see the maintenance message.

Tip: You can enable maintenance mode for a quick break without changing the door's normal status.


Editing a Door

From the Doors list, click any door to open its detail page.

Editable Fields

FieldDescription
NameDisplay name shown to admins and in audit logs
DescriptionInternal description
LocationPhysical location assignment
Access PriceOverride the global default
Access DurationOverride the global default in minutes
NotesInternal notes

Refresh Sync

Click Refresh to pull the latest status from TTLock:

  • Current lock state (locked/unlocked)
  • Passage mode schedule
  • Battery level
  • Gateway connectivity

Delete a Door

Click Delete to remove the door from Hygate. This does not delete the lock from TTLock — it's only removed from the Hygate system.

Deleting a door does not affect completed payments or existing sessions.


QR Code PDF Generation

Generate a QR Code

  1. Open the door detail page
  2. Click Generate QR Code
  3. Customize the PDF:
    • Header text — Title (e.g., "Front Door Access")
    • Subtitle — Description line
    • Accent color — Hex code for the theme color (e.g., #0A84FF)
    • Footer text — Contact info, instructions, or fine print
  4. Click Download PDF

QR Code Contents

The generated PDF includes:

  • Your branded header with company name and logo (if configured)
  • The QR code pointing to the door's public payment page
  • The configured subtitle and footer text
  • A scannable URL for manual entry

Placement Best Practices

RecommendationWhy
300+ DPI print resolutionEnsures QR code scans reliably
Laminate outdoor codesProtects against weather and wear
Eye level, 120–150cm heightMost comfortable scanning height
Minimum 2.5cm × 2.5cm print sizeEnsures the QR code is readable
Avoid reflective surfacesPrevents scan failures
Keep at least one empty margin around codePrevents interference from the print medium

QR Code Lifecycle

EventWhat Happens
Door addedQR code generated from TTLock
QR code displayedGuest scans → payment page opens
Payment succeededAccess code created → QR display page shown
Session expiresAccess code expires, guest must re-purchase
QR code expiresTTLock codes are single-use per session
Manual refreshNew QR code generated via API

Door Synchronization

Background Sync

Hygate continuously syncs with TTLock in the background:

  • Lock state is updated every 5 minutes
  • Status changes (locked/unlocked) are recorded in audit logs
  • Passage mode state is tracked and reflected in the UI

Manual Refresh

Click Refresh on any door to pull the current state immediately. Useful after a lock is manually operated through the TTLock app.

What Sync Includes

DataDescription
Lock nameTTLock's lock name
Lock stateCurrent locked/unlocked status
Passage modeWhether passage mode is active
Gateway typeBluetooth or WiFi/Gateway
Firmware versionLock firmware (for reference)
Battery levelIf reported by the lock

Passage Mode Deep Dive

How It Works

Passage mode uses TTLock's built-in passage mode feature. When enabled:

  1. You set a schedule (days of the week, time range)
  2. TTLock automatically unlocks the lock at the start time
  3. The lock stays unlocked during the passage window
  4. TTLock re-locks at the end of the window

Schedule Configuration

Configure passage mode through TTLock's settings directly, or via Hygate if the API supports it.

Guest Experience in Passage Mode

When a guest scans the QR code during a passage window:

  • They see "Free Access" or "Open Access" on the payment page
  • No payment is required
  • The door remains unlocked

Security Considerations

Passage mode bypasses payment entirely. Consider:

  • Physical security — Is there staff present during passage hours?
  • Time boundaries — Does the schedule match your actual open hours?
  • Override capability — Can staff quickly disable passage mode if needed?
  • Audit trail — Hygate logs when passage mode is enabled/disabled

Maintenance Mode Deep Dive

What Changes

ElementBehavior in Maintenance Mode
Payment pageShows maintenance message instead of payment form
QR codeStill scannable, but payment is blocked
Active sessionsContinue unaffected
Lock itselfNo change — Hygate doesn't touch the lock
Admin UIDoor shows "Maintenance Mode" badge

Use Cases

ScenarioMaintenance Mode Use
Cleaning crewTemporarily disable access while cleaning
Repair workBlock payments while a technician works
Event setupDisable during setup, re-enable when ready
Unexpected closureQuick response to a security concern
Seasonal downtimeDisable during off-season

Recovery

To return to normal operation:

  1. Open the door detail page
  2. Change status from Maintenance Mode to Active
  3. Save — payments resume immediately

Troubleshooting

Door Not Syncing from TTLock

CheckAction
TTLock credentialsVerify in Settings → TTLock
TTLock API statusCheck ttlock.com for service status
Network connectivityEnsure Hygate can reach euapi.ttlock.com
Gateway requiredSome locks need a TTLock gateway for cloud access

QR Code Won't Scan

CheckAction
Print qualityIncrease resolution to 300+ DPI
Print sizeEnsure minimum 2.5cm × 2.5cm
Surface typeAvoid glossy or reflective materials
DamageCheck for scratches, folds, or smudges
RegenerateTry generating a fresh QR code PDF

Payment Not Working

CheckAction
Door statusEnsure door is set to Active
Stripe configuredVerify in Settings → Stripe
Webhook configuredCheck Stripe Dashboard → Webhooks
Test modeConfirm you're using Stripe test mode for testing

Door Shows Wrong Status

Click Refresh to pull the latest state from TTLock. If the issue persists, check the TTLock app directly.