Zenoti Integration¶
Prerequisites¶
- Zenoti account with API access
- Center ID for your location
- API key with member read and check-in write permissions
Finding Your Credentials¶
- In Zenoti, go to Admin → Setup → API → API Keys
- Create a new API key — enable Read Members and Create Check-ins scopes
- Your Center ID is visible in Admin → Setup → Centers (a numeric ID, not the center name)
Configuring DFACS¶
In the DFACS dashboard, go to Configuration:
| Field | Value |
|---|---|
| Billing Platform | Zenoti |
| API Key | your Zenoti API key |
| Center ID | your numeric center ID |
Click Save.
Barcode Expiration Window¶
Zenoti barcodes can be configured to expire after each scan. This prevents a barcode from being used again until the member generates a new one.
Set in Configuration → Zenoti → Barcode Expiration Window:
| Setting | Use case |
|---|---|
| 15–30 seconds | Maximum security, prevents any replay |
| 1–5 minutes | Balanced — good security, low risk of false denials |
| 10–15 minutes | Best for facilities where barcodes are generated in advance |
Cross-Location Access¶
For Zenoti accounts with multiple centers: DFACS validates members against their home center but allows visits from other center memberships. No additional configuration required — this is enabled automatically.
"Center ID mismatch" in error log
- Center IDs are numeric in Zenoti — confirm you're using the ID number, not the center name
- Find the correct ID in Admin → Setup → Centers
Members valid in Zenoti but denied in DFACS
- Force a sync and try again
- Check if the member's barcode expiration window has passed — they may need to generate a new barcode in the Zenoti app
- Confirm the member's home center matches the DFACS configured Center ID
DFACS device clock out of sync causing barcode expiry issues
- Barcode expiration compares timestamps — if the DFACS device clock drifts, valid barcodes may appear expired
- Ensure Windows Time service is running on the DFACS device: open Services and confirm Windows Time is started and set to Automatic