Keycard Encoder Troubleshooting
Check network and power first, then re-try encoding a single card. This takes about 2 minutes.
This guide helps you resolve common keycard encoder issues.
Quick reference
| What you see | Why it happens | Do this |
|---|---|---|
| Encoder not responding | Power or network issue | Check connectivity |
| Cards not encoding | Card type or device issue | Verify card and device |
| Plain-language keycard failure | AVA normalized a vendor, room, or session error | Read the message |
| "UserCredentialsNotProvided.NotApplicable" | Saflok credentials are missing or incomplete | Add Saflok credentials |
| Saflok/Ambiance encoding fails or times out | Windows Agent, Ambiance encoder service, or device is offline | Restart Saflok/Ambiance encoder |
| "Please create a new keycard first, then use Duplicate for any extra cards." | Saflok cannot find an existing active registration for the reservation | Fix the missing first keycard |
| Multi-room Saflok/Ambiance card needs a room-level ID | The selected room does not have its own sub-reservation yet | Check the selected room |
| "The keycard encoder is temporarily offline. Please approach the Front Desk for assistance." | The encoder has no active session | Check the encoder session |
Raw DoorLock generate fail or internal error text appears | A technical room-access payload leaked through the modal | Use the generic retry path |
| Encoder type change does not stick | Previous save left mixed encoder states | Re-save encoder type |
| "Test Connection" fails (Be-Tech) or agent stays offline | Base URL, adapter, or service issue | Fix Be-Tech connection |
| "Make sure the Be-Tech client program is running on the encoder computer." | The Windows Agent returned a 502 vendor-unavailable response | Check the Be-Tech client program |
| "Test Connection" fails (GreatLocks) | Saved GreatLocks server details are missing or stale | Fix GreatLocks connection |
| GreatLocks inventory does not load | Agent tunnel, server record, or inventory source issue | Check GreatLocks inventory sync |
| "Service URL is required" (LockSDK) | Direct mode needs a Service URL per encoder | Add LockSDK service URL |
| LockSDK agent shows Not registered | No per-encoder agent device exists yet | Register LockSDK agent |
| Heartbeat Monitor turns off after save | Save did not persist in your current hotel session | Re-save Heartbeat Monitor |
| Heartbeat shows unreachable | Agent offline or tunnel issue | Check agent status |
| Encoder stays unavailable | Dynamic lists still see the agent as disconnected | Check live encoder status |
| Windows Agent shows Not connected | Agent not running or install incomplete | Reconnect agent |
| Windows asks for permission | Tray service control needs elevation | Approve the UAC prompt |
Encoder not responding
What you see: Encoder shows offline or no response in AVA.
Fix:
- Check power and cabling for the encoder.
- Verify network connectivity between kiosk and encoder (Direct Connection only).
- Confirm the server IP and port are correct.
- Restart the encoder software.
Cards not encoding
What you see: Keycard write fails or produces a blank card.
Fix:
- Confirm the card type matches your encoder.
- Reinsert the card and try again.
- Test with a new blank card.
- If Enable guest selection is off, verify the kiosk is routed to the correct encoder.
- If Enable guest selection is on, confirm the guest selects an online encoder at the kiosk.
Normalized encode failures
What you see: The reservation modal shows a short, plain-language message instead of a raw vendor string.
Why this happens: AVA now preserves normalized Saflok, Be-Tech, Opera, and internal session failures before showing them.
It prefers the structured message first, then falls back to older vendor-string parsing when needed.
HTTP 504 room-access timeouts stay on this same path with KEYCARD_VENDOR_TIMEOUT.
Fix:
- Read the short message first.
- Look for
userMessage,errorCode,retriable, vendor name, and safeupstreamdetails in support views. - Use those details when you contact support.
- Match the message to the most likely fix below:
- Occupied room: Refresh the reservation, then try again.
- Encoder offline: Check power, network, or agent status.
- Failed detect/write: Reinsert the card or use a new blank card.
- No active session: Reconnect the encoder session.
- Missing mapping: Confirm the room mapping is correct.
- Invalid room or date: Verify the stay dates and room assignment.
- Vendor auth, gateway, or timeout: Check vendor access or retry later.
- HTTP 504 timeout: Retry after a short wait.
- Invalid request: Reopen the correct reservation and try again.
- If
retriableistrue, retry after a refresh. - If
retriableisfalse, fix the mapping or vendor issue first.
Older responses can still show legacy vendor strings. AVA keeps that parsing path so historical logs and older integrations still read correctly.
Saflok/Ambiance encoding not working
What you see: Keycard encoding fails, times out, or the kiosk reports no response from the Saflok/Ambiance encoder.
Fix: Work through these three checks in order. Each one rules out a common cause before you move to the next.
If Saflok PMSI starts slowly or restarts later, AVA rechecks readiness every 10 seconds. Wait briefly, then refresh before reinstalling the agent.
1. Check the Windows Agent is connected in AVA
-
Go to Settings → Room Access → Keycard Encoding.
-
Find the Windows Agent card for this encoder.
-
Confirm the status shows Connected and the Last Seen time is recent.

