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.
Bookers aren’t receiving the OTP email
This is almost always an email deliverability problem, not a plugin bug.
- Check Resend is configured. Booking Manager → Settings → Email. If Resend API key is blank, the plugin is falling back to
wp_mail(), which often lands in spam on shared hosts. - Verify your Resend sending domain. Unverified Resend accounts can only deliver to the account owner’s email. Resend dashboard → Domains → Add and verify.
- Check the sender email. It must be on the verified domain (e.g. if you verified
yourschool.edu, the sender can beno-reply@yourschool.edubut notno-reply@gmail.com). - Check spam folders. Some bookers’ filters flag transactional emails. Tell them to whitelist the sender.
- Watch
wp-content/debug.logifWP_DEBUGis on — the plugin logs Resend API responses 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 your WordPress general timezone — mismatches are the most common cause of “the 2pm slot is showing as unavailable but I set 2pm as open.”
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.
- 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 the page).
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.
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 in v1.0.0.
Uninstalling
Plugins → Installed Plugins → Delete. On uninstall, booknslot drops all its tables (the wp_bm_* prefix) 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. Export your bookings first if you want to keep the data (Bookings → Export CSV).
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.