FAQ & Troubleshooting
License shows inactive
- Copy the key from your LemonSqueezy purchase email exactly — no leading/trailing spaces.
- Check that your WordPress site can reach
api.lemonsqueezy.com(some shared hosts block outbound HTTP — contact your host). - If you’ve already activated on the maximum number of sites allowed by your tier, deactivate an old site first in the LemonSqueezy customer portal.
- Still failing? Email
support@booknslot.comwith the license key and your domain — we’ll manually re-activate.
If activation keeps failing and you need to ship, you can use BOOKNSLOT-DEV-LOCAL as a development key — it bypasses the LemonSqueezy API and only works on .local or .test domains. To exercise real license flow on a .local site for testing, define BOOKNSLOT_FORCE_PRODUCTION in wp-config.php.
Bookers aren’t receiving the OTP email
This is almost always an email deliverability problem, not a plugin bug. booknslot sends through WordPress’s built-in wp_mail() — whatever happens to that function on your host happens to booknslot’s emails.
- Confirm an SMTP plugin is installed and configured. Default WordPress mail on shared hosts often lands in spam or gets dropped entirely. Install WP Mail SMTP, Fluent SMTP, or Post SMTP, configure your provider (SendGrid, Postmark, Amazon SES, Gmail Workspace, etc.), and send a test email through the SMTP plugin’s own test page.
- Run booknslot’s test email. Booking Manager → Settings → Email delivery → Send test email. If the SMTP plugin’s test email arrives but booknslot’s does not, something is wrong with the From override — try clearing the From email field on the Email delivery panel.
- Check the booker’s spam folder. Some filters flag transactional emails. Tell them to whitelist your sender.
- Watch
wp-content/debug.logifWP_DEBUGis on — the plugin logs delivery failures there.
Slots show as unavailable that shouldn’t be
Bookings occupy slots in two states: confirmed bookings (status pending or approved) and active OTP holds (unconfirmed reservations that auto-expire after 15 minutes). If a booker started the flow but didn’t finish, their slot is locked for up to 15 minutes.
You can verify active holds under Booking Manager → Bookings — filter by “All” and look for rows with a hold:… reference instead of a BK-… reference.
Also confirm the page timezone under Calendar & Slots matches the time you intended — mismatches between server timezone and page timezone were a common confusion source before v1.4.19 fixed it. Lead-time and availability are now computed in the page’s stated timezone regardless of what the WordPress host runs.
Maintainer doesn’t see pending bookings
- Confirm the maintainer is assigned to that page under Maintainers — a maintainer who isn’t assigned won’t see its pending items.
- With per-service approval on (Builder Step 4), the maintainer must be assigned to the specific resource, not just the page.
- Pending bookings show up under Booking Manager → Bookings → Pending. If the filter pill shows a count of 0, there genuinely are no pending bookings (auto-approve may be on for that page or resource).
The widget doesn’t render on my page
- Make sure the plugin is active (Plugins → Installed Plugins).
- Confirm the shortcode is typed correctly:
[booking_manager slug="your-page-slug"]. The slug must match the page’s slug exactly. - Open your browser’s developer console. Any red JavaScript errors? Disable other plugins one at a time to find a conflict. Most common culprits: aggressive page-cache plugins (clear the cache) or security plugins that block inline scripts.
”Update available” notice doesn’t appear after a new release
booknslot updates itself via the standard WordPress plugin-update flow (v1.6.0+). If a new version is out on booknslot.com but your site isn’t seeing the notice:
- WordPress caches the
update_pluginstransient for 12 hours by default. Either wait, or in WP-CLI:wp transient delete update_pluginsfollowed bywp cron event run booknslot_check_for_updates. - Confirm a license is active — the updater appends your license key and instance to the download URL, and the sales-site Cloudflare Function rejects unlicensed download requests.
- On
.local/.testdevelopment hosts the updater is skipped by default. DefineBOOKNSLOT_FORCE_PRODUCTIONinwp-config.phpto exercise the real updater on a dev site.
Approved bookings aren’t syncing to Google Calendar
booknslot attaches a standards-compliant .ics file to every approval email, but it does not push directly into Google Calendar’s API. The booker opens the attachment in Gmail (or any calendar app) and clicks “Add to calendar” themselves.
Direct bidirectional sync is on the roadmap — not shipped yet. See Integrations → What is NOT an integration.
Uninstalling
Plugins → Installed Plugins → Delete. On uninstall, booknslot drops all its tables (the wp_booknslot_* prefix, plus any leftover legacy wp_bm_* tables from pre-v1.3.2 installs) and removes its options. Your existing WordPress pages that contain the shortcode will simply render the raw [booking_manager...] text until you delete those pages or shortcode instances.
Warning: uninstalling is destructive. If you want to keep the data, take a database backup of the wp_booknslot_* tables before deleting. A built-in Export/Import tool is on the roadmap.
Refund policy
LemonSqueezy fulfills every purchase. You have 30 days from purchase to request a refund — reply to your purchase email or contact support@booknslot.com, no questions asked. The refund is processed through the same card used at checkout.