-
If the agent is Not connected, follow Windows Agent not connected before continuing. If Saflok PMSI was still starting, wait 10 seconds and refresh once before reinstalling anything.
2. Check the encoder is online in Ambiance
If the agent is connected but encoding still fails, log in to the Ambiance server and verify the encoder device.
-
Open Ambiance and go to Device Management → Encoders.
-
Find the encoder for this kiosk (for example, the Vouch encoder).
-
Confirm the Status shows Online.

-
If the encoder shows Offline, continue to step 3 to restart the encoder service.
3. Restart the Ambiance Encoder Service
If the encoder is offline in Ambiance, restart the encoder service on the computer where the Ambiance server is installed.
-
On the computer running the Ambiance server, press the Windows key or click the Start menu.
-
Type
services managerand open Ambiance Services Manager from the results. -
In the services list, select Ambiance Encoder Service.

-
Click the Stop (red square) button.
-
Wait a few seconds for the service state to change to Stopped.
-
Click the Start (red play) button.
-
Confirm the State returns to Running.
-
Go back to Ambiance Device Management → Encoders and confirm the encoder is Online.
-
Try encoding a test card from the kiosk.
The encoder service can lose its connection to the physical encoder after network blips or long idle periods. Stopping and starting the service forces it to re-establish the link.
Saflok duplicate keycard needs a first keycard
What you see: AVA shows "Please create a new keycard first, then use Duplicate for any extra cards."
Why this happens: Saflok could not find an active registration or keycard record for that reservation. Duplicate cards need one successful first keycard before AVA can add more.
Fix:
- Create the first keycard for the reservation.
- Wait for the first encoding to complete successfully.
- Select Duplicate only after the first keycard exists.
- If the error returns, confirm the reservation still has an active registration in Ambiance.
- Try the duplicate request again.
You should not see raw ReservationNotFound or SOAP fault details in the message.
Saflok/Ambiance multi-room keycards need a room-level reservation ID
What you see: You try to encode a card for one room in a multi-room stay, and AVA stops the flow.
Why this happens: Saflok/Ambiance duplicate cards use the selected room's sub-reservation ID. If that room does not have its own ID yet, you see a fail-fast error.
Fix:
- Open the reservation and choose the exact room row you want.
- Wait for PMS sync if the room was just split or moved.
- Confirm the room exists as its own sub-reservation in your PMS.
- Try Encode Keycard again.
Encoder has no active session
What you see: AVA shows "The keycard encoder is temporarily offline. Please approach the Front Desk for assistance."
Why this happens: The encoder does not have an active session right now. AVA treats this as an offline readiness issue.
Fix:
- Confirm the encoder is powered on and connected.
- Refresh Settings → Room Access → Keycard Encoding.
- Check whether the encoder shows Online or Connected.
- Try encoding again after the session reconnects.
- If it still fails, use a different encoder or contact support.
Raw room-access payload shows in the modal
What you see: The modal shows raw text such as DoorLock generate fail! or internal error.
Why this happens: AVA caught a technical room-access blob. It now falls back to the generic retry message instead of showing the raw payload.
Fix:
- Close the modal.
- Wait a few seconds.
- Try encoding the keycard again.
- If the same message returns, confirm the encoder is online.
- If it still fails, switch to another encoder or contact support.
Saflok credentials not provided
What you see: "UserCredentialsNotProvided.NotApplicable" appears during keycard encoding.
Fix:
- Go to Settings → Room Access → Keycard Encoding.
- Set Encoder Type to Saflok.
- Enter Username and Password in Encoder Credentials.
- If direct communication is on, enter PMSI Server URL.
- Click Save.
- Click Test Connection, then encode one test card.
Encoder type change does not stick
What you see: You select one encoder type, but another encoder remains active.
Fix:
- Go to Settings → Room Access → Keycard Encoding.
- In Keycard Encoder Settings, select the encoder type you want.
- Click Save once and wait for the success message.
- Refresh the page and confirm only that encoder type is active.
- If the issue repeats, switch types, save, then switch back and save again.
Be-Tech test connection fails
What you see: "Test Connection" shows a failure or the button stays disabled.
Use this when you intentionally configured a direct Base URL or see a generic Be-Tech request failure. If you see the client program message, use Be-Tech client program unavailable.
Fix:
- Confirm the Base URL starts with
http://orhttps://. - Verify the Be-Tech service is running on the encoder workstation.
- Check the workstation and kiosk are on the same network.
- If you use the Windows Agent, confirm the agent card is Connected.
- Re-enter Hotel Name, Chain No, Workstation, and Reader No.
- Click Test Connection again.
Be-Tech client program unavailable
What you see: AVA shows "Make sure the Be-Tech client program is running on the encoder computer."
Why this happens: The Windows Agent returned Be-Tech's vendor-unavailable 502 response.
AVA now shows a direct message for that case.
Fix:
- Go to the encoder computer.
- Confirm the Be-Tech client program is running.
- Restart the client program if it is stopped.
- Restart the Windows Agent if the client program is already running.
- Click Test Connection again.
If you see Be-Tech request failed, follow Be-Tech test connection fails.
The direct client-program message only applies to the 502 vendor-unavailable response.
GreatLocks test connection fails
What you see: Test Connection fails after you edit GreatLocks server details.
Fix:
- Go to Settings → Room Access → Keycard Encoding.
- Confirm the GreatLocks server has an XHLSI Server IP Address and TCP Port.
- Click Save again.
- If you updated an older setup, keep the existing server record.
- Click Test Connection again.
GreatLocks inventory does not load
What you see: Building, floor, or room inventory stays empty for GreatLocks.
Why this happens: The GreatLocks tunnel is offline, or the inventory source is not reachable.
Fix:
- Go to Settings → Room Access → Keycard Encoding.
- Confirm the GreatLocks server record is saved.
- Check that the agent tunnel shows a healthy connection.
- Click Test Connection again.
- Refresh the page after the connection returns.
LockSDK service URL is required
What you see: Save is blocked or encoder form shows "Service URL is required."
Fix:
- Go to Settings → Room Access → Keycard Encoding.
- Select LockSDK.
- Open Physical Encoder Devices and edit the encoder.
- Enter a valid Service URL like
http://127.0.0.1:8092. - Click Save, then run Test Connection.
LockSDK agent not registered
What you see: A LockSDK encoder card shows Not registered in Windows Agent.
Fix:
- Confirm the LockSDK encoder exists in Physical Encoder Devices.
- Go to Windows Agent and find the encoder card.
- Click Download Windows Agent if the card is new, or Reinstall if it already exists.
- Extract the package and run the
.batfile on the connected Windows PC. - Refresh status and confirm the card changes from Not registered to Connected or Not connected.
- Use Advanced options only for View Logs, Rotate Secret, or Delete. Rotate Secret opens a confirmation dialog before AVA disconnects the current agent.
Heartbeat Monitor turns off after save
What you see: You enable Heartbeat Monitor, click Save, and it turns off again.
Fix:
- Go to Settings → Room Access → Keycard Encoding.
- Open Encoding Options → Advanced options.
- Turn on Heartbeat Monitor.
- Click Save once and wait for the success message.
- Refresh the page and confirm Heartbeat Monitor is still on.
- If it still turns off, follow Settings Not Saving After Switching Hotels.
Heartbeat failures
What you see: Heartbeat Monitor shows unreachable.
Fix:
- Confirm the agent is running on the kiosk/PC.
- Check Registered Agents for online status and tunnel reachability.
- Review agent logs for errors.
- Reinstall the agent if needed.
Live encoder status does not match
What you see: The encoder looks configured, but AVA still marks it unavailable in the reservation modal.
Why this happens: AVA shows online only when the agent is connected and the tunnel is reachable. That same status now drives dynamic encoder selection.
Fix:
- Check Registered Agents for the encoder card.
- Confirm the device is connected and the tunnel is reachable.
- Fix any agent or network issue first.
- Refresh Settings → Room Access.
- Try encoding again.
- Recheck the Status: line on the settings page.
Windows Agent not connected
What you see: Status shows Not connected or "Never online."
Fix:
- Open the downloaded zip and run
download-installer.bat. - Let it download the installer
.exe, then run that file. - Confirm the Windows PC has internet access.
- Click Reinstall on the agent card in Windows Agent if needed.
- If this is a Be-Tech setup, also confirm the local adapter service is running. Be-Tech status can take up to 5 minutes to refresh after a restart.
- Refresh Registered Agents status.
- Return to Settings → Room Access and confirm Status: changes to online.
When the agent is connected and the tunnel is reachable, dynamic encoder lists should show Online. If a nested encoder card still looks offline, refresh the page and check the agent first.
Windows Agent service action needs permission
What you see: Windows asks for administrator permission when you click Start, Stop, or Restart.
Why this happens: The tray button needs elevated access to control the Windows service.
Fix:
- Click Yes on the UAC prompt.
- If you are not an admin, ask someone with admin rights to approve it.
- Try the action again if you canceled the prompt.
Kiosk routing rules not showing
What you see: You can’t find routing rules under Room Access or the old Kiosk to Encoder Routing section.
Fix:
- Go to Settings → Kiosk.
- Open Device Routing.
- Turn off Enable guest selection to show manual routing rules.
- Add at least one device in Physical Encoder Devices.
Still Stuck?
Contact success@vouch-technologies.com if:
- ❌ Encoders remain offline after power and network checks
- ❌ The Be-Tech client program keeps stopping
- ❌ Card encoding fails on multiple kiosks
- ❌ Heartbeat remains unhealthy for more than 30 minutes
Helpful to include:
- Encoder type and model
- The exact Be-Tech error message
- Whether you use Windows Agent or a direct Base URL
- Screenshot of Registered Agents and Heartbeat Monitor
- Time the issue